Anda di halaman 1dari 8

SQL Tuning for

Release Notes
March 2006 (Version 6.1.2)

The patch for Version 6.1.2 contains new features that are described below in the
Features and Enhancements section.

Contents
Choose EditFind to locate a specific topic.

•SQL Tuning for Oracle features and enhancements


o Version 6.1.2 - New and Improved Functionality
o Version 6.1.1 - New and Improved Functionality
o Changes from the previous version for SQL Tuning and SQL Optimizer
•Known Issues with this release
•Bug Fixes
•Further information...

SQL Tuning for Oracle features and enhancements


New and Improved Functionality

Version 6.1.2
• Licensing
The licensing functionality has been enhanced to enable one installation of SQL
Tuning from Quest Central, Toad, or SQL Navigator to run with the other two
programs. For example, if you have purchased Quest Central for Oracle – SQL
Tuning and SQL Navigator, you can launch SQL Tuning from SQL Navigator in
addition to Quest Central.
• Plan Change Analyzer
The Plan Change Analyzer tracks execution plan and Oracle cost changes for
multiple SQL statements. It allows you to perform What-if analysis of index
creation, database configuration changes, Oracle database migration or new
deployments, and more.
• Cross Index Analysis
The Cross Index Analysis engine analyzes a set of SQL statements and
determines the best common index for all of the selected SQL statements. The
previous index advice engine was replaced with a more powerful artificial
intelligence engine.
• Index Impact Analysis called from Cross Index Analysis and SQL
Optimization Console
After Cross Index Analysis provides index alternatives for multiple SQL, or index
alternatives are provided by Index Expert in the SQL Optimization Console,
Impact Analysis can be launched.
The new Index Impact Analysis function in the Plan Change Analyzer allows you to
simulate the impact of creating new indexes on other SQL statements before the
physical indexes are created.
• Tutorial Chapter
Added a tutorial chapter to the online help with step by step instructions for each
module.
• Oracle Privileges Script
A sample Oracle script for granting privileges to SQL Tuning users is included in
the online help.
• Optimization Hints Quota
Changed the way the Hints Quota value is used in the optimization process to
enable you to have more permutations when a SQL statement contains several
SELECT statements.

Version 6.1.1
• Improved Optimization Intelligence
The SQL Optimizer automates the optimizing of SQL statements. It first analyzes
the source SQL statement and then uses Artificial Intelligence (AI) to exhaustively
rewrite the syntax of the SQL statement and apply the Oracle optimization hints.
It produces a list of semantically equivalent and syntactically correct SQL
statements. By test running these SQL statements, it is then possible to identify
which SQL statement best suits the needs of your database environment.
• Improved Best Practice
The Best Practices analyzes the table, index, statistics and SQL statement
execution plans and then provides ways for improving the performance of your
database.
• Index Expert
The Index Expert enables you to determine the best possible indexes for your SQL
statements. It analyzes the syntax of a SQL statement and the relation between
tables to generate index alternatives. It provides all the alternative index sets
that generate a unique execution plan for the SQL statement. It creates these
index sets without physical creation of indexes in your database.
• SQL Scanner
The SQL Scanner is a non-intrusive way to identify SQL statements from source
code and database objects without execution. Once the SQL statements are
identified, the SQL Scanner analyzes and categorizes them according to
suspected levels of performance problems.
• SQL Inspector
The SQL Inspector offers an easy way to view and analyze previously executed
and currently running SQL statements from Oracle’s system global area (SGA).
You can specify your own criteria to retrieve SQL statements and statistics to
review SQL performance.
• Test for Scalability
Optimized SQL statements can be submitted to Benchmark Factory to locate the
most efficient SQL for performance and scalability. Benchmark Factory version
4.6 or later is required.
• Scripts for Benchmark Factory
SQL Scanner, SQL Inspector, and the SQL Repository create SQL script for replay
in Benchmark Factory.
• Server-based Execution
Added server-based run time under the Preferences for benchmark testing of the
runtime of the SQL statement. The default run time retrieval method is server-
based.
• SQL Syntax
The following SQL syntax is now supported:
• Table Collection
• Sub-query factoring clause (with clause)
• Flashback query clause
• Seed clause in table sample clause.

Changes from the previous version of SQL Tuning and SQL


Optimizer
• The features of SQL Tuning 5.8 and Quest SQL Optimizer 3.8.4 have been
combined into one product.
• Some SQL rewrite rules and advice were removed if they did not provide
semantically equivalent results between source and alternative SQL. The new
automated SQL rewrite engine includes several new and different SQL
transformation rules that guarantee semantic equivalence.
• The automated SQL Optimizer engine transforms SQL statements in every way
possible. It does no longer provide English explanations on the hints added or
changes made to the SQL statement.
• Reduction of minimum database privileges.
SQL Tuning no longer require the "quest_sl_sqlab_role" role which in previous
versions granted SELECT privileges on the following Oracle views:
SYS.V_$INSTANCE
SYS.V_$MYSTAT
SYS.V_$PARAMETER
SYS.V_$PROCESS
SYS.V_$SESSION
SYS.V_$STATNAME
Access to these Oracle views is no longer mandatory. It may be required for
optional functionality. Refer to the SQL Tuning online help for information on
specific database privileges required by features.
• The Add Hints and Remove Hints function is no longer available from the right-
click menu in the SQL Text window. This function was replaced by a more
intelligent SQL transformation engine which applies all the hints selected in the
Preferences during the SQL optimization process.
• The Formatter Plus program was replaced with another formatting function.
• The Execution Results and Advice layouts were removed.
• The execution plan is no longer annotated.

Known Issues with this release


•Executing SQL Statements: When you are connected to an Oracle database
that has the Plan Stability option turned OFF, you will get a DDL execution error
when you execute a SQL statement. CR0108160

•Executing SQL Statements: When executing the original SQL along with one or
more of the alternative SQL statements, you cannot terminate the execution of
the original SQL statement because the runtime from the original statement is
use to calculate the termination time of the remaining SQL. CR0118309
Workaround: Wait until after the original SQL statement has finished executing
to terminate the batch run of multiple SQL alternatives.

•Execution Plan Display: If you set the execution plan to display “As Tree Plan”
and select to display the plan items “As Column”, during and after the
optimization process, plan information is not displayed correctly. CR0122472
Workaround: If you scroll the window all the way to the right and then back to
the left, the execution plan is displayed correctly.

•Execution Statistics Display: If you turn on the Oracle Trace function in the
preferences by selecting the NFS access method, occasionally you may get the
“trace parser did not find the parsed trace info!” or “trace parser failed to open
a parsed trace info!” error message and the display contains zeros.
Workaround: Try selecting a different access method from the Preferences.

•Parameters Window: If you have a SQL statement that has a parameter, when
you execute it, you are prompted to enter a value for the parameter. If you do
not enter a value or datatype, then if you execute the SQL statement again, the
parameter window appears but occasionally the parameter is not displayed so
that you cannot enter a value for the parameter. CR0119322
Workaround: Make sure that you enter a value for the parameter each time you
execute a SQL statement.

•Describe Details Window: The Describe Detail window no longer includes the
following data: CR0119326
•Fixed table and fixed views.
•Materialized views.
•Base tables or views of views.
•The analyzed status of table considers only the table and table columns
and does not consider table partitions/subpartitions, indexes, and index
partitions/subpartitions.
•The type of table does not show combinations (i.e. one type only). "Index
organized" and "Fixed" are not shown.
•Index cardinality and selectivity.
•Table-column selectivity.
•The integer values of the data types of table column, view column, and
user-defined type attribute.
•The synonyms of schema, package, and function to the underlying objects
does not always resolve correctly.

• New SQL Syntax: The MERGE statement available in Oracle 9i or later is not
support.

• XMLType Datatype: The XMLType datatype is not supported.

• View Runtime Statistics: By default, you will not see all the runtime statistics
displayed in the Scenario Explorer window after you have executed a SQL
statement. To view all the statistics:
1. Open the Scenario Explorer window.
2. Right-click in the Scenario Explorer window and select Options.
3. Move the runtime statistics to the Selected Columns list.
4. Click OK.

• Synchronizing Data Dictionary: If a change is made to the data dictionary


while you are using SQL Tuning, you must exit from the program and then
restart it to have the current data dictionary. CR0092576

• Optimizing SQL: Not all SQL located in the Oracle SGA can be optimized.
Specific examples include temporary table generation (Star Transformation)
and parallel query fragments.

• Optimizing SQL: Attempting to tune a SQL statement that returns a high row
count in combination with large column sets (particularly BLOBs and LOBs) can
result in an execution error. Executing this type of SQL statement will use
excessive memory and can cause SQL Tuning to fail when you have selected
the “Run on client” option in the Preferences.
Workaround: In the Execution page of the Preferences window, use the “Run on
server” option instead of the "Run on client".
• Connecting to Oracle: Using Oracle version 9i ONAMES connections will cause
an Oracle error. According to Oracle Tech Support, there is a known problem
with ONAMES and Oracle 9i client. The problem occurs when multiple
connections are made after you have already connected. Oracle has a patch
(Oracle 9.2.0.5 patch 1). However, ONAMES will not be supported in 10G. For
10G you should use other alternative such as LDAP. There is currently a tar
open with Oracle (TAR # 3752197.996).
Workaround: To resolve this issue, you can perform the following:
1. Define the same connect string in tnsnames.ora file (identical to the
connect string defined in names server).
2. In sqlnet.ora, add TNANAMES immediately after ONAMES in the value of
NAMES.DIRECTORY_PATH. For example:
names.directory_path = (ONAMES,TNSNAMES).
When Oracle fails to get the connection information from names server, it will
make the next attempt on the tnsnames.ora file.

• Connecting to Cross Index Analysis: When you have opened the Tuning
with one schema, changed to another schema, and then sent the SQL
statement to the Cross Index Analysis module, you will get an error that you are
not logged in.
Workaround: Open the SQL Tuning with the schema for the SQL that you will
send to the Cross Index Analysis. CR0163153, CR0163170

• Alternatives with Bind Variables: When you execute alternatives for a SQL
statement with a bind variable, the original SQL statement executes correctly,
but the alternatives all product an error the first time you try to execute them.
The second time you execute them, they execute correctly.
Workaround: Execute the alternatives and ignore the error. Then execute the
alternatives again.

• Connecting to SQL Tuning Analyzer: If you connect to the SQL Tuning


Analyzer with a logon that does not have certain privileges, you may get a
message that "Your current login has the following limitations, please follow the
workaround to gain that functionality." CR0163459
Workaround: If the explanation mentions the SQL Scanner or the SQL Inspector,
you need to obtain the privileges mentioned. You can ignore all the other
privileges requirements.

• Scanned SQL with SYS.Dual: The "Skip SQL that involves only SYS.DUAL
table" preferences in not working in the SQL Scanner modules. It is extracting
SQL that uses only the SYS.DUAL table even if the option is selected.
CR0163852

Bug Fixes for release 6.1.2


• The error message, "ORA-00183: not a valid month" no longer appears
when a SQL statement contains a bind variable and you select a DATE
datatype for the variable. CR0151698
• The recursive plan steps of the execution plan are now displayed whereas
before they were missing. CR0151579
• SQL Tuning no longer hangs when trying to retrieve the execution plan for
a SQL statement with a subquery and the closing right parenthesis for the
subquery is omitted. CR0152444
• Best Practices now uses the schema name from the Parsing User whereas
it was using the schema from the user's connection. CR0144506
• The error message, "Failed to get the execution plan" no longer appears
when the table names include French characters. CR0136255
• When retrieving the execution plan for a partitioned table with several
partitions, it no longer takes several minutes to retrieve the
plan.CR0138827
• The Configuration Layout window no longer contains multiple copies of the
icon which looks like a scientist. CR0053964
• In the Parameter window, the date/time formats are now correctly
displayed in the datatype column. CR0147304
• In the Help file when you use the search function or click index topics with
multiple selections, the help module no longer hangs the entire
application. CR0131919

Bug Fixes for release 6.1.1


• In the license handling, the Service Name was sometimes used when recording
the connection information which resulted in incorrectly limiting the number of
connections allowed thereby limiting your ability to use the program. Since the
licensing is done by physical server and not by database instance, the Host
Name is now used instead of Service Name so that you have access to the
appropriate instances and servers.
• Dramatically improved the performance of the Loading Data Dictionary process
when there are thousands of objects in the database.
• Eliminated the problem of maxing out the CPU on the PC, which occurred on
some PCs when the Alert window was the focus and the CPU utilization would
jump to 100%.

Further information . . .

Contacting Quest Software


Feel free to contact Quest Software for product information.

Quest Software, Inc.


5 Polaris Way
Aliso Viejo, CA 92656
USA

Tel: +1 949 754 8000


Internet: http://www.quest.com
Email: mailto:info@quest.com

Technical Support
If you have questions about using a Quest Software product, please
contact our technical support staff. To create a Technical Support bundle
and send it to Quest Technical Support, choose Create Support
Bundle from the Help menu.

To register for online technical support:


http://www.quest.com/support

Anda mungkin juga menyukai