SQLT概要和安裝


  • SQLT 概覽
  • 安全模式
  • 安裝  SQLT
  • 卸載  SQLT
  • 升級  SQLT
  • 常見問題
  • 上傳SQLT文件給Oracle技術(shù)支持

主要方法
  • XTRACT
  • XECUTE
  • XTRXEC
  • XPLAIN
  • XTRSBY
  • XPREXT
  • XPREXC

特殊方法
  • COMPARE
  • TRCANLZR
  • TRCAXTR
  • TRCASPLIT
  • XTRSET

高級方法和模塊
  • PROFILE
  • XGRAM
  • XPLORE
  • XHUME

SQLT 概覽

SQLTXPLAIN,也稱為  SQLT,是 Oracle Server Technologies Center of Expertise - ST CoE 提供的一款工具。  SQLT  主要方法 通過輸入的一個(gè) SQL 語句,可輸出一組診斷文件。這些文件通常用于診斷性能不佳或者產(chǎn)生錯(cuò)誤結(jié)果的 SQL 語句。

創(chuàng)新互聯(lián)公司長期為上千多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為牡丹企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,牡丹網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

對于sql語句的調(diào)優(yōu),SQLT 需要您有一些專業(yè)的知識來進(jìn)行分析。對于許多問題來說我們推薦首先使用SQL Health Check 來檢查您的SQL,假如不能解決再嘗試使用SQLT。SQLHC的詳細(xì)介紹請看:

Document 1366133.1 SQL Tuning Health-Check Script (SQLHC)

一旦 安裝,便可通過向  SQLT 傳遞一個(gè)包含 SQL 語句腳本(包括綁定變量)的文本文件或者其  SQL_ID,對 SQL 語句進(jìn)行分析。SQL_ID 可在 AWR 和 ASH 的報(bào)告中找到,HASH_VALUE 出現(xiàn)在 SQL_TRACE 的輸出中(SQL 文本的上面以"hv="的標(biāo)志來識別)。您也能在 V$SQL 視圖中發(fā)現(xiàn)這些字段。請參照接下來的文檔:

Document 1627387.1 How to Determine the SQL_ID for a SQL Statement

SQLT  主要方法 會(huì)連接到數(shù)據(jù)庫,收集執(zhí)行計(jì)劃、基于成本的 Optimizer CBO 統(tǒng)計(jì)信息、Schema 對象元數(shù)據(jù)、性能統(tǒng)計(jì)信息、配置參數(shù)和會(huì)影響正在分析的 SQL 性能的其他元素。這些方法會(huì)對有問題的SQL_ID產(chǎn)生一攬子輸出,包括一個(gè)html格式的"main"報(bào)表。關(guān)于如何使用"main"報(bào)表,您可以參考下面的文檔:

Document 1922234.1 SQLT Main Report: Usage Suggestions

SQLT 可以使用 Oracle Diagnostic 和(或)Oracle Tuning Packs,前提是您的數(shù)據(jù)庫需要具有這兩個(gè)軟件包的許可證。這兩個(gè)軟件包向  SQLT 工具提供了增強(qiáng)的功能。在  SQLT 安裝期間,您可以指定是否其中一個(gè)軟件包在您的數(shù)據(jù)庫被授權(quán)使用。如果一個(gè)都沒有, SQLT 仍會(huì)提供一些基本信息,用于最開始的 SQL 性能診斷。


安全模式

SQLT 在  安裝的過程中會(huì)創(chuàng)建兩個(gè)用戶和一個(gè)角色。這些用戶和角色的名字都是固定的。

SQLT repository 是由用戶  SQLTXPLAIN管理的。 SQLT 的使用者每次使用  SQLT 提供的 主要方法時(shí)都要提供  SQLTXPLAIN 的密碼。  SQLTXPLAIN 用戶被賦予了以下系統(tǒng)權(quán)限:

  • CREATE SESSION
  • CREATE TABLE

SQLT 包含的 PL/SQL 程序包以及視圖都是由用戶  SQLTXADMIN 管理的。 SQLTXADMIN 用戶處于鎖定狀態(tài)并且由一個(gè)隨機(jī)產(chǎn)生的密碼保護(hù)。 SQLTXADMIN 用戶被賦予了以下系統(tǒng)權(quán)限:

  • ADMINISTER SQL MANAGEMENT OBJECT
  • ADMINISTER SQL TUNING SET
  • ADVISOR
  • ALTER SESSION
  • ANALYZE ANY
  • SELECT ANY DICTIONARY
  • SELECT_CATALOG_ROLE

所有  SQLT 的使用者在使用  SQLT 提供的 主要方法之前必須被賦予  SQLT_USER_ROLE 這個(gè)角色。 SQLT_USER_ROLE 角色被賦予了以下系統(tǒng)權(quán)限:

  • ADVISOR
  • SELECT_CATALOG_ROLE

12c 在缺省情況下 SYS 用戶不能作為  SQLT 的用戶,因?yàn)?PL/SQL 安全模型上改變的原因。
為了處理這個(gè)改變, SQLTADMIN 需要在 SYS 上被授予  INHERIT PRIVILEGES 權(quán)限。
GRANT INHERIT PRIVILEGES ON USER SYS TO SQLTXADMIN
更多詳細(xì)的內(nèi)容請參見 Oracle? Database PL/SQL Language Reference 12c Release 1 (12.1) - Invoker's Rights and Definer's Rights (AUTHID Property) and in Oracle? Database Security Guide 12c Release 1 (12.1) - Managing Security for Definer's Rights and Invoker's Rights


安裝  SQLT

SQLT 安裝在其自己的 schema  SQLTXPLAIN 和  SQLTXADMIN 下。它不會(huì)將任何對象安裝到應(yīng)用程序 schema 中。您可以在 UNIX、Linux 或 Windows 平臺,Oracle DB 10.2、11.1、11.2 及更高版本中安裝此版本的 SQLT。對于所有“應(yīng)用于:”的信息,請參照文檔215187.1。

安裝步驟:

  1. 卸載先前版(可選)。
  2. 該可選步驟將刪除所有廢棄的  SQLTXPLAIN/SQLTXADMIN schema 對象,并為全新安裝準(zhǔn)備環(huán)境。如果要保留 SQLT Repository 的現(xiàn)有內(nèi)容,請?zhí)^此步驟(推薦)。

    # cd sqlt/install
    # sqlplus / as sysdba
    SQL> START sqdrop.sql
  3. 以  SYS 身份連接數(shù)據(jù)庫并執(zhí)行安裝腳本  sqlt/install/sqcreate.sql。
  4. # cd sqlt/install
    # sqlplus / as sysdba
    SQL> START sqcreate.sql

在安裝期間,系統(tǒng)將要求您輸入以下參數(shù)值:

  1. 可選連接標(biāo)識符(當(dāng)安裝在一個(gè)可插拔數(shù)據(jù)庫上時(shí)是必須的)
  2. 在一些受限訪問的系統(tǒng)中,您可能需要指定連接標(biāo)識符,例如  @PROD。如果不需要連接標(biāo)識符,則不要輸入任何數(shù)據(jù),只需單擊回車鍵。什么也不鍵入是最常使用的安裝方法。
    當(dāng)安裝在一個(gè)可插拔數(shù)據(jù)庫上時(shí)連接標(biāo)識符是必須提供的。

  3. SQLTXPLAIN 密碼。
  4. 在大多數(shù)系統(tǒng)中區(qū)分大小寫。

  5. SQLTXPLAIN 默認(rèn)表空間。
  6. 從可用的永久表空間列表中,選擇  SQLT Repository 的  SQLTXPLAIN 應(yīng)使用的表空間。它必須具有 50MB 以上的可用空間。

  7. SQLTXPLAIN 臨時(shí)表空間。
  8. 從可用的臨時(shí)表空間列表中,選擇  SQLTXPLAIN 臨時(shí)操作和臨時(shí)對象應(yīng)使用的表空間。

  9. 可選應(yīng)用程序用戶。
  10. 這是發(fā)出要分析 SQL 語句的用戶。例如,在 EBS 系統(tǒng)上,指定為  APPS;在 Siebel 上,應(yīng)指定為 SIEBEL;在 People Soft 上,應(yīng)指定為  SYSADM。系統(tǒng)不會(huì)要求您輸入此用戶的密碼。也可以在安裝該工具后添加其他的  SQLT 用戶,方法為:授予他們角色  SQLT_USER_ROLE。

  11. 授權(quán)的 Oracle Pack。(T,D 或 N)
  12. 可以指定  T 表示 Oracle Tuning; D 表示 Oracle Diagnostic,或  N 表示都沒有。如果選擇  T 或  D,SQLT 可以在它生成的診斷文件中包含授權(quán)的內(nèi)容。默認(rèn)值為  T。如果選擇  N,SQLT 將只安裝限定的功能。

如果需要靜默安裝,可以使用下面三個(gè)選項(xiàng)來傳遞所有 6 個(gè)安裝參數(shù):

  1. 在文件中。
  2. 首先使用一個(gè)腳本進(jìn)行值的預(yù)先定義,類似于示例腳本  sqlt/install/sqdefparams.sql。然后使用  sqlt/install/sqcsilent.sql,而不是  sqlt/install/sqcreate.sql。

    # cd sqlt/install
    # sqlplus / as sysdba
    SQL> START sqdefparams.sql
    SQL> START sqcsilent.sql
  3. 命令行。
  4. 執(zhí)行  sqlt/install/sqcsilent2.sql,而不是  sqlt/install/sqcreate.sql。前者以內(nèi)嵌形式輸入 6 個(gè)安裝參數(shù)。

    # cd sqlt/install
    # sqlplus / as sysdba
    SQL> START sqcsilent2.sql '' sqltxplain USERS TEMP '' T
  5. 在 Oracle 內(nèi)部安裝。
  6. 執(zhí)行  sqlt/install/sqcinternal.sql,而不是  sqlt/install/sqcreate.sql。前者首先執(zhí)行  sqlt/install/sqdefparams.sql,然后是  sqlt/install/sqcsilent.sql

    # cd sqlt/install
    # sqlplus / as sysdba
    SQL> START sqcinternal.sql

假如您需要更多關(guān)于安裝問題的幫助,您能從下面的論壇得到幫助: SQLTXPLAIN: SQLT Installation Issues


卸載  SQLT

卸載  SQLT 會(huì)同時(shí)移除  SQLT Repository 以及所有  SQLTXPLAIN/SQLTXADMIN schema 對象。另外還會(huì)刪除  SQLTXPLAIN 和  SQLTXADMIN 用戶。要卸載  SQLT,只需以 SYS 身份連接,執(zhí)行  sqlt/install/sqdrop.sql

# cd sqlt/install
# sqlplus / as sysdba
SQL> START sqdrop.sql

升級  SQLT

如果在系統(tǒng)中已安裝先前版本的  SQLT,則可以將  SQLT 升級到其最新版本,同時(shí)部分保留現(xiàn)有  SQLT Repository 的一些對象。然后可以使用新遷移的  SQLT Repository 來恢復(fù) CBO 統(tǒng)計(jì)信息,或者在  SQLT 的新舊執(zhí)行程序之間執(zhí)行  COMPARE。

要升級  SQLT,只需執(zhí)行 安裝,而不用執(zhí)行可選 卸載步驟。

如果升級失敗,可能是先前的  SQLT 版本太舊而無法升級。在這種情況下,請先繼續(xù) 卸載  SQLT,然后執(zhí)行全新 安裝。

文章題目:SQLT概要和安裝
當(dāng)前URL:http://www.muchs.cn/article36/ihpepg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)App開發(fā)、網(wǎng)站維護(hù)網(wǎng)站導(dǎo)航、企業(yè)建站網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)