ابزار SQLTXPLAIN چیست؟

ابزار SQLTXPLAIN بعنوان SQLT نیز شناخته می شود.ابزاری است برای شناخت اجرای کند  پرس و جوها.

این ابزار بصورت کد PL/SQL توسعه داده شده است.
این ابزار با اتصال به پایگاه داده اوراکل و با جمع آوری مسیرهای اجرا (execution plans)، آمارهای CBO براساس بهینه هزینه پرس و جو (Cost-based Optimizer)، متا داده های اشیاء اسکیما، آمارهای اجرایی، پارامترهای پیکربندی و عناصر مشابهی که بر عملکرد پرس و جوها تاثیر می گذارد شروع به تجزیه و تحلیل می کند. خروجی آن بصورت یک فایل zip که مجموعه ای از فایل تشخیصی می باشد. این فایل ها برای تشخیص اجرای کند پرس و جوها می باشند.
قبل از استفاده از ابزار SQLTXPLAIN نخست از اسکریپت SQL Tuning Health-Check استفاده کنید. استفاده از این ابزارها نیازی به لایسنس ندارد و کاملا رایگان می باشند.

Download  SQL Tuning Health-Check Script (SQLHC)

sqlhc.zip

Download SQLTXPLAIN (SQLT)

sqlt_10g_11g_12c_18c_05_06_2019.zip

sqlt9i_11.3.1.4.zip

نحوه نصب واجرای SQL Tuning Health-Check

۱-بعد از دانلود فایل  sqlhc.zip آن را در یک پوشه دلخواه که حروف فارسی و فاصله نداشته باشد از حالت فشرده خارج کنید. فرض کنید که فایل را روی لینوکس در مسیر زیر باز کردید

/home/oracle/sqlhc

و روی سیستم عامل ویندوز در مسیر زیر باز کردید:

d:\sqlhc

بعد از باز کردن فایل سه تا فایل sqldx.sql sqlhc.sql sqlhcxec.sql را خواهید دید.

۲- به پایگاه داده اوراکل با کاربر sys‌که به data dictionary دسترسی داشته باشد متصل شوید.

اگر از سیستم عامل لینوکس به اوراکل وصل می شوید:

# su – oralce

$ sqlplus / as sysdba

اگر از سیستم عامل ویندوز به پایگاه داده اوراکل وصل می شوید:

c:\> sqlplus / as  sysdba

حال بشکل زیر از دستور استفاده کنید. نخست SQL_ID مربوط به پرس و جویی را می خواهید چک کنید پیدا کنید با هر ابزاری که آشنا هستید مانند فهرست زیر، می توانید این کار را انجام دهید

Enterprise Manager Cloud Control

TOAD

PLSqldeveloper

Oracle SQLDevelopr

SQL> select select SQL_ID from v$sql  where ……

فرض کنید که SQL_ID بدست آمده djkbyr8vkc64h می باشد. حال دستور را بشکل زیر استفاده کنید:

روی سیستم عامل ویندوز:

SQL> @d:\sqlhc\sqlhc.sql T djkbyr8vkc64h

روی سیستم عامل یونیکس و یا لینوکس:

SQL> @/home/oracle/sqlhc/sqlhc.sql T djkbyr8vkc64h

نحوه نصب و راه اندازی SQLTXPLAIN:

نخست فایل را در پوشه ای که کاربر oracle به آن دسترسی دارد از حالت فشرده خارج کنید. فرض کنید پایگاه داده روی سیستم عامل لینوکس است . در مسیر زیر یک پوشه بسازید:

# su – oracle
$ cd /home/oracle
$ mkdir sqlt
$ cd sqlt
$ unzip sqlt_10g_11g_12c_18c_05_06_2019.zip
$ sqlplus / as sysdba
SQL> @/home/oracle/sqlt/sqcreate.sql
zip error: Nothing to do! (SQLT_installation_logs_archive.zip)
zip error: Nothing to do! (SQLT_installation_logs_archive.zip)
PL/SQL procedure successfully completed.
Specify optional Connect Identifier (as per Oracle Net)
Include "@" symbol, ie. @PROD
If not applicable, enter nothing and hit the "Enter" key.
You *MUST* provide a connect identifier when installing
SQLT in a Pluggable Database in 12c
This connect identifier is only used while exporting SQLT
repository everytime you execute one of the main methods.
Optional Connect Identifier (ie: @PROD): <-- press Enter 

PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
Define SQLTXPLAIN password (hidden and case sensitive).
Password for user SQLTXPLAIN: <--- Enter the password
Re-enter password:            <--- Enter the password for confirm
PL/SQL procedure successfully completed.
... please wait

TABLESPACE                     FREE_SPACE_MB
------------------------------ -------------
EXAMPLE                                  216
USERS                                  32735


Specify PERMANENT tablespace to be used by SQLTXPLAIN.
Tablespace name is case sensitive.
Default tablespace [UNKNOWN]: USERS <---choose tablespace
PL/SQL procedure successfully completed.

... please wait

TABLESPACE
------------------------------
TEMP


Specify TEMPORARY tablespace to be used by SQLTXPLAIN.
Tablespace name is case sensitive.
Temporary tablespace [UNKNOWN]: TEMP <---choose temporary tablespace
PL/SQL procedure successfully completed.
The main application user of SQLT is the schema
owner that issued the SQL to be analyzed.
For example, on an EBS application you would
enter APPS.
You will not be asked to enter its password.
To add more SQLT users after this installation
is completed simply grant them the SQLT_USER_ROLE
role.

Main application user of SQLT: scott  <--Enter schema you want to analyze
PL/SQL procedure successfully completed.

SQLT can make extensive use of licensed features
provided by the Oracle Diagnostic and the Oracle
Tuning Packs, including SQL Tuning Advisor (STA),
SQL Monitoring and Automatic Workload Repository
(AWR).
To enable or disable access to these features
from the SQLT tool enter one of the following
values when asked:

"T" if you have license for Diagnostic and Tuning
"D" if you have license only for Oracle Diagnostic
"N" if you do not have these two licenses

Oracle Pack license [T]: <---- press Enter

PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.

TADOBJ completed.

PL/SQL procedure successfully completed.
..
..
SQLT users must be granted SQLT_USER_ROLE before using this tool. 
SQCREATE completed. Installation completed successfully.

چک کردن صحت نصب:

SQL> SELECT
'SQLT version number: '||sqltxplain.sqlt$a.get_param('tool_version')||CHR(10)||
'SQLT version date : '||sqltxplain.sqlt$a.get_param('tool_date')||CHR(10)||
'Installation date : '||sqltxplain.sqlt$a.get_param('install_date') sqlt_version
FROM DUAL;

SQLT_VERSION
-----------------------------------------
SQLT version number: 12.1.14
SQLT version date : 2015-12-06
Installation date : 2016-10-17/12:20:51

دیدگاه‌ خود را بنویسید

سبد خرید
پیمایش به بالا