天天看點

Toad 使用說明

Toad 使用說明

目錄

一.Toad 功能綜述

二.系統需求

三.安裝指南

四.快速入門

     1 .Schema browser 的用法簡介

     2 .SQ Editor 的使用介紹

     3 .Procedure Editor 的用法介紹

     4 .如何進行PLSQL 的debug

     5 .如何使用SQLab Xpert 優化SQL

     6 .如何使用SQ Modeler 來編寫查詢

     7 .如何使用Toad 的DBA 方面的功能

一、 Toad 功能綜述

Toad 是 Oracle 的第三方工具。

Toad 是Oracle 應用開發工具(Tools of Oracle Application Developers ,縮寫: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 主要具有如下特點:

   1. 模式浏覽:

     模式浏覽功能可以讓我們快速通路資料字典,浏覽資料庫中的表、索引、存儲過程。Toad 提供對資料庫的快速通路,使用極為友善,使用者界面簡潔,結構安排合理。當我們點選一個單獨的資料庫對象,Toad 立即顯示此對象的詳細資訊。例如,當我們點一個資料庫的表,所有和此表相關的索引、限制、存儲過程、SQL 語句以及和其他表的互相引用關系都在同一界面顯示出來。為了簡化操作,使用者可以在浏覽視窗操作資料庫對象。

   2.SQL 編輯器:

     SQL 編輯器的主要功能是編輯、運作和調整SQL 語句。TOAD 的進階編輯視窗包括衆多的特性來提高開發人員編寫SQL 語句的産品化程度。例如,簡單地生成代碼模闆,在編寫SQL 前自動發現包的内容和列的名字等等。

     SQL 編輯器包括一個編輯視窗和運作結果視窗,允許開發人員在編輯的過程中測試運作結果。SQL 編輯器中不僅包括标準的編輯指令,也包括一些增強的功能,如快速查詢表中的字段、将SQL 語句的内容格式化等等。這個視窗可以處理大到4GB 的内容,對大的開發項目來說非常有用。便捷的書簽可以讓開發人員非常容易地找到相關位置。在運作結果視窗可提供使用者定義的配置功能,支援LONG 和LONG RAW 列,可以将資料卸出到磁盤、列印資料、編輯資料等等。

   3. 存儲過程編輯器:

     存儲過程編輯器的主要功能是編輯、編譯、測試、調試存儲過程和觸發器。TOAD 提供文法辨別、錯誤辨別和其他很多易于使用的功能,如在彈出視窗顯示表名、列名和Oracle 函數。和其他的 PL/SQL    編輯工具不同,TOAD 允許在一個檔案中操作多個資料庫對象,可以編譯一個對象、編譯多個對象、編譯到目前光标、從光标開始編譯。在運作出現錯誤時,存儲過程停止到有問題的語句。使用者可以使用快捷方式或模闆來快速編寫PL/SQL, 也可以根據需要生成自己的模闆。使用Toad 可以非常友善地進行編輯工作,可如設定書簽、取消注釋、格式化SQL 語句等等。

   4.PL/SQL Debugger 選項:

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

   5.SQLab Xpert Option :

     幫助開發人員優化SQL ,為他們提供各種優化模式下SQL 執行計劃,并且能夠給出優化的建議,能夠比較各種模式下實際的SQL 運作結果,幫助開發人員真正高速地開發高效地代碼。

Toad 還可以外挂一些别的産品,比如PL/Formatter, RevealNet Knowledge Base , SQL    Impact 等,這些都能夠和Toad 緊密內建,共同提供了一個完美的內建開發環境。新版本還新增加了DBA 子產品,更加拓廣了Toad 這個産品的适用範圍。

二、系統要求:

1. 用戶端:

     Windows 95 / 98 / NT/2000 中英文均可

     完整安裝的SQL*Net 2.0 或者Net8

     磁盤:一般安裝需要20M 左右的空間,根據所選擇子產品的不同和安裝方式的不同,最少也要5M 的磁盤空間(從網絡伺服器讀取)

     記憶體:Windows 9x/Me:16M 記憶體;Windows NT/2000: Min 32M]

     Tuning 子產品需要額外的25M 空間

2. 伺服器端:

     Oracle 7.3 或者更高,在任何硬體平台上。

     需要一個DBA 使用者帳号

三、安裝:

1 .三種安裝方式的選擇:

    a) TOAD and Persona Configuration Files to PC

       預設安裝選擇,完成一個完整的Client 端的安裝,把所有需要的檔案拷貝到本地Toad 目錄。絕大多數使用者應該選擇使用這個安裝方式。

    b) Persona    Config Files to PC, read TOAD from Network Server

       從網絡伺服器讀取Toad 程式,在本地計算機安裝一些自定義的檔案,并且建立到伺服器檔案的快捷方式,一般不推薦使用這個方式,而且要求網絡伺服器已經配置。

    c) TOAD to Network Server

       把Toad 安裝到網絡伺服器上,以便這樣别的使用者能夠進行Persona Config Files to PC, read TOAD from Network Server 這種方式的安裝。

2 .根據需要使用到的特性,需要運作一些腳本( 都在Toad/temps 目錄下) ,

    a) 如果需要用Toad 來檢視執行計劃,必須運作腳本PrepToad.sql 或者notoad.sql

    b) 如果希望專門建立一個Toad 使用者來存放Toad 需要使用的對象的話,就運作preptoad.sql 。

    c) 如果希望在目前連接配接使用者模式下建立toad 需要使用的對象的話,就運作notoad.sql 。

    d) 注意,如果是選擇了專門建立toad 這個使用者的話,需要先修改一下腳本,指定使用者的預設表空間和臨時表空間。

           需要使用Oracle8i 的Profile analyzer ,必須運作ToadProfiler.sql

           需要加強Toad 的安全性,必須運作ToadSecurity.sql

四、Toad 使用快速入門

1 .Schema Browser :

    Schema browser 是Toad 的極為有特色的子產品。在schema browser 的幫助下,可以友善的浏覽資料庫内部的各類資料庫對象,比如表,索引,序列,存儲過程等,而且可以友善的倒出DDL 語句和進行各種修改,重建工作。定位到某一類對象上,這列對象允許的操作都會自動列出來。

    1). 特色:

       支援Oracle 資料庫裡面所有對象的建立、檢視、修改,內建了幾乎對所有資料庫對象的管理所需要的功能。

       按照 模式-> 對象類别 -> 對象-> 對象可操作屬性 -> 對象本身的詳細資訊和對象相關的資訊 來組織,非常有條理,容易定位對象,也能夠看到所有你需要的對象的相關資訊。

    2). 對于表:

       a) 完備的建表向導,不用輸入冗長的文法,更加全面地替你考慮。

       b) 可以修改表的各種邏輯和實體屬性,修改列的屬性,增加列,删除列( 在Oracle8i 裡面) ,修改表的實體存儲屬性,Truncate ,Drop 等。

       c) 可以生成建表的完整的DDl 語句,包括存儲資訊,權限資訊,限制,索引和觸發器等,而這些手工很難做到。

       d) 可以友善的對表進行分析,檢視表地所有資訊,可以有條件的倒出表裡面的資料,并且儲存為sql 語句。

       e) 可以友善的對表進行重組,可以完成exp/imp 作不到的事情,而且更少地人工參與,更加安全。

    3). 對于視圖,存儲過程:

       a) 可以儲存建立視圖、存儲過程的語句為文本,

       b) 重新編譯失效的視圖,存儲過程,修改視圖的定義語句等。友善的檢視存儲過程的代碼,互相依賴關系,權限資訊等儲存為文本等。

    4). 復原段

       a) 簡潔明了的online ,offline 狀态,友善地online/offline 操作

       b) 詳細的復原段實體資訊和目前狀态。

       c) 可以友善的修改實體存儲屬性

    5). 表空間:

       a) Tablespace Map ;直覺的顯示資料實體的在表空間上的分布

       b) 直覺的檢視各個表空間的使用率、剩餘空間、破碎情況等資訊

       c) 可以進行各種alter 操作:online, offline, 增加資料檔案,改變資料檔案大小,改變實體存儲屬性等

    6). 對其他資料庫對象也有完備的操作支援。

2 .SQL Editor:

    a) 激活Editor 的三種方式:

    a) 連接配接到資料庫之後,Toad 自動打開Editor 這個視窗。

    b) 點選總工具欄上最左邊的那個按鈕

    c) 從菜單欄:Database -> Editor

    提示:Toad 9.0 以下的 Editor 是SQL Editor

    特點:

       · 允許同時打開多個編輯視窗,同時編輯多個SQL 語句

       · 支援同時連接配接到多個資料庫,同時對多個資料庫進行操作

       · 允許編輯SQL ,PLSQL ,J***A ,HTML 和文本

       · 使用書簽功能,可以在大量SQL 語句裡,快速定位某個語句所在位置

       ·SQL Editor 本身具有強大的編輯功能,非常友善編輯SQL 語句。

       · 強大的快捷鍵支援和工具欄快速按鈕的支援,更加高效編寫( 很多快捷鍵可以自己定義,在View ->options ->SQL Editor 裡面)

       · 能夠根據前面的條件,智能推測需要輸入的代碼,可以做到某種程度的代碼智能填充

       · 把滑鼠定位到表/ 視圖/ 存儲過程名稱之上,按F4 ,可以打開對象描述視窗,友善的檢視表和視圖的定義,存儲過程的源代碼,

       · 非常容易對SQL 語句的分析其執行計劃:單擊工具欄上的 按鈕就可以看到Explain Plan 的結果

       · 支援部分SQL*Plus 指令,可以友善的執行大量的為SQL*Plus 編寫的資料庫腳本

       · 可以通過SQLab xpert 來對目前SQL 語句進行全面的分析,給出各種合理的調優意見,隻需要單擊工具欄上的Tuning 按鈕:

       · 可以友善的儲存,打開和運作SQL 腳本

       · 支援對查詢結果進行修改,

       · 可以把查詢結果以多種格式儲存起來,可以儲存為HTML ,純文字,XLS 等多種格式

       · 很容易的得到SQL 函數的清單和用法描述(Show SQL help Window 按鈕)

       · 可以檢視SQL 語句的執行情況:通過下方的AutoTrace 視窗 ,看到SQL 語句的實際執行結果和執行效率。

       · 支援曆史SQL(F8)   :可以友善的查詢以前執行過的SQL ,不用反複重新輸入。

       · 可以執行匿名塊,存儲過程,從下方的視窗看到DBMS_OUTPUT 的結果,如:

3 .Stored Procedure Editor

    a) 打開存儲過程編寫器的幾個途徑:

       單擊總菜單欄上的第三個按鈕:  

       點選Database - > Procedure Editor ,

       可以通過Schema browser 來調用

    b) 一些特點和優點:

       1 .強大的自定義設定:從保留字的顯示方式,到自動替換,到各種快捷鍵的定義等等,用得越熟越順手。

       2 .自動用不同顔色顯示SQL 和PL/SQL 關鍵字,文法清晰明了,可根據自己的習慣來具體定制各類關鍵字的具體顯示方式。可以自定義存儲過程得模闆,在建立存儲過程的時候,自動生成程式的架構可以友善的調用Schema Browser ,把滑鼠定位于某個對象上,F4 ,Schema Browser 打開該對象的較長的描述,幫助順利快速開發程式。支援代碼自動更正,如輸入ndf ,自動替換成NO_DATA_FOUND ,輸入the 自動替換成the ,類似的自動替換還可以自己修改和添加。

       3 .友善的左邊行号顯示,單擊左邊行号就可以實作調試斷點的增加/ 删除

       4 .對各種快捷鍵的支援,不但包括常見的編輯操作,還可以有自己定義的PLSQL 塊的支援(自己定義快捷方式)。如可以定義CTRL+SHIFT+D: 彈出所有PL/SQL    Block 的類型,可以自己選擇。

       5 .可以在一個內建開發環境裡面,一邊編碼,一邊調試,不用多處切換

       6 .友善的同時打開多個存儲過程,通過頁面快速切換

       7 .快速編譯存儲過程,快速定位錯誤所在,自己選擇是否同時編譯依賴的存儲過程

       8 .内置對PL/Formatter ,可以用PL/Formatter 對存儲過程進行格式化,并且可以提供存儲過程的概要分析和修改建議

           PL/Formatter 可以對現有的存儲過程進行高速的格式化,使所有的存儲過程都符合同樣的編寫标準,這樣既有利于提高程式的可讀性,避免不同人寫的子產品的風格上的很差異。

           PL/Formatter 還有助于提高程式的子產品化,增強程式的結構清晰度,增強SQL 的共用性。

           PL/Formatter 還可以幫助完成PL/SQL 和Oracle 版本之間的管理。

       9 .内置RevealNet Knowledge Base ,單擊滑鼠右鍵就可以打開,快速得到技術上的支援,解決技術難題

       nPL/SQL:

         · 包含整個開發過程中可能遇到問題的答案

         ·Code Library: 大量的嚴謹的PL/SQL 代碼例子和現成過程,完全源代碼提供

         · 各種錯誤處理子產品可供參考,各類字元日期函數

         · 包含1400 多個主題

       nAdmin :

         · 解答DBA 日常工作中80% 的常見問題,覆寫2400 多個主題

         · 從網絡到性能優化,從備份恢複到Error message, 一應俱全

           例子:遇到失效的存儲過程怎麼辦?

4. 如何對存儲過程進行Debug ?

    a) 需要Toad 單獨的Debug Option(Standard Version 沒有這個選項)

    b) 要用Toad 對存儲過程進行debug ,必須安裝Oracle 的系統包:dbms_debug ,而且必須安裝Oracle Probe API v2.0 或者更高的版本。

    c) 內建在Stored Precedure Editor 裡面,可以一邊編寫一邊調試,大大提高開發效率

    d) 打開Procedure Editor 後,Debug 菜單激活,可以開始進行Debug 工作。

    e) 允許對存儲過程進行逐行調試、斷點調試, 也支援對觸發器進行調試。

    f) 可以有斷點支援,支援Watch 變量,允許運作時改變變量的值

    g) 允許對多層調用的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 的結果隻有當程式執行完成以後才會出現,在程式執行過程中是沒有結果的。

5 .如何用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 d.dname, e.ename from dept d, emp e

             where d.deptno=e.deptno and e.empno=7369

    我們把這個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 。當表中存在大量的資料的時候,這樣可以大大減少由于全表掃描帶來的成本。

6 .如何使用SQL Modeler 來編寫查詢

    SQL Modeler 可以幫助開發人員很容易的寫出各種複雜的SQL 語句,隻需通過簡單的拖動滑鼠,就能夠寫出複雜的SQL 語句來。

    打開SQL Modeler 的幾個途徑:

       a) 菜單欄 Database -> SQL Modeler ,打開視窗

       b) 單擊工具欄第四個按鈕 ,打開SQL Modeler 視窗

    視窗由三個主要部分組成:

       a) 表選擇區域:最右邊的那個部分,用來選擇From 子句中用到的表。拖動到左邊的區域或者輕按兩下就選擇了該表。

       b) 表模型區域:用來圖形化的顯示選擇的表和表之間的關聯關系。

       c) 生成SQL 區域:這裡顯示用圖形化方式建立的查詢對應的SQL 語句,

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

    有了SQL Modeler 的幫助,即使是初級的程式員也能編寫出複雜而又高效的SQL 查詢來。

    比如下面的例子,

    生成步驟:

      1 .選出表emp, dept

      2 .用滑鼠拖住emp 的ename 和empno, dept 的dname

      3 .輕按兩下criteria 視窗的empno condition 列,彈出視窗,輸入查詢條件,比如emp_no=7369

      4 .由于結果裡面不希望empno 出現,輕按兩下empno 列的visible ,設定為false

      5 .這樣就出來了需要的查詢,現在可以運作查詢得到結果,對查詢SQL 進行分析,或者在SQL Editor 裡面打開這個SQL ,或者儲存為SQL Model 檔案,或者再進一步處理,比如加排序,彙總等。

7 .如何使用Toad 的DBA 方面的功能

    Toad 在DBA 日常管理方面的能力是非常強大的,可以幫助DBA 安全快速地完成許多日常工作,還有Toad 特有的一些小工具能完成一些普通方法很難做到的功能。下面大概講述了各個常用子產品的主要功能:

    1) Database Monitor

       提供直覺的Oracle 資料庫運作狀況,包括下面這些詳細資訊:

       可以看到邏輯IO ,實體IO ,各個狀态的session 數目,SGA 的使用率,共享池的使用狀況,各類事件的等待狀況,以及各類事件随着時間的變化情況

    2) Instance Monitor

       i. 可以用來檢查本地tnsnames.ora 檔案裡面定義的所有節點、Listener 和資料庫的運作狀态和版本等相關資訊。

       ii. 可以遠端啟動、關閉資料庫(如果設定了password 驗證方式)

    3) Unix Monitor :

       i. 可以監控Unix 機器的運作狀況比如詳細的機器啟動時間,CPU 使用率,主要的程序以及這些程序占用的資源,主要的磁盤IO 等。

    4) Trace/Kill session

       i. 友善的檢視所有的連接配接使用者相關資訊:比如終端,程式,連接配接時間等

       ii. 對某個使用者進行跟蹤,檢視使用者執行的SQL 語句,檢視語句的執行計劃,

       iii. 友善的查閱系統的Lock 對象,有沒有什麼等待别的事務釋放鎖的情況,并能夠輕易查出等待什麼使用者的什麼事件結束,那個使用者執行的是什麼SQL 。

       iv. 檢視復原段的使用狀态,什麼使用者,什麼語句,使用的什麼復原段,多少讀寫量等

    5) Oracle Parameter

       可以友善的檢視Oracle 系統的參數:是否預設值,參數作用的簡要描述,是否可以用alter session/alter system 來動态改變,對于那些可以動态改變的參數,可以輕按兩下滑鼠來進行修改

    6) NLS_PARAMETER

       i. 友善的檢視session ,instance ,database 一級的NLS 參數值,

       ii. 可以動态修改session 的NLS 參數值

    7) Extents

       i. 可以檢視某個使用者下的表和索引的詳細的存儲情況,

       ii. 發現那些占用大量空間的表和索引,可以考慮使用相應的對策,比如分區

       iii. 發現那些即将達到max_extents 的表和索引并可以及時糾正

       iv. 發現那些索引和表處于同一個表空間的情況,并可以及時糾正。

    8) Tablespace

       i. 直覺的檢視每個表空間的使用率,總空間,已使用空間,剩餘可是用空間以及預設存儲參數,和表空間是否需要整理等資訊

       ii. 檢視每個表空間的狀态,組成的資料檔案, 以及每個資料檔案的詳細資訊

       iii. 檢視每個表空間裡面存在的對象和這些對象的詳細存儲特性

    9) Tablespace Map :

       圖形化的顯示表空間裡面各個表/ 索引所占用的空間,各個segment 的大小,segment 是否連續等資訊,非常直覺

    10) Server Statistics:

       i. 可以非常直覺的看到系統總體運作情況,迅速定位系統瓶頸所在

       ii. 可以檢視系統範圍内各類等待事件的狀況,檢視每個連接配接會話的狀況,

    11) Pinned Code :

        i. 我們知道,頻繁執行的大的存儲過程最好Pin 起來,這樣可以避免被Oracle 在記憶體不足的情況下換出記憶體,避免動态加載,也避免flush shared pool 的時候被清出記憶體。

       ii. 根據每個子產品的大小,執行次數,決定是否要把某個存儲過程PIN 起來。一個按鈕就搞定了。

    12) Control Files:

        可以檢視目前系統有哪幾個控制檔案,以及控制檔案内部記錄的詳細資訊。(實際上就是V$CONTROLFILE, V$CONTROLFILE_RECORD_SECTION )

    13) Redo Log Manager:

       i. 可以友善的檢視LOG 的組,目前日志,每個組裡面的成員名字,大小,友善的增加、删除log 組,切換目前日志,對日志歸檔進行具體的控制。

       ii. 可以在這個界面裡完成幾乎所有的對redo log 的操作。

    14) Repair chained rows:

        Chained rows 影響系統性能,處于系統性能的考慮,需要把chained rows 修複成普通的表的行。使用repaie chained rows, 就可以比較容易的做到這一點。選擇需要分析的表,然後分析一下,看有沒有chained rows ,如果有,點選repair ,Toad 就幫你把那些chained rows 給修複了。

    15) Identify Space Deficits

       如果系統出現1659,1653 錯誤,就是一個不合格的DBA 。但是要即時預見這些錯誤,還是有一定的難度的。有了Toad 的這個小工具之後,一點某個表空間,就知道這個表空間裡面的剩餘自由空間是否允許任何表能夠擴充到下一個extent 。并能夠在發現問題之後,直接改正問題。

    16) Estimate Table/Index Size

       i. 資料庫的實體規劃中,表/ 索引的存儲子句的定義是非常重要的,影響系統。但是沒有什麼工具的話,要為表定義合理的存儲子句也不容易。

       ii. 在Toad 裡面,專門有工具幫助你合理定義表/ 索引的存儲情況:

          1. 自己可以定義将來表中需要存儲的資料的數目

          2. 多種估計方式:

             a) 根據對已有的資料的分析來定義表的大小(最精确,但是比較慢)

             b) 根據表定義資料類型來定義表的大小

             c) 根據資料字典中以前分析過的資料來估計大小(需要近期分析過該表)

    17) Analyze All Tables

       i. 基于CBO 的SQL 需要CBO 提供最優化的執行路徑來提高程式的執行效率,但是假如對表進行大量的DML 操作之後,不及時更新表的統計資料,這時候CBO 就不能選擇最為有效的執行路徑,導緻程式執行效率低。

       ii. 手工分析表比較麻煩,一個一個做。

       iii. 用Toad 的Analyze Alltables 這個工具,可以一次分析整個模式下面的所有表,有豐富的控制選項,包括是采用估計還是完全,是否同時分析索引,估計的話,采用多大的百分比等。

    18) Rebuild Table

       i.   當表中的資料被反複大量的DML 之後,而且PCTFREE 和PCTUSED 定義的不合理的情況下,表可能會變得非常破碎,占用大量的extent ,索引也會相當破碎,導緻效率相當低下。

       ii. 傳統的方式是通過exp/imp 來解決這個問題,但是步驟實在比較麻煩,手工操作也有一定的危險性。

       iii. 使用Rebuild Table 工具,輕松搞定,而且可以手工修改一些通過EXP/IMP 無法修改的參數,比如freelists ,freelists group, tablespace ,initial 等,還能夠更改列的名字。

    19) Relocate Index

       i. 我們知道,表和索引一般都需要分開存放到不同的表空間,這樣比較便于管理,性能上也會有一定的提高,因為可以對表和索引同時存取。

       ii. 但是實際上很多時候,由于這樣那樣的原因,常常忽略了索引單獨存放這個基本概念,比如建立主鍵限制的時候沒有加USING INDEX 子句,後來disable/enable 了主鍵限制/ 唯一性限制等,都會導緻把索引直接存放到和表同一個表空間裡面。

       iii. 手工發現這些索引,再逐個移動非常麻煩,容易出錯,在Toad 裡面,就很容易根據使用者/ 表空間來發現那些不恰當存放的索引,可以批量移動這些索引,并且允許重新定義索引的存儲子句。

    20) Generate Schema Scripts :

       i. 可以用來生成整個使用者下所有/ 部分對象的DDL 語句。可以把結果儲存為sql 語句或者儲存為TOAD 的自定義格式。

       ii. 可以用來複制表結構,(EXP/IMP 有非常嚴重的缺陷,就是從一個大的資料庫倒出的表結構,無法導入到一個小的資料庫裡面,因為裡面包含了原來表的存儲資訊,即使選擇rows=N ,也要在導入資料庫裡面占用相當大的空間)

    21) Compare Schema :

       i. 在開發的時候,有時候同時在幾個開發庫上開發,但是最後兩個庫的結構不完全一樣,很難比較

       ii. 用TOAD 的這個功能,可以對兩個資料庫的模式(使用者)下面的所有對象(包括存儲過程)進行比較,可以選擇具體的比較内容。

       iii. 可以通過直接打開兩個到各自資料庫的連接配接,或者根據Toad generate schame scripts 生成的檔案進行對比。

       iv. 可以直接生成同步兩個資料庫的sql 腳本,給出彙總的差別簡要和詳細報告等。

http://hi.baidu.com/jzeryuan/blog/item/e3353523cd2ee04f925807b9.html