本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Oracle SQLT
Amazon 透過使用 SQLT選項來RDS支援 Oracle SQLTXPLAIN(SQLT)。您可以SQLT搭配任何版本的 Oracle Database 19c 及更高版本使用 。
Oracle EXPLAIN PLAN
陳述式可以判斷SQL陳述式的執行計畫。它可以驗證 Oracle 最佳化工具是否選擇特定的執行計劃,例如巢狀迴圈聯結。還可協助您了解最佳化工具的決策,例如,為何選擇巢狀迴圈聯結,而非雜湊聯結。因此,EXPLAIN PLAN
協助您了解陳述式的效能。
SQLT 是產生報告的 Oracle 公用程式。此報告包含物件統計資料、物件中繼資料、最佳化工具相關初始化參數,以及資料庫管理員可用來調整SQL陳述式以獲得最佳效能的其他資訊。SQLT 會產生HTML報告,其中包含報告中所有區段的超連結。
與自動工作負載儲存庫或 Statspack 報告不同, SQLT適用於個別SQL陳述式。SQLT 是 SQL、PL/ 和 SQL*Plus 檔案的集合SQL,可收集、儲存和顯示效能資料。
以下是每個版本的支援 Oracle SQLT版本。
SQLT 版本 | Oracle Database 21c | Oracle 資料庫 19c |
---|---|---|
2018-07-25.v1 |
支援 |
支援 |
2018-03-31.v1 |
不支援 |
不支援 |
2016-04-29.v1 |
不支援 |
不支援 |
若要下載SQLT和存取使用指示:
登入您的「我的 Oracle 支援」帳戶,並開啟下列文件:
若要下載 SQLT:文件 215187.1
如需SQLT使用說明:文件 1614107.1
有關 的常見問題SQLT:文件 1454160.1
如需讀取SQLT輸出的相關資訊:文件 1456176.1
如需解譯主要報告:文件 1922234.1
Amazon RDS 不支援下列SQLT方法:
-
XPLORE
-
XHUME
SQLT 的先決條件
以下是使用 的先決條件SQLT:
-
如果使用者和角色存在SQLT,您必須移除 所需的使用者和角色。
SQLT 此選項會在資料庫執行個體上建立下列使用者和角色:
SQLTXPLAIN
使用者SQLTXADMIN
使用者SQLT_USER_ROLE
角色
如果您的資料庫執行個體具有任何這些使用者或角色,請使用SQL用戶端登入資料庫執行個體,並使用下列陳述式將其捨棄:
DROP USER SQLTXPLAIN CASCADE; DROP USER SQLTXADMIN CASCADE; DROP ROLE SQLT_USER_ROLE CASCADE;
-
如果資料表空間存在SQLT,您必須移除 所需的資料表空間。
SQLT 選項會在資料庫執行個體上建立下列資料表空間:
RDS_SQLT_TS
RDS_TEMP_SQLT_TS
如果您的資料庫執行個體具有這些資料表空間,請使用SQL用戶端登入資料庫執行個體,然後捨棄它們。
SQLT 選項設定
SQLT 可以使用 Oracle Tuning Pack 和 Oracle Diagnostics Pack 提供的授權功能。Oracle 調校套件包含 SQL Tuning Advisor,而 Oracle Diagnostics Pack 包含自動工作負載儲存庫。SQLT 設定會啟用或停用從 存取這些功能SQLT。
Amazon RDS支援 SQLT選項的下列設定。
選項設定 | 有效值 | 預設值 | 描述 |
---|---|---|---|
|
|
|
您要透過 存取的 Oracle 管理套件SQLT。輸入下列其中一個值:
注意Amazon RDS不會為這些 Oracle Management Packs 提供授權。如果您表示想要使用未包含在資料庫執行個體中的套件,則可以SQLT搭配資料庫執行個體使用 。但是, SQLT 無法存取套件,且SQLT報告不包含套件的資料。例如,如果您指定 |
|
|
|
您要安裝SQLT的 版本。 注意對於 Oracle Database 19c 和 21c,唯一支援的版本是 |
新增 SQLT 選項
以下是將 SQLT 選項新增至資料庫執行個體的一般程序:
建立新的選項群組,或是複製或修改現有選項群組。
將SQLT選項新增至選項群組。
將選項群組與資料庫執行個體建立關聯。
新增SQLT選項後,一旦選項群組處於作用中狀態, SQLT就會處於作用中狀態。
若要將 SQLT選項新增至資料庫執行個體
-
判斷要使用的選項群組。您可以建立新的選項群組或使用現有的選項群組。如果您要使用現有的選項群組,請跳到下一個步驟。否則請使用下列設定來建立自訂資料庫選項群組:
-
針對 Engine (引擎),選擇您想要使用的 Oracle 版本。所有版本都支援SQLT此選項。
-
針對 Major engine version (主要引擎版本),請選擇您資料庫執行個體的版本。
如需詳細資訊,請參閱建立選項群組。
-
-
將SQLT選項新增至選項群組。如需新增選項的詳細資訊,請參閱將選項新增至選項群組。
-
將選項群組套用至新的或現有的資料庫執行個體:
-
針對新的資料庫執行個體,您會在啟動執行個體時套用選項群組。如需更多詳細資訊,請參閱 建立 Amazon RDS 資料庫執行個體。
-
針對現有的資料庫執行個體,您可以透過修改執行個體並附加新的選項群組來套用選項群組。如需詳細資訊,請參閱修改 Amazon RDS 資料庫執行個體。
-
-
(選用) 使用 SQLT選項驗證每個資料庫執行個體上的SQLT安裝。
使用SQL用戶端以主要使用者身分連線至資料庫執行個體。
如需使用SQL用戶端連線至 Oracle 資料庫執行個體的相關資訊,請參閱 連線至 Oracle 資料庫執行個體。
執行下列查詢:
SELECT sqltxplain.sqlt$a.get_param('tool_version') sqlt_version FROM DUAL;
查詢會傳回 Amazon 上 SQLT選項的目前版本RDS。
12.1.160429
是 Amazon 上SQLT可用版本的範例RDS。
變更 SQLT選項建立的使用者密碼。
使用SQL用戶端以主要使用者身分連線至資料庫執行個體。
執行下列SQL陳述式以變更
SQLTXADMIN
使用者的密碼:ALTER USER SQLTXADMIN IDENTIFIED BY
new_password
ACCOUNT UNLOCK;注意
指定此處所顯示提示以外的密碼,作為安全最佳實務。
執行下列SQL陳述式以變更
SQLTXPLAIN
使用者的密碼:ALTER USER SQLTXPLAIN IDENTIFIED BY
new_password
ACCOUNT UNLOCK;注意
指定此處所顯示提示以外的密碼,作為安全最佳實務。
注意
升級SQLT需要解除安裝舊版 ,SQLT然後安裝新版本。因此,升級 時,所有SQLT中繼資料都可能遺失SQLT。資料庫的主要版本升級也會解除安裝並重新安裝 SQLT。主要版本升級的範例是從 Oracle Database 19c 升級到 Oracle Database 21c。
使用 SQLT
SQLT 適用於 Oracle SQL*Plus 公用程式。
若要使用 SQLT
從 My Oracle Support SQLT 網站上的文件 215187.1
下載 .zip 檔案。 注意
您無法從 My Oracle Support 網站下載 SQLT 12.1.160429。Oracle 已廢除這個較舊的版本。
解壓縮 SQLT .zip 檔案。
從命令列提示字元中,切換到檔案系統上的
sqlt/run
目錄。從命令提示中,開啟 SQL*Plus,並以主要使用者身分連線至資料庫執行個體。
如需使用 SQL*Plus 連線至資料庫執行個體的資訊,請參閱 連線至 Oracle 資料庫執行個體。
取得SQL陳述式的 SQL ID:
SELECT SQL_ID FROM V$SQL WHERE SQL_TEXT='
sql_statement
';輸出類似如下:
SQL_ID ------------- chvsmttqjzjkn
使用 分析SQL陳述式SQLT:
START sqltxtract.sql
sql_id
sqltxplain_user_password
例如,針對 SQL ID
chvsmttqjzjkn
,輸入下列內容:START sqltxtract.sql chvsmttqjzjkn
sqltxplain_user_password
SQLT 在執行SQLT命令的目錄中, 會以 .zip 檔案產生HTML報告和相關資源。
(選用) 若要讓應用程式使用者使用 診斷SQL陳述式SQLT,請使用下列陳述式
SQLT_USER_ROLE
授予每個應用程式使用者:GRANT SQLT_USER_ROLE TO
application_user_name
;注意
Oracle 不建議SQLT搭配
SYS
使用者或具有DBA
角色的使用者執行 。最佳實務是將 授予應用程式使用者,以使用應用程式使用者帳戶執行SQLT診斷SQLT_USER_ROLE
。
升級 SQLT選項
使用 Amazon RDS for Oracle,您可以將SQLT選項從現有版本升級至更高版本。若要升級 SQLT 選項,請完成新版本 使用 SQLT中的步驟 1–3SQLT。此外,如果您在該區段的步驟 7 SQLT中授予先前版本 的權限,請再次授予新SQLT版本的權限。
升級 SQLT選項會導致舊版SQLT中繼資料遺失。較舊SQLT版本的結構描述和相關物件會捨棄,並SQLT安裝較新的 版本。如需有關SQLT最新版本變更的詳細資訊,請參閱 My Oracle Support 網站上的文件 1614201.1
注意
不支援版本降級。
修改SQLT設定
啟用 之後SQLT,您可以修改 選項的 LICENSE_PACK
和 VERSION
設定。
如需如何修改選項設定的詳細資訊,請參閱修改選項設定。如需每項設定的詳細資訊,請參閱SQLT 選項設定。
移除 SQLT 選項
您可以從資料庫執行個體中移除 SQLT 。
若要SQLT從資料庫執行個體中移除 ,請執行下列其中一項操作:
-
若要SQLT從多個資料庫執行個體中移除 SQLT選項,請從資料庫執行個體所屬的選項群組中移除 選項。此變更會影響使用選項群組的所有資料庫執行個體。如需詳細資訊,請參閱從選項群組移除選項。
-
若要SQLT從單一資料庫執行個體中移除 ,請修改資料庫執行個體,並指定不包含 選項的不同SQLT選項群組。您可以指定預設的 (空白) 選項群組或不同的自訂選項群組。如需詳細資訊,請參閱修改 Amazon RDS 資料庫執行個體。