熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle10g最佳20個新特性

2013-11-13 12:47:37  來源: Oracle 
答案依 DBA 的工作經驗而有所不同大部分高級管理員偏愛簡單的命令行 SQL*Plus(我的個人偏好)而其余的人則偏愛使用一些第三方產品但是同一個問題在入門級 DBA 那裡卻得到了不同反應在這一群體中Enterprise Manager (EM) 顯然是他們的選擇
這些偏好不難理解Oracle Enterprise Manager 自從幾年前推出以來一直不斷進行完善它開始時是字符模式顯示的 SQL*DBA隨後發展為基於操作系統的客戶端工具最後具有了Java 風格EM 提供的信息非常詳細足夠完成大多數 DBA 任務可作為不願或者無暇了解新語法並且希望使用 GUI 工具來管理常見數據庫任務(如添加用戶修改數據文件和檢查回退段)的用戶的解決方案診斷程序包為性能調節提供了非常需要的 GUI 支持
但是阻礙 EM 廣泛使用的一個主要問題是它無法跟上數據庫服務器本身的發展例如EM 的 Oraclei 數據庫版本不支持子分區(該特性在 Oraclei 中首次引入)
Oracle 數據庫 g 中的 EM 新版本改變了這種情況它具有新的體系結構和新的界面而最重要的是它具有一個功能非常強大而完善的工具箱提供從初學者到高級用戶所需的所有 DBA 技能集而最好之處在於它是安裝本身的一部分無需額外費用如果您正在評估第三方工具您當然可以將 EM 加入評估行列中從而使競爭更加激烈即使您是那種笃信命令行的 DBA(象我這樣)您也會非常欣賞 EM 在某些情況下能為您所提供的幫助
在本文中我將為您介紹新的 EM由於該工具所涉范圍甚廣因此不可能在此討論所有的特性我將在此介紹幾個基本特性並提供其他材料的線索我將遵循本系列之精神提供實際的示例演示如何使用該工具解決實際問題
體系結構
   缺省情況下在安裝 g 軟件時即安裝 EM g時在概念上它與以前版本的不同之處在於它不是客戶端安裝的工具實際上它是位於數據庫服務器本身上的 HTTP 服務器(稱為 DB 控制台)(參見圖 )您可以使用任何浏覽器查看 EM 界面
 

EM 體系結構

DB 控制台的端口號可在 $ORACLE_HOME/install/portlistini 中找到以下是一個文件的示例對於您來說端口可能不相同
Ultra Search HTTP port number =
iSQL*Plus HTTP port number =
Enterprise Manager Agent Port =
Enterprise Manager Console HTTP Port (starz) =
Enterprise Manager Agent Port (starz) =
從這個文件中我們了解到數據庫 starz 的代理程序監聽端口 而 EM 控制台監聽 我們可以通過輸入以下 URL 來調用 EM 登錄畫面 該 URL 調出登錄畫面,從中您可以以 DBA 用戶登錄。tW.wInGWiT.cOm在我們的示例中,我們將以 SYS 登錄。
主數據庫主頁
   登錄後即出現主數據庫主頁。主頁的上部提供對重要細節的快速浏覽。(參見圖 2。)
 

圖 2:主數據庫主頁(上部)

   在上圖中已圈出了最重要的一些部分,並用本文中編號的引用對其進行了標注。首先,請注意標為“General”(1) 的部分;這一部分顯示了有關數據庫的一些最基本細節,如數據庫從 3 月 20 日起已經啟動,以及實例名稱等。Oracle Home 顯示為一個超鏈接,當單擊該鏈接時,將顯示所有產品以及共享該主目錄的所有其他 Oracle 數據庫。Listener 的超鏈接顯示注冊到監聽器(其名稱就顯示在緊靠它的下方)的所有數據庫和實例。最後,顯示主機名 (starz)。
在名為 “Host CPU”(2) 的部分中,醒目地顯示了 CPU 的詳細信息。“Active Sessions”(3) 部分顯示了活動的會話及其當前狀態 (4)。從上面我們看到,99% 的時間被處於等待狀態的會話所占用。(我們稍後將找出導致這些等待的原因。)“High Availability”(5) 部分顯示了與可用性相關的信息。例如,“Instance Recovery Time”的值(實例的 MTTR Target 的值)確定實例崩潰恢復可能需要的時間。
“Space Usage”(6) 部分很有趣:它顯示與 23 個段相關的警告。(同樣,稍後再詳細介紹這些警告。)“Diagnostic Summary”(7) 部分提供數據庫良好運行的概要信息。所發現的性能問題的數量表示自動數據庫診斷監控程序 (ADDM) — 在 10g 中新增的自診斷引擎 — 主動識別出多少問題。EM 還自動分析您的環境,以確定是否違反了所建議的最佳實踐;此分析的結果顯示在“Policy Violation”部分。最後,EM 掃描警報日志,並顯示任何最新的 ORA 錯誤。這種信息非常有價值 — 在警報日志中自動掃描 Oracle 錯誤使您避免了手動搜索這些錯誤的很多麻煩。
在數據庫主頁的下部,如圖 3 所示,我們可以更詳細地查看其中的一些消息。“Alerts”(1) 部分顯示了需要您注意的所有相關警報,每個警報都可以方便地進行配置。以第一個警報 (2) 為例,它顯示 Archiver 進程因為某種原因而掛起。當然,下一步就是確定其原因。要查明原因,只需單擊它即可。您將從包含該錯誤的 alert.log 文件中獲得更多詳細信息。在此情形下,故障點是一個已經填滿的閃回恢復區;我們只需將其清空,Archiver 即可重新開始工作。
 

圖 3:主數據庫主頁(下部)

  另一個警報 (3) 是有關等待的:數據庫在 69% 的時間中等待一個與等待類“Application”相關的等待。還記得主頁上部是如何顯示一個會話處於等待狀態的嗎?這個警報向我們顯示它正在等待什麼。單擊超鏈接將會立即為您顯示實際的等待。
下一個警報 (4) 顯示一個審計項目,即用戶 SYS 從特定的客戶端機器連接到數據庫。同樣,通過單擊超鏈接,您可以顯示有關該連接的所有詳細信息。最後一個警報 (5) 顯示某些對象無效。單擊超鏈接,您將轉到對象被驗證無效的畫面。
如您所見,數據庫主頁猶如顯示需要您注意的所有事項的儀表板。該界面沒有將詳細信息堆積在屏幕上,其界面相當簡潔,只需單擊即可獲得這些詳細信息。您可以手動搜集所有這些信息,但這可能

會花費很多時間和精力。EM 10g 提供了隨取隨用的解決方案。

  一般應用
   讓我們來看看如何使用新的 EM 來完成一些較常見的任務。
一項常見的任務是變更表及其相應的索引。在數據庫主頁,如圖 3 所示選擇“Administration”選項卡,並引用標記為 6 的項目。在本頁中,您可以管理數據庫來配置回退段、創建表空間和模式對象、設置資源管理器、使用新的調度程序(將在以後的文章中介紹)以及更多事項。在此處選擇“Tables”,這將調出如圖 4 所示的畫面。

 
圖 4:表管理

  注意紅色圓圈中高亮顯示的手電筒標志;這是用於調出數值列表的按鈕。在圖中所示畫面中,您可以單擊 LOV 標志,調出數據庫中的用戶列表,並從列表中選擇一個用戶。單擊按鈕“Go”,出現該用戶的表的一個列表。您還可以使用“%”符號指定通配符 — 例如,通過使用 %TRANS%,可以找出名稱中帶有單詞 TRANS 的所有表。
讓我們來看一個示例。選擇表 TRANS,更改其中的一列。單擊超鏈接,調出如圖 5 所示的“編輯表”畫面。

 
圖 5:表管理

  如果您要將列 ACTUAL_RATE 從 NUMBER(10) 改為 NUMBER(11),則可以更改數字(引用 1),然後單擊“Apply”。要查看完成該任務的實際 SQL 語句,可以單擊按鈕“Show SQL”。
在同一畫面上還可以獲得另一條重要信息:增長趨勢。您將在以後一篇有關段管理的文章中了解到,觀察一段時間內的對象增長情況是可能的。該畫面提供了相同的信息,但卻是以圖形方式表示的。要查看該畫面,可單擊選項卡“Segments”(圖 5 引用 2)。該操作調出段畫面,如圖 6 所示。

 
圖 6:段畫面

  注意紅色圓圈中標記的項目。該畫面顯示有多少空間分配給段 (2)、實際使用了多少 (1) 以及浪費了多少 (3)。在該畫面的下部 (4),您可以看到一幅有關對象所用空間以及分配給對象的空間的圖形。在本示例中,表的使用模式已經穩定 — 因此是直線。
您可以對表執行其他管理操作,方法是使用那些用於該目的的選項卡,如用於管理約束的“Constraints”。
使用 EM 進行性能調節
到目前為止您已經了解到,雖然 EM 的外觀已經更改,但它提供了至少與以前的 Java 版本同樣多的功能。但是,與後者不同的是,EM 現在還支持更新的 Oracle 數據庫功能。例如,EM 現在能夠處理子分區。
但是,有經驗的 DBA 希望這種工具能完成更多的工作 — 尤其是在故障診斷或主動性能調節方面。讓我們舉個例子。回憶前文中我們的數據庫正在“Application”等待類上處於等待狀態,如數據庫主頁所示(圖 3 引用 3),而我們需要診斷其原因。在任何調整過程中需要了解的關鍵事情之一是有多少種組件(如 CPU、磁盤和主機子系統)在相互作用,這樣有助於在上下文環境中綜合觀察所有這些變量。為此,可在數據庫主頁中選擇“Performance”選項卡。此操作調出如圖 7 所示的畫面。

 
圖 7:“Performance”選項卡

  請注意所有量度已在同一時間軸上對齊,這樣更容易觀察它們的相互依賴性。注意尖峰 (3),它對應於調度程序任務。它表明,在該時刻約有七個會話正在等待與調度程序相關的等待事件。那麼,影響因素是什麼?注意處於同一位置(綠色區域)的 CPU 量度 — 它們顯示了曾經使用過的最大 CPU 使用率,在圖形中以虛線 (4) 表示。在該點前後,我們沒有看到 CPU 尖峰出現,這就提供了一條線索。注意 CPU 運行隊列長度中的尖峰 (1),這是調度程序的直接後果,調度程序可能產生了過多的內存需求,導致增加了分頁活動 (2)。如您所見,所有現象集中在一起,促進了對數據庫負載“概況”的了解。
注意在時間軸末尾的尖峰 — 增加了運行隊列長度 (5) 和分頁速率 (6)— 它們與物理讀取的另一個尖峰相關 (7)。原因是什麼?
通過比較圖形“Sessions:Waiting and Working”與尖峰發生的時間,我們可以看到,大部分會話都在“Application”等待類上進行等待。但是我們需要確切地查明它在該時期內正在等待什麼?單擊該時間的區域,調出活動會話畫面,如圖 8 所示。

 
圖 8:活動會話等待

  該畫面顯示會話正在等待的等待事件是 enq:TX ?row lock contention。那麼導致此問題的 SQL 語句是什麼?很簡單:畫面本身顯示了語句 8rkquk6u9fmd0 的 SQL ID(在紅色圓圈中)。單擊該 SQL ID,調出如圖 9 所示的 SQL 畫面。

 
圖 9:SQL 詳細信息

  在該畫面上,您可以看到關於它的 SQL 語句以及相關的詳細信息,包括執行計劃。它表明,這條 SQL 導致行鎖爭用,因此應

用程序設計可能是問題的根源。
栓鎖爭用
假設單擊“Performance”選項卡出現類似圖 10 所示的畫面。

 
圖 10:“Performance”選項卡,示例 2

  在圖中,請注意紅色矩形中高亮顯示的量度。您可以看到在 12:20AM 左右有很多與 CPU 相關的等待,這導致在 CPU 中出現龐大的運行隊列。我們需要診斷這一等待。
首先,單擊顯示 CPU 爭用區域的圖形(在圖上標有“Click Here”),以詳細查看該特定等待,如圖 11 所示。

 
圖 11:活動會話等待

  注意在“Active Sessions Working:CPU Used”圖形中帶陰影的框 (1)。您可以使用鼠標拖動它來放置焦點。此操作導致以下的餅形圖(2 和 3)只在該框所包含的時段內進行計算。在這裡我們看到,一個具有 id 8ggw94h7mvxd7 的特定 SQL 正在非常困難地運行 (2)。我們還看到,具有用戶名 ARUP 和 SID 265 的用戶會話是最主要的運行會話 (3)。單擊該會話,查看其詳細信息。此操作調出“Session Details”畫面。單擊選項卡“Wait Events”,調出該會話所經歷的等待事件的詳細信息,其畫面類似於圖 12 所示。

 
圖 12:等待事件的詳細信息

  在該畫面中,請注意在紅色圓圈中高亮顯示的 118 厘秒的最長等待,它在等待庫高速緩存。當您單擊“Latch:Library Cache”的超鏈接時,將會看到類似圖 13 所示的畫面。

 
圖 13:等待直方圖

  該畫面提供了 10g 數據庫之前所沒有提供的一些獨特信息。在診斷這個栓鎖爭用問題時,如何知道這 118 厘秒的等待是由幾個會話中的多個小等待組成,還是只是由一個會話中的一個大等待組成,從而使數據出現偏差呢?
在這裡,直方圖可以幫助我們。從圖上看,您知道大約 250 次會話擁有 1 毫秒的等待(在圓圈中高亮顯示)。會話在 4 與 8 毫秒之間的某處等待了大約 180 次。該畫面顯示,這些等待的時間通常很短,因而它們不是栓鎖爭用的主要症狀。
在數據庫主頁上,您可以通過單擊標為“Advisor Central”的選項卡來訪問 ADDM、SQL Access Advisor 以及其他顧問程序。ADDM 在收集量度時自動運行,並且結果立即發布在 Advisor Central 頁中;當單擊該頁時,將顯示由 ADDM 給出的建議。SQL Tuning Advisor 也檢查這些量度,並在此頁上發布其建議。(我們將在以後的文章中更加詳細地研究 ADDM 和 SQL Tuning Advisor。)
簡化維護
   數據庫主頁上標為“Maintenance”的選項卡是常用維護活動 — 如備份和恢復、數據導出或導入(數據泵)、數據庫克隆以及更多活動 — 的啟動控制台。在該畫面上,您還可以對策略驗證警報所基於的最佳實踐的基本原理進行編輯。
結論
   如先前所述,這篇文章所涉及的只是巨大冰山的一角。在本文中,我的目的不是為了提供全面的概述;而是希望提供對一些跨多個技能集的特定活動的快速浏覽。


From:http://tw.wingwit.com/Article/program/Oracle/201311/16592.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.