標籤:style blog http color 使用 os strong 檔案
Toad for Oracle安裝包:http://pan.baidu.com/s/1mgBOLZU
在Oracle應用程式的開發過程中,訪問資料庫物件和編寫SQL程式是一件乏味且耗費時間的工作,對資料庫進行日常管理也是需要很多SQL指令碼才能完成的。Quest Software為此提供了高效的Oracle應用開發工具-Toad(Tools of Oracle Application Developers)。在Toad的新版本中,還加入了DBA(Database Administrator 資料庫管理員)模組,可以協助DBA完成許多日常管理工作。它最大的特點就是簡單易用,訪問速度快。使用Toad,我們可以通過一個圖形化的使用者介面快速存取資料庫,完成複雜的SQL和PL/SQL代碼編輯和測試工作。Toad由Oracle開發專家專門為開發人員而設計,是一個功能強大、結構緊湊的專業化PL/SQL開發環境。
Toad 主要具有如下特點:
模式瀏覽器(schema browser):
模式瀏覽功能可以快速存取資料字典,瀏覽資料庫中的表、索引、預存程序。Toad 提供對資料庫的快速存取,使用極為方便,使用者介面簡潔,結構安排合理。當我們點擊一個單獨的資料庫物件,Toad立即顯示此對象的詳細資料。例如,當我們點一個資料庫的表,所有和此表相關的索引、約束、預存程序、SQL語句以及和其他表的相互參考關聯性都在同一介面顯示出來。為了簡化操作,使用者可以在一個模式瀏覽器視窗中操作所有資料庫物件。
(圖 Schema Browser以“Multi Line Tab”方式顯示所有資料庫物件)
SQL 編輯器(Sql Editor):
SQL 編輯器的主要功能是編輯、運行和調整SQL語句。TOAD 的進階編輯視窗包括眾多的特性來提高開發人員編寫SQL語句的產品化程度。例如,簡單地產生代碼模板,在編寫SQL前自動探索包的內容和列的名字等等。
SQL編輯器包括一個編輯視窗和運行結果視窗,允許開發人員在編輯的過程中測試回合結果。SQL編輯器中不僅包括標準的編輯命令,也包括一些增強功能,如快速查詢表中的欄位、將SQL語句的內容格式化等等。這個視窗可以處理大到4GB 的內容,對大的開發項目來說非常有用。便捷的書籤可以讓開發人員非常容易地找到相關位置。在運行結果視窗可提供使用者定義的配置功能,支援LONG 和LONG RAW列,可以將資料卸出到磁碟、列印資料、編輯資料等等。
(圖 在SQL 編輯器中選擇部分SQL 程式碼片段進行執行)
預存程序編輯器(Procedure Editor):
預存程序編輯器的主要功能是編輯、編譯、測試、調試預存程序和觸發器。TOAD提供文法標識、錯誤標識和其他很多便於使用的功能,如在快顯視窗顯示表名、列名和Oracle函數。和其他的 PL/SQL 編輯工具不同,TOAD 允許在一個檔案中操作多個資料庫物件,可以編譯一個對象、編譯多個對象、編譯到當前游標、從游標開始編譯。在運行出現錯誤時,預存程序停止到有問題的語句。使用者可以使用捷徑或模板來快速編寫PL/SQL,也可以根據需要產生自己的模板。使用Toad可以非常方便地進行編輯工作,可如設定書籤、取消注釋、格式化SQL語句等等。
(圖:在預存程序編輯器中,準備將SQL片段調入SQL Tunning 中進行調優)
SQL模組化(SQL Modeler):
SQL Modeler 是一個圖形化的SQL 陳述式產生工具,只需要使用滑鼠拖拽,就可以協助開發人員很容易的產生各種複雜的多表查詢SQL 陳述式。
(圖:通過滑鼠“Drag & Drop”寫出複雜的SQL 指令碼)
FastReport報表設計師:
FastReport 是業界著名的報表引擎,Toad 中內嵌了FastReport,使之具備了動態產生客戶化報表的能力,FastReport的功能極為強大,可以自訂報表精靈,產生餅狀圖,柱狀圖,折線圖,表格等各種展現形式,並可以將產生結果匯出到PDF,HTML,JPG,BMP 各種格式。
(圖FastReport 的報表設計師)
指令碼管理器 (Script manager):
通過Script Manager,可以對常用的SQL 指令碼進行集中管理。還可以做如下工作:
?? 對指令碼分類組織
?? 方便指令碼查詢
?? 在多資料庫上執行指令碼
?? 一次執行多個指令碼
?? 在多個資料庫上一次執行多個指令碼
主從表瀏覽器(Master/Detail Browser)
使用Master/Dtail Browser 可以同時瀏覽和編輯由外鍵串連或使用者自訂串連的多個表,視圖,快照或查詢。比如我們可以定義department 作為Master 表,將employee 表作為Detail表,兩表之間通過department_id 做關聯。employee 表顯示的資料會隨著department 表的當前游標變動。
Toad 中的報表引擎FastReport 可以與主從表的配置進行綁定,做出主/從形式的報表。
顏色定義串連(Connection Color-Coding):
Toad 允許同時串連多個資料庫,便於在多個資料庫之間進行切換和比對。但是這樣也增加了在資料庫上進行誤操作的風險。Connection Color-Coding 允許使用者在定義一個新的資料庫連接時,為該串連指定一種顏色,以便作為醒目提醒。
(圖 自訂以紅綠兩色分別代表生產庫和測試庫的串連)
PL/SQL 編輯器 Debugger選項:
Toad 提供強大易用的PL/SQL 調試功能,可以節省開發人員在大型項目中用於開發與測試的寶貴時間,提高應用開發的品質。在預存程序開發的過程中,Toad可以逐行編輯、調試和運行代碼。運行時可以根據需要輸入參數,觀察相關參數的變化來檢查預存程序的正確性。在調式過程中,Toad 可以通過視窗顯示所有的斷點、參數, 呼叫堆疊和輸出參數。使用Toad,非常容易檢測到預存程序的錯誤,開發人員可以一步一步運行PL/SQL語句來識別問題。偵錯工作階段可以和其他程式會話同時進行。
(圖:強大的Debug 功能是調試SQL 的利器)
編碼概要分析(Code Profiling):
Profiler 是ORACLE PL/SQL 的一個調試最佳化跟蹤方案。可以為每一行代碼進行效能統計,以協助評估SQL 陳述式的效能問題時。因為不需要產生和讀取伺服器端的追蹤檔案,所以分析也比較快速,缺點就是命令列的方式,不便於使用。Code Profiling 就是Toad 對Oracle Profiler技術的可視化封裝,對SQL 陳述式的跟蹤統計,十分的直觀與方便。
(圖 Code Profiler 直觀的展示每行的統計資訊)
PL/SQL技術文檔資源 (Knowledge Xpert™ for PL/SQL)
Knowledge Xpert™ for PL/SQL 是一個功能強大的基於Windows 的技術資產庫,它覆蓋Oracle PL/SQL 開發的整個生命週期,上千種專題提供編寫高品質代碼所需要的背景資訊、最好的經驗和程式範例。
?? 提供上千種專題,覆蓋PL/SQL 編程的整個生命週期,從基本的專題到進階的PL/SQL編碼技術。
?? 由包括Mike Ault、Steven Feuerstein、Hugo Toledo 等在內的業界專家開發。
?? 提供一個功能強大的程式碼程式庫,包括超過 1,000 預先設計好的PL/SQL procedures 和functions,減少大量的開發時間。
?? 覆蓋多個版本 (Oracle 7.3 – 10g),不需要查詢不同的手冊獲得答案。
?? 快速的Oracle 反饋資訊,使使用者可以輕鬆查詢不同Oracle 版本(包括Oracle 9i)的應用開發解決方案25000 多種錯誤資訊。
?? 與TOAD® 和 SQL Navigator™ 的無縫整合使使用者可以隨時找出問題及解決方案。Knowledge Xpert for PL/SQL 為開發人員提供編寫高品質代碼所需要的最快捷的方法。
團隊編碼(Team Coding)
Toad for Oracle 的 Team Coding 可實現Team Dev間的協作。Team Coding允許多個開發人員同時讀取原始碼和資料庫物件,並通過有效代碼鎖定,防止對代碼和資料庫物件的同時重寫。同時,Team Coding 支援第三方版本控制系統,如 Merant PVCS、Microsoft SourceSafe、Rational ClearCase 和 StarBase 的 Star Team 等多種產品。針對版本控制系統(VCS)管理下的資料庫模式或對象,Toad 可以從VCS知識庫中取原始碼,快速比對以確定VCS代碼是否最新;若在資料庫上存在新的版本,則向使用者發出警示。開發人員完全可以信賴 Toad 的變更管理機制。
代碼規則校正 (Code Xpert)
CodeXpert可以按照一套預定義的最佳規則集對PL/SQL代碼進行檢驗,對不符合規則的代碼提出建議,以此來提高代碼品質。除了Toad預定義的最佳規則外,使用者還可以定義添加自己的規則集。
(圖 CodeXpert 對預存程序進行規則檢查後,給出檢查結果)
SQLab Xpert Option:SQL最佳化(SQL Optimizer )
SQLab Xpert Option協助開發人員最佳化SQL,為他們提供各種最佳化模式下SQL執行計畫,並且能夠給出最佳化的建議,能夠比較各種模式下實際的SQL運行結果,協助開發人員真正高速地開發高效地代碼。
SQL Optimizer 可以將SQL Scanner 和SQL Inspector 找出的低效SQL 陳述式進行最佳化。它在充分分析SQL 原始碼的基礎上,運用內建的人工智慧(AI)技術,窮盡所有的可能的SQL改寫方法和Oracle 資料庫的最佳化提(hint),輸出一份語意等價、文法正確的SQL 陳述式列表。對列表中所有的SQL 陳述式測試執行之後,就可以得到最適合當前資料庫環境的SQL 陳述式。
(圖:在4 級最佳化智能水平下,SQL Optimizer為當前SQL 給出72 條替代SQL 方案)
執行調優前的原始SQL 陳述式和備選SQL 陳述式,就可以找到最優效能的SQL 陳述式。Benchmark SQL Alternatives 可以批量執行待選SQL 陳述式,以淺顯的圖表顯示各個SQL 的量化效能指標,協助使用者找到最適合的SQL 陳述式方案。
(圖:批量執行後,得出最佳方案是Alt #4,與原始SQL 相比節省執行時間99%)
(圖:SQL Tunning與Benchmark Factory 配合,進行“scalability”測試,得到並發條件下的最優SQL 陳述式)
索引專家(Index Expert)
Index Expert 可以分析SQL語句的文法和SQL 陳述式中表和表之間的關係,給出最適合的備選索引建議。所有建議的索引在做評估執行時,都不需要在資料庫上真正建立,因此不會對資料庫應用造成影響。
(圖:Index Expert 給出7 條虛擬索引建議)
Index Expert 推薦的索引,可以由Benchmark Index Alternatives 進行執行比較,找出哪些索引需要在資料庫中永久產生。
交叉索引分析(Cross Index Analysis)
Cross Index Analysis 可以分析一組SQL語句,找出這組SQL語句可以公用的索引,使得新增索引更具通用性。
(圖:Cross Index Analysis 針對右側的SQL 組給出6 條交叉索引建議)
DBA 模組(DBA Module)
DBA Module 提供了一個簡單完善的DBA 管理的環境,使得被授權的開發人員可以掌握通常的一些管理工作,例如快速的瞭解資料庫的Schemas、進行空間管理、修改使用者權限、產生Schema 指令碼,修改NLS (National Language Support)參數等等,所有這些都直觀的包括在TOAD 的介面上;DBA Module 通過圖形介面進行資料的匯入(import)和匯出(export),使資料的裝載和卸載變得簡單而高效;同時DBA Module 通過簡單易用的Schema Browser 的介面,提供建立、修改、刪除所有DBA管理的對象的功能。
(圖:強大的DBA 功能是DBA 的好幫手)
資料庫監視器(Database Monitor)
Database Monitor 以圖形化方式顯示邏輯/物理IO,等待事件,會話,調用率,脫靶率,SGA 使用,共用池,索引查詢共9個資料庫運行資訊。每個圖都可以放大顯示。圖形的重新整理間隔可以分別設定為15 秒,30 秒,1 分鐘,5 分鐘,10 分鐘和15 分鐘。在Database Monitor 介面開啟的情況下,如果有資料庫運行參數超過了在“View->Option->Monitor”中設定的最大最小閾值時,會以郵件或托盤警示表徵圖的方式發出警示資訊。
(圖 Database Monitor 中,以水平圖顯示資料庫運行資訊)
資料庫探測器(Database Probe)
Database Probe 視窗即時顯示資料庫的各種警示資訊,還可以客戶化定義警示,可以看作是簡化版的Spotlight,如果安裝了Spotlight,還可以從Database Probe中調出Spotlight。
(圖 Database Probe 是簡化版的Spotlight(Mac OS X v10.4 的一項快速、隨打即找、系統支援的案頭搜尋特色))
資料庫運行安全檢查(Health Check)
Health Check 可以產生一份包括約50 種資料庫統計,狀態,事件等資訊的報告。輸出結果按顏色區分,方便瀏覽。還可以配置不顯示正常資訊在所有預定義檢查之後,可以執行使用者自訂的指令碼,將結果添加到報告中。
每個檢查項都是可選的,而且大多數都是可以配置的。結果報告可以儲存成HTML,RTF 或文字檔,通過郵件系統發送出去。也可以儲存到當前資料庫或者其它指定的資料庫中。可以一次檢查多個資料庫。
可以按命令列方式執行,即使用者可以建立一個批次檔,通過任務計劃定時執行。例如可以設定在夜裡執行,DBA 白天通過查看HTML 格式的檢查輸出結果檔案,得知夜裡資料庫的健全狀態。
(圖Health Check 對兩個資料庫同時進行檢查)
常式管理器(Instance Manager):
Instance Manager 用來監控資料庫節點,監聽器和資料庫的可用性。記錄一份資料庫狀態變更曆史和詳細日誌。可以管理資料庫的啟停。當視窗開啟時,可以按照“View->Option->Instance Manager”中的配置,進行郵件或閃爍托盤警示。
(圖 ORCL 資料庫處於“StartUp”狀態)
進階會話查詢器(Top Session Finder):
Top Session Finder 查詢出消耗資源最多的會話。
(圖 以餅狀圖顯示各個會話的資源使用方式)
參數列表(Oracle Parameters)
列表顯示資料庫檢視 v$parameter 中的資料。可以通過雙擊更改所選參數,並由Toad 發出“alter system”或“alter session”命令,對資料庫參數進行修改。支援RAC 形式。
會話瀏覽器(Session Browser)
查看資料庫會話的鎖,長操作等資訊。可以對會話進行跟蹤或殺掉會話。
Toad還可以外掛一些別的產品,比如PL/Formatter, RevealNet Knowledge Base , SQL Impact等,這些都能夠和Toad緊密整合,共同提供了一個完美的整合式開發環境。為了協助您全面的測試您的應用系統,Quest 軟體公司為您提供了Benchmark Factory――一個負載壓力測試解決方案,可以類比真實環境下數以千計的使用者訪問你的應用系統的情境。提前獲知應用系統上線後在過載情況下的應用表現,就可以在上線前定位並解決效能問題和伸縮性問題。
使用Benchmark Factory for Database:
?? 可以獲知資料庫系統的最大輸送量和處理能力。
?? 使用少量的硬體資源,就類比出數以千計的並發使用者。
?? 找出應用系統在隨使用者增加時出現的不平衡負載點。
?? 發現系統效能拐點,薄弱的銜接點和瓶頸。
應用開發解決方案:
?? 量化應用和服務期的效能指標
Benchmark Factory 在測試過程中,收集了大量的統計資料,包括伺服器輸送量(按事務/秒,位元組/秒等計量)和每個施加負載的測試工作站產生的事務統計,所有的測試結果都被收集儲存於資料庫中,用於測量,分析和預測系統的容量。
Benchmark Factory 還可以與其它Quest 軟體公司的產品進行整合,用於IT 部門快速測量系統處理能力與效能,以便於對系統進行最佳化,降低使用者服務回應時間。例如,Benchmark 和Spotlight 配合,由Benchmark 產生並發負載,由Spotlight 發現和診斷問題,在系統應用上線前,找到系統瓶頸,低效原因與應用缺陷。
(圖 Benchmark 運行機制)
另外,Quest 軟體還提供了一個輕量級用戶端測試資料產生工具――DataFactory,可以協助開發和QA 工程師簡單快速的向測試資料庫中填充具有參考關聯性的表資料,以便進行測試。可以向資料庫中快速產生與載入測試資料。
指定資料庫表列和需要產生的記錄數後,DataFactory 可以通過以下三種方式產生測試資料。
?? 產生合成資料
?? 從現有資料來源(例如其它資料庫表或扁平檔案)中拷貝或計算資料
?? 使用內建的資料產生庫產生實際資料
--------------------------------------------
附: DBA(資料庫管理員)
DBA是資料庫管理員,英文是Database Administrator。
DBA的一些職責:
安裝和升級資料庫伺服器(如Oracle、Microsoft SQL server),以及應用程式工具。
資料庫設計系統儲存方案,並制定未來的儲存需求計劃。
一旦開發人員設計了一個應用,就需要DBA來建立資料庫儲存結構(tablespaces)。
一旦開發人員設計了一個應用,就需要DBA來建立資料庫物件(tables,views,indexes)。
根據開發人員的反饋資訊,必要的時候,修改資料庫的結構。
登記資料庫的使用者,維護資料庫的安全性。
保證資料庫的使用符合智慧財產權相關法規。
控制和監控使用者對資料庫的存取訪問。
監控和最佳化資料庫的效能。
制定Database Backup計劃,災難出現時對資料庫資訊進行恢複
維護適當介質上的存檔或者備份資料
備份和恢複資料庫
聯絡資料庫系統的生產廠商,跟蹤技術資訊