如何生成Oracle AWR報告

Oracle性能分析入門學習中,遇到Oracle數據庫的性能問題,壹般首要的步驟就是導出AWR的分析報告,AWR是10g中新引入的壹個工具,在這之前壹般是利用statspack。要導出AWR報告,只要利用Oracle的壹個腳本即可以完成,下面是我利用script錄制的壹段導出AWR report的過程。
    首先進入$ORACLE_HOME/rdbms/admin目錄,在sqlplus下運行@awrrpt腳本,按照提示壹步壹步就可以達成,導出的格式有兩種,txt格式和html格式。
    在OTN上,有壹個DBA新feature系列,第六周就是專門講的這個feature,大家可以去那裏了解壹下(中文的)
    Script started on Sun 27 Jan 2008 08:47:15 PM PST
    [ractest@sun880-1 /u01/app/oracle/orahome/rdbms/admin]$ cd $ORACLE_HOME/rdbms/admin
    [ractest@sun880-1 /u01/app/oracle/orahome/rdbms/admin]$ sqlplus / as sysdba
    SQL*Plus: Release 10.2.0.4.0 – Production on Sun Jan 27 20:47:38 2008
    Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bit Production
    With the Partitioning, Real Application Clusters, OLAP, Data Mining
    and Real Application Testing options
    SQL> @awrrpt
    Current Instance
    ~~~~~~~~~~~~~~~~
    DB Id DB Name Inst Num Instance
    ———– ———— ——– ————
    2080780909 ORCLDB 1 orcldb1
    Specify the Report Type
    ~~~~~~~~~~~~~~~~~~~~~~~
    Would you like an HTML report, or a plain text report?
    Enter ‘html’ for an HTML report, or ‘text’ for plain text
    Defaults to ‘html’
    Enter value for report_type: text
    Type Specified: text
    Instances in this Workload Repository schema
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    DB Id Inst Num DB Name Instance Host
    ———— ——– ———— ———— ————
    * 2080780909 1 ORCLDB orcldb1 sun880-1
    2080780909 4 ORCLDB orcldb4 sun880-4
    2080780909 2 ORCLDB orcldb2 sun880-2
    2080780909 3 ORCLDB orcldb3 sun880-3
    Using 2080780909 for database Id
    Using 1 for instance number
    Specify the number of days of snapshots to choose from
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Entering the number of days (n) will result in the most recent
    (n) days of snapshots being listed. Pressing without
    specifying a number lists all completed snapshots.
    Enter value for num_days: 1
    Listing the last day’s Completed Snapshots
    Snap
    Instance DB Name Snap Id Snap Started Level
    ———— ———— ——— —————— —–

Oracle_基本概念和體系

是磁盤上存儲的數據的集合(包括配置文件、數據文件、日誌文件和控制文件等)
    數據庫實例
    運行在數據庫文件上的壹組Oracle後臺進程/線程以及壹個共享內存區。數據庫可以由實例裝載
    和打開。
    oracle實時應用集群(RAC,Real Application Clusters)
    oralce並行服務器架構/RAC架構
    數據庫服務名
    從oracle8i開始引入,數據庫客戶端與服務器端連接時建議指定其數據庫服務名,而不是數據庫
    實例名。
    網絡服務名
    數據庫在客戶端的邏輯表示,包含數據庫服務名和網絡地址兩方面信息。
    監聽器
    鎖
    ORACLE裏鎖有以下幾種模式:
    ——————————————————
    0:none
    ——————————————————
    1:null 空
    Select,有時會在v$locked_object出現。
    ——————————————————
    2:Row-S 行共享(RS):共享表鎖,sub share
    2級鎖有:Select for update,Lock For Update,Lock Row Share
    select for update當對話使用for update子串打開壹個遊標時,所有返回集中的數據行都將處於行級(Row-X)獨占式鎖定,其他對象只能查詢這些數據行,不能進行update、delete或select for update操作。
    ——————————————————
    3:Row-X 行獨占(RX):用於行的修改,sub exclusive
    3級鎖有:Insert, Update, Delete, Lock Row Exclusive
    沒有commit之前,如果另外壹個會話插入同樣的壹條記錄會沒有反應, 因為後壹個3的鎖會壹直等待上壹個3的鎖, 我們必須釋放掉上壹個才能繼續工作。
    ——————————————————
    4:Share 共享鎖(S):阻止其他DML操作,share
    4級鎖有:Create Index, Lock Share
    locked_mode為2,3,4不影響DML(insert,delete,update,select)操作, 但DDL(alter,drop等)操作會提示ora-00054錯誤。
    00054, 00000, “resource busy and acquire with NOWAIT specified”
    // *Cause: Resource interested is busy.
    // *Action: Retry if necessary.
    ——————————————————
    5:S/Row-X 共享行獨占(SRX):阻止其他事務操作,share/sub exclusive
    5級鎖有:Lock Share Row Exclusive
    具體來講有主外鍵約束時update/delete…;可能會產生4,5的鎖。
    ——————————————————
    6:exclusive 獨占(X):獨立訪問使用,exclusive
    6級鎖有:Alter table, Drop table, Drop Index, Truncate table, Lock Exclusive

如何搭建Oracle SOA Suite

搭建壹個從開發到部署的完整的Oracle SOA環境,需要以下三個產品:
    Oracle數據庫
    支持版本有:9i、10g、olite和XE。
    JDeveloper(IDE)
    JDeveloper是壹款開發利器,裏面不僅集成了Oracle自己的J2EE開發框架還提供了便捷的單元測試、Oracle數據庫客戶端和部署應用程序等功能。除了Oracle自己還有許多開源團隊在不斷奉獻著精彩的plugin。但是坦白的說,Jdeveloper的性能不是十分理想,比較耗費內存,有時會發生窗口“白化”。我曾經問過幾個Developer,他們給我的回答是:“壹個東西功能太強大了,包含太多的東西,有時會…”,我知道這不是壹個滿意的答案,但是我清楚的知道,如果妳將來的工作都是與Oracle的產品相關的話,JDeveloper絕對是正確的選擇。這裏我給出的,呵呵,應該Oracle官方給出的推薦的最小內存是512M。
    SOA Suite
    請關註“hot-pluggable”,我給它的解釋就是“熱插拔”,因為包括BPEL、ESB、RULES和EM等在內的component(組件)都是作為應用程序部署在OC4J上的,妳可以隨意的start、stop、deploy或deploy。