Toad 使用快速入門(轉載)

來源:互聯網
上載者:User
快速入門
Toad 使用快速入門                                     

目錄

一.Toad功能綜述
二.系統需求
三.安裝指南
四.快速入門
1. Schema browser的用法簡介
2. SQL Editor的使用介紹
3. Procedure Editor的用法介紹
4. 如何進行PLSQL的debug
5. 如何使用SQLab Xpert最佳化SQL
6. 如何使用SQL Modeler來編寫查詢
7. 如何使用Toad的DBA方面的功能

一、 Toad功能綜述

在Oracle 應用程式的開發過程中,訪問資料庫物件和編寫SQL程式是一件乏味且耗費時間的工作,對資料庫進行日常管理也是需要很多SQL指令碼才能完成的。Quest Software為此提供了高效的Oracle應用開發工具-Toad(Tools of Oracle Application Developers)。在Toad的新版本中,還加入了DBA模組,可以協助DBA完成許多日常管理工作。它最大的特點就是簡單易用,訪問速度快。使用 Toad,我們可以通過一個圖形化的使用者介面快速存取資料庫,完成複雜的SQL和PL/SQL代碼編輯和測試工作。Toad由Oracle開發專家專門為開發人員而設計,是一個功能強大、結構緊湊的專業化PL/SQL開發環境。
Toad 主要具有如下特點:
模式瀏覽:
模式瀏覽功能可以讓我們快速存取資料字典,瀏覽資料庫中的表、索引、預存程序。Toad 提供對資料庫的快速存取,使用極為方便,使用者介面簡潔,結構安排合理。當我們點擊一個單獨的資料庫物件,Toad立即顯示此對象的詳細資料。例如,當我們點一個資料庫的表,所有和此表相關的索引、約束、預存程序、SQL語句以及和其他表的相互參考關聯性都在同一介面顯示出來。為了簡化操作,使用者可以在瀏覽視窗操作資料庫對象。

SQL 編輯器:
SQL 編輯器的主要功能是編輯、運行和調整SQL語句。TOAD 的進階編輯視窗包括眾多的特性來提高開發人員編寫SQL語句的產品化程度。例如,簡單地產生代碼模板,在編寫SQL前自動探索包的內容和列的名字等等。
SQL 編輯器包括一個編輯視窗和運行結果視窗,允許開發人員在編輯的過程中測試回合結果。SQL編輯器中不僅包括標準的編輯命令,也包括一些增強功能,如快速查詢表中的欄位、將SQL語句的內容格式化等等。這個視窗可以處理大到4GB 的內容,對大的開發項目來說非常有用。便捷的書籤可以讓開發人員非常容易地找到相關位置。在運行結果視窗可提供使用者定義的配置功能,支援LONG 和LONG RAW列,可以將資料卸出到磁碟、列印資料、編輯資料等等。

預存程序編輯器:
預存程序編輯器的主要功能是編輯、編譯、測試、調試預存程序和觸發器。TOAD提供文法標識、錯誤標識和其他很多便於使用的功能,如在快顯視窗顯示表名、列名和Oracle函數。和其他的 PL/SQL 編輯工具不同,TOAD 允許在一個檔案中操作多個資料庫物件,可以編譯一個對象、編譯多個對象、編譯到當前游標、從游標開始編譯。在運行出現錯誤時,預存程序停止到有問題的語句。使用者可以使用捷徑或模板來快速編寫PL/SQL,也可以根據需要產生自己的模板。使用Toad可以非常方便地進行編輯工作,可如設定書籤、取消注釋、格式化SQL語句等等。

PL/SQL Debugger選項:
Toad 提供簡單易用的PL/SQL 調試功能,可以節省開發人員在大型項目中用於開發與測試的寶貴時間,提高應用開發的品質。在預存程序開發的過程中,Toad可以逐行編輯、調試和運行代碼。運行時可以根據需要輸入參數,觀察相關參數的變化來檢查預存程序的正確性。在調式過程中,Toad 可以通過視窗顯示所有的斷點、參數, 呼叫堆疊和輸出參數。使用Toad,非常容易檢測到預存程序的錯誤,開發人員可以一步一步運行PL/SQL語句來識別問題。偵錯工作階段可以和其他程式會話同時進行。

SQLab Xpert Option:
協助開發人員最佳化SQL,為他們提供各種最佳化模式下SQL執行計畫,並且能夠給出最佳化的建議,能夠比較各種模式下實際的SQL運行結果,協助開發人員真正高速地開發高效地代碼。

Toad 還可以外掛一些別的產品,比如PL/Formatter, RevealNet Knowledge Base , SQL Impact等,這些都能夠和Toad緊密整合,共同提供了一個完美的整合式開發環境。新版本還新增加了DBA模組,更加拓廣了Toad這個產品的適用範圍。


二、系統要求:
用戶端:
ü Windows 95 / 98 / NT/2000中英文均可
ü 完整安裝的SQL*Net 2.0或者Net8
ü 磁碟:一般安裝需要20M左右的空間,根據所選擇模組的不同和安裝方式的不同,最少也要5M的磁碟空間(從網路伺服器讀取)
ü 記憶體:Windows 9x/Me:16M 記憶體;Windows NT/2000: Min 32M]
ü Tuning模組需要額外的25M空間

伺服器端:
ü Oracle 7.3 或者更高,在任何硬體平台上。
ü 需要一個DBA使用者帳號

三.安裝:
1. 三種安裝方式的選擇:
a) TOAD and Personal Configuration Files to PC
 預設安裝選擇,完成一個完整的Client端的安裝,把所有需要的檔案拷貝到本地Toad目錄。
絕大多數使用者應該選擇使用這個安裝方式。
b) Personal Config Files to PC, read TOAD from Network Server
從網路伺服器讀取Toad程式,在本機電腦安裝一些自訂的檔案,並且建立到伺服器檔案的捷徑,一般不推薦使用這個方式,而且要求網路伺服器已經配置。
c) TOAD to Network Server
把Toad安裝到網路伺服器上,以便這樣別的使用者能夠進行Personal Config Files to PC, read TOAD from Network Server這種方式的安裝。
2. 根據需要使用到的特性,需要運行一些指令碼(都在Toad\temps目錄下)
ü 如果需要用Toad來查看執行計畫,必須運行指令碼PrepToad.sql或者notoad.sql
n 如果希望專門建立一個Toad 使用者來存放Toad需要使用的對象的話,就運行preptoad.sql。
n 如果希望在當前串連使用者模式下建立toad需要使用的對象的話,就運行notoad.sql。
n 注意,如果是選擇了專門建立toad這個使用者的話,需要先修改一下指令碼,指定使用者的預設資料表空間和暫存資料表空間。
ü 需要使用Oracle8i 的Profile analyzer,必須運行ToadProfiler.sql
ü 需要加強Toad的安全性,必須運行ToadSecurity.sql

四、Toad使用快速入門
1. Schema Browser:
Schema browser是Toad的極為有特色的模組。在schema browser的協助下,可以方便的瀏覽資料庫內部的各類資料庫物件,比如表,索引,序列,預存程序等,而且可以方便的倒出DDL語句和進行各種修改,重建工作。定位到某一類對象上,這列對象允許的操作都會自動列出來。
特色:
l 支援Oracle資料庫裡面所有對象的建立、查看、修改,整合了幾乎對所有資料庫物件的管理所需要的功能。
l 按照 模式->物件類別 ->對象->對象可操作屬性 -> 對象本身的詳細資料和對象相關的資訊 來組織,非常有條理,容易定位對象,也能夠看到所有你需要的對象的相關資訊。
l 對於表:
i. 完備的建表嚮導,不用輸入冗長的文法,更加全面地替你考慮。
ii. 可以修改表的各種邏輯和物理屬性,修改列的屬性,增加列,刪除列(在Oracle8i裡面),修改表的實體儲存體屬性,Truncate,Drop等。
iii. 可以產生建表的完整的DDl語句,包括儲存資訊,許可權資訊,約束,索引和觸發器等,而這些手工很難做到。
iv. 可以方便的對錶進行分析,查看錶地所有資訊,可以有條件的倒出表裡面的資料,並且儲存為sql語句。
v. 可以方便的對錶進行重組,可以完成exp/imp作不到的事情,而且更少地人工參與,更加安全。

l 對於視圖,預存程序:
i. 可以儲存建立視圖、預存程序的語句為文本,
ii. 重新編譯失效的視圖,預存程序,修改視圖的定義語句等。方便的查看預存程序的代碼,相互依賴關係,許可權資訊等儲存為文本等。
l 復原段,
i. 簡潔明了的online,offline狀態,方便地online/offline操作
ii. 詳細的復原段物理資訊和目前狀態。
iii. 可以方便的修改實體儲存體屬性

l 資料表空間:
i. Tablespace Map;直觀的顯示資料物理的在資料表空間上的分布
ii. 直觀的查看各個資料表空間的利用率、剩餘空間、破碎情況等資訊
iii. 可以進行各種alter操作:online, offline, 增加資料檔案,改變資料檔案大小,改變實體儲存體屬性等
l 對其他資料庫物件也有完備的操作支援。

2. SQL Editor:
a) 啟用SQL Editor的三種方式:
i. 串連到資料庫之後,Toad自動開啟SQL Editor這個視窗。
ii. 點擊總工具列上最左邊的那個按鈕
iii. 從功能表列:Database -> SQL Editor
b) 特點:
l 允許同時開啟多個編輯視窗,同時編輯多個SQL語句
l 支援同時串連到多個資料庫,同時對多個資料庫進行操作
l 允許編輯SQL,PLSQL,JAVA,HTML和文本
l 使用書籤功能,可以在大量SQL語句裡,快速定位某個語句所在位置
l SQL Editor本身具有強大的編輯功能,非常方便編輯SQL語句。
l 強大的快速鍵支援和工具列快速按鈕的支援,更加高效編寫(很多快速鍵可以自己定義,在View ->options ->SQL Editor裡面)
l 能夠根據前面的條件,智能推測需要輸入的代碼,可以做到某種程度的代碼智能填充
l 把滑鼠定位到表/視圖/預存程序名稱之上,按F4,可以開啟對象描述視窗,方便的查看錶和視圖的定義,預存程序的原始碼,
l 非常容易對SQL語句的分析其執行計畫:單擊工具列上的 按鈕就可以看到Explain Plan的結果
l 支援部分SQL*Plus命令,可以方便的執行大量的為SQL*Plus編寫的資料庫指令碼
l 可以通過SQLab xpert來對當前SQL語句進行全面的分析,給出各種合理的調優意見,只需要單擊工具列上的Tuning按鈕:
l 可以方便的儲存,開啟和運行SQL指令碼
l 支援對查詢結果進行修改,
l 可以把查詢結果以多種格式儲存起來,可以儲存為HTML,純文字,XLS等多種格式
l 很容易的得到SQL函數的列表和用法描述(Show SQL help Window 按鈕)
l 可以查看SQL語句的執行情況:通過下方的AutoTrace視窗 ,看到SQL語句的實際執行結果和執行效率。
l 支援曆史SQL(F8)  :可以方便的查詢以前執行過的SQL,不用反覆重新輸入。
l 可以執行匿名塊,預存程序,從下方的視窗看到DBMS_OUTPUT的結果,如:

3. Stored Procedure Editor
a) 開啟預存程序編寫器的幾個途徑:
l 單擊總功能表列上的第三個按鈕: 
l 點擊Database - > Procedure Editor ,
l 可以通過Schema browser來調用
b) 一些特點和優點:
1. 強大的自訂設定:從保留字的顯示方式,到自動替換,到各種快速鍵的定義等等,用得越熟越順手。
2.
3.  自動用不同顏色顯示SQL和PL/SQL關鍵字,文法清晰明了,可根據自己的習慣來具體定製各類關鍵字的具體顯示方式。可以自訂預存程序得模板,在建立預存程序的時候,自動產生程式的架構可以方便的調用Schema Browser,把滑鼠定位於某個對象上,F4,Schema Browser開啟該對象的詳細描述,協助順利快速開發程式。支援代碼自動校正,如輸入ndf,自動替換成NO_DATA_FOUND,輸入the自動替換成the,類似的自動替換還可以自己修改和添加。
7. 方便的左邊行號顯示,單擊左邊行號就可以實現調試斷點的增加/刪除
8. 對各種快速鍵的支援,不但包括常見的編輯操作,還可以有自己定義的PLSQL塊的支援(自己定義捷徑)。如可以定義CTRL+SHIFT+D:彈出所有PLSQL Block的類型,可以自己選擇。
9. 可以在一個整合式開發環境裡面,一邊編碼,一邊調試,不用多處切換
10. 方便的同時開啟多個預存程序,通過頁面快速切換
11. 快速編譯預存程序,快速定位錯誤所在,自己選擇是否同時編譯依賴的預存程序
12. 內建對PL/Formatter,可以用PL/Formatter對預存程序進行格式化,並且可以提供預存程序的概要分析和修改建議
PL/Formatter可以對現有的預存程序進行高速的格式化,使所有的預存程序都符合約樣的編寫標準,這樣既有利於提高程式的可讀性,避免不同人寫的模組的風格上的很差異。
PL/Formatter 還有助於提高程式的模組化,增強程式的結構清晰度,增強SQL的共用性。
PL/Formatter 還可以協助完成PL/SQL和Oracle版本之間的管理。

 

 

 

 

 

 


13. 內建RevealNet Knowledge Base,單擊滑鼠右鍵就可以開啟,快速得到技術上的支援,解決技術難題
nPL/SQL:
n包含整個開發過程中可能遇到問題的答案
nCode Library:大量的嚴謹的PL/SQL代碼例子和現成過程,完全原始碼提供
n各種錯誤處理模組可供參考,各類字元日期函數
n包含1400多個主題
nAdmin:
n解答DBA日常工作中80%的常見問題,覆蓋2400多個主題
n從網路到效能最佳化,從備份恢複到Error message,一應俱全
例子:遇到失效的預存程序怎麼辦?
4. 如何對預存程序進行Debug?
u 需要Toad單獨的Debug Option(Standard Version 沒有這個選項)
u 要用Toad對預存程序進行debug,必須安裝Oracle的系統包:dbms_debug,而且必須安裝Oracle Probe API v2.0 或者更高的版本。
u 整合在Stored Precedure Editor裡面,可以一邊編寫一邊調試,大大提高開發效率
u 開啟Procedure Editor後,Debug菜單啟用,可以開始進行Debug工作。
u 允許對預存程序進行逐行調試、斷點調試,也支援對觸發器進行調試。
u 可以有斷點支援,支援Watch變數,允許運行時改變變數的值
u 允許對多層調用的Debug支援
調試步驟具體舉例:
1. 點擊功能表列的第三個按鈕: ,開啟Procedure Editor
2. 點擊Procedure Editor的功能表列的 按鈕,調出需要調試的預存程序
3. 單擊工具列上的按鈕 ,輸入需要傳入的參數,如果不需要傳入參數,可以直接單擊工具列上的按鈕: ,直接開始調試,如下圖輸入傳入參數:

4. 單擊功能表列的按鈕: ,可以單步跟蹤,也可以定義一個斷點,直接運行到斷點在逐步執行,在預存程序啟動並執行過程中,當前語句會高亮度顯示,並且把滑鼠指標定位到變數上,Toad自動顯示該變數的當前值。

5. 可以隨時中止程式的執行,只要點Debug ->Halt Execution,或者功能表列上的按鈕 ,就可以中止程式的執行
6.  當碰到一個預存程序調用另外一個預存程序的時候,可以選擇跳過(Step Over)  ,這樣就直接運行那個被調用的預存程序,返回調用結果,繼續這個預存程序的調試,也可以選擇Trace Into ,這樣就開啟被調用的預存程序,進一步深入調試那個被調用的子預存程序。如果需要保持Debug資訊,在編譯的時候應該選擇Compile Dependencies with Debug Information,就是Procedure Editor工具列最右邊的那個按鈕 。
7. 支援對變數即時追蹤:使用Watch:
可以在運行前,或者運行過程中對某個變數進行即時跟蹤:Add Watch,把滑鼠定位到該變數上,然後點擊Debug ->Add  Watch At Cursor,該變數就會出現在Debug狀態視窗上,而且即時反應該變數的當前值。如上圖中的變數v_empname。可以運行時刻修改
8. 斷點支援:
單擊預存程序需要加斷點的地方的行號,該行顏色變紅,輸入參數,單擊執行按鈕 ,可以直接運行到斷點處,可以不必逐行追蹤,更加高效率的進行調試。
Debug Option還支援條件斷點,只有當滿足條件的時候才會在那個地方停止,否則就好像不存在這個斷點一樣繼續運行。

?? 注意DBMS_OUTPUT.PUT_LINE的結果只有當程式執行完成以後才會出現,在程式執行過程中是沒有結果的。


4. 如何用SQLab Xpert對預存程序進行調優?
我們知道,Oralce資料庫的最佳化,最主要的步驟就在於SQL的最佳化。而在沒有專門的工具(如Toad)的協助下,進行SQL最佳化是一件非常困難和乏味的事情,並且需要對Oracle的深入理解和高超的Oracle調優技巧。使用Toad的SQLab Xpert Tuning模組,可以使我們普通開發人員也能夠非常快速,精確的對SQL進行專家級的分析
在SQL Editor和Procedure Editor裡面,選中需要調試的SQL語句(SQLab Xpert只能調試Select,Insert, Update,Delete語句),複製到SQL Editor裡面,然後點擊工具列上的調優按鈕 ,Toad會自動開啟SQLab xpert 視窗,捕獲當前的SQL語句,並且把它轉化為符合explain plan格式的語句。
第一次開啟Xpert的時候,Toad會提示你,需要安裝一些Server端的表、視圖和包等對象,可以把表格儲存體到某個指定的資料表空間(如Tools)裡面。可以簡單的按照提示一步一步做就可以了。如果系統設定不允許Job的話(Job_queue_process=0),Toad提示有些組件不會現在安裝,可以忽略。安裝完成以後,可以選擇讓某些非DBA使用者也可以使用Toad的SQLab Xpert調優功能。
安裝完成以後,Toad會提示你一些關於最佳化目標方面的問題,你可以選擇每次最佳化都可以重新設定,或者一次設定,以後一直使用這個設定。當然如果需要,還是可以更改的,在SQLab Option xpert的視窗的Administration和Preference下面重新設定。
例子:
下面這個SQL語句涉及到多表之間的關聯,有一定的複雜性,我們可以藉助Toad的SQLab Xpert Option來協助分析:
select a.name. b.name, c.emp_name
from dep a, manager b,emp c
where a.dep_no=c.DEP_NO
and b.manag_id=c.manag_id
and c.emp_no=3
 我們把這個SQL複製到SQL Editor裡面,單擊上面的調優按鈕,Toad開啟SQLab Xpert Option視窗。
如下圖:

從上面的圖中我們可以方面的看到:在各種最佳化模式下,該SQL語句的執行計畫分別是什麼樣的,Toad給出了每一種執行計畫的具體每一個步驟,每個步驟的成本,該表涉及的相關的資料等,如果SQL存取的表還沒有經過分析,Toad會以紅色警告顯示,並且很方便的協助你對該表進行分析,收集統計資料,重建索引等,以有助於最佳化器作出最好的選擇。可以把當前的分析結果儲存到它的資料庫裡邊,以備以後再次調用之需。
 我們還可以求助與SQLab 的自動最佳化功能:點擊Original SQL下面的auto tune按鈕,Toad會對執行結果按照tkprof進行分析(當然,這需要你在initsid.ora裡面設定好utl_file_dir,如果伺服器是在Unix機器上的話,還需要通過FTP方式得到Trace檔案,有一些小小的設定)。
 自動最佳化非常高效的對所有執行計畫進行實際運行比較,並且給出實際執行的時間的對比,如下圖:

 我們還可以讓Toad給出實際的最佳化建議:點擊Original SQL,單擊下面的Advice按鈕,Toad根據對SQL的分析和執行結果給出合理的建議:
如:
1. 把表和索引分別放到兩個不同的資料表空間,因為我們在建立表,加上約束的時候沒有指定USING INDEX子句,所以表和索引都建立在了使用者的預設資料表空間上了。
2. 對錶EMP,DEP和MANAGER進行分析,收集最新的統計資料,有利於CBO得到最優的執行計畫
3. 在合適的列上建立索引:EMP的manag_id和dep_no。當表中存在大量的資料的時候,這樣可以大大減少由於全表掃描帶來的成本。


5. SQL Modeler:
SQL Modeler可以協助開發人員很容易的寫出各種複雜的SQL語句,只需通過簡單的拖動滑鼠,就能夠寫出複雜的SQL語句來。
開啟SQL Modeler的幾個途徑:
i. 功能表列 Database -> SQL Modeler ,開啟視窗
ii. 單擊工具列第四個按鈕 ,開啟SQL Modeler視窗
視窗由三個主要部分組成:
n 表選擇地區:最右邊的那個部分,用來選擇From子句中用到的表。拖動到左邊的地區或者雙擊就選擇了該表。
n 表模型地區:用來圖形化的顯示選擇的表和表之間的關聯關係。
n 產生SQL地區:這裡顯示用圖形化方式建立的查詢對應的SQL語句,

 在SQL Modeler裡面,還支援對產生的SQL進行Explain Plan,調試SQL的效能,運行SQL,看是否得到了希望的結果,儲存產生的語句,或者把語句粘貼到SQL Editor裡面。

 有了SQL Modeler的協助,即使是初級的程式員也能編寫出複雜而又高效的SQL查詢來。
比如下面的例子;

產生步驟:
1. 選出表emp, dep, manager
2. 用滑鼠拖住emp的emp_name和emp_no, dep的name,manager的name
3. 雙擊criteria視窗的emp_no condition列,快顯視窗,輸入查詢條件,比如emp_no=3
4. 由於結果裡面不希望emp_no出現,雙擊emp_no列的visible,設定為false
5. 這樣就出來了需要的查詢,現在可以執行查詢得到結果,對查詢SQL進行分析,或者在SQL Editor裡面開啟這個SQL,或者儲存為SQL Model檔案,或者再進一步處理,比如加排序, 匯總等。

DBA方面的功能:
Toad在DBA日常管理方面的能力是非常強大的,可以協助DBA安全快速地完成許多日常工作,還有Toad特有的一些小工具能完成一些普通方法很難做到的功能。下面大概講述了各個常用模組的主要功能:
a) Database Monitor
提供直觀的Oracle資料庫健全狀態,包括下面這些詳細資料:
可以看到邏輯IO,物理IO,各個狀態的session數目,SGA的利用率,共用池的使用狀況,各類事件的等待狀況,以及各類事件隨著時間的變化情況
b) Instance Monitor
i. 可以用來檢查本地tnsnames.ora檔案裡面定義的所有節點、Listener和資料庫的運行狀態和版本等相關資訊。
ii. 可以遠程啟動、關閉資料庫(如果設定了password驗證方式)
c) Unix Monitor:
i. 可以監控Unix機器的健全狀態比如詳細的機器啟動時間,CPU利用率,主要的進程以及這些進程佔用的資源,主要的磁碟IO等。
d) Trace/Kill session
i. 方便的查看所有的串連使用者相關資訊:比如終端,程式,連線時間等
ii. 對某個使用者進行跟蹤,查看使用者執行的SQL語句,查看語句的執行計畫,
iii. 方便的查閱系統的Lock對象,有沒有什麼等待別的事務釋放鎖的情況,並能夠輕易查出等待什麼使用者的什麼事件結束,那個使用者執行的是什麼SQL。
iv. 查看復原段的使用狀態,什麼使用者,什麼語句,使用的什麼復原段,多少讀寫量等
e) Oracle Parameter
i. 可以方便的查看Oracle系統的參數:是否預設值,參數作用的簡要描述,是否可以用alter session/alter system來動態改變,對於那些可以動態改變的參數,可以雙擊滑鼠來進行修改

f) NLS_PARAMETER:
i. 方便的查看session,instance,database一級的NLS參數值,
ii. 可以動態修改session的NLS參數值

g) Extents
i. 可以查看某個使用者下的表和索引的詳細的儲存情況,
ii. 發現那些佔用大量空間的表和索引,可以考慮使用相應的對策,比如分區
iii. 發現那些即將達到max_extents的表和索引並可以及時糾正
iv. 發現那些索引和表處於同一個資料表空間的情況,並可以及時糾正。

h) Tablespace
i. 直觀的查看每個資料表空間的利用率,總空間,已使用空間,剩餘可是用空間以及預設儲存參數,和資料表空間是否需要整理等資訊
ii. 查看每個資料表空間的狀態,組成的資料檔案, 以及每個資料檔案的詳細資料
iii. 查看每個資料表空間裡面存在的對象和這些對象的詳細儲存特性
i) Tablespace Map:
i. 圖形化的顯示資料表空間裡面各個表/索引所佔用的空間,各個segment的大小,segment是否連續等資訊,非常直觀
ii.
j) Server Statistics:
i. 可以非常直觀的看到系統總體運行情況,迅速定位系統瓶頸所在
ii. 可以查看系統範圍內各類等待事件的狀況,查看每個串連會話的狀況,
k) Pinned Code:
i. 我們知道,頻繁執行的大的預存程序最好Pin起來,這樣可以避免被Oracle在記憶體不足的情況下換出記憶體,避免動態載入,也避免flush shared pool的時候被清出記憶體。
ii. 根據每個模組的大小,執行次數,決定是否要把某個預存程序PIN起來。一個按鈕就搞定了。
l) Control Files:
可以查看當前系統有哪幾個控制檔案,以及控制檔案內部記錄的詳細資料。
(實際上就是V$CONTROLFILE, V$CONTROLFILE_RECORD_SECTION)
m) Redo Log Manager:
i. 可以方便的查看LOG的組,當前日誌,每個組裡面的成員名字,大小,方便的增加、刪除log組,切換當前日誌,對日誌歸檔進行具體的控制。
ii. 可以在這個介面裡完成幾乎所有的對redo log的操作。
n) Repair chained rows:
i. Chained rows影響系統效能,處於系統效能的考慮,需要把chained rows修複成普通的表的行。使用repaie chained rows,就可以比較容易的做到這一點。選擇需要分析的表,然後分析一下,看有沒有chained rows,如果有,點擊repair,Toad就幫你把那些chained rows給修複了。
o) Identify Space Deficits
如果系統出現1659,1653錯誤,就是一個不合格的DBA。但是要即時預見這些錯誤,還是有一定的難度的。有了Toad的這個小工具之後,一點某個資料表空間,就知道這個資料表空間裡面的剩餘自由空間是否允許任何錶能夠擴充到下一個extent。並能夠在發現問題之後,直接改正問題。

p) Estimate Table/Index Size
i. 資料庫的物理規劃中,表/索引的儲存子句的定義是非常重要的,影響系統。但是沒有什麼工具的話,要為表定義合理的儲存子句也不容易。
ii. 在Toad裡面,專門有工具協助你合理定義表/索引的儲存情況:
1. 自己可以定義將來表中需要儲存的資料的數目
2. 多種估計方式:
a) 根據對已有的資料的分析來定義表的大小(最精確,但是比較慢)
b) 根據表定義資料類型來定義表的大小
c) 根據資料字典中以前分析過的資料來估計大小(需要近期分析過該表)

q) Analyze All Tables
i. 基於CBO的SQL需要CBO提供最佳化的執行路徑來提高程式的執行效率,但是假如對錶進行大量的DML操作之後,不及時更新表的統計資料,這時候CBO就不能選擇最為有效執行路徑,導致程式執行效率低。
ii. 手工分析表比較麻煩,一個一個做。
iii. 用Toad的Analyze Alltables這個工具,可以一次分析整個模式下面的所有表,有豐富的控制選項,包括是採用估計還是完全,是否同時分析索引,估計的話,採用多大的百分比等。
r) Rebuild Table
i.  當表中的資料被反覆大量的DML之後,而且PCTFREE和PCTUSED定義的不合理的情況下,表可能會變得非常破碎,佔用大量的extent,索引也會相當破碎,導致效率相當低下。
ii. 傳統的方式是通過exp/imp來解決這個問題,但是步驟實在比較麻煩,手工操作也有一定的危險性。
iii. 使用Rebuild Table工具,輕鬆搞定,而且可以手工修改一些通過EXP/IMP無法修改的參數,比如freelists ,freelists group, tablespace,initial等,還能夠更改列的名字。
s) Relocate Index
i. 我們知道,表和索引一般都需要分開存放到不同的資料表空間,這樣比較便於管理,效能上也會有一定的提高,因為可以對錶和索引同時存取。
ii. 但是實際上很多時候,由於這樣那樣的原因,常常忽略了索引單獨存放這個基本概念,比如建立主鍵約束的時候沒有加USING INDEX子句,後來disable/enable了主鍵約束/唯一性限制式等,都會導致把索引直接存放到和表同一個資料表空間裡面。
iii. 手工發現這些索引,再逐個移動非常麻煩,容易出錯,在Toad裡面,就很容易根據使用者/資料表空間來發現那些不恰當存放的索引,可以批量移動這些索引,並且允許重新定義索引的儲存子句。
t) Generate Schema Scripts:
i. 可以用來產生整個使用者下所有/部分對象的DDL語句。可以把結果儲存為sql語句或者儲存為TOAD的自訂格式。
ii. 可以用來複製表結構,(EXP/IMP有非常嚴重的缺陷,就是從一個大的資料庫倒出的表結構,無法匯入到一個小的資料庫裡面,因為裡麵包含了原來表的儲存資訊,即使選擇rows=N,也要在匯入資料庫裡面佔用相當大的空間)
u) Compare Schema:
i. 在開發的時候,有時候同時在幾個開發庫上開發,但是最後兩個庫的結構不完全一樣,很難比較
ii. 用TOAD的這個功能,可以對兩個資料庫的模式(使用者)下面的所有對象(包括預存程序)進行比較,可以選擇具體的比較內容。
iii. 可以通過直接開啟兩個到各自資料庫的串連,或者根據Toad generate schame scripts產生的檔案進行對比。
iv. 可以直接產生同步兩個資料庫的sql指令碼,給出匯總的區別簡要和詳細報告等。
--------------------------------------------------------------------------------

幾乎是學習TOAD的唯一中文使用說明,我再也找不到比這個更好的了,特跟大家分享。
轉載的,找不到出處了。如果原作者有意見的話,我就把這個刪掉好了^_^



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。