## 215187.1 SQLTXPLAIN (SQLT) Changes Log

### 25th August 2018

1. BUG: report_level value 'TYPICAL' changed to 'BASIC+PARALLEL' due to bug 28051732 in sqcpkga.pkb / sqcpkga.pks

### 23rd August 2018

1. BUG: Observation for Calibrate I/O does not apply to Exadata

### 12.2.180725 2018/07/25

1. BUG: Fixed Stale observations not getting generated
2. ENH: Added Average Elapsed/exec & Average Buffer gets/exec for each snap duration in the SQLT reports
3. ENH: Added Average Elapsed/exec & Average Buffer gets/exec for each snap duration in the SQLHC reports

### 12.2.180331 31st March 2018

1. 180331 Bug Fix related to MREADTIM when using Basis and Synthesized values

### 12.2.171004 October 4th, 2017

1. 171004 Extensive replacement of variables to varchar2(257)
2. 171003 Minor consmetic changes.
3. 171002 Addition of 18.1 columns

### 12.2.170914 September 14,2017

1. 170914 to prevent xtrxec to fail on standard edition ORA-02097/ORA-00439 for inmemory
2. 170912 ORA-01427 on "SQLTXADMIN.SQLT$D" on UPDATE in collect_gv$im_column_level
3. 170910 RDBMS 18.1 does not has DBMS_OUTLN_EDIT
4. 170909 Corrections to TC,TCX,TCB to Allow multi-schema import and correct version
5. 170908 Correct ORA-01403: no data found in xplore
6. 160622 changes to spooled information
7. 22759168 addition to this fix for run/sqltcompare.sql

### 12.1.160429 April 29,2016

1. 160426 Make optional the dba_free_space query (bug 19125876)
2. 160420 use NATIVE if possible, else INTERPRETED (NATIVE performs better. INTERPRETED avoids some errors in some systems.)
3. 160415 Reword some offloading observations as just reminders because they check for limited evidence.
4. 160403 Add perfhub for 12c
5. 160121 WA:ORA-1403 on tacpkgt.pkb
6. Bug 19332407 Made Exadata statistics collection optional.
7. Bug 22759168 Provide purge script at the end of collection for user convenience.
8. Bug 22759140 additional instruction to avoid using SYS with collection methods.

### 12.1.14 December 6, 2015

1. Bug 22170172 Security Review of sqlt$a
2. Bug 22170173 Security Review of sqlt$d
3. Bug 22170175 Security Review of sqlt$i
4. Bug 22170176 Security Review of sqlt$r
5. Bug 22170177 Security Review of sqlt$t
6. Bug 22170178 Security Review of trca$g
7. Bug 22170181 Security Review of trca$i
8. Bug 22170182 Security Review of trca$t
9. Bug 22170194 Security Review of sqlt$_trca$_dir_set

### 12.1.12.1 October 20, 2015

1. 151008 BUG: ora-6502 packing SPDs
2. 151019 BUG: s_rows_table_m bug in displaying SPDs
3. 151020 ENH: Display enh for SPD

### 12.1.12 September 11, 2015

1. 150220 BUG: ORA-01422 at SQLT$A.set_stand_by_dblink
2. 150824 BUG: Prevent SQL Injection potential from dblink
3. 150826 BUG: Use 11g+ Diag directories
4. 150828 ENH: Collection, Import, Display of SQL Plan Directives and SQL Extensions
5. 150903 ENH: Minor Cosmetic Changes
6. 150911 ENH: Collect historic SQL Monitor reports

### 12.1.11 October 30, 2014

1. 141017 ENH: Remove SEGMENT_ATTRIBUTES from testcase scripts
2. 141028 BUG: Prevent SQL Injection potential from collect_gv$pq_tqstat

### 12.1.10 August 8, 2014

1. BUG: Fixed several typos/messages in HC.
2. ENH: Added new information for In-Memory now that 12.1.0.2 has been released
3. ENH: SQLT now estimates the size of the index if it were to be rebuilt
4. ENH: Adjusted sqltupgdbahistash.sql to match with HASH partitioning of SQLT$_DBA_HIST_ACTIVE_SESS_HIS
5. ENH: Enhanced "show errors" at the end of each packaged to avoid some rare "No errors" reported even when the package has indeed compilation errors
6. ENH: Added additional columns to SQL Monitor views to support rowsource statistics

### 12.1.09 June 13, 2014

1. BUG: Fixed error in SQLT TC metadata missing package owner.
2. BUG: SQLT$_DBA_HIST_ACTIVE_SESS_HIS is now partitioned by HASH to reduce installation requirements.
3. ENH: SQLT now support Oracle In-Memory in 12c.
4. ENH: Improved HC on histograms that might required regathering after upgrade.
5. ENH: Added HC on SEG$ for cached segment information.
6. ENH: Updated pxhcdr.sql with new algorithm for parallel_max_servers check.
7. ENH: Improved error reporting on SQL Plan Baselines.
8. ENH: Improved installation process for system with password complexity verification function in place.

### 12.1.08 April 18, 2014

1. BUG: Fixed SQLHC bug on duplicate metadata
2. BUG: Fixed SQLT bug on VPD policies not being reported sometimes
3. BUG: Fixed SQLT bug on metadata script in SQLT TC
4. BUG: Fixed error ORA-20000: TABLE "SYS".xxxx does not exist or insufficient privileges
5. ENH: SQLT now provides information about SQL Plan Directives in 12c
6. ENH: Introduced additional controls on when to partition SQLT repository table SQLT$_DBA_HIST_ACTIVE_SESS_HIS.
7. ENH: Transparent upgrade of SQL Tuning Set stage table when it was created with older db versions.
8. ENH: Improved Object Dependency section in SQLT
9. ENH: SQLT has now the ability (disabled by default) to export dictionary stats
10. ENH: New HC in SQLT for GTT/Temp tables with zero num_rows from stats but more than zero from execution stats

### 12.1.07 March 15, 2014

1. BUG: Fixed SQLT TC stats history restore for objects with same name in multiple schemas
2. ENH: SQLT repository table SQLT$_DBA_HIST_ACTIVE_SESS_HIS is now partitioned for new installations. Manual upgrade script sqltupgdbahistash.sql is available in sqlt/utl for existing installation.
3. ENH: SQLT XTRACT collects a single snapshot of V$CELL_STATE
4. ENH: SQLT now collects dependencies from EXPLAIN PLAN FOR, this will help in those cases where the plan is only in AWR
5. ENH: SQLT Main report now shows the partitioning keys in the "More" column of the execution plan
6. ENH: SQLT TC now includes IO Resources
7. ENH: SQLT Policies secton now links directly to the metadata section pointing to the policy code
8. ENH: SQLT Instructions is now provided in txt format too
9. ENH: Minor SQLT improvements on host information

### 12.1.06 January 30, 2014

1. BUG: Fixed bug in SQLHC/SQLHCExec on the predicate ordering HC
2. BUG: Fixed bug in SQLHC/SQLHCExec on table/index partitions section
3. ENH: SQLT supports Adaptive Plans in 12c
4. ENH: Added HC in SQLT/SQLHC/SQLHCExec about automatic stats gathering job status
5. ENH: Added Constraints info to SQLHC/SQLHCExec
6. ENH: Added information about Stats censored by Data Vault in SQLT
7. ENH: Added more detailed information about VPD Policies in SQLT
8. ENH: Improved SQLT checks during execution, the execution now stops if SQLT was installed locally but the execution is coming from a remote client and connect_identified parameter is not set
   Instructions on how to fix it are in sqlt_instructions.html

### 12.1.05 December 11, 2013

1. ENH: SQLT TC/TCX improved to handle INTERVAL partitioned tables
2. ENH: Added Index partitions info to SQLHC/SQLHCExec
3. ENH: Added Table and Index Stats History to SQLHC/SQLHCExec
4. ENH: Improved installation process to avoid issues when installing into a Pluggable DB
5. ENH: Added initial support to Session Specific Stats on GTT

### 12.1.04 November 11, 2013

1. ENH: SQLT now supports 12c Top-Frequency and Hybrid histograms
2. ENH: Improved SQLT own instrumentations for the driver scripts
3. ENH: Added ability to enable DBMS_STATS.SEED_COL_USAGE for the tables involved in the SQL and report the findings for each table
4. ENH: Added in SQLT, SQLHC and SQLHCExec Exadata-specific HC for table with CACHE property enable
5. ENH: Added HC on columns with default value added after the table was created (to help the rediscovery of known issues introduced by such operation)
6. ENH: Reset NLS_SORT and NLS_COMP parameter to their default value when running SQLHC and SQLDX to help improve the performance when accessing AWR

### 12.1.03 October 10, 2013

1. BUG: Fixed issue SQLT XECUTE was not report the [X] next to the executed plan
2. ENH: Modified SQLT TC to handle the mview creation after the base table to handle mview on prebuilt table
3. ENH: Added call to EXPAND_SQL (from 11.2.0.3 onwards) to expand the SQL text in presence of views
4. ENH: More user-friendly message in SQLT XPLAIN when the file provided doesn't exist
5. ENH: Added support for extended stats in SQLT COMPARE
6. ENH: Added Exadata specific Health-Checks on conditions that might turn off Smart Scan
7. ENH: Added Health-Checks on AutoDOP and DOP
8. ENH: Forced EXPDP to work on a single node
9. ENH: SQLDX will now skip LOGSTBY tables
10. ENH: New script sqltresetstatementid.sql in sqt/utl to reset the statement_id

### 12.1.02 September 9, 2013

1. BUG: Fixed issue where SQLHCExec was grabbing the incorrect SQL ID
2. BUG: Fixed issue in coe_gen_sql_patch.sql where the incorrect signature was generated
3. ENH: Replaced V$SQLAREA with V$SQL in the scripts under sqlt/utl/spm to get more accurate info
4. ENH: New script sqlt_parameters.sql in sqlt/utl to display SQLT version and a verbose description of all the SQLT parameters
5. ENH: Script plan.sql in sqlt/utl reports RUNSTATS and ADVANCED output
6. ENH: SQLHC now includes the metadata for tables and indexes
7. ENH: Improved SQLT access to ASH with non default NLS_SORT, SQLT now sets its own NLS_SORT
8. ENH: SQLHC now set AUTOPRINT OFF to prevent issues with SQL Monitoring in case AUTOPRINT is enabled in SQL*Plus
9. ENH: SQLHC now includes information about table partitions
10. ENH: SQLT now collects info about the target table for INSERT and CTAS
11. ENH: SQLDX collects info only in CSV format by default to help in case of long executions

### 12.1.01 August 19, 2013

1. BUG: Incorrect date wrapping in report "Non-Default or Modified Session Parameters"
2. BUG: SQLHC Table Summary reporting section was skipping tables if they had no index defined on them
3. BUG: The logic in "Newest Value" column in Modified System Parameters needed to be adjusted, the value was sometime incorrect
4. BUG: CBO Environment section was reporting a parameter many times if that param had been changed more than once
5. ENH: SQLT and SQLHC works on 12c!
6. ENH: Improved SQLHC HC on corrupt histograms for 12c
7. ENH: SQLT can now create user SQLTXADMIN in presence of password complexity verification function
8. ENH: Stat table creation now supports Unicode charset in both SQLT TC and SQLT TCX
9. ENH: Importing SQLT TC now handles IOT remapping
10. ENH: Fix for 12c
    sqlt$a: *** d:ORA-12899: value too large for column "SQLTXPLAIN"."SQLT$_DBA_TAB_COLS"."LOW_VALUE" (actual: 45, maximum: 40).
11. ENH: Added "version date" to SQLHC to make it easier to recognize if an old version is used
12. ENH: Added "user" to SQLHC reporting the db login user
13. ENH: SQLDX is now executed after SQLT/SQLHC completes, it helps in case SQLDX takes a long time to run since the zip file for SQLT/SQLHC is ready to be moved even when SQLDX is still running
14. ENH: Added NUM_CPUs, NUM_COREs and NUM_CPU_SOCKETs info from V$OSSTAT to SQLT/SQLHC to help with multicore/multisocket CPUs
15. ENH: Added Historical SQL Statistics - Total section to SQLHC
16. ENH: SQLHC Exec now captures session statistics for the SQL analyzed
17. ENH: New HC on Mviews not used in the SQL/plan that are defined on top of tables involved in the SQL/plan
18. ENH: New column "If Offloadable" and "IO Saved %" on Exadata in Performance Statistics section
19. ENH: New HC on Rewrite Equivalences defined by the owner of the objects involved in the SQL/plan

### 11.4.5.10 July 15, 2013

1. BUG: Fixed issue with XPREXT and XPREXC where ASH was not turned off completely
2. ENH: New health-check on plans with same PHV but predicates with different ordering
3. ENH: SQLHC and SQLHCXEC now provides information about DBMS_STATS preferences
4. ENH: SQLT shows when a parameter value has been changed (when this info is available in AWR)
5. ENH: New link to Table Statistics Extensions directly available in the top menu

### 11.4.5.9 June 10, 2013

1. ENH: New health-check on SDREADTIM/MREADTIM in Exadata
2. ENH: Added SQLT parameter tcb_sampling_percent to control TCB sampling data percentage
3. ENH: If no SQL is identified using the input string as HASH_VALUE then a search on PLAN_HASH_VALUE is performed
4. ENH: Introduced new parameter c_ash_hist_days to split AWR data collection from ASH data collection and to limit the amount of info extracted from ASH
5. ENH: Added scale information for TIMESTAMP datatype in Captured Binds sections
6. ENH: ASH reports are now generated 1 per hour/instance starting from the interval where the SQL was most impacting
7. ENH: SQLDX (SQL Dynamic eXtractor) collects only up to 10k rows per table/view

### 11.4.5.8 May 10, 2013

1. BUG: Fix TRCA parsing errors due to missing CURSOR information: invalid call at line 27 "1" "1" "" "2".
2. ENH: List of Cursors to include now "is_obsolete" flag.
3. ENH: Improved performance on SQLT TC restore script. This SQL was taking too long to execute: UPDATE SQLI$_STATTAB_TEMP SET C5 = :B2 WHERE STATID = :B1 AND TYPE IN ('C', 'I', 'T').
4. ENH: Traces generated by SQLT are now limited to 200 MB per file.
5. ENH: New stand-alone set of scripts to migrate a SQL Plan Basaline. Look for readme in sqlt/utl/spm.
6. ENH: New stand-alone monitoring tool to capture executions of SQL statements taking more than 5 seconds. Look for readme in sqlt/utl/mon.

### 11.4.5.7 April 5, 2013

1. BUG: SQL Tuning Advisor was invoked only when SQL existed in memory. Now it is invoked also if SQL resides only in AWR.
2. BUG: File sqlt_instructions.html had links with XPREXT tag instead of XTRACT.
3. ENH: TKPROF may error out under some circumstances. SQLT now displays a message to "ignore this error".
4. ENH: Improved performance of SQLT COMPARE when number of partitions is high.
5. ENH: Collection of dba_sql_patches only happens on 11g+. It used to error out on 10g.
6. ENH: Following error shows now on log file but not in MAIN html report:
   sqlt$a: *** i:DBMS_SPACE.CREATE_INDEX_COST: ORA-01031: insufficient privileges
   sqlt$a: *** i:index_name:XIE1_PCRD_APPROVER
7. ENH: Best and Worst plans now consider last those plans with no fetches. Before this change it was possible to see killed executions (fetches 0) ranking as good plans.
8. ENH: Purge of TRCA global temporary tables uses now a TRUNCATE instead of a DELETE.
9. ENH: SQLT produces now a SQLT_installation_logs_archive.zip with all installation logs.
10. ENH: Include Product Component Version in installation and main methods logs.
11. ENH: SQLT log zip includes now alert.log and spfile.
12. ENH: SQLDX (SQL Dynamic eXtractor) includes now details about tables accessed by execution plans of SQL provided.

### 11.4.5.6 March 5, 2013

1. ENH: New script sqlt/utl/sqltq.sql to generate "q" script that contains binds and sql text for given SQL_ID.
2. ENH: Script sqlt/utl/coe_gen_sql_patch.sql inputs now CBO Hints text in addition to SQL_ID.
3. ENH: New min methods XPREXT and XPREXC similar to XTRACT and XECUTE but disabling several SQLT features as per sqlt/run/sqltcommon11.sql in order to improve SQLT performance.

### 11.4.5.5 March 1, 2013

1. BUG: Following SQLT Parameters where not updateable: sql_monitor_reports, awr_reports, addm_reports, sta_time_limit_secs
   Workaround: Execute this update before using API to change value: update SQLTXPLAIN.sqli$_parameter set low_value = 0, high_value = 9999 where name = 'addm_reports';
2. BUG: Eliminate duplicate entries on views: sqlt$_gv$act_sess_hist_pl_v and sqlt$_dba_act_sess_hist_pl_v.
3. BUG: Incorrect observation "Table rebuild candidate." when getting error on DBMS_SPACE.CREATE_TABLE_COST.
4. BUG: Incorrect observation "Index coalesce candidate." when getting error on DBMS_SPACE.CREATE_INDEX_COST.
5. BUG: Trap this error on 10g:
   ORA-00942: table or view does not exist
   sqlt$a: *** d:INSERT INTO sqlt$_gv$cell_state (statement_id, statid, begin_end_flag) SELECT :statement_id, :statid, :begin_end_flag FROM gv$cell_state
6. ENH: Remove health-check references to Bug 3620168, which was fixed on 10.2.
7. ENH: COUNT(*) on Tables referenced by SQL includes now a FULL(t) Hint. This is to improve performance of COUNT.
8. ENH: SQLT now sets TRCA to skip extents capture (by setting TRCA tool parameter "capture_extents" to N during SQLT installation). This is to improve XECUTE performance.
9. ENH: New SQLT parameter "tcb_export_pkg_body" controls if 11.2+ Test Case Builder includes package bodies (of the packages referenced in the SQL are exported). Default is FALSE.
10. ENH: View DBA_HIST_PARAMETER is now excluded from SQLT repository export file. This is to improve performance of export and to reduce size of zip.
11. ENH: Value of parameter "_db_file_exec_read_count" is now displayed in MAIN and COMPARE reports.
12. ENH: 11g PLSQL_CODE_TYPE is set to NATIVE by default (to improver performance). 10g defaults back to INTERPRETED.
13. ENH: SQLY XPLORE now iterates "_optimizer_max_permutations" on values: 100, 2000, 40000, 79999 and 80000.
14. ENH: SQL Patches are now displayed on the MAIN report.
15. ENH: New script sqlt/utl/flush_cursor.sql flushes one cursor out of the shared pool.
16. ENH: New script sqlt/utl/coe_gen_sql_patch.sql generates a SQL Patch for one SQL with some diagnostics CBO Hints. It also turns trace 10053 for same SQL.

### 11.4.5.4 February 4, 2013

1. BUG: Fix for 12c error:
   sqlt$a: *** d:ORA-12899: value too large for column "SQLTXPLAIN"."SQLT$_DBA_TAB_COLS"."LOW_VALUE" (actual: 40, maximum: 32).
2. BUG: Create SQL Plan Baseline from SQL Set was referencing SIGNATURE of SQL Text with stripped /* ^^unique_id */ instead of original SQL.
3. BUG: Avoid possible collisions on STATEMENT_ID causing:
   ORA-20304: statement with unique id "14060" could not be retrieved.
4. BUG: Other roles where UNSET when sqlt/run/sqltcommon2.sql was setting the SQLT_USER_ROLE.
5. ENH: New SQLT parameter "traces_directory_path" can now be used to source TKPROF on SQLT XECUTE and XTRXEC.
6. ENH: PLSQL_CODE_TYPE changed from INTERPRETED to NATIVE in order to improver performance.
7. ENH: Qualify with schema name of SQLTXPLAIN/SQLTXADMIN all SQL statements displayed in MAIN html report.
8. ENH: EXADATA view GV$CELL_STATE is now included on SQLT XECUTE and XTRXEC before and after the SQL is executed.
9. ENH: SQLT uses now DBMS_SPACE.CREATE_TABLE_COST and DBMS_SPACE.CREATE_INDEX_COST to perform a health-check on space size for Tables and Indexes.

### 11.4.5.3 December 31, 2012

1. BUG: Section on Readme "Create SQL Plan Baseline from SQL Set" had an erroneous predicate "AND sql_handle = ''".
2. ENH: New SQL Dynamic eXtractor (SQLDX) script added to main methods. It generates a new sqldx zip file and is regulated by parameter sqldx_reports_format.

### 11.4.5.2 December 12, 2012

1. ENH: SQLT Test Cases created before SQLT 11.4.5.0 can now be implemented on SQLT 11.4.5.2 or higher. Restore script was erroring out since SQLT$A is now owned by SQLTXADMIN instead of SQLTXPLAIN.
2. ENH: New synonyms to allow the call of SQLT APIs with either SQLTXPLAIN or SQLTXADMIN schema name.

### 11.4.5.1 November 27, 2012

1. BUG: Fix "ORA-00904: : invalid identifier" in awrrpt reports on "SELECT output FROM TABLE(SYS.DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML".
2. ENH: Table audit_actions is now optional.
3. ENH: Exclude from metadata script LOB indexes which are automatically created on a LOB column.

### 11.4.5.0 November 21, 2012

1. BUG: Escape character has been changed on SQLT XECUTE from "!" to "~". This allows now to use "!=" within the SQL passed to SQLT XECUTE.
2. BUG: Handle error: ORA-00911: invalid character
   ORA-06512: at "SQLTXPLAIN.SQLT$D", line 2832
3. ENH: Event 10053 is now enabled with SQL_Optimizer instead of SQL_Compiler. Trace 10053 becomes more readable.
4. ENH: New TCX zip file with SQLT Test Case with no SQLT dependencies to be consumed by BDE and SE. SQLT provides now 3 Test Cases: TCB, TC and TCX.
5. ENH: SQLT MAIN report displays now Peeked and Captured Binds associated with each Predicate in the Columns Statistics section. This is controlled by new SQLT parameter "show_binds_in_predicates".
6. ENH: Section "Create SQL Plan Baseline from SQL Set" on README is now ordered by plan performance and APIs to create Baselines set Plan Name and Description.
7. ENH: Health-checks reported in the "Observations" section refers now to "fluctuating" values instead of "mutating".
8. ENH: New Security Model.'

### 11.4.4.8 September 27, 2012

1. BUG: API sqlt$a.import_cbo_stats (line 5502 in 11.4.4.7). Deleting index stats history was not working for a partitioned index because the code looked up the obj# for a TABLE [SUB]PARTITION instead of an INDEX [SUB]PARTITION. The fix was to change TABLE to INDEX.
2. BUG: Avoid "ORA-01031: insufficient privileges", by executing "set role sqlt_user_role" on main scripts.
3. ENH: Recommend use of DBMS_STATS.AUTO_SAMPLE_SIZE instead of sample % when executed on 11g.
4. ENH: Reduce grants to SQLTXPLAIN and to SQLT_USER_ROLE.
5. ENH: Use 10046 level 1 instead of 12 while tracing SQLT.

### 11.4.4.7 July 2, 2012

1. BUG: Readme report for PeopleSoft was showing "Gathering Statistics" twice.
2. BUG: Parameter "_db_file_optimizer_read_count" was showing an incorrect value on Main report.
3. BUG: Number of executions above Execution Plans was showing zero when statistics_level was not set to ALL at the time the cursor was parsed.
4. BUG: Avoid error below when DBMS_METADATA is not granted to PUBLIC.
   1452/29 PLS-00201: identifier 'DBMS_METADATA' must be declared
5. ENH: New HC to detect bug 14013094 on statistics gathering for partitioned tables and indexes where partition names are created in different order between table and index.
6. ENH: New tool parameter tcb_export_data to control value of parameter exportData on API DBMS_SQLDIAG.EXPORT_SQL_TESTCASE.
7. ENH: Handle non-stopper error: ORA-06550: line 4, column 18 with "FROM applsys.fnd_product_groups".
8. ENH: Scripts roxtract and roxecute are now deprecated. Use sqlhc.sql and sqlhcxec.sql instead.
9. ENH: Main report, sqlhc.sql and sqlhcxec.sql include now Plan Line and Plan summaries for Active Session History from memory and AWR.
10. ENH: Scripts sqlhc.sql and sqlhcxec.sql to include ASH summaries, Cursor Sharing, set of SQL Monitor reports, SQL Detail report, SQL Profiles, SQL Plan Baseline and SQL Patches.
11. ENH: Readme for PSFT includes now instructions to gather statistics using both PSCBO_STATS and DBMS_STATS.
12. ENH: SQL Text now shows in red these keywords: SELECT, INSERT, UPDATE, DELETE, MERGE, FROM, WHERE.
13. ENH: COUNT(*) on tables accessed by SQL being analyzed is reduced to a sample size 1% of current values. This will make this COUNT less accurate but much faster.
14. ENH: SQLT main methods produce now up to 10 AWR reports for snaphots where the SQL being analyzed produced considerable elapsed time.
15. ENH: SQLT main methods produce now up to 25 most recent SQL Monitor reports for the SQL being analyzed.
16. ENH: SQLT main methods produce now ASH reports from memory and from AWR.
17. ENH: SQLT main methods produce now up to 10 ADDM reports for snaphots where the SQL being analyzed produced considerable elapsed time.
18. ENH: Workaround: disconnect ORA-07445 on SYS.DBMS_SQLTUNE_INTERNAL, which happened in some 11.2 systems.
19. ENH: SQL Test Case (TC) now provides a script tc_pkg.sql to generate a stand-alone TC out of an implemented SQLT TC.
20. ENH: All main methods record now into sqltxhost.log a set of 5 vmstat and sar samples.

### 11.4.4.6 June 2, 2012

1. BUG: SQLT TC "restore" was allowing a column to be renamed from "a" to "b" then from "b" to "c", so it was ending up with duplicate rows in histogram among other issues.
2. ENH: New tool parameter to control the automatic generation of a script with a Custom SQL Profile for best performing plan. Custom SQL Profiles based on DBMS_SQLTUNE.IMPORT_SQL_PROFILE are now inactive by default.
3. ENH: New HC detecting corrupt histograms as per bugs 8543770, 10267075, 12819221 and 12876988.
4. ENH: New HC reporting Tables where there are columns referenced in predicates and for which the number of distinct values has changed more than 10% from one statistics version to the next. These abrupt changes can cause an execution plan to also change.
5. ENH: New HC about CBO not using partition level histograms if stats were gathered with "INCREMENTAL" and fix for bug 13583722 has been applied.
6. ENH: Scripts roxtract.sql and roxecute.sql include now System Parameters with non-default or with modified values. They also report on all initialization paramaters for the connecting instance.
7. ENH: All SQLT main methods ask now for the SQLTXPLAIN password in-line instead of using an ACCEPT command.

### 11.4.4.5 May 2, 2012

1. BUG: Removed annoying message on main "sqlt$a: *** t:plan_operation%: ORA-01403: no data found".
2. BUG: Script q.sql now takes values of NULL on binds instead of continue searching for not NULL values. It also handles string "NULL" as NULL on dba_hist_sqlbind.
3. ENH: SQLT is now Data Guard aware. There is a new method SQLT XTRSBY which is executed on Primary and extracts from stand-by almost everything XTRACT does. Please refer to instructions before using this new method.
4. ENH: In addition to new SQLT XTRSBY which runs in Data Guard Primary, there are two new scripts sqlt/utl/roxtract.sql and sqlt/utl/roxecute.sql which are super lite versions of SQLT XTRACT and XECUTE. The new read-only (RO) scripts can be used on any read-only database since they do not install anything and do not update anything. They provide a quick and safe view of the environment around one SQL statement.
5. ENH: New instrumentation on SQLT XTRACT, XECUTE, XTRXEC, XTRSBY and XPLAIN. All these methods produce now a TKPROF for the actual execution of the tool. The new TKPROF is located in the log zip file. It helps to diagnose SQLT taking longer than expected.
6. ENH: Skip MDSYS objects from metadata script. Since MDSYS is part of the data dictionary, it makes sense to skip it from Metadata as we do with similar schemas.
7. ENH: Column remap on SQLT TC now considers map by QUALIFIED_COL_NAME when name is other than SYS%. This helps to match more columns when we are restoring CBO schema statistics while remapping to new TC user.
8. ENH: Metadata includes now PL/SQL library which executed the SQL being analyzed. This is useful to actually see the piece of program that invoked the SQL being analyzed.

### 11.4.4.4 April 2, 2012

1. BUG: Peeked and Captured Binds in Execution Plan of MAIN was showing :B1 where predicate was "COL=:B10" (false positives).
   Fix display of bind peeking and bind capture when SQL contains binds like :b1 and :b10.
2. BUG: Metadata script includes now creation of Statistics Extensions.
3. ENH: New HC when derived stats are detected on a Table or Index (GLOBAL_STATS = 'NO' and PARTITIONED = 'YES').
4. ENH: New HC when SQL Plan Baseline contains non-reproducible Plans.
5. ENH: New HC indicating sizes of SQL Plan History and SQL Plan Baseline (enabled and accepted Plans).
6. ENH: New HC when there is an enabled SQL Profile and there are VPD policies affecting your SQL. Plan may be unstable.
7. ENH: New HC when there is more than 1 CBO environment in memory or AWR for given SQL.
8. ENH: New HC when Indexes or their Partitions/Subpartitions have UNUSABLE segments.
9. ENH: New HC when Indexes are INVISIBLE.
10. ENH: New HC when an Index is referenced in a Plan and the index or its partitions/subpartitions are now UNUSABLE.
11. ENH: New HC when an Index is referenced in a Plan and the index is now INVISIBLE.
12. ENH: New HC when Table has locked statistics.
13. ENH: New HC when INTERNAL_FUNCTION is present in a Filter Predicate since it may denote an undesired implicit data_type conversion.
14. ENH: New HC when Plan Operations have a Cost of 0 and Cardinality of 1. Possible incorrect Selectivity.
15. ENH: New HC when SREADTIM differs from actual db file sequential read for more then 10%.
16. ENH: New HC when MREADTIM differs from actual db file scattered read for more then 10%.
17. ENH: New HC when BLEVEL has changed for an Index, an Index Partition or an Index Subpartition according to statistics versions.
18. ENH: New HC when NUM_ROWS has changed more than 10% for a Table, a Table Partition or a Table Subpartition according to statistics versions.
19. ENH: New HC when Index is redundant because its leading columns are a subset of the leading columns of another Index on same Table.
20. ENH: New HC when leaf blocks on a normal non-partitioned index are greater than estimated leaf blocks with a 70% efficiency.
21. ENH: Active Session History sections on MAIN report include now up to 20 sessions and 20 snapshots (it was 10 and 10).
22. ENH: Parameter _optimizer_fkr_index_cost_bias has been added to SQLT XPLORE.
23. ENH: SQLTPROFILE and script coe_xfr_sql_profile.sql take now SQL statement with SQL Text larger than 32767 characters.
24. ENH: Add metrics similar to what we have now on summary tables/indexes on SQLHC.
25. ENH: Tables and Indexes sections on MAIN contain now links showing object counts instead of a constant. Similar to SQLHC.
26. ENH: Execution Plans on SQLT to show with mouse-over, schema statistics for both: current and as per plan timestamp.
27. ENH: Add new columns on 11.2.0.3 for all V$, GV$ and DBA views accessed by SQLT.
28. ENH: Include reason WHY a cursor is not shared (out of XML "reason" column on gv$sql_shared_cursor).
29. ENH: MAIN report heading includes now a link to MOS SQLT document.

### 11.4.4.3 March 2, 2012

1. BUG: Script sqlt_sNNNNN_restore.sql maps now all SYS_NCnnnnn$ columns as per their expression and default data before matching by name.
2. BUG: Script sqlt/run/sqltxtrset.sql was erroring out when list of SQL_IDs was comma separated without spaces.
3. ENH: Improved performance on systems with very large number of subpartitions while executing SELECTs on SQLT$_DBA_SUBPART_HISTOGRAMS.
   Created index sqlt$_dba_subpart_histogram_n1.
4. ENH: Added some columns to List of Cursors under Cursor Sharing section of Main report.
5. ENH: Script coe_xfr_sql_profile.sql to accept plans not only from SQL_ID passed but from modified versions of it as well.
   It can create now a Custom SQL Profile associating the Original SQL to the Execution Plan of a Modified SQL (i.e. with CBO Hints).

### 11.4.4.2 February 2, 2012

1. BUG: Handle ORA-07445 on SYS.DBMS_SQLTUNE_INTERNAL while calling DBMS_SQLDIAG.DUMP_TRACE on XTRACT for 11.2.
   ORA-07445: exception encountered: core dump [kprcdt()+6404] [SIGSEGV] [ADDR:0x853413537] [PC:0x101EB1D44] [Address not mapped to object]
2. BUG: Fix error below when executing sqlt_set_min_max_values on a column with no histogram
   ORA-06533: Subscript beyond count
   ORA-06512: at "SQLTXPLAIN.SQLT$S", line 1674
3. BUG: A COMPARE between 9i and 10g/11g was failing with error below
   sqlt$a: *** c:plan_summary1: ORA-01403: no data found
4. ENH: When there are VDB policies, get the metadata for their packages and functions, even when SQL is no longer in memory.
5. ENH: SQLT XTRACT includes now dependencies on Materialized Views when the SQL is no longer in memory but only in AWR.
6. ENH: EVENT 10053 trace includes now tracing SQL Plan Management SPM. Look for "SPM: " token in trace.

### 11.4.4.1 January 2, 2012

1. BUG: Remove from coe_load_sql_baseline.sql column reproduced from SELECT on dba_sql_plan_baselines since this column exists from 11.2.0,2.
2. BUG: ALTER SYSTEM commands in set_cbo_env.sql and XPLORE had SCOPE=MEMORY after ";".
3. ENH: Summarize captured binds: We currently get a list of each set of values captured, but no overview as to the contents of each bind variable.
   In other words, for each bind variable, summarize the # of values captured, the # of distinct values captured, the # of non-null values, and the minimum and maximum values.
   This would be very helpful when trying to understand which bind variables tend to change between calls and how.
4. ENH: Report v$sql_is_bind_aware = 'Y' in the Info column of the plans summary.
5. ENH: Report I/O calibration settings, since these affect AutoDOP calculations and plan estimated time.
6. ENH: Create new HC observation on COUNT of Materialized Views in the system.
7. ENH: New HC: "Your DML statement references N Table(s) with at least one Bitmap index.
8. ENH: Performance History is shown now as (delta) and (total).
9. ENH: New HC to report Columns with Histograms when column data lenght is greater than 32 bytes.
10. ENH: Report new HC Observation when Empty Blocks for a Table is larger than Blocks.
11. ENH: New Observation when FIRST_ROWS Optimizer Mode is used.
12. ENH: New HC: "Table contains Extended Statistics".
13. ENH: If an index referenced on a plan no longer exists, then a new Observation is now created in MAIN.
14. ENH: New HC Observation: "Version COUNT for this SQL is high: N".
15. ENH: LITE report includes now Plans from all RAC nodes and not just one instance.
16. ENH: SQLT XTRACT on 11.2 uses now DBMS_SQLDIAG.DUMP_TRACE to generate 10053 on child cursor with largest average elapsed time from connecting instance.
17. ENH: SQLT XTRACT, XECUTE, XPLAIN and XTRXEC ask now for SQLTXPLAIN password at the beginning instead of at the end of their execution.
18. ENH: Avoid display of error "ORA-00942: table or view does not exist" when verifying if EBS selecting on "applsys.fnd_product_groups".
19. ENH: SQLT now avoids granting to PUBLIC, as this causes concerns for security-conscious customers.
    Instead, it grants to SQLT_USER_ROLE and to SQLTXPLAIN.
20. ENH: Test case scripts sqltc.sql and tc.sh were confusingly named: they are closely related, while tc.sh had little to do with tc.sql.
    Renaming sqltc.sql to xpress.sql and tc.sh to xpress.sh.
21. ENH: The SQLT scripts refuse now to run unless run by SYS, SQLTXPLAIN, or a user with SQLT_USER_ROLE or DBA.
    Running as someone else produced too many errors.
22. ENH: XPLORE: XPLORE now tries to vary the _optimizer_extended_stats_usage_control parameter.
    (NB: It has value FF through 10g; F0 in 11.1.0.6; E0 in 11.1.0.7-11.2.0.1; and C0 in 11.2.0.2+. These values are now tried.)
23. ENH: Include basic plan performance summary info in the lite report:
    Plan Hash Value to Total Fetches and Source from the "Plans Summary" section in the main report.
    (This is to ease the cut and paste of this info.)
24. ENH: Save query results on XECUTE:
    Instead of overwriting sqltxecute2.log, write the query results to another file (make sure the name is clear and distinct).
    Then use a parameter (xecute_script_output) to decide whether to
    1. include the results in the zip, 2. leave it in place, or 3. clear and delete it. (Clear first in case deleting fails.)
25. ENH: Name SQLT reports with the type of run that generated it.
    (e.g. sqlt_s12345_xplain.zip; sqlt_s12345_xecute.zip; etc.)
    This makes it easier to tell what a customer has uploaded most of the time.
26. ENH: SQL_ID is now included on sqlt_sNNNNN.zip filename for SQLT XTRACT.
27. ENH: SQLT XHUME now documents in its readme how to set the server clock instead of resetting the TC objects creation date.
28. ENH: Procedure sys.tasqdirset uses now double single quotes in the directory path before creating it: replace(p2_directory_path,'''','''''')
29. ENH: Procedure sys.tasqdirset is now named sys.sqlt$_trca$_dir_set.
30. ENH: TRCA: When producing an "Explain Plan" section, it includes now a warning:
    "May not match the plan used for execution.".
31. ENH: SQLT MAIN now reports table stats prefs (in sys.optstat_user_prefs$) for each table.
    Also, STALE_PERCENT, PUBLISH, and INCREMENTAL to reported prefs for both tables and the system.
    For the system, it also reports STATS_RETENTION, APPROXIMATE_NDV, and CONCURRENT.
32. ENH: MAIN report includes now a histogram on LAST_ANALYZED date for object_type = 'FIXED TABLE' on DBA_TAB_STATISTICS.
    Similar to existing histogram on SYS tables.
33. ENH: MAIN nows indicate when a system is EXADATA.
34. ENH: MAIN reports now the database character sets and time zone in the environment section. Also possibly the database block size.
35. ENH: MAIN reports now the total size and # of datafiles in the Tablespaces section, and always include the SYSTEM and SYSAUX tablespaces.
    Also includes the total size of all tablespaces somewhere. This is helpful for determining the feasibility of getting a copy of tablespaces, data dictionary, or the entire database.
36. ENH: PK/UK constraints have now a link to the index supporting them.
37. ENH: Rather than having sqltranlzr.sql ask whether to continue to gather SQLT XTRACTs on the top SQL found, we have now separated scripts for each.
    This simplifies directions to customers and avoid the need to check the current directory when not running XTRACTs.
    Script sqlt/run/sqltrcanlzr.sql performs Trace Analyzer, while sqltrcaxtr.sql performs Trace Analyzer followed by SQLT XTRACT on each Top SQL.
38. ENH: sqlt$a.get_sql_id_or_hash_value should treated a 13-digit number as a sql_id, not a hash value.
    Hash values cannot be that large, while sql_ids can (rarely) be composed only of digits.
39. ENH: Avoid committing before executing a query with an XECUTE by wrapping appropriate parts of SQLT in autonomous transactions.
    Actually, avoid committing or rolling back altogether (before executing provided script) unless within an autonomous transactions.
    This makes it much easier to run queries that access GTTs.
    Note also that instead of rolling back a whole transaction (if configured), SQLT XECUTE now rolls back to a savepoint:
    SQLT XECUTE creates the savepoint just before executing the user script; then runs the script recording the prev_sql_id, etc.; and follows with a roll back to the savepoint.
40. ENH: TRCA provides now a script sqlt/run/sqltrcasplit.sql to split a trace file into a 10046 trace and the rest.
    (In other words, it provides access to this capability of splitting a 10046/10053 trace to end users.)
41. ENH: SQLT XECUTE can accept now PL/SQL blocks as per sqlt/input/sample/plsql1.sql sample.

### 11.4.4.0 December 4, 2011

1. BUG: Estimated MBRC was computed by SQLT as db_file_multiblock_read_count instead of _db_file_optimizer_read_count.
2. BUG: Module XGRAM is now capable to handle CHAR columns in addition to VARCHAR2, NUMBER and DATE.
3. BUG: Eliminate from SQLT$_CAPTURED_BINDS_V those rows where LAST_CAPTURED was NULL.
4. BUG: Handle occasional LOB memory leak affecting MAIN report when processing othe_xml.
   You had this bug if you see garbage with traces of some hints at the end of the MAIN report.
5. BUG: SQLT Profile when asked to generate script on plan X it was doing so for plan Y.
6. BUG: Metadata script used to fail replacing table owner on CREATE INDEX command when different than index owner.
7. BUG: Avoid following error when using SQLT on a distributed environment and remote SQL is executed as some user other than local user.
   ORA-20210: To download this file you must connect as "SYS", "SYSTEM", "SQLTXPLAIN", or "remote user"
8. BUG: SQLT COMPARE was not showing plans when comparing files older than 11.4.3.8.
9. ENH: RAW variables are now handled by SQLT TC scripts as VARCHAR2, and their values are passed within single-quotes,
10. ENH: Added "REPRODUCED" flag to DBA_SQL_PLAN_BASELINES view and corresponding section in MAIN.
11. ENH: Plan Info is now more accurate on Plans Summary and Execution Plans sections.
12. ENH: RESTORE nows matches hidden columns by expression and data_default when restoring CBO stats into TC schema objects.
13. ENH: Set the sequence sqlt$_sql_statement_id_s to NOCACHE.
    Caching is intended to speed frequent access to the sequence (which does not happen here), and results in the sequence tending jump by units of 20.
    This makes it harder to identify consecutive runs. This also applies to trca$_tool_execution_id.
14. ENH: When setting system stats in the test case script, use "scope=memory" to avoid changing the spfile. Same for XPLORE.
15. ENH: Report columns that use the ADD COLUMN...DEFAULT optimization in the "Column Properties" section.
    Plan generation for such columns differs from normal columns because references to it are internally turned into the equivalent of NVL(column, default).
16. ENH: Improve performance of sqlt$t.remap_metadata on 10g.
    This API was using recursive code on a CLOB and it performed poorly on 10g when there were a large number of partitions or subpartitions.

### 11.4.3.9 October 30, 2011

1. BUG: Test Case User suffix was duplicated in some TC scripts.
2. ENH: Incorporate new sqlhc.sql into sqlt/utl.

### 11.4.3.8 October 20, 2011

1. ENH: Using PX when doing COUNT(*) on large tables, improving SQLT performance.
2. BUG: Fix errors below:
   sqlt$a: *** d:ORA-06502: PL/SQL: numeric or value error: character string buffer too small
   sqlt$a: *** d:DBMS_SQLTUNE.LOAD_SQLSET
3. ENH: New health-check to detect when NLS_SORT is not set to BINARY.
4. BUG: Child Address is now considered in order to avoid duplicates on INST_ID/SQL_ID/CHILD_NUMBER in GV$ objects.

### 11.4.3.7 October 10, 2011

1. BUG: Handle error below when trace cannot be accessed.
   ORA-22297: warning: Open LOBs exist at transaction commit time
2. ENH: UTL_RAW is added to list of packages to grant to SQLTXPLAIN in case it is not set to PUBLIC.
3. ENH: SQLTXPLAIN password is now enclosed in double quotes in order to allow for case sensitivity and avoid "ORA-00922: missing or invalid option" when installing SQLT under some special cases.
4. ENH: Better granularity of SAMPLE when doing COUNT(*) on large tables, improving SQLT performance.
5. ENH: Tesc Case User can now be changed on Metadata and it cascades into restore, del_hgrm and sqltc scripts.
6. ENH: CBO "schema statistics import" resets the object creation time as per last analyzed date instead of saved time.

### 11.4.3.6 August 16, 2011

1. BUG: RUN scripts now validate SQLT Package specs instead of SQLT Package Bodies. This change was needed for PSFT applications in order to avoid:
   ORA-20100: SQLT is not properly installed. Review installation logs.

### 11.4.3.5 August 10, 2011

1. ENH: Improved accuracy for Estimated Cardinality and Estimated Selectivity on Histograms sections of MAIN report.
2. ENH: Better performance while creating a TC since populating CBO_STAT_TAB_4TC is now delayed until stand-alone TC is needed.
3. ENH: Reduce the SAMPLE size while doing a COUNT(*) of very large tables.
4. ENH: README report no longer using DBMS_STATS.AUTO_SAMPLE_SIZE on section "Gather CBO statistics with Histograms".
5. ENH: Execution Plans in MAIN and COMPARE show now Captured Binds in addition to Peeked Binds.
6. ENH: Scripts for main methods now verify SQLT is installed before executing. Error is very clear now.
7. ENH: Deprecate VARCHAR2_TABLE type and use DBMS_DEBUG_VC2COLL instead.
8. ENH: SQLT XGRAM does not have dependencies on SQLT now.
9. ENH: SQL Plan Baselines section on MAIN report shows now Plan Hash Value column on list of Plans.
10. BUG: Captured Binds of type TIMESTAMP are now showing captured value. They were showing NULL.
11. ENH: SQLT XPLORE takes now one of two XPLORE methods: XECUTE or XPLAIN. The former is the legacy and the former is new and uses EXPLAIN PLAN FOR.
12. ENH: Kill SQLT installation if this error is received: "ORA-12154: TNS:could not resolve the connect identifier specified".
13. ENH: SQLT now provides a SILENT installation method with script sqlt/install/sqcsilent.sql. Installation parameters are pre-defined in a parameters script then SQLT is installed with no inline parameters.
14. BUG: SQL Text is now handled in chunks of 2000 instead of 120. This change helps to avoid unwanted wraps that made q.sql, SQLT Profile and similar files to fail in SQLs with large line sizes and comments.
15. ENH: SQLT XHUME handles now Table and Index Partitions.
16. BUG: DOMAIN CONTEXT indexes were missing from MAIN report and METADATA script. SQLT handles now DOMAIN CONTEXT indexes.
17. BUG: METADATA script included SYS, CTXSYS and PUBLIC schemas. These schemas are now skipped on METADATA script.
18. ENH: New health-check to detect _optim_peek_user_binds is TRUE, a child cursor has captured binds, but it misses peeked binds. Possible application flaw or known Bug.
19. ENH: SQLT TC script now shows which parameters were not set out of GV$SQL_OPTIMIZER_ENV because they are not real CBO parameters as per SYS.SQLT$_GV$PARAMETER_CBO_V.
20. ENH: SQLT MAIN and COMPARE now show "Leading" section below Execution Plans, with a list of objects in the order they are joined. This is out of the LEADING hint from the OUTLINE.

### 11.4.3.4 July 20, 2011

1. ENH: Plans Summary section in MAIN report shows "Max/Min Elapsed Time" for plans even when they have zero Executions, as long as "Elapsed Time" has some value.
2. BUG: Extend format for "Time in Seconds" from '99999990D990' to '999999999999990D990'. This format is used by MAIN and COMPARE.
3. ENH: View sys.sqlt$_gv$parameter_cbo created by SQLT is renamed to sys.sqlt$_gv$parameter_cbo_v in order to avoid confusion with user tables with same name.
4. BUG: STA was not invoked when there were plans with large elapsed time in SQLT repository.

### 11.4.3.3 July 14, 2011

1. ENH: Add some new columns to sqlt$_gv$sql_shared_cursor: sec_depth_mismatch, sql_redirect_mismatch, row_ship_mismatch, bind_equiv_failure, pddl_env_mismatch, use_feedback_stats and reason.
2. BUG: SQLT 11.4.3.2 had CBO Statistics History (Versions) missing for Tables, Indexes, Columns and Histograms.
3. BUG: SQLT 11.4.3.2 had CBO column usage missing.
4. ENH: Implementation of SQL Test Case has been updated from ". tc.sh" to "./tc.sh".
5. ENH: Script METADATA to call DBMS_STATS.DELETE_INDEX_STATS on each index right after CREATE INDEX command.
6. ENH: Extract and report on DBA_SQLTUNE_PLANS regardless of the value of tool parameter "sql_tuning_advisor".
7. ENH: Remove from README instructions on sqlt/utl/xhume/sqltrstobj.sql since they are now included under sqlt/utl/xhume/readme.txt,
8. ENH: SELECTIVITY script to act only on tables owned by current USER (use USER_TABLES instead of DBA_TABLES).
9. BUG: XHUME was showing CPU and ET in microseconds instead of seconds in section "Chronological list of Tests".

### 11.4.3.2 July 9, 2011

1. ENH: New advanced module XGRAM. It allows to insert, update and delete CBO histograms and individual buckets without the need to gather stats or to have the data.
2. ENH: TC includes a new script sqlt_s99999_del_hgrm.sql which deletes all histograms in TC schema. It can be used to verify plan without histograms.
3. ENH: Escape character has been changed on SQLT XECUTE from default "\" to "!". This allows now to use "\" within the SQL passed to SQLT XECUTE.
4. ENH: Health-check on OPTIMIZER_SECURE_VIEW_MERGING excludes now validation of USER executing SQLT. It still validates PARSING_SCHEMA_OWNER.
5. ENH: Change name of sys.gv$parameter_cbo to sys.sqlt$_gv$parameter_cbo. Same for similar views created and used by SQLT.
6. ENH: New health-check to review when a column has a HEIGHT BALANCED histogram with no popular values and this column is referenced in a predicate.
7. ENH: New section "Modified System Parameters" based on DBA_HIST_PARAMETER is now part of main report.
8. ENH: Added a Bucket Decription for Adaptive Cursor Sharing "Histograms" section (GV$SQL_CS_HISTOGRAM).
9. ENH: Skip SQL Tuning Advisor STA if max Elapsed Time for known plans is greater than "sta_time_limit_secs" threshold parameter (1800 secs).
10. ENH: Readme section "Load SQL Plan from SQL Set" includes now a plan performance summary for each plan baseline that can be created out of syntax provided.
11. ENH: Readme includes syntax to gather statistics if application is PeopleSoft PSFT as per 1322888.1.
12. ENH: New set of health-checks to validate CBO statistics if application is PeopleSoft PSFT as per 1322888.1.
13. ENH: New parameter "search_sql_by_sqltext" allows XPLAIN to control searches in memory and AWR using SQL text while trying to find known plans.
14. ENH: Include GV$ACTIVE_SESSION_HISTORY and DBA_HIST_ACTIVE_SESS_HISTORY on main report (under SQL Execution).

### 11.4.3.1 June 17, 2011

1. BUG: Message "Column is referenced in predicate(s) and it is not included in any index." was shown incorrectly in cases where the column had a DESC clause in index.
2. BUG: Script SET_CBO_ENV sets now "db_file_multiblock_read_count" before "_db_file_optimizer_read_count".
3. BUG: Avoid error below by creating and maintaining SQLT/TRCA directories automatically.
   ORA-22288: file or LOB operation FILEOPEN failed.
4. ENH: Fix the "SQL Identification" section to clearly distinguish between identification of the original SQL Text and the stripped SQL Text, by having a separate column for each when they differ.
5. ENH: Signatures (and outline signatures) are now shown for both versions (unstripped and stripped SQL Text).
6. ENH: New expandable section for the unstripped SQL Text when it is different than stripped SQL Text.
7. ENH: A new tuning task is now created on the stripped SQL text so that accepting it will have benefit. This is done by extracting the bind_list and user_name from memory when using XECUTE so that the task can be created directly on the SQL text.
8. ENH: All SQLT scripts including XECUTE set now APPINFO to OFF. This is needed by XECUTE to avoid selecting the following SQL when /* ^^unique_id */ is missing from input script
   "BEGIN DBMS_APPLICATION_INFO.SET_MODULE(:1,NULL); END;"
9. ENH: Added instructions in dynamic readme to export the SQLT repository manually.
10. ENH: SQLT is now Peolple Soft PSFT aware.
11. ENH: SQLT MAIN and COMPARE reports include now SIEBEL and PSFT version (application or tools).
12. ENH: SQLT XPLORE uses now SQL Monitor report on 11g. This new functionality is controlled with an execution parameter.
13. BUG: SQLT XHUME was getting error below when statistics history included versions with lock.
    ORA-20005: object statistics are locked (stattype = ALL)
14. BUG: SQLT XHUME was not initializing first test with oldest version but with current timestamp. This caused some consecutive executions to generate different results.
15. ENH: GLOBAL and USER STATS are now added to sqlt$_dba_tab_stats_versions_v and sqlt$_dba_ind_stats_versions_v views and corresponding sections in MAIN report.
16. BUG: CBO parameter "optimizer_features_enable" is now referenced just once in SET_CBO_ENV script. It used to be twice.
17. BUG: METADATA uses now ^ instead of & for the DEFINE (character used to prefix substitution variables). This allows now to have PL/SQL libraries with & and not having to modify them on METADATA.
18. ENH: If SQLT XECUTE was used and ^^unique_id is missing, an observation is now included in MAIN report.
19. BUG: Custom SQL Profile excludes now those plans for which there is an entry on Plans Summary but such plan lacks OTHER_XML information (thus Hints for Profile).
20. ENH: SQL Monitoring "Starts" and "Output Rows" are now included on SQLT XTRACT MAIN execution plans when SQL "hangs". In other words, when it takes very long to execute.

### 11.4.3.0 May 20, 2011

1. SQL Monitoring Active report is now enabled for 11.1.0.7.
2. SQL Detail Active report is now available for 11.2 or higher.
3. Script coe_load_sql_baseline.sql packages created SQL Plan Baseline into staging table and exports it in case it needs to be implemented into a similar system.
4. New script coe_load_sql_profile.sql to create a Custom SQL Profile for an Original SQL using the plan from a Modified SQL (usually with Hints).
5. Fix: t:sqlt_plan_hash_value: ORA-01460: unimplemented or unreasonable conversion requested.
6. Size of Main report is gradually reduced if file size is larger than 50MB. Controlled by sqlt_max_file_size_mb/2.
7. SQLT takes control over TRCA directories. This avoids errors when a DB is cloned then SQLT is used on it.
8. SQLT XTRACT generates EBS multi-org APIs calls in TC script so they can be used by SQLT XECUTE.
9. SQLT Plan Hash Value handles now objects with name 'SYS_TEMP%' and 'index$_join$_%'.
10. SQLT XTRACT, XECUTE, XPLAIN, XTRXEC, XTRSET, COMPARE, TRCANLZR provide a clear error message when executed without installing SQLT.
11. New health-check for bugs 10248781, 9885553 and 9842771.
12. Restore of CBO statistics for a TC allows now to upgrade or downgrade the CBO stats table to the current version of the target system.
13. Scaling Factor column has been replaced by more meaningful column: Over/Under Estimate.
14. Metadata width was changed from 120 to 1000 in sqlt$m.metadata_sec and sqlt$t.remap_metadata to avoid errors on metadata script.
15. Fix error below:
    d:ORA-12899: value too large for column "SQLTXPLAIN"."SQLT$_DBA_TAB_SUBPARTITIONS"."COMPRESS_FOR" (actual: 16, maximum: 12)
16. Add Tablespaces for Temp and Undo.
17. Main report includes now a clear error when SQLT was executed with a user other than the application user, and "EXPLAIN PLAN FOR" fails.
18. SQLT now includes "Nested Tables" as per DBA_NESTED_TABLES, DBA_NESTED_TABLE_COLS and DBA_OBJECT_TABLES views.
19. SQLT TC now handles special characters like '$' within the schema owner from the source system.
20. NLS Parameters are now included in MAIN report (NLS_SESSION_PARAMETERS, NLS_INSTANCE_PARAMETERS and NLS_DATABASE_PARAMETERS). COMPARE report includes NLS Session Parameters.
21. MAIN report includes now OPTIMIZER_ENV_HASH_VALUE.
22. SQLTRCANLZR and SQLTXTRSET validate now they are executed from within sqlt/run directory.
23. Call to DBMS_STATS.GATHER_TABLE_STATS on README report uses now DBMS_STATS.AUTO_SAMPLE_SIZE for 11g. It also uses SIZE AUTO when Histograms are generated.

### 11.4.2.7 April 8, 2011

1. Several enhancements to new method XHUME.
2. Filename sizes increased from 128 to 256 in order to accommodate output file identifier needed by EBS.

### 11.4.2.6 March 28, 2011

1. New method XHUME allows to discover plans by restoring TC schema object statistics to several points in time.

### 11.4.2.5 March 20, 2011

1. Add a "/" and SHOW ERRORS after packages, procedures, functions and views in Metadata script.
2. Fix on 11.2.0.2: ORA-12899: value too large for column "SQLTXPLAIN"."SQLT$_DBA_TAB_PARTITIONS"."SEGMENT_CREATED" (actual: 4, maximum: 3)
3. Default and temporary tablespace names for SQLTXPLAIN schema owner are now case sensitive.
4. COMPARE includes now low and high column values from RAW and not only from NUMBER.
5. Fix duplicate rows on STS staging table, which would produce error when restoring a STS.
6. EBS script bde_chk_cbo.sql is now a PL/SQL call.
7. Staging SQLT STATTAB tables are now upgraded in the sqcobj.sql script in order to avoid "ORA-20002: Version of statistics table SQLTXPLAIN.SQLT$_STATTAB is too old.".
8. XPLORE has now 3 parameters when creating XPLORE script. New parameter is EXADATA parameters.
9. New set of APIs under package SQLT$E to allow the execution of SQLT from a PL/SQL package.
10. All TC spool files are now reports so they are stored in repository as any other SQLT report.
11. SQLT log file is now a report, which is stored into SQLT repository and visible to new SQLT$E APIs.
12. Special method TRCANLZR can now execute XTRACT on Top SQL.
13. New special method XTRSET allows the XTRACT on a set of SQL statements. Useful for benchmarks of the same list of SQL statements over several tests.
14. Enhanced instructions including new methods TRCANLZR, TRCASET and XTRSET.
15. Module and Action are updated for TRCA using DBMS_APPLICATION_INFO.
16. Inluded instructions to reduce the SQLT execution time when there is a large number of subpartitions.
17. Partition Start and Stop show now on main Plan section as columns in addition to the "more" column.
18. New health-check to detect 10174050 (frequency histograms with less buckets than number of distinct values).

### 11.4.2.4 February 18, 2011

1. New sqltrstobj (reset object) script for test cases where the schema object statistics have to be restored to a point in time.
2. Include method and instance on list of statements for: compare, histfile, histpurge, profile and rstobj scripts.
3. Collect SQL Sets not only on 11g but also on 10g. SQL Set is not exported for 10.2 and 11.1, it stays on SQLI$_STGTAB_SQLSET.
4. SQL Monitor Active Report is now included for 11.1 or higher.
5. Fix following error on XPLORE for some PX plans: ORA-01422: exact fetch returns more than requested number of rows.
6. New script coe_load_sql_baseline.sql to create a SQL Plan Baseline for an Original SQL based on a Modified SQL (with Hints).
7. SQLT Plan Hash Value to ignore "STORAGE" keyword from PLAN_TABLE.OPTIONS column and "VW_ST%" from PLAN_TABLE.OBJECT_NAME.
8. New SQLT Plan Hash Value2 which depends also on Access and Filter Predicates.
9. XPLORE includes now "_sort_elimination_cost_ratio".
10. XPLORE includes now 9 EXADATA parameters.
11. XPLORE asks now what must be tested: Parameters and/or Bug Fix Control.
12. TC Expert mode becomes Express mode. Step-by-step becomes Custom mode.
13. TC create schema objects has been moved to first step.
14. Test case user now takes a case-sensitive string as a suffix. For example initials of the person doing the test.
15. Include the opatch zip inside the tc zip file in addition to keeping it in main zip. Update section "Create stand-alone test case based on a SQLT TC" on readme.
16. Add selectivity and selectivity_aux scripts into tc zip file.
17. Added sqlt/utl/sqltmain.sql script to re-generate main html report based on SQLT repository.
18. Script SET_CBO_ENV warns that some ALTER SYSTEM commands will be executed.
19. SQL Text is now collapsable in main report for execution plans and binds display.
20. SQLT XECUTE phase of XTRXEC does not exit now if there were an error in an ALTER SESSION/SYSTEM parameter.
21. Scope of SQLT Tool Parameters can now be set at the session level in addition to permanent.
22. SQLT IMP to show a column of OK when value of "IN STATTAB" and in "RESTORE" columns are the same.
23. SQLT XTRXEC skips now STA and TCB on XEC phase.
24. SQLT now createa a tuning set from AWR even if SQL is no longer in memory.
25. Trace Analyzer can now be called directly from SQLT by using sqlt/utl/sqltrcanlzr.sql script.
26. Audit Policies section has been incorporated to main html report.
27. Method XTRXEC is now part of the Main SQLT methods and not an Advanced method.

### 11.4.2.3 January 14, 2011

1. Table Modifications section is added to main menu on main html report.
2. New health-check to detect columns with missing low/high values and their number of distinct values is greater than zero.
3. New Advanced Cursor Sharing section in main report.
4. New parameter event_10507_level added to trace Cardinality Feedback on SQLT XECUTE 11g.
5. SQLT now exports SQL Profiles and SQL Plan Baselines associated to a SQL. They can be easily restored into the same system or similar. Readme contains detailed instructions.
6. Metadata to create types is now executed 3 times in a row in order to reduce errors due to type dependencies.
7. Validate that SYSAUX is not specified as TABLESPACE for SQLTXPLAIN during installation.
8. New observation with number of tables with stale statistics.
9. New observation if connected user is missing the SQLT_USER_ROLE role.
10. SIEBEL aware. It includes CBO statistics and parameters health-checks as per 781927.1. It also includes instructions to gather statistics in the readme.
11. Updated bde_chk_cbo.sql to identify CBO parameters.
12. New observation if DB_FILE_MULTIBLOCK_READ_COUNT is set.
13. New observation if OPTIMIZER_FEATURES_ENABLE from Optimizer Enviornment is different than RDBMS Release.
14. New observation if OPTIMIZER_DYNAMIC_SAMPLING is between 1 and 3.
15. New observations with count of CBO parameters with non-default or modified values.
16. New observation when OPTIMIZER_SECURE_VIEW_MERGING is ON and there are views not owned by USER or parsing schema name.
17. CREATE script verifies that TABLESPACE to be used by this tool has at least 100 free megabytes.
18. New observation if index DOP is not the same as its table DOP.
19. Wait events from V$EVENT_NAME are now updated as of 11.2.0.2
20. New "Go To" column in Plan so user can navigate to Table or Index details directly from Plan.
21. Columns "More" and "Binds" are now just after "Operation" in Plan.
22. Plan History from DBA_HIST_SQLSTAT is now included in main report.
23. DBA_HIST_ACTIVE_SESS_HISTORY and GV$ACTIVE_SESSION_HISTORY are now included into SQLT repository.
24. DBA_POLICIES, DBA_AUDIT_POLICIES and V$VPD_POLICY are now included into SQLT repository.
25. Max Index Selectivity: Index Selectivity where Full Index Scan Cost meets Full Table Scan Cost. A value of 0.02 means that if selecting 2% of the rows or less, an index scan is cheaper than a FTS.
26. Include index clustering factor quality in terms of location between table blocks and table rows.
27. Include computed selectivity and cardinality for an equality predicate for each table column.
28. XTRACT generates SQL Tuning Sets for each plan on 11g. A STS can then be loaded into a SQL Plan Baseline if needed.
29. Readme includes now instructions to load a STS on 11g into a SQL Plan Baseline. On 11.2 it also includes how to migrate a STS captured by SQLT XTRACT.
30. Tested SQLT in EXADATA. All fine.
31. DBMS_STATS Setup section includes now Statistics for SYS Tables.

### 11.4.2.1 October 24, 2010

1. SQLT: Reset some initialization parameters to default values for Siebel applications after SQL has been executed.
2. SQLT: Fix "ORA-20002: Version of statistics table SQLTXPLAIN.SQLI$_STATTAB_TEMP is too old." when executing sqltimp.sql on 11.2.0.2
3. TRCA: Fix "ORA-01426: numeric overflow" when analyzing a trace generated on 11.2.0.2 and cursor number is very large (after fix for 7309111 is applied).
4. TRCA: Relevant executions for Top SQL include now up to 5 FETCH calls: First, Second, Third, Last and the one with largest Elapsed Time. This functionality allows to measure time to return first set of rows.

### 11.4.2.0 September 18, 2010

1. Fix "ORA-02065: illegal option for ALTER XXX" when executing SQLT XECUTE on a TC script generated by XTRACT and the value passed is like "2097152 KB".
2. TC script has now all ALTER commands commented out.
3. Directory paths for SQLT$UDUMP and SQLT$BDUMP is now derived from UDUMP, BDUMP else DBA_DIRECTORIES.
4. PX Processes section shows QC. PX Sessions section shows server name.
5. Fix "ORA-01722: invalid number. ORA-06512: at line 83" in tautltest.log when SQLT is installed in non-english character sets.
6. Traces are now truncated at center as per parameter "upload_trace_size_mb".
7. XPLORE to include E-Rows in list of discovered plans.
8. Parallel Processing section now focus on QC for statement that used PX in XECUTE method.
9. Segment Statistics are now restricted to display first 300 more relevant rows.
10. Statement response time (wall clock time) is now included in XECUTE and COMPARE.
11. Plan Info is added to Plans Summary, Plans Performance Statistics and Execution Plans.
12. TKPROFs for PX processes were missing for 10046_10053 traces.
13. XPLORE includes now SQLT Plan Hash Value to ease finding a known plan among the discovered plans.
14. New sqlt_s99999_tc.zip subdirectory contains all SQLT Test Case files, includimp dmp export file.
15. Simplified SQLT test case creation.
16. Simplified stand-alone test case creation.
17. SQLT Plan Hash Value is now computed ignoring table names that start with SYS_TEMP.
18. Not all multi-column or single_column indexes were displayed in "indexed columns" section.
19. XPLORE captures v$sql_plan_statistics_all for all tests it performs. This is for detailed analysis.
20. Errors during use of SQLT were not recorded in SQLT log file.
21. New tool parameter "healthcheck_endpoints" to disable "compute_mutating_endpoints" if needed.
22. SQLT now captures all columns of WRI$ tables, which are needed to restore schema object stats to point in time in a test case.

### 11.4.1.6 August 20, 2010

1. Fix "ORA-00979: not a GROUP BY expression" when compiling view sqlt$_dba_tab_col_statistics_v during installation on 10.2.0.3.
2. Workaround bugs 9299013 and 9559544 producing
   ORA-12801: error signaled in parallel query server P000
   ORA-00600: internal error code, arguments: [15714], [], [], [], [], [], [], [], [], [], [], []
   ORA-06512: at "SQLTXPLAIN.TRCA$T", line 459

### 11.4.1.5 August 4, 2010

1. SQLT includes now PX and PQ views. It also includes PX traces and tkprofs on XECUTE.
2. Reduce the size of main report on 11.2 by regulating size of "DBMS_STATS Operations History" section.
3. Installation asks now for "Connect Identifier". This parameter is useful when access to database server is restricted.
4. Output of script executed by XECUTE is now eliminated from log file. This is to avoid application data to be displayed into XECUTE log.
5. Better error message when input file provided to XPLAIN or XECUTE is not found.
6. New health-check observation when a table is global temporary and its CBO statistics are in zero.
7. New health-check observations when SREADTIM or MREADTIM are too small or too large.
8. COMPARE includes now estimated and actual performance of the compared plans.
9. COMPARE only requires to enter plan hash value if there is more than one for given statement id.
10. New healh-check observation when SQLT$UDUMP and USER_DUMP_DEST do not match.
11. History of V$PARAMETER captured in DBA_HIST_PARAMETER added to Initialization Parameters section.
12. Fix error below:
    ORA-20000: ORU-10027: buffer overflow, limit of 1000000 bytes
13. New parameter "skip_metadata_for_object" that allows to skip one or many objects from metadata extraction.
14. Fix bug 9967741 which would cause error below when SQL accesses tables with domain indexes:
    ORA-20318: Value E not in list: Y N
15. New health-check observations if tables or indexes have a degree of parallelism greater than 1.
16. Exclude these index types from statistics health-checks: "DOMAIN", "LOB" and "FUNCTION-BASED DOMAIN".
17. Tool parameter "event_others" defaults now to "N".

### 11.4.1.4 July 12, 2010

1. Fix error below:
   ORA-12899: value too large for column "SQLTXPLAIN"."SQLT$_DBA_TABLES"."COMPRESS_FOR"
2. SQLT can handle now distributed queries. SQLT must be installed in local and remote nodes.
3. New health-check on Low/High values for DATE columns used in predicates. Low > 10 years in the past. High < 3 years in the future.
4. SQLT maximum file size is now controlled by parameters "upload_trace_size_mb" and "sqlt_max_file_size_mb". Default value is 100M.
5. Two readme files are now provided. One is HTML and the other is TXT.
6. Include 10053 traces out of user_dump_dest directly.
7. Workaround ORA-07445: exception encountered:
   BEGIN CTXSYS.CTX_REPORT.CREATE_INDEX_SCRIPT(index_name => :name, report => :report); END;
8. XPLORE script performs now: ALTER SESSION SET STATISTICS_LEVEL = ALL;
9. Main report includes now SQL to get subpartition statistics and histograms out of the SQLT repository.
10. SQLT XECUTE missed the dmp export file when "SET TIMING ON" was executed right before XECUTE. This is fixed now.
11. Cleaning plan table in order to avoid "ORA-01722: invalid number" in "INSERT INTO sqlt$_plan_extension".
12. Export file includes only those SQLT tables with data. It avoids following errors in 11.2
    IMP-00003: ORACLE error 959 encountered
    ORA-00959: tablespace 'DATA01' does not exist

### 11.4.1.3 June 8, 2010

1. Fix error below while using SQLT XTRACT:
   ORA-06502: PL/SQL: numeric or value error: Bulk Bind: Truncated Bind
   ORA-06512: at "SQLTXPLAIN.SQLT$D", line 1338
2. Fix error below on INSERT INTO sqlt$_dba_hist_sqlbind:
   ORA-22950: cannot ORDER objects without MAP or ORDER method
3. Fix duplicate rows shown in "Table Statistics" and "Index Statistics" report sections when tables and indexes have same names.

### 11.4.1.2 June 3, 2010

1. Fix error below calling TRCA from SQLT XECUTE:
   ORA-06550: line 1, column 7:
   PLS-00306: wrong number or types of arguments in call to 'TRCANLZR'
   ORA-06550: line 1, column 7:

### 11.4.1.1 June 1, 2010

1. Incorporate Trace Analyzer TRCA as part of SQLT XECUTE.
2. Installation parameter "Oracle Pack license" defaults now to "T" (Oracle Tuning Pack).
3. SQLT STAGE and UDUMP directories can now be specified during installation.
4. Oracle patch inventory is now included on methods XTRACT, XECUTE and XPLAIN.
5. Captured bind values are now enclosed in double quotes consistent to peeked bind values.
6. New parameter "c_cbo_stats_vers_days" to control number of days to capture CBO statistics versions.
7. New parameter "event_10053_level" to enable or disable event 10053 trace on SQLT XECUTE, XTRACT and XPLAIN.
8. New parameter "event_10046_level" to set level of event 10046 trace to 12, 8, 4, 1 or 0 on SQLT XECUTE.
9. New parameter "event_others" to enable or disable events 10241, 10032, 10033, 10104, 10730, 46049 on SQLT XECUTE when 10046 is enabled.
10. Reduce size of main html report by restricting lists of "Statistics Versions" for tables, indexes, and index columns.
11. Include user_dump_dest, background_dump_dest and SQLT/TRCA directories in log files for XTRACT, XECUTE and XPLAIN.
12. EBS Histograms link was inactive even when EBS system had histograms in related columns.

### 11.4.0.5 May 20, 2010

1. Remove duplicate rows seen in Captured Binds section.
2. Fix error below:
   ORA-01422: exact fetch returns more than requested number of rows
   ORA-06512: at "SQLTXPLAIN.SQLT$A", line 1627
   ORA-06512: at "SQLTXPLAIN.SQLT$I", line 839
3. New SQLT Plan Hash Value. It is used to compare similar plans when table owners are different. Oracle plan hash value is different. SQLT plan hash value is same.
4. New parameter "c_dba_hist_parameter" to control collection of relevant rows out of view DBA_HIST_PARAMETER.
5. Fix Bug 9717863 with error below:
   ORA-06502: PL/SQL: numeric or value error: Bulk Bind: Truncated Bind
   ORA-06512: at "SQLTXPLAIN.SQLT$D", line 1368
6. Enhanced README report to include detailed instructions to use the COMPARE method.

### 11.4.0.4 May 6, 2010

1. Fix error below while calling: SQL> EXEC sqltxplain.sqlt$i.xecute_end.
   ORA-06502: PL/SQL: numeric or value error: host bind array too small
   ORA-06512: at line 1
2. Workaround error on Execution Plans section:
   plan_exec_sec: ORA-01801: date format is too long for internal buffer
3. Fix Bug 9684719 - SQLT XTRACT ORA-22275 INVALID LOB LOCATOR SPECIFIED while calling: SQL> EXEC sqltxplain.sqlt$i.xtract.
   ORA-22275: invalid LOB locator specified
   ORA-06512: at "SYS.DBMS_LOB", line 560
   ORA-06512: at "SQLTXPLAIN.SQLT$I", line 419
4. Fix error: d:ORA-01436: CONNECT BY loop in user data.
5. Fix error: d:ORA-01472: cannot use CONNECT BY on view with DISTINCT, GROUP BY, etc.
6. Replace dependencies collection algorithms for better accuracy and performance.

### 11.4.0.3 April 22, 2010

1. Change generation order of MV/TABLE on metadata script. Now MVs are generated first.
2. Schema owner in metadata script includes "." as suffix. This avoids some bad names in triggers like &&SCHEMA_SFP.SFP_PROJT becoming TC15198SFP_PROJT. ORA-00942: table or view does not exist.
3. Table references within triggers (or any other library) are now included in metadata script.
4. Workaround ORA-07445 caused by CTXSYS.CTX_REPORT.CREATE_INDEX_SCRIPT by creating new tool parameter "domain_index_metadata".
5. Enhanced COUNT(*) using proportional SAMPLE clause for large tables.

### 11.4.0.2 April 13, 2010

1. Fix Bug 9580238 - SQLT XTRACT FAILS WITH ORA-22275: INVALID LOB LOCATOR SPECIFIED.
2. Change background color in titles from f0f0d0 to cccc99.

### 11.4.0.1 April 11, 2010

1. SQLT 3rd generation. New data model and code for 10.2 and higher.