




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、toad for oracle 使用手冊時間:2009-10-20 12:55來源:未知 作者:admin 點(diǎn)擊:408次 目錄 一Toad 功能綜述 二系統(tǒng)需求 三安裝指南 四快速入門 1 Schema browser 的用法簡介 2 SQL Editor的使用介紹 3 Procedure Editor的用法介紹 4 如何進(jìn)行PLSQL 的debug 5 如何使用SQLab Xpert 優(yōu)化SQL 6 如何使用SQL Modeler來編寫查詢 7目錄一Toad 功能綜述二系統(tǒng)需求三安裝指南四快速入門1 Schema browser的用法簡介2 SQL Editor的使用介紹3 Procedu
2、re Editor的用法介紹4 如何進(jìn)行PLSQL 的debug5 如何使用SQLab Xpert優(yōu)化SQL6 如何使用SQL Modeler來編寫查詢7 如何使用Toad 的DBA 方面的功能一、 Toad功能綜述在Oracle 應(yīng)用程序的開發(fā)過程中,訪問數(shù)據(jù)庫對象和編寫SQL 程序是一件乏味且耗費(fèi)時間的工作,對數(shù)據(jù)庫進(jìn)行日常管理也是需要很多SQL 腳本才能完成的。Quest Software 為此提供了高效的Oracle 應(yīng)用開發(fā)工具-Toad (Tools of Oracle ApplicationDevelopers )。在Toad 的新版本中,還加入了DBA 模塊,可以幫助DBA 完
3、成許多日常管理工作。它最大的特點(diǎn)就是簡單易用,訪問速度快。使用Toad ,我們可以通過一個圖形化的用戶界面快速訪問數(shù)據(jù)庫,完成復(fù)雜的SQL 和PL/SQL代碼編輯和測試工作。Toad 由Oracle 開發(fā)專家專門為開發(fā)人員而設(shè)計,是一個功能強(qiáng)大、結(jié)構(gòu)緊湊的專業(yè)化PL/SQL開發(fā)環(huán)境。 Toad 主要具有如下特點(diǎn):模式瀏覽:模式瀏覽功能可以讓我們快速訪問數(shù)據(jù)字典,瀏覽數(shù)據(jù)庫中的表、索引、存儲過程。Toad 提供對數(shù)據(jù)庫的快速訪問,使用極為方便,用戶界面簡潔,結(jié)構(gòu)安排合理。當(dāng)我們點(diǎn)擊一個單獨(dú)的數(shù)據(jù)庫對象,Toad 立即顯示此對象的詳細(xì)信息。例如,當(dāng)我們點(diǎn)一個數(shù)據(jù)庫的表,所有和此表相關(guān)的索引、約束、
4、存儲過程、SQL 語句以及和其他表的相互引用關(guān)系都在同一界面顯示出來。為了簡化操作,用戶可以在瀏覽窗口操作數(shù)據(jù)庫對象。SQL 編輯器:SQL 編輯器的主要功能是編輯、運(yùn)行和調(diào)整SQL 語句。TOAD 的高級編輯窗口包括眾多的特性來提高開發(fā)人員編寫SQL 語句的產(chǎn)品化程度。例如,簡單地生成代碼模板,在編寫SQL 前自動發(fā)現(xiàn)包的內(nèi)容和列的名字等等。SQL 編輯器包括一個編輯窗口和運(yùn)行結(jié)果窗口,允許開發(fā)人員在編輯的過程中測試運(yùn)行結(jié)果。SQL 編輯器中不僅包括標(biāo)準(zhǔn)的編輯命令,也包括一些增強(qiáng)的功能,如快速查詢表中的字段、將SQL 語句的內(nèi)容格式化等等。這個窗口可以處理大到4GB 的內(nèi)容,對大的開發(fā)項(xiàng)目來
5、說非常有用。便捷的書簽可以讓開發(fā)人員非常容易地找到相關(guān)位置。在運(yùn)行結(jié)果窗口可提供用戶定義的配置功能,支持LONG 和LONG RAW列,可以將數(shù)據(jù)卸出到磁盤、打印數(shù)據(jù)、編輯數(shù)據(jù)等等。存儲過程編輯器:存儲過程編輯器的主要功能是編輯、編譯、測試、調(diào)試存儲過程和觸發(fā)器。TOAD 提供語法標(biāo)識、錯誤標(biāo)識和其他很多易于使用的功能,如在彈出窗口顯示表名、列名和Oracle 函數(shù)。和其他的 PL/SQL 編輯工具不同,TOAD 允許在一個文件中操作多個數(shù)據(jù)庫對象,可以編譯一個對象、編譯多個對象、編譯到當(dāng)前光標(biāo)、從光標(biāo)開始編譯。在運(yùn)行出現(xiàn)錯誤時,存儲過程停止到有問題的語句。用戶可以使用快捷方式或模板來快速編寫
6、PL/SQL,也可以根據(jù)需要生成自己的模板。使用Toad 可以非常方便地進(jìn)行編輯工作,可如設(shè)置書簽、取消注釋、格式化SQL 語句等等。PL/SQL Debugger選項(xiàng):Toad 提供簡單易用的PL/SQL調(diào)試功能,可以節(jié)省開發(fā)人員在大型項(xiàng)目中用于開發(fā)和測試的寶貴時間,提高應(yīng)用開發(fā)的質(zhì)量。在存儲過程開發(fā)的過程中,Toad 可以逐行編輯、調(diào)試和運(yùn)行代碼。運(yùn)行時可以根據(jù)需要輸入?yún)?shù),觀察相關(guān)參數(shù)的變化來檢查存儲過程的正確性。在調(diào)式過程中,Toad 可以通過窗口顯示所有的斷點(diǎn)、參數(shù), 調(diào)用堆棧和輸出參數(shù)。使用Toad ,非常容易檢測到存儲過程的錯誤,開發(fā)人員可以一步一步運(yùn)行PL/SQL語句來識別問題
7、。調(diào)試會話可以和其他程序會話同時進(jìn)行。SQLab Xpert Option:幫助開發(fā)人員優(yōu)化SQL ,為他們提供各種優(yōu)化模式下SQL 執(zhí)行計劃,并且能夠給出優(yōu)化的建議,能夠比較各種模式下實(shí)際的SQL 運(yùn)行結(jié)果,幫助開發(fā)人員真正高速地開發(fā)高效地代碼。Toad 還可以外掛一些別的產(chǎn)品,比如PL/Formatter, RevealNet Knowledge Base , SQLImpact等,這些都能夠和Toad 緊密集成,共同提供了一個完美的集成開發(fā)環(huán)境。新版本還新增加了DBA 模塊,更加拓廣了Toad 這個產(chǎn)品的適用范圍。二、系統(tǒng)要求:客戶端: Windows 95 / 98 / NT/2000
8、中英文均可完整安裝的SQL*Net 2.0或者Net8 磁盤:一般安裝需要20M 左右的空間,根據(jù)所選擇模塊的不同和安裝方式的不同,最少也要5M 的磁盤空間(從網(wǎng)絡(luò)服務(wù)器讀?。?內(nèi)存:Windows 9x/Me:16M 內(nèi)存;Windows NT/2000: Min 32M Tuning模塊需要額外的25M 空間服務(wù)器端:Oracle 7.3 或者更高,在任何硬件平臺上。 需要一個DBA 用戶帳號三安裝:1 三種安裝方式的選擇:a TOAD and Personal Configuration Files to PC默認(rèn)安裝選擇,完成一個完整的Client 端的安裝,把所有需要的文件拷貝到本地
9、Toad 目錄。絕大多數(shù)用戶應(yīng)該選擇使用這個安裝方式。b Personal Config Files to PC, read TOAD from Network Server 從網(wǎng)絡(luò)服務(wù)器讀取Toad 程序,在本地計算機(jī)安裝一些自定義的文件,并且創(chuàng)建到服務(wù)器文件的快捷方式,一般不推薦使用這個方式,而且要求網(wǎng)絡(luò)服務(wù)器已經(jīng)配置。c TOAD to Network Server把Toad 安裝到網(wǎng)絡(luò)服務(wù)器上,以便這樣別的用戶能夠進(jìn)行Personal Config Files to PC, read TOAD from Network Server這種方式的安裝。2 根據(jù)需要使用到的特性,需要運(yùn)行一些
10、腳本(都在Toadtemps目錄下 如果需要用Toad 來查看執(zhí)行計劃,必須運(yùn)行腳本PrepToad.sql 或者notoad.sql如果希望專門建立一個Toad 用戶來存放Toad 需要使用的對象的話,就運(yùn)行preptoad.sql 。(責(zé)任編輯:admin如果希望在當(dāng)前連接用戶模式下建立toad 需要使用的對象的話,就運(yùn)行notoad.sql 。 注意,如果是選擇了專門建立toad 這個用戶的話,需要先修改一下腳本,指定用戶的默認(rèn)表空間和臨時表空間。 需要使用Oracle8i 的Profil如果希望在當(dāng)前連接用戶模式下建立toad 需要使用的對象的話,就運(yùn)行notoad.sql 。 注意,
11、如果是選擇了專門建立toad 這個用戶的話,需要先修改一下腳本,指定用戶的默認(rèn)表空間和臨時表空間。需要使用Oracle8i 的Profile analyzer,必須運(yùn)行ToadProfiler.sql 需要加強(qiáng)Toad 的安全性,必須運(yùn)行ToadSecurity.sql四、Toad 使用快速入門1 Schema Browser:Schema browser 是Toad 的極為有特色的模塊。在schemabrowser 的幫助下,可以方便的瀏覽數(shù)據(jù)庫內(nèi)部的各類數(shù)據(jù)庫對象,比如表,索引,序列,存儲過程等,而且可以方便的倒出DDL 語句和進(jìn)行各種修改,重建工作。定位到某一類對象上,這列對象允許的操作
12、都會自動列出來。特色:支持Oracle 數(shù)據(jù)庫里面所有對象的新建、查看、修改,集成了幾乎對所有數(shù)據(jù)庫對象的管理所需要的功能。 按照 模式-對象類別 -對象-對象可操作屬性 - 對象本身的詳細(xì)信息和對象相關(guān)的信息 來組織,非常有條理,容易定位對象,也能夠看到所有你需要的對象的相關(guān)信息。對于表:i. 完備的建表向?qū)В挥幂斎肴唛L的語法,更加全面地替你考慮。 ii. 可以修改表的各種邏輯和物理屬性,修改列的屬性,增加列,刪除列(在Oracle8i 里面 ,修改表的物理存儲屬性,Truncate ,Drop 等。iii. 可以生成建表的完整的DDl 語句,包括存儲信息,權(quán)限信息,約束,索引和觸發(fā)器等,
13、而這些手工很難做到。iv. 可以方便的對表進(jìn)行分析,查看表地所有信息,可以有條件的倒出表里面的數(shù)據(jù),并且保存為sql 語句。v. 可以方便的對表進(jìn)行重組,可以完成exp/imp作不到的事情,而且更少地人工參與,更加安全。對于視圖,存儲過程:i. 可以保存建立視圖、存儲過程的語句為文本,ii. 重新編譯失效的視圖,存儲過程,修改視圖的定義語句等。方便的查看存儲過程的代碼,相互依賴關(guān)系,權(quán)限信息等保存為文本等。 回滾段,i. 簡潔明了的online ,offline 狀態(tài),方便地online/offline操作 ii. 詳細(xì)的回滾段物理信息和當(dāng)前狀態(tài)。iii. 可以方便的修改物理存儲屬性表空間:i
14、. Tablespace Map;直觀的顯示數(shù)據(jù)物理的在表空間上的分布 ii. 直觀的查看各個表空間的利用率、剩余空間、破碎情況等信息 iii. 可以進(jìn)行各種alter 操作:online, offline, 增加數(shù)據(jù)文件,改變數(shù)據(jù)文件大小,改變物理存儲屬性等對其他數(shù)據(jù)庫對象也有完備的操作支持。2 SQL Editor:a 激活SQL Editor的三種方式:i. 連接到數(shù)據(jù)庫之后,Toad 自動打開SQL Editor這個窗口。 ii. 點(diǎn)擊總工具欄上最左邊的那個按鈕iii. 從菜單欄:Database - SQL Editorb 特點(diǎn): 允許同時打開多個編輯窗口,同時編輯多個SQL 語句支
15、持同時連接到多個數(shù)據(jù)庫,同時對多個數(shù)據(jù)庫進(jìn)行操作 允許編輯SQL ,PLSQL ,JAVA ,HTML 和文本使用書簽功能,可以在大量SQL 語句里,快速定位某個語句所在位置 SQL Editor本身具有強(qiáng)大的編輯功能,非常方便編輯SQL 語句。 強(qiáng)大的快捷鍵支持和工具欄快速按鈕的支持,更加高效編寫(很多快捷鍵可以自己定義,在View -options -SQL Editor里面能夠根據(jù)前面的條件,智能推測需要輸入的代碼,可以做到某種程度的代碼智能填充 把鼠標(biāo)定位到表/視圖/存儲過程名稱之上,按F4,可以打開對象描述窗口,方便的查看表和視圖的定義,存儲過程的源代碼, 非常容易對SQL 語句的分
16、析其執(zhí)行計劃:單擊工具欄上的 按鈕就可以看到Explain Plan的結(jié)果 支持部分SQL*Plus命令,可以方便的執(zhí)行大量的為SQL*Plus編寫的數(shù)據(jù)庫腳本可以通過SQLab xpert來對當(dāng)前SQL 語句進(jìn)行全面的分析,給出各種合理的調(diào)優(yōu)意見,只需要單擊工具欄上的Tuning 按鈕: 可以方便的保存,打開和運(yùn)行SQL 腳本支持對查詢結(jié)果進(jìn)行修改, 可以把查詢結(jié)果以多種格式保存起來,可以保存為HTML ,純文本,XLS 等多種格式很容易的得到SQL 函數(shù)的列表和用法描述(Show SQL help Window 按鈕)可以查看SQL 語句的執(zhí)行情況:通過下方的AutoTrace 窗口 ,看
17、到SQL 語句的實(shí)際執(zhí)行結(jié)果和執(zhí)行效率。支持歷史SQL(F8 :可以方便的查詢以前執(zhí)行過的SQL ,不用反復(fù)重新輸入。 可以執(zhí)行匿名塊,存儲過程,從下方的窗口看到DBMS_OUTPUT的結(jié)果,如:(責(zé)任編輯:admin3 Stored Procedure Editor a 打開存儲過程編寫器的幾個途徑: 單擊總菜單欄上的第三個按鈕: 點(diǎn)擊Database - Procedure Editor , 可以通過Schema browser 來調(diào)用 b 一些特點(diǎn)和優(yōu)點(diǎn): 1 強(qiáng)大的自定義設(shè)置:從3 Stored Procedure Editora 打開存儲過程編寫器的幾個途徑: 單擊總菜單欄上的第三個
18、按鈕:點(diǎn)擊Database - Procedure Editor , 可以通過Schema browser來調(diào)用b 一些特點(diǎn)和優(yōu)點(diǎn):1 強(qiáng)大的自定義設(shè)置:從保留字的顯示方式,到自動替換,到各種快捷鍵的定義等等,用得越熟越順手。23 自動用不同顏色顯示SQL 和PL/SQL關(guān)鍵字,語法清晰明了,可根據(jù)自己的習(xí)慣來具體定制各類關(guān)鍵字的具體顯示方式。可以自定義存儲過程得模板,在新建存儲過程的時候,自動生成程序的框架可以方便的調(diào)用Schema Browser ,把鼠標(biāo)定位于某個對象上,F(xiàn)4,SchemaBrowser 打開該對象的詳細(xì)描述,幫助順利快速開發(fā)程序。支持代碼自動更正,如輸入ndf ,自動替
19、換成NO_DATA_FOUND,輸入the 自動替換成the ,類似的自動替換還可以自己修改和添加。7 方便的左邊行號顯示,單擊左邊行號就可以實(shí)現(xiàn)調(diào)試斷點(diǎn)的增加/刪除8 對各種快捷鍵的支持,不但包括常見的編輯操作,還可以有自己定義的PLSQL 塊的支持(自己定義快捷方式)。如可以定義CTRL+SHIFT+D:彈出所有PLSQL Block的類型,可以自己選擇。9 可以在一個集成開發(fā)環(huán)境里面,一邊編碼,一邊調(diào)試,不用多處切換10 方便的同時打開多個存儲過程,通過頁面快速切換11 快速編譯存儲過程,快速定位錯誤所在,自己選擇是否同時編譯依賴的存儲過程12 內(nèi)置對PL/Formatter,可以用PL
20、/Formatter對存儲過程進(jìn)行格式化,并且可以提供存儲過程的概要分析和修改建議PL/Formatter可以對現(xiàn)有的存儲過程進(jìn)行高速的格式化,使所有的存儲過程都符合同樣的編寫標(biāo)準(zhǔn),這樣既有利于提高程序的可讀性,避免不同人寫的模塊的風(fēng)格上的很差異。PL/Formatter 還有助于提高程序的模塊化,增強(qiáng)程序的結(jié)構(gòu)清晰度,增強(qiáng)SQL 的共用性。PL/Formatter 還可以幫助完成PL/SQL和Oracle 版本之間的管理。13 內(nèi)置RevealNet Knowledge Base,單擊鼠標(biāo)右鍵就可以打開,快速得到技術(shù)上的支持,解決技術(shù)難題PL/SQL:包含整個開發(fā)過程中可能遇到問題的答案Co
21、de Library:大量的嚴(yán)謹(jǐn)?shù)腜L/SQL代碼例子和現(xiàn)成過程,完全源代碼提供 各種錯誤處理模塊可供參考,各類字符日期函數(shù)包含1400多個主題Admin :解答DBA 日常工作中80%的常見問題,覆蓋2400多個主題從網(wǎng)絡(luò)到性能優(yōu)化,從備份恢復(fù)到Error message,一應(yīng)俱全例子:遇到失效的存儲過程怎么辦?4. 如何對存儲過程進(jìn)行Debug ? 需要Toad 單獨(dú)的Debug Option(Standard Version 沒有這個選項(xiàng) 要用Toad 對存儲過程進(jìn)行debug ,必須安裝Oracle 的系統(tǒng)包:dbms_debug,而且必須安裝Oracle Probe API v2.0
22、 或者更高的版本。集成在Stored Precedure Editor 里面,可以一邊編寫一邊調(diào)試,大大提高開發(fā)效率 打開Procedure Editor 后,Debug 菜單激活,可以開始進(jìn)行Debug 工作。 允許對存儲過程進(jìn)行逐行調(diào)試、斷點(diǎn)調(diào)試, 也支持對觸發(fā)器進(jìn)行調(diào)試。 可以有斷點(diǎn)支持,支持Watch 變量,允許運(yùn)行時改變變量的值 允許對多層調(diào)用的Debug 支持調(diào)試步驟具體舉例:1 點(diǎn)擊菜單欄的第三個按鈕: ,打開Procedure Editor2 點(diǎn)擊Procedure Editor的菜單欄的 按鈕,調(diào)出需要調(diào)試的存儲過程3 單擊工具欄上的按鈕 ,輸入需要傳入的參數(shù),如果不需要傳入
23、參數(shù),可以直接單擊工具欄上的按鈕: ,直接開始調(diào)試,如下圖輸入傳入?yún)?shù):4 單擊菜單欄的按鈕: ,可以單步跟蹤,也可以定義一個斷點(diǎn),直接運(yùn)行到斷點(diǎn)在單步執(zhí)行,在存儲過程運(yùn)行的過程中,當(dāng)前語句會高亮度顯示,并且把鼠標(biāo)指針定位到變量上,Toad 自動顯示該變量的當(dāng)前值。5 可以隨時中止程序的執(zhí)行,只要點(diǎn)Debug -Halt Execution,或者菜單欄上的按鈕 ,就可以中止程序的執(zhí)行6 當(dāng)碰到一個存儲過程調(diào)用另外一個存儲過程的時候,可以選擇跳過(StepOver ,這樣就直接運(yùn)行那個被調(diào)用的存儲過程,返回調(diào)用結(jié)果,繼續(xù)這個存儲過程的調(diào)試,也可以選擇Trace Into,這樣就打開被調(diào)用的存儲過
24、程,進(jìn)一步深入調(diào)試那個被調(diào)用的子存儲過程。如果需要保持Debug 信息,在編譯的時候應(yīng)該選擇CompileDependencies with Debug Information ,就是Procedure Editor 工具欄最右邊的那個按鈕 。7 支持對變量實(shí)時追蹤:使用Watch :可以在運(yùn)行前,或者運(yùn)行過程中對某個變量進(jìn)行實(shí)時跟蹤:Add Watch,把鼠標(biāo)定位到該變量上,然后點(diǎn)擊Debug-Add Watch AtCursor,該變量就會出現(xiàn)在Debug 狀態(tài)窗口上,而且實(shí)時反應(yīng)該變量的當(dāng)前值。如上圖中的變量v_empname??梢赃\(yùn)行時刻修改8 斷點(diǎn)支持:單擊存儲過程需要加斷點(diǎn)的地方的
25、行號,該行顏色變紅,輸入?yún)?shù),單擊執(zhí)行按鈕 ,可以直接運(yùn)行到斷點(diǎn)處,可以不必逐行追蹤,更加高效率的進(jìn)行調(diào)試。 Debug Option還支持條件斷點(diǎn),只有當(dāng)滿足條件的時候才會在那個地方停止,否則就好像不存在這個斷點(diǎn)一樣繼續(xù)運(yùn)行。 注意DBMS_OUTPUT.PUT_LINE的結(jié)果只有當(dāng)程序執(zhí)行完成以后才會出現(xiàn),在程序執(zhí)行過程中是沒有結(jié)果的。(責(zé)任編輯:admin4 如何用SQLab Xpert 對存儲過程進(jìn)行調(diào)優(yōu)? 我們知道,Oralce 數(shù)據(jù)庫的優(yōu)化,最主要的步驟就在于SQL 的優(yōu)化。而在沒有專門的工具(如Toad )的幫助下,進(jìn)行SQL 優(yōu)化是一件非常困難和乏味的事情,并且需要對Oracl
26、e 的深4 如何用SQLab Xpert對存儲過程進(jìn)行調(diào)優(yōu)?我們知道,Oralce 數(shù)據(jù)庫的優(yōu)化,最主要的步驟就在于SQL 的優(yōu)化。而在沒有專門的工具(如Toad )的幫助下,進(jìn)行SQL 優(yōu)化是一件非常困難和乏味的事情,并且需要對Oracle 的深入理解和高超的Oracle 調(diào)優(yōu)技巧。使用Toad 的SQLab XpertTuning 模塊,可以使我們普通開發(fā)人員也能夠非??焖伲_的對SQL 進(jìn)行專家級的分析在SQL Editor 和Procedure Editor 里面,選中需要調(diào)試的SQL 語句(SQLabXpert 只能調(diào)試Select,Insert, Update,Delete 語句
27、),復(fù)制到SQL Editor 里面,然后點(diǎn)擊工具欄上的調(diào)優(yōu)按鈕,Toad 會自動打開SQLab xpert 窗口,捕獲當(dāng)前的SQL 語句,并且把它轉(zhuǎn)化為符合explain plan格式的語句。第一次打開Xpert 的時候,Toad 會提示你,需要安裝一些Server 端的表、視圖和包等對象,可以把表存儲到某個指定的表空間(如Tools 里面??梢院唵蔚陌凑仗崾疽徊揭徊阶鼍涂梢粤恕H绻到y(tǒng)設(shè)定不允許Job 的話(Job_queue_process=0),Toad 提示有些部件不會現(xiàn)在安裝,可以忽略。安裝完成以后,可以選擇讓某些非DBA 用戶也可以使用Toad 的SQLab Xpert調(diào)優(yōu)功能。
28、安裝完成以后,Toad 會提示你一些關(guān)于優(yōu)化目標(biāo)方面的問題,你可以選擇每次優(yōu)化都可以重新設(shè)定,或者一次設(shè)定,以后一直使用這個設(shè)定。當(dāng)然如果需要,還是可以更改的,在SQLab Option xpert的窗口的Administration 和Preference 下面重新設(shè)定。例子:下面這個SQL 語句涉及到多表之間的關(guān)聯(lián),有一定的復(fù)雜性,我們可以借助Toad 的SQLab Xpert Option來幫助分析:select . , c.emp_namefrom dep a, manager b,emp cwhere a.dep_no=c.DEP_NOand b.manag_
29、id=c.manag_idand c.emp_no=3我們把這個SQL 復(fù)制到SQL Editor里面,單擊上面的調(diào)優(yōu)按鈕,Toad 打開SQLab Xpert Option窗口。如下圖:從上面的圖中我們可以方面的看到:在各種優(yōu)化模式下,該SQL 語句的執(zhí)行計劃分別是什么樣的,Toad 給出了每一種執(zhí)行計劃的具體每一個步驟,每個步驟的成本,該表涉及的相關(guān)的數(shù)據(jù)等,如果SQL 存取的表還沒有經(jīng)過分析,Toad 會以紅色警告顯示,并且很方便的幫助你對該表進(jìn)行分析,收集統(tǒng)計數(shù)據(jù),重建索引等,以有助于優(yōu)化器作出最好的選擇??梢园旬?dāng)前的分析結(jié)果保存到它的資料庫里邊,以備以后再次調(diào)用之需。我們還可以求助與
30、SQLab 的自動優(yōu)化功能:點(diǎn)擊Original SQL 下面的autotune 按鈕,Toad 會對執(zhí)行結(jié)果按照tkprof 進(jìn)行分析(當(dāng)然,這需要你在initsid.ora 里面設(shè)置好utl_file_dir,如果服務(wù)器是在Unix 機(jī)器上的話,還需要通過FTP 方式得到Trace 文件,有一些小小的設(shè)置)。自動優(yōu)化非常高效的對所有執(zhí)行計劃進(jìn)行實(shí)際運(yùn)行比較,并且給出實(shí)際執(zhí)行的時間的對比,如下圖:我們還可以讓Toad 給出實(shí)際的優(yōu)化建議:點(diǎn)擊Original SQL,單擊下面的Advice 按鈕,Toad 根據(jù)對SQL 的分析和執(zhí)行結(jié)果給出合理的建議: 如:1 把表和索引分別放到兩個不同的表
31、空間,因?yàn)槲覀冊趧?chuàng)建表,加上約束的時候沒有指定USING INDEX 子句,所以表和索引都建立在了用戶的默認(rèn)表空間上了。2 對表EMP ,DEP 和MANAGER 進(jìn)行分析,收集最新的統(tǒng)計數(shù)據(jù),有利于CBO 得到最優(yōu)的執(zhí)行計劃3 在合適的列上創(chuàng)建索引:EMP 的manag_id和dep_no。當(dāng)表中存在大量的數(shù)據(jù)的時候,這樣可以大大減少由于全表掃描帶來的成本。5 SQL Modeler:SQL Modeler 可以幫助開發(fā)人員很容易的寫出各種復(fù)雜的SQL 語句,只需通過簡單的拖動鼠標(biāo),就能夠?qū)懗鰪?fù)雜的SQL 語句來。打開SQL Modeler的幾個途徑:i. 菜單欄 Database - SQ
32、L Modeler ,打開窗口ii. 單擊工具欄第四個按鈕 ,打開SQL Modeler窗口窗口由三個主要部分組成: 表選擇區(qū)域:最右邊的那個部分,用來選擇From 子句中用到的表。拖動到左邊的區(qū)域或者雙擊就選擇了該表。 表模型區(qū)域:用來圖形化的顯示選擇的表和表之間的關(guān)聯(lián)關(guān)系。 生成SQL 區(qū)域:這里顯示用圖形化方式創(chuàng)建的查詢對應(yīng)的SQL 語句,在SQL Modeler里面,還支持對生成的SQL 進(jìn)行Explain Plan,調(diào)試SQL 的性能,運(yùn)行SQL ,看是否得到了希望的結(jié)果,保存生成的語句,或者把語句粘貼到SQL Editor里面。有了SQL Modeler 的幫助,即使是初級的程序員
33、也能編寫出復(fù)雜而又高效的SQL 查詢來。比如下面的例子;生成步驟:1 選出表emp, dep, manager2 用鼠標(biāo)拖住emp 的emp_name和emp_no, dep 的name,manager 的name3 雙擊criteria 窗口的emp_no condition列,彈出窗口,輸入查詢條件,比如emp_no=34 由于結(jié)果里面不希望emp_no出現(xiàn),雙擊emp_no列的visible ,設(shè)置為false5 這樣就出來了需要的查詢,現(xiàn)在可以運(yùn)行查詢得到結(jié)果,對查詢SQL 進(jìn)行分析,或者在SQL Editor里面打開這個SQL ,或者保存為SQL Model文件,或者再進(jìn)一步處理,比
34、如加排序, 匯總等。DBA 方面的功能:Toad 在DBA 日常管理方面的能力是非常強(qiáng)大的,可以幫助DBA 安全快速地完成許多日常工作,還有Toad 特有的一些小工具能完成一些普通方法很難做到的功能。下面大概講述了各個常用模塊的主要功能:a Database Monitor提供直觀的Oracle 數(shù)據(jù)庫運(yùn)行狀況,包括下面這些詳細(xì)信息:可以看到邏輯IO ,物理IO ,各個狀態(tài)的session 數(shù)目,SGA 的利用率,共享池的使用狀況,各類事件的等待狀況,以及各類事件隨著時間的變化情況 b Instance Monitori. 可以用來檢查本地tnsnames.ora 文件里面定義的所有節(jié)點(diǎn)、Li
35、stener 和數(shù)據(jù)庫的運(yùn)行狀態(tài)和版本等相關(guān)信息。(責(zé)任編輯:adminii. 可以遠(yuǎn)程啟動、關(guān)閉數(shù)據(jù)庫(如果設(shè)置了password 驗(yàn)證方式) c Unix Monitor : i. 可以監(jiān)控Unix 機(jī)器的運(yùn)行狀況比如詳細(xì)的機(jī)器啟動時間,CPU 利用率,主要的進(jìn)程以及這些進(jìn)程占用的資源,主要的磁盤IO 等。 d Tracii. 可以遠(yuǎn)程啟動、關(guān)閉數(shù)據(jù)庫(如果設(shè)置了password 驗(yàn)證方式) c Unix Monitor:i. 可以監(jiān)控Unix 機(jī)器的運(yùn)行狀況比如詳細(xì)的機(jī)器啟動時間,CPU 利用率,主要的進(jìn)程以及這些進(jìn)程占用的資源,主要的磁盤IO 等。d Trace/Kill sessio
36、ni. 方便的查看所有的連接用戶相關(guān)信息:比如終端,程序,連接時間等 ii. 對某個用戶進(jìn)行跟蹤,查看用戶執(zhí)行的SQL 語句,查看語句的執(zhí)行計劃,iii. 方便的查閱系統(tǒng)的Lock 對象,有沒有什么等待別的事務(wù)釋放鎖的情況,并能夠輕易查出等待什么用戶的什么事件結(jié)束,那個用戶執(zhí)行的是什么SQL 。iv. 查看回滾段的使用狀態(tài),什么用戶,什么語句,使用的什么回滾段,多少讀寫量等e Oracle Parameteri. 可以方便的查看Oracle 系統(tǒng)的參數(shù):是否默認(rèn)值,參數(shù)作用的簡要描述,是否可以用alter session/alter system來動態(tài)改變,對于那些可以動態(tài)改變的參數(shù),可以雙擊
37、鼠標(biāo)來進(jìn)行修改f NLS_PARAMETER:i. 方便的查看session ,instance ,database 一級的NLS 參數(shù)值, ii. 可以動態(tài)修改session 的NLS 參數(shù)值g Extentsi. 可以查看某個用戶下的表和索引的詳細(xì)的存儲情況,ii. 發(fā)現(xiàn)那些占用大量空間的表和索引,可以考慮使用相應(yīng)的對策,比如分區(qū)iii. 發(fā)現(xiàn)那些即將達(dá)到max_extents的表和索引并可以及時糾正 iv. 發(fā)現(xiàn)那些索引和表處于同一個表空間的情況,并可以及時糾正。h Tablespacei. 直觀的查看每個表空間的利用率,總空間,已使用空間,剩余可是用空間以及默認(rèn)存儲參數(shù),和表空間是否需
38、要整理等信息ii. 查看每個表空間的狀態(tài),組成的數(shù)據(jù)文件, 以及每個數(shù)據(jù)文件的詳細(xì)信息iii. 查看每個表空間里面存在的對象和這些對象的詳細(xì)存儲特性 i Tablespace Map: i. 圖形化的顯示表空間里面各個表/索引所占用的空間,各個 segment 的大小,segment 是否連續(xù)等信息,非常直觀 ii. j Server Statistics: i. 可以非常直觀的看到系統(tǒng)總體運(yùn)行情況,迅速定位系統(tǒng)瓶頸所在 ii. 可以查看系統(tǒng)范圍內(nèi)各類等待事件的狀況,查看每個連接會話的狀 況, k Pinned Code: i. 我們知道, 頻繁執(zhí)行的大的存儲過程最好 Pin 起來,這樣可以避
39、免被 Oracle 在內(nèi)存不足的情況下?lián)Q出內(nèi)存, 避免動態(tài)加載, 也避免 flush shared pool 的時候被清出內(nèi)存。 ii. 根據(jù)每個模塊的大小,執(zhí)行次數(shù),決定是否要把某個存儲過程 PIN 起來。一個按鈕就搞定了。 l Control Files: 可以查看當(dāng)前系統(tǒng)有哪幾個控制文件,以及控制文件內(nèi)部記錄的詳細(xì)信息。 (實(shí)際上就是 V$CONTROLFILE, V$CONTROLFILE_RECORD_SECTION) m Redo Log Manager: i. 可以方便的查看 LOG 的組, 當(dāng)前日志, 每個組里面的成員名字, 大小, 方便的增加、刪除 log 組,切換當(dāng)前日志,
40、對日志歸檔進(jìn)行具體的控制。 ii. 可以在這個界面里完成幾乎所有的對 redo log 的操作。 n Repair chained rows: i. Chained rows 影響系統(tǒng)性能,處于系統(tǒng)性能的考慮,需要把 chainedrows 修復(fù)成普通的表的行。使用 repaie chainedrows,就可以比較容易 的做到這一點(diǎn)。選擇需要分析的表,然后分析一下,看有沒有 chainedrows,如 果有,點(diǎn)擊 repair,Toad 就幫你把那些 chained rows 給修復(fù)了。 o Identify Space Deficits 如果系統(tǒng)出現(xiàn) 1659,1653 錯誤,就是一個不合格
41、的 DBA。但是要即時預(yù)見這些錯 誤,還是有一定的難度的。有了 Toad 的這個小工具之后,一點(diǎn)某個表空間,就 知道這個表空間里面的剩余自由空間是否允許任何表能夠擴(kuò)展到下一個 extent。并能夠在發(fā)現(xiàn)問題之后,直接改正問題。 p Estimate Table/Index Size i. 數(shù)據(jù)庫的物理規(guī)劃中,表/索引的存儲子句的定義是非常重要的,影 響系統(tǒng)。但是沒有什么工具的話,要為表定義合理的存儲子句也不容易。 ii. 在 Toad 里面,專門有工具幫助你合理定義表/索引的存儲情況: 1. 自己可以定義將來表中需要存儲的數(shù)據(jù)的數(shù)目 2. 多種估計方式: a 根據(jù)對已有的數(shù)據(jù)的分析來定義表的大?。ㄗ罹_,但是比較慢) b 根據(jù)表定義數(shù)據(jù)類型來定義表的大小 c 根據(jù)數(shù)據(jù)字典中以前分析過的數(shù)據(jù)來估計大?。ㄐ枰诜治鲞^該 表) q Analyze All Tables i. 基于 CBO 的 SQ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2020-2021深圳寶安區(qū)展華實(shí)驗(yàn)學(xué)校小學(xué)三年級數(shù)學(xué)下期末第一次模擬試題(含答案)
- 2020-2021北京第一零五中學(xué)小學(xué)三年級數(shù)學(xué)下期末一模試題(及答案)
- 單軌空中列車施工方案
- 2025年新高考地理全真模擬試卷 5套(含答案解析)
- 2024年河南省中考滿分作文《不畏困難勇攀高峰》
- 專題01 地球和地圖-2025年中考地理一輪復(fù)習(xí)知識清單(背誦版)
- 個人購買柴油合同范例
- 財務(wù)業(yè)務(wù)合規(guī)程序計劃
- 手工制作社團(tuán)活動計劃
- 學(xué)習(xí)困難學(xué)生幫扶方案計劃
- 人教版小學(xué)三年級數(shù)學(xué)下冊《復(fù)式統(tǒng)計表》名師公開課獲獎?wù)n件百校聯(lián)賽一等獎?wù)n件
- 心衰護(hù)理課件教學(xué)課件
- 基于人工智能的供應(yīng)鏈協(xié)同優(yōu)化平臺建設(shè)方案
- 《大學(xué)語文》普通高等院校語文課程完整全套教學(xué)課件
- 預(yù)防校園欺凌主題班會課件(共36張課件)
- 伸縮臂式22m高空作業(yè)車安全操作規(guī)程
- 全國國家版圖知識競賽題庫及答案(中小學(xué)組)
- 顧客滿意度調(diào)查分析報告表
- 《托育服務(wù)政策法規(guī)與職業(yè)倫理》全套教學(xué)課件
- 湖北省武漢市實(shí)驗(yàn)外國語學(xué)校小學(xué)部小學(xué)六年級小升初期末語文試題(含答案)
- 山東省專升本綜合一(機(jī)械設(shè)計制造及其自動化)模擬試卷1(共264題)
評論
0/150
提交評論