Toad 补充与培训 常用菜单
Toad 常用菜單
新版本 toad 軟件中, 比較有用的菜單 (toad10.6 版本)
下邊菜單, 在日常工作中出現過的, 顯示為 粉色 , 藍色 表示次一級的重要
session 菜單?new session, end session, session Information, DBMS flashback
Session Information: 顯示當前session的用戶的情況, 比如權限, 授權等
Database 菜單 (很多功能都是重復的) ???
administrator: ??????? 審計, 參數, redo, tablespace , prameters 等,?這里關于 redo 的內容十分好用.????
monitor:??監控 可以與statspack?聯系使用.???????????????
~ database browser : database 的全部內容, 包括參數, 表空間, 數據文件等 ???????
~ database monitor : 動態監視, 包括 logical I/O, session, sga, physical IO, call rates, shared pool, waitevent 等等.? (實時, 可能不用)???
???????????~ database probe :?也是用來實時監控系統運行情況??(實時, 不用)??
????????????? 注: database monitor, database probe 都是實時監控系統運行, 本身也很耗費資源, 個人感覺還是用快照的方式, 然后生成report, 分析report 比較好一定, 畢竟誰也不能在pc前一動不動的實時監測. 就算是臨時發現了問題, 也可以用快速的兩次快照, 找到問題的原因.
~ server statistics: 數據庫運行的統計信息, waits, latches, sessions 等等 ???
???????????~ Index Monitoring : 監控索引的使用情況????
~ session browser? : 可以用來 kill session, 另外還有針對 session 的 wait event 等. ???????
~ SGA Trace??????? : 針對 SGA 的使用情況, 詳細列出了所有的 sql list. ???????
???????????~ statspack Browser : statspack 的信息瀏覽
~ SQL Tracker????? : 打開這個, 你在toad中的所有操作, 都會有對應的SQL語句被輸出.
?????????? ~ top session finder : 最耗費資源的 session???
diagnose:??????
?????????? ~ Alert log viewer: 查看 alert file 日志
?????????? ~ CodeXpert : 看來只針對 pl/sql, 加載進來一個對象(procedure, function, package, trigger, view), 進行優化(自動).
???????????~ Extents : 可以看到每個對象(例如 table)的存儲情況.
?????????? ~ DB Health Check: DB健康檢查, 默認是所有項目都要運行, 運行需要很多時間.
?????????? ~ Identify Space Deficits: 查看赤字的存儲空間.
?????????? ~ Log Miner : 可以查看到日志文件中, redo log file 的具體 SQL 語句.
?????????? ~ Log switch Frequency Map: 可以查看發生 Log switch 的時間點, 根據這個時間間隔判斷 redo log file 大小是否合適 (如果redo log file 大小不合適, 因為redo log 是循環工作, 很有可能發生等待)
?????????? ~ Tablespace Map: 可以看到每個 block 存儲哪些內容.
optimize:? ???????
~ analyze all objects : 類似 SYS.DBMS_STATS.GATHER_TABLE_STATS 的作用.
?????????? ~ Estimate Index Size : 估計索引所占存儲空間大小.
?????????? ~ Estimate?Table Size : 估計table所占存儲空間大小.
~ Explain plan??????? : 執行計劃, 一般是先選擇一個SQL語句, 然后點工具欄上的小救護車(其實就是這項), 就可以只執行plan. ???????
~ Optimize Current SQL: 輸入一個SQL語句, 然后運行, 會出現 Explain Plan 和 Execution Statistics. ???????
???????????~?Pinned Code :?可以查看共享池 shared pool 中的對象(主要是 procedure, function, package, sequence).?貌似用處不大
?????????? ~ Rebuild Multiple Objects : 重建對象, 比如重建索引, 重建表 等. ???????
~ Rebulid table?????? : 重建表, 很詳細的設置
?
補充
knowledge xpert for pl/sql (有專題, 例如 best practice)
CodeXpert (在pl/sql編輯版的下半部分) 可以對pl/sql語句進行有效的優化提示
培訓
1. 系統監控用戶設置?
做系統級的監控只能用 sys 和 system 用戶, 在 toad 中使用 sys 要將中間部分的 sysdba, 用system用戶, 中間部分選擇 normal. sys 用戶只能用來做管理, system本質上是一個普通用戶, 被賦予了管理權限.
?
2. 創建新的連接方式
在 toad 登陸接界面, 點中下部的 TNSNames Editor 按鈕, 在彈出的窗口的上邊工具欄找到 Add Service按鈕, 根據提示, 添加新的連接
注: 雖然手動在 tnsnames.ora中添加也是可以的, 但是用這種方式添加更加穩妥, 添加完后, 你會看到添加后的代碼.
?
3. 使用 toad 緊急恢復數據(閃回)
用例: 在10分鐘前(注意這個時間, 因為閃回技術主要依賴于在undo表空間里的數據鏡像, undo表空間里的數據如果想不被覆蓋, 是有一個時間限制的, 有個參數, 一般是15分鐘, 所以這個用例使用的是10分鐘前, 如果是1年前, 那么你還想閃回么?) 某操作員不小心對表t的某列做了修改, 現在如何恢復10分鐘前的數據
解答:
如果未提交, 則直接 rollback, 如果已經提交了, 則按下面步驟進行恢復
(1) create table t_temp as select * from t as of timestamp sysdate – 1/144;?? -- 創建一個臨時表, 保存了包含10分鐘前被修改前的數據
(2) select * from t-1/144;?? -- 這個沒看出來有什么用, 個人感覺應該是 select * from t_temp 確認是否包括需要返回的數據
(3) merge into t as t using t_temp as tt on (t.primarykey = tt.primarykey) when matched then update set t.name = tt.name
?
4. Excel 文件導出
Excel File 與 Excel Instance 不同, 用 Excel File 導出時, 不同的查詢結果都導出到不同的Excel文件中, 而 Excel Instance 導出時, 不同查詢結果會導出到同一個 Excel 中的不同頁簽.
若導出的數據要導入到不同類型的數據庫, 則需要再下拉框中選中 Insert Statement, (在想選擇excel的地方), 這里注意, 如下圖:
?
5. 使用 toad 監控會話實時情況
查看最耗用資源的session ( database->monitor->Top Session Finder 路徑可能不同, 不過 Top Session Finder 找這個就可以了 ), 點執行(播放按鈕)
單擊餅狀圖, 會出現session信息, 這些信息里比較重要的是( sid, oracle user, os user, machine )
根據 sid, 在 Editor 窗口中輸入: select * from v$session where sid = ‘3232’ 執行, ( 這個sid就是剛剛查出來的那個sid), 通過這里, 可以查看這個session是什么時間登陸的, 如果登陸了很久, 那很可能是死進程, 這里也可以查到 process(進程號), ps-ef|grep 1232 查看該進程
?
6. 使用 toad 監控索引
database->monitor->index monitoring(路徑可能不一樣)
補充: 索引的特點是, 方便數據查詢, 不方便數據更新, 因此, 索引不能隨便建.
經驗: 一個索引若三個月沒有用到, 就可以刪除.
這里的監控索引, 主要是看索引是否被使用.
?
7. 使用 toad 查看sql執行計劃
將要執行的sql粘貼到 sql editor中, 然后點工具欄中的小救護車圖標, 注意: 不用執行 sql, 只需要執行計劃.
執行計劃中的 table access Full 要關注 ( 全表掃描 )
cost 值越大表示耗用資源越多
還要關注最上層的 Cost 值, 在這里有個經驗, 以 10000 為界限, 超過 10000 就要予以關注
oracle規則是: 當查詢出的數據占記錄數的 60% 的時候就不會走索引.
?
8. 使用 toad 查看各個對象
在 schema browser 中查看.
表空間, 應該關注的是表空間的使用率, 這里也有一個經驗值, 當表空間超過 80% 的時候就應該予以關注.
?
9. 使用 toad 數據庫健康檢查
database->diagnose->DB Health Check( 路徑可能不對 )
?
10. 使用 toad 對比表結構
database->compare->schemas ( 路徑可能不對 )
這個可能很有用, 比如你想重新建立一個數據庫而使用以前的數據庫時, 可以使用這個功能將原數據庫的結構導出來, 再用exp之類的將數據導入.
另外, 可以在頁簽中使用同步腳本, 點開各個對象后, 可以看到詳細腳本
?
11. toad 秘密
如何知道 toad 在執行某項操作時, 執行了哪些 sql 語句
(1) 打開相應工具
也可以用以下方法打開工具:
(2) 選中 toad
(3) 執行某項操作
在上圖的工具中, 就會顯示剛剛執行的操作的后臺的sql語句
總結
以上是生活随笔為你收集整理的Toad 补充与培训 常用菜单的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 减少到处衍生的实体类
- 下一篇: 本地缓存机制之一