Oracle DBA日常工作手冊(cè)_第1頁(yè)
Oracle DBA日常工作手冊(cè)_第2頁(yè)
Oracle DBA日常工作手冊(cè)_第3頁(yè)
Oracle DBA日常工作手冊(cè)_第4頁(yè)
Oracle DBA日常工作手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Oracle DBA日常工作手冊(cè)概述2第一章 . 事前階段3一 、 日常工作每天應(yīng)做工作內(nèi)容31、工作內(nèi)容日常環(huán)境監(jiān)控31.1系統(tǒng)運(yùn)行環(huán)境監(jiān)控31.2數(shù)據(jù)庫(kù)運(yùn)行狀況監(jiān)控32、工作內(nèi)容日常性能監(jiān)控42.1 間隔一段時(shí)間使用操作系統(tǒng)top等工具監(jiān)控系統(tǒng)資源動(dòng)態(tài)運(yùn)行狀況42.2間隔一段時(shí)間對(duì)數(shù)據(jù)庫(kù)性能進(jìn)行監(jiān)控43、工作內(nèi)容日常數(shù)據(jù)庫(kù)管理133.1一天內(nèi)間隔一定時(shí)間運(yùn)行133.2 每天工作結(jié)束后、系統(tǒng)空閑時(shí)運(yùn)行25二 、日常工作每隔一周工作內(nèi)容521. 文件整理工作522. 數(shù)據(jù)庫(kù)全量備份522.1 Oracle 9i RMAN自動(dòng)化腳本方式全量備份522.2 Oracle 10g OEM 圖形方式創(chuàng)

2、建RMAN全量備份數(shù)據(jù)庫(kù)任務(wù)523. 根據(jù)一周數(shù)據(jù)增長(zhǎng)率分析預(yù)留數(shù)據(jù)文件下一周所需增長(zhǎng)空間533.1 SQL腳本方式查看533.2 Oracle 9i OEM 數(shù)據(jù)文件管理543.3 Oracle 10g OEM 數(shù)據(jù)文件管理554. 索引使用情況及碎片分析554.1表包含的索引及相關(guān)列檢查554.2自動(dòng)化腳本方式對(duì)索引進(jìn)行碎片分析564.3打開(kāi)索引自動(dòng)監(jiān)控開(kāi)關(guān)565. 對(duì)用戶所有表、索引進(jìn)行統(tǒng)計(jì)分析575.1 查詢EAS用戶所有表、索引的最新統(tǒng)計(jì)分析時(shí)間575.2 自動(dòng)化腳本方式對(duì)所有表、索引統(tǒng)計(jì)分析575.3 Oracle 10g OEM圖形化自定義對(duì)所有表、索引統(tǒng)計(jì)分析的自動(dòng)化調(diào)度任務(wù)5

3、76. 導(dǎo)出表、索引最新統(tǒng)計(jì)分析數(shù)據(jù)637. 性能報(bào)告分析64三 、 日常工作每月應(yīng)做工作內(nèi)容641. 性能全面分析64全面分析一次STATSPACK報(bào)告64空間使用增長(zhǎng)的全面分析642. 備份數(shù)據(jù)轉(zhuǎn)備64四 日常工作數(shù)據(jù)庫(kù)第一次安裝部署后需做的工作641. Statspack系統(tǒng)快照采集工具初始化642. 創(chuàng)建統(tǒng)計(jì)信息導(dǎo)出表653. 運(yùn)行EAS用戶下所有表、索引統(tǒng)計(jì)分析,導(dǎo)出基準(zhǔn)統(tǒng)計(jì)信息654. 創(chuàng)建Oracle10g 邏輯備份dump文件存放目錄65第二章 事中階段66一、Oracle數(shù)據(jù)庫(kù)出現(xiàn)問(wèn)題時(shí)需掌握的相關(guān)信息661. 問(wèn)題癥狀描述662. 問(wèn)題在什么地方出現(xiàn)663. 問(wèn)題在什么時(shí)間

4、出現(xiàn)664. 問(wèn)題在什么條件下出現(xiàn)665. 問(wèn)題涉及的范圍676. 問(wèn)題是否能重現(xiàn)677. 數(shù)據(jù)庫(kù)運(yùn)行環(huán)境軟、硬件基本信息678. Oracle性能相關(guān)67二、Oracle數(shù)據(jù)庫(kù)問(wèn)題的解決途徑68概述該文檔主要目的是降低現(xiàn)場(chǎng)實(shí)施人員及用戶Oracle數(shù)據(jù)庫(kù)的管理難度,提高Oracle數(shù)據(jù)庫(kù)技術(shù)能力,文檔針對(duì)Oracle9i、10g兩個(gè)版本提供了一套完整的Oracle數(shù)據(jù)庫(kù)監(jiān)控、管理的思路、方法步驟,依照該手冊(cè)進(jìn)行Oracle數(shù)據(jù)庫(kù)的日常工作,能有效的把握Oracle后臺(tái)數(shù)據(jù)庫(kù)的整體運(yùn)行健康狀況,通過(guò)收集相關(guān)重要信息分析,能很好的防范即將出現(xiàn)的系統(tǒng)風(fēng)險(xiǎn),系統(tǒng)出現(xiàn)問(wèn)題后盡快的定位問(wèn)題,現(xiàn)場(chǎng)解決一部

5、分常規(guī)數(shù)據(jù)庫(kù)問(wèn)題。對(duì)其它專業(yè)要求比較強(qiáng)的數(shù)據(jù)庫(kù)問(wèn)題,也能為后續(xù)Oracle專家深入分析、診斷問(wèn)題提供規(guī)范、完整的信息。文檔按問(wèn)題處于的階段分兩部分事前階段、事中階段,事前階段描述了每天、每周末、每月末針對(duì)數(shù)據(jù)庫(kù)所需進(jìn)行的管理工作,如:日常監(jiān)控,包括有環(huán)境監(jiān)控、數(shù)據(jù)庫(kù)運(yùn)行狀況監(jiān)控、性能監(jiān)控;日常數(shù)據(jù)庫(kù)管理,包括:系統(tǒng)運(yùn)行快照采集、表空間管理、數(shù)據(jù)庫(kù)備份恢復(fù)、表、索引統(tǒng)計(jì)分析、TOP會(huì)話、SQL執(zhí)行計(jì)劃信息查看等。涉及有相關(guān)圖形化管理工具使用方法、數(shù)據(jù)庫(kù)自動(dòng)腳本、命令使用方法。事中階段描述了數(shù)據(jù)庫(kù)發(fā)生問(wèn)題時(shí)處理思路,需要收集哪些相關(guān)信息。第一章 . 事前階段一 、 日常工作每天應(yīng)做工作內(nèi)容1、工作

6、內(nèi)容日常環(huán)境監(jiān)控1.1系統(tǒng)運(yùn)行環(huán)境監(jiān)控查看Oracle 數(shù)據(jù)文件、控制文件、聯(lián)機(jī)日志及歸檔日志存放的文件系統(tǒng)或裸設(shè)備空間使用情況。重點(diǎn)關(guān)注Oracle軟件及數(shù)據(jù)文件所在卷空間使用率:su - oracleAIX、linux查看磁盤空間:df kv HP-UX查看磁盤空間:bdf檢測(cè)操作系統(tǒng)CPU、內(nèi)存、交換區(qū)、I/O配置狀況AIX :CPU、內(nèi)存、網(wǎng)絡(luò)、IO、進(jìn)程、頁(yè)面交換:topasLinux、HP-UX :CPU、內(nèi)存、網(wǎng)絡(luò)、IO、進(jìn)程、頁(yè)面交換: top1.2數(shù)據(jù)庫(kù)運(yùn)行狀況監(jiān)控1.2.1 外部檢查Oracle實(shí)例核心后臺(tái)進(jìn)程是否都存在、狀態(tài)是否正常$ ps -ef|grep ora_查看

7、數(shù)據(jù)庫(kù)實(shí)例是否能正常連接、訪問(wèn)SQL> select status from v$instance;監(jiān)聽(tīng)是否正常$ lsnrctl status1.2.2 內(nèi)部是否有表空間出現(xiàn)故障SQL> select tablespace_name,status from dba_tablespaces;日志文件是否正常SQL> Select * from v$log;SQL> Select * from v$logfile;2、工作內(nèi)容日常性能監(jiān)控2.1 間隔一段時(shí)間使用操作系統(tǒng)top等工具監(jiān)控系統(tǒng)資源動(dòng)態(tài)運(yùn)行狀況CPU、內(nèi)存、網(wǎng)絡(luò)、IO、進(jìn)程、頁(yè)面交換等主要活動(dòng)監(jiān)控: top、t

8、opas、vmstat、iostat等2.2間隔一段時(shí)間對(duì)數(shù)據(jù)庫(kù)性能進(jìn)行監(jiān)控2.2.1 Oracle 9i 圖形工具Performance Manager監(jiān)控頂層會(huì)話及頂層SQL1 打開(kāi)OEM控制臺(tái),選中要監(jiān)控的數(shù)據(jù)庫(kù)。2 工具中選擇 Diagnostic PackPerformance Manager,也可直接選中Top Session或Top SQL。Oracle9i 的Performance Manager工具監(jiān)控內(nèi)容主要有:內(nèi)存的使用情況,IO情況,Oracle數(shù)據(jù)庫(kù)進(jìn)程情況,sql語(yǔ)句運(yùn)行情況等,主界面如下: 可以通過(guò)頂層會(huì)話下鉆獲取到相關(guān)SQL執(zhí)行計(jì)劃等信息,也可以直接查看TopS

9、ql選項(xiàng)獲取當(dāng)前執(zhí)行最頻繁、消耗資源最多的SQL語(yǔ)句 在數(shù)據(jù)頁(yè)簽下面列出了監(jiān)控的選項(xiàng)列表,可以根據(jù)各類選項(xiàng)對(duì)SQL語(yǔ)句進(jìn)行排序。選中相關(guān)SQL語(yǔ)句,單擊右鍵選擇“下鉆”到“解釋計(jì)劃”查看執(zhí)行計(jì)劃: 執(zhí)行計(jì)劃顯示如下:2.2.2 Oracle10g OEM工具監(jiān)控頂層會(huì)話及獲取SQL詳細(xì)信息登錄Oracle10g OEM,選擇性能 其它監(jiān)視鏈接:頂級(jí)活動(dòng)點(diǎn)擊頂級(jí)會(huì)話中的會(huì)話ID 點(diǎn)擊SQL ID,查看該頂級(jí)會(huì)話中SQL的詳細(xì)信息點(diǎn)擊計(jì)劃標(biāo)簽,查看該SQL語(yǔ)句的詳細(xì)執(zhí)行計(jì)劃瀏覽該頂層會(huì)話對(duì)應(yīng)SQL語(yǔ)句的詳細(xì)信息2.2.3 字符界面下Sql語(yǔ)句及用戶進(jìn)程信息采集n 通過(guò)視圖查看當(dāng)前主要影響性能SQL

10、語(yǔ)句語(yǔ)法模版SELECT * FROM (SELECT hash_value,address,substr(sql_text,1,40) sql, list of columns, list of derived values FROM V$SQL or V$SQLXS or V$SQLAREA WHERE list of threshold conditions for columns ORDER BY list of ordering columns DESC)WHERE rownum <= number of top SQL statements;實(shí)際舉例SELECT * FROM

11、 (SELECT hash_value,address,substr(sql_text,1,40) sql, buffer_gets, executions, buffer_gets/executions "Gets/Exec" FROM V$SQLAREA WHERE buffer_gets > 100000 AND executions > 10 ORDER BY buffer_gets DESC)WHERE rownum <= 10;n 跟蹤用戶進(jìn)程獲取統(tǒng)計(jì)信息:獲取要跟蹤的用戶進(jìn)程SQL> select sid,serial#,usernam

12、e from v$session;開(kāi)始跟蹤結(jié)束跟蹤Exec dbms_system.set_ev(9,437,10046,8,用戶名');Exec dbms_system.set_ev(9,437,10046,0,用戶名');生成的跟蹤文件在user_dump_dest目錄下 tkprof工具輸出跟蹤報(bào)表信息tkprof /opt/oracle/admin/ytcw/udump/ytcw_ora_1026.trc /opt/oracle/admin/ytcw/udump/ytcw_ora_1026.prf aggregate=yes sys=no sort=fchela3、工作

13、內(nèi)容日常數(shù)據(jù)庫(kù)管理 3.1一天內(nèi)間隔一定時(shí)間運(yùn)行3.1.1檢查警告日志文件中最新錯(cuò)誤信息Linux、Unix系列平臺(tái):vi alertsid.log輸入:“/ORA” 回車進(jìn)行查找Windows 平臺(tái)下使用常用的文本編輯工具即可查看搜索警告日志文件中Oracle錯(cuò)誤信息3.1.2系統(tǒng)運(yùn)行狀況快照采集每天根據(jù)實(shí)際情況,在以下三個(gè)階段手工運(yùn)行Statspack快照采集,輸出快照?qǐng)?bào)表:l 正常工作壓力下l 每天業(yè)務(wù)最高峰期l 特殊業(yè)務(wù)運(yùn)行階段 Oracle 9i自動(dòng)化腳本方式快照采集創(chuàng)建當(dāng)前時(shí)間點(diǎn)快照如需采集當(dāng)前數(shù)據(jù)庫(kù)運(yùn)行狀況快照,取20分鐘間隔兩次運(yùn)行該腳本。自動(dòng)執(zhí)行statspac

14、k快照腳本:statspack_auto_exec.sh#!/bin/sh# creator: james_jiang# function: produce statpack snapshotecho "Auto Execute Statspack"$ORACLE_HOME/bin/sqlplus /nolog <<EOFconnect perfstat/perfstatexec statspack.snapecho "Auto execute statspack successfully!"exitEOF輸出最近兩個(gè)快照時(shí)間點(diǎn)之間的快照信息

15、報(bào)表自動(dòng)產(chǎn)生最近兩個(gè)快照時(shí)間點(diǎn)統(tǒng)計(jì)信息快照腳本:statspack_auto_report.sh#!/bin/sh# creator: james_jiang# function:get statpack reportecho " Auto create statspack snapshot!"SQLPLUS=$ORACLE_HOME/bin/sqlplusLOGFILE=$ORACLE_HOME/spreport.logREPFILE=$ORACLE_HOME/spreport.lst$ORACLE_HOME/bin/sqlplus -S perfstat/perfsta

16、t <<EOFSET ECHO OFFSET HEADING OFFSET FEEDBACK OFFSET PAGESIZE 0SET LINESIZE 1000SET TRIMSPOOL ONSPOOL $LOGFILEselect SNAP_ID from (select SNAP_ID from stats$snapshot where INSTANCE_NUMBER=1 order by SNAP_TIME desc) where rownum<3;SPOOL OFF;set echo onset feedback onset heading onexitEOFlin

17、e1=tail -1 $LOGFILEline2=head -1 $LOGFILEecho "line1 is"$line1echo "line2 is"$line2$ORACLE_HOME/bin/sqlplus -S perfstat/perfstat <<EOFdefine begin_snap=$line1define end_snap=$line2define report_name=$REPFILE?/rdbms/admin/spreport.sqlecho "Auto create statspack snapshot

18、 successfully!"exitEOF Oracle 10g OEM圖形管理工具實(shí)現(xiàn)系統(tǒng)快照采集自動(dòng)化腳本執(zhí)行快照收集主要是Oracle9i版本的使用方式,Oracle 10g OEM圖形工具自動(dòng)執(zhí)行快照采集,缺省1小時(shí)收集一次,可以根據(jù)實(shí)際情況修改收集間隔時(shí)間、降低對(duì)系統(tǒng)性能影響。系統(tǒng)快照自動(dòng)收集時(shí)間、間隔、保留期限設(shè)置登錄Oracle10g OEM,選擇管理 自動(dòng)工作量檔案庫(kù)點(diǎn)擊編輯,查看或修改快照收集時(shí)間及間隔Oracle10g缺省系統(tǒng)快照每隔一小時(shí)執(zhí)行一次,保留最近15天的所有快照,可根據(jù)實(shí)際情況修改調(diào)整,點(diǎn)確定后保存所做修改。創(chuàng)建當(dāng)前時(shí)間點(diǎn)系統(tǒng)快照點(diǎn)擊管

19、理快照和保留的快照集下面的當(dāng)前快照ID選擇創(chuàng)建保留快照集,點(diǎn)擊創(chuàng)建選擇“是”開(kāi)始執(zhí)行快照創(chuàng)建快照在當(dāng)前時(shí)間點(diǎn)成功創(chuàng)建。輸出兩個(gè)快照時(shí)間點(diǎn)之間的快照信息報(bào)表修改原來(lái)“創(chuàng)建保留的快照集”為“查看報(bào)告”,選擇起始快照號(hào),點(diǎn)擊創(chuàng)建選擇結(jié)束快照號(hào),點(diǎn)擊“確定”開(kāi)始創(chuàng)建兩個(gè)快照時(shí)間點(diǎn)之間的所有統(tǒng)計(jì)信息報(bào)告另存該輸出快照?qǐng)?bào)告為HTML文件注:生成的統(tǒng)計(jì)信息快照?qǐng)?bào)告放在專門目錄下,定期對(duì)其整理、分析,作為EAS數(shù)據(jù)庫(kù)運(yùn)行整體狀況及問(wèn)題診斷的依據(jù)。3.2 每天工作結(jié)束后、系統(tǒng)空閑時(shí)運(yùn)行3.2.1表空間使用率 SQL腳本方式查看腳本:FREESPACE.SQLSELECT a.tablespace_

20、name, ROUND (100 - b.free / a.total * 100) used_pct,       ROUND (a.total / 1024 / 1024) "total(MB)",       ROUND (b.free / 1024 / 1024) "free_total(MB)",       ROUND (b.max_free / 1024 / 10

21、24) "free_max(MB)", b.free_cnt fragment  FROM (SELECT   tablespace_name, SUM (BYTES) total            FROM dba_data_files        GROUP BY tablespace_name) a,    

22、0;  (SELECT   tablespace_name, SUM (BYTES) free, MAX (BYTES) max_free,                 COUNT (BYTES) free_cnt            FROM dba_free_space 

23、0;      GROUP BY tablespace_name) bWHERE a.tablespace_name=b.tablespace_name  圖形界面查看表空間使用率Oracle 9i OEM 表空間管理 Oracle 10g OEM表空間管理登錄OEM后選擇管理 表空間n3.2.2數(shù)據(jù)庫(kù)備份及日志清理數(shù)據(jù)庫(kù)備份主要提供兩種方式,物理備份及邏輯備份,物理備份主要使用Oracle RMAN工具,邏輯備份主要使用Oracle導(dǎo)出工具Exp及Expdp。Oracle 物理備份(RMAN)該方式下周一到周五每天做一

24、次增量備份,并檢查備份是否正確,同時(shí)清理歸檔日志。 Oracle 9i RMAN自動(dòng)化腳本增量備份RMAN備份環(huán)境初始化設(shè)置:rman nocatalog rman>connect target sys/oraclerman>configure controlfile autobackup on;rman>configure controlfile autobackup format for device type disk to 'f:rman_bak%F.ctl'rman>configure snapshot controlfile n

25、ame to 'f:rman_baksnap_%F.ctl'Rman備份命令寫到一個(gè)腳本中,在命令行中執(zhí)行這個(gè)腳本RMAN TARGET / NOCATALOG sys/oracle CMDFILE f: backup_incre_1.rcv LOG f: backup_incre_1.log該命令可設(shè)置為crontab(unix/linux),bat批處理任務(wù)(Windows),在每天特定的時(shí)間點(diǎn)自動(dòng)運(yùn)行。增量備份腳本: backup_incre_1.rcvrun allocate channel c1 type DISK ;backup incremental level

26、= 1 format 'f:rman_bakincre_1_%d_%s_%p.bak'(database include current controlfile);backup format 'f:rman_bakarch%u_%s_%p.bak'(archivelog from time 'sysdate-1' all delete input);顯示RMAN備份集信息:RMAN> list backupset;注:上述腳本中涉及的文件路徑需根據(jù)現(xiàn)場(chǎng)環(huán)境具體情況進(jìn)行相應(yīng)修改。 Oracle10g OEM圖形化方式設(shè)置RMAN

27、備份自動(dòng)執(zhí)行任務(wù)RMAN備份主要參數(shù)設(shè)置登錄10g OEM,選擇維護(hù) 備份設(shè)置磁盤設(shè)備備份路徑、并行度指定(根據(jù)服務(wù)器cpu個(gè)數(shù)匹配)備份策略設(shè)置主要是指定備份磁盤位置及備份保留時(shí)間,下圖設(shè)置中為周備份策略考慮,保留最近7天備份。兩種RMAN自動(dòng)調(diào)度備份策略1) 使用Oracle建議的自動(dòng)調(diào)度備份策略選擇維護(hù)調(diào)度備份選擇“調(diào)度Oracle建議的備份”選擇備份目標(biāo)介質(zhì),缺省備份到磁盤介質(zhì)該備份策略內(nèi)容描述設(shè)置該策略執(zhí)行數(shù)據(jù)庫(kù)全量或增量備份的調(diào)度時(shí)間2) 自定義RMAN自動(dòng)備份策略選擇“調(diào)度定制備份”選擇備份類型、模式、歸檔日志、過(guò)時(shí)備份清理策略 備份目標(biāo)介質(zhì)設(shè)置(缺省使用前面“備份設(shè)置”中設(shè)置的

28、參數(shù))備份自動(dòng)執(zhí)行的調(diào)度時(shí)間設(shè)置(通常設(shè)置在系統(tǒng)空閑時(shí)進(jìn)行,如晚上12點(diǎn)過(guò)后)備份設(shè)置信息復(fù)查,確定后提交作業(yè)通過(guò)查看作業(yè)可以了解備份任務(wù)進(jìn)展情況。3) 查看當(dāng)前數(shù)據(jù)庫(kù)RMAN備份信息選擇維護(hù)備份/恢復(fù)中“備份報(bào)告”可以查看所有備份執(zhí)行情況注:前面描述的是數(shù)據(jù)庫(kù)全量備份的調(diào)度策略設(shè)置,增量備份的調(diào)度策略設(shè)置方法類似,只需要在備份類型中選擇增量備份即可。設(shè)置完成后EAS數(shù)據(jù)庫(kù)自動(dòng)備份策略為一周一次全量備份,在星期六晚上12點(diǎn)進(jìn)行。周一到周五每天晚上12點(diǎn)執(zhí)行一次增量備份,保留最近7天備份,過(guò)期備份、歸檔日志自動(dòng)刪除。建議現(xiàn)場(chǎng)每周周末將RMAN備份的文件脫機(jī)保存。(防止服務(wù)器存儲(chǔ)介質(zhì)損壞導(dǎo)致數(shù)據(jù)丟

29、失)Oracle邏輯備份(EXP/EXPDP)1) 操作系統(tǒng)級(jí)設(shè)置自動(dòng)備份任務(wù)oracle用戶登錄操作系統(tǒng),運(yùn)行crontab -e,添加以下內(nèi)容:50 23 * * 1-6 /home/oracle/10gautoexpdp/eas_expdp_MontoSat.sh>> /home/oracle/10gautoexpdp/expdp.log 2>&1#星期一到星期六晚上11點(diǎn)50導(dǎo)出數(shù)據(jù)50 23 * * 0 /home/oracle/10gautoexpdp/eas_expdp_Sunday.sh>> /home/oracle/10gautoexpd

30、p/expdp.log 2>&1#星期日11點(diǎn)50開(kāi)始導(dǎo)出數(shù)據(jù),并刪除上周一到周六導(dǎo)出的備份數(shù)據(jù)。2) 邏輯備份腳本邏輯備份腳本 eas_expdp_MontoSat.sh(星期一到星期六)#!/bin/sh#=# SCRIPT : eas_expdp_MontoSat.sh# AUTHOR : James_jiang# Date : 2007-10-10# REV : 1.0# PLATFORM : AIX Linux Solaris HpUnix# PURPOSE : This script is used to run logic backup.# Copyright(c)

31、 2007 Kingdee Co.,Ltd.# All Rights Reserved#=DAY=date +%uFILE_TARGET=eas_expdp_expr $DAY'.dmpFILE_LOG=eas_expdp_expr $DAY.log export FILE_TARGET FILE_LOG #導(dǎo)出的Oracle實(shí)例名,尤其是服務(wù)器存在多個(gè)實(shí)例時(shí)需指定ORACLE_SID=orcl ORACLE_BASE=/home/app/oracleORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1export ORACLE_SID

32、 ORACLE_BASE ORACLE_HOMEPATH=$PATH:$HOME/bin:$ORACLE_HOME/binexpdp system/oracle schemas=nm directory=eas_expdp_dir dumpfile=$FILE_TARGET logfile=$FILE_LOG job_name=cases_export parallel=4 邏輯備份腳本 eas_expdp_Sunday.sh(星期日)#!/bin/sh#=# SCRIPT : eas_expdp_Sunday.sh# AUTHOR : James_jiang# Date : 2007-10-

33、10# REV : 1.0# PLATFORM : AIX Linux Solaris HpUnix# PURPOSE : This script is used to run logic backup.#=DAY=date +%uFILE_TARGET=eas_expdp_expr $DAY.dmpFILE_LOG=eas_expdp_expr $DAY.log export FILE_TARGET FILE_LOG #導(dǎo)出的Oracle實(shí)例名,尤其是服務(wù)器存在多個(gè)實(shí)例時(shí)需指定ORACLE_SID=orcl ORACLE_BASE=/home/app/oracleORACLE_HOME=$O

34、RACLE_BASE/oracle/product/10.2.0/db_1cd /home/oracle/10gautoexpdprm -f eas_expdp*.dmp eas_expdp*.logexpdp system/oracle schemas=nm directory=eas_expdp_dir dumpfile=$FILE_TARGET logfile=$FILE_LOG job_name=cases_export parallel=4 附: 上述腳本中導(dǎo)出路徑 /home/oracle/10gautoexpdp需根據(jù)現(xiàn)場(chǎng)實(shí)際情況修改,備份腳本eas_expdp_MontoSat

35、.sh、eas_expdp_Sunday.sh需賦予可執(zhí)行權(quán)限。Expdp導(dǎo)出的EAS用戶(schemas=用戶名)根據(jù)現(xiàn)場(chǎng)EAS用戶名修改。Expdp導(dǎo)出目錄需要?jiǎng)?chuàng)建,具體方法請(qǐng)參看本文檔 四 日常工作數(shù)據(jù)庫(kù)第一次安裝部署后需做的工作。建議現(xiàn)場(chǎng)每周周末將邏輯備份的dmp文件脫機(jī)保存。(防止服務(wù)器存儲(chǔ)介質(zhì)損壞導(dǎo)致數(shù)據(jù)丟失)3.2.3根據(jù)監(jiān)控信息,對(duì)需要的表、索引統(tǒng)計(jì)分析 Oracle9i 自動(dòng)化腳本方式對(duì)表、索引進(jìn)行統(tǒng)計(jì)分析Oracle9i缺省不對(duì)表進(jìn)行改動(dòng)監(jiān)控,如果需要根據(jù)監(jiān)控信息來(lái)判斷是否需對(duì)表進(jìn)行重新統(tǒng)計(jì)分析,則需要手工打開(kāi)表監(jiān)控開(kāi)關(guān),如下:打開(kāi)表監(jiān)控開(kāi)關(guān):alter ta

36、ble 表名 monitoring;/監(jiān)控表信息記錄在sys.dba_tab_modifications視圖中根據(jù)監(jiān)控信息對(duì)用戶統(tǒng)計(jì)信息分析收集腳本:dbms_stats.gather_schema_stats(ownname=>'nmeas',options=>'GATHER AUTO') Oracle10g 自動(dòng)化任務(wù)表、索引統(tǒng)計(jì)分析方式Oracle10g 缺省自動(dòng)對(duì)所有表變動(dòng)進(jìn)行監(jiān)控,并自動(dòng)執(zhí)行所有用戶統(tǒng)計(jì)分析,可以禁止該缺省方式,在dbconsole中手工配置對(duì)特定用戶統(tǒng)計(jì)分析任務(wù)。Oracle10g禁用、啟用缺省數(shù)據(jù)庫(kù)自動(dòng)統(tǒng)計(jì)

37、信息分析收集任務(wù):exec dbms_scheduler.disable('SYS.GATHER_STATS_JOB');exec dbms_scheduler.enable('SYS.GATHER_STATS_JOB');Oracle10g OEM圖形工具自定義配置統(tǒng)計(jì)分析任務(wù)登錄OEM,選擇管理統(tǒng)計(jì)信息管理管理優(yōu)化程序統(tǒng)計(jì)信息選擇“操作”搜集優(yōu)化程序統(tǒng)計(jì)信息選擇“方案”,點(diǎn)擊下一步設(shè)置用戶統(tǒng)計(jì)信息分析自動(dòng)執(zhí)行的時(shí)間調(diào)度示例中設(shè)置的是從2007-03-29開(kāi)始,每天晚上12點(diǎn)自動(dòng)執(zhí)行用戶NMEAS統(tǒng)計(jì)信息分析,用戶統(tǒng)計(jì)信息分析任務(wù)設(shè)置完整欄目顯示提交完成任務(wù)設(shè)

38、置查看數(shù)據(jù)庫(kù)中所有自動(dòng)調(diào)度任務(wù)執(zhí)行情況OEM中選擇欄目:管理統(tǒng)計(jì)信息管理(管理優(yōu)化程序統(tǒng)計(jì)信息)選擇相關(guān)鏈接作業(yè)調(diào)度程序注:上述配置的自動(dòng)統(tǒng)計(jì)分析任務(wù)利用Oracle自動(dòng)監(jiān)控來(lái)判斷哪些對(duì)象改動(dòng)較大,需要重新進(jìn)行統(tǒng)計(jì)分析。然后在調(diào)度的時(shí)間對(duì)其重新進(jìn)行統(tǒng)計(jì)分析。二 、日常工作每隔一周工作內(nèi)容1. 文件整理工作n 警告日志、跟蹤文件、dump文件清理n 備份文件整理n Statspack統(tǒng)計(jì)分析報(bào)告整理2. 數(shù)據(jù)庫(kù)全量備份2.1 Oracle 9i RMAN自動(dòng)化腳本方式全量備份Rman備份命令寫到一個(gè)腳本中,在命令行中執(zhí)行這個(gè)腳本RMAN TARGET / NOCATALOG sys/oracle

39、 CMDFILE e: backup_incre_0.rcv LOG e: backup_incre_0.log數(shù)據(jù)庫(kù)完全備份腳本: backup_full_0.rcvrun allocate channel c1 type DISK ;backup incremental level = 0 format 'f:rman_bakincre_0_%d_%s_%p.bak'(database include current controlfile);backup format 'f:rman_bakarch%u_%s_%p.bak'(archivelog from

40、 time 'sysdate-1' all delete input);刪除過(guò)期備份:RMAN>delete expired backup;2.2 Oracle 10g OEM 圖形方式創(chuàng)建RMAN全量備份數(shù)據(jù)庫(kù)任務(wù)具體方法、步驟請(qǐng)參看數(shù)據(jù)庫(kù)日常工作每天應(yīng)做工作內(nèi)容中RMAN備份部分3. 根據(jù)一周數(shù)據(jù)增長(zhǎng)率分析預(yù)留數(shù)據(jù)文件下一周所需增長(zhǎng)空間3.1 SQL腳本方式查看數(shù)據(jù)文件空間使用率查看腳本:SELECT df.tablespace_name, ROUND (df.BYTES / 1024 / 1024) "total(MB)", ROUND (df.

41、BYTES - x.free) / 1024 / 1024) "used(MB)", ROUND (x.hw / 1024 / 1024) hwatermarker, ROUND (x.free / 1024 / 1024) "free(MB)", df.file_name FROM dba_data_files df, (SELECT file_id, MAX (block_id * p.VALUE) hw, SUM (BYTES) free FROM dba_free_space, v$parameter p WHERE p.NAME = '

42、db_block_size' GROUP BY file_id) x WHERE x.file_id = df.file_idORDER BY 1, 23.2 Oracle 9i OEM 數(shù)據(jù)文件管理3.3 Oracle 10g OEM 數(shù)據(jù)文件管理4. 索引使用情況及碎片分析4.1表包含的索引及相關(guān)列檢查1、 表及索引創(chuàng)建、修改日期檢查EAS用戶登錄到數(shù)據(jù)庫(kù),執(zhí)行語(yǔ)句:SQL>SELECT OBJECT_NAME,OBJECT_TYPE,CREATED,LAST_DDL_TIME,STATUS FROM USER_OBJECTS;2、 表包含的索引及索引相關(guān)列檢查SQL>

43、 SELECT INDEX_NAME,TABLE_NAME,COLUMN_NAME FROM USER_IND_COLUMNS WHERE TABLE_NAME LIKE 'T_%' ORDER BY TABLE_NAME;3、 特定表及其關(guān)聯(lián)索引、列詳細(xì)信息檢查SELECT A.TABLE_NAME,A.INDEX_NAME,COLUMN_NAME,CREATED,LAST_DDL_TIME,LAST_ANALYZED FROM USER_IND_COLUMNS A,USER_OBJECTS B,USER_INDEXES C WHERE A.INDEX_NAME=B.OBJE

44、CT_NAME AND B.OBJECT_NAME=C.INDEX_NAMEAND C.TABLE_NAME IN('','')注:如需輸出語(yǔ)句執(zhí)行結(jié)果信息,可在語(yǔ)句執(zhí)行前spool tableindex.list,執(zhí)行完成后再spool off;4.2自動(dòng)化腳本方式對(duì)索引進(jìn)行碎片分析每周監(jiān)測(cè)一次索引的碎片情況,根據(jù)情況制定索引的重建頻率以提高索引使用效率。1、產(chǎn)生EAS用戶分析索引的腳本:SQL>select 'analyze index ' | index_name |' VALIDATE STRUCTURE' from

45、 user_indexes; 2、執(zhí)行EAS用戶下所有索引分析:SQL> analyze index <index_name> VALIDATE STRUCTURE;.3、基于分析結(jié)果,查看索引碎片率:SQL> select name,del_lf_rows_len,lf_rows_len,(del_lf_rows_len/lf_rows_len)*100 from index_stats;索引碎片率(%) = (被刪除的索引長(zhǎng)度/索引總長(zhǎng))*100 4、對(duì)碎片率高的索引執(zhí)行重建整理SQL> alter index <索引名> rebuild; 4.3

46、打開(kāi)索引自動(dòng)監(jiān)控開(kāi)關(guān)如數(shù)據(jù)庫(kù)中新增加、修改了索引,則可以打開(kāi)這些索引的自動(dòng)監(jiān)控。監(jiān)測(cè)索引的使用情況,根據(jù)使用情況,刪除未使用的索引,并添加能提高查詢和處理性能的索引。 SQL> alter index <索引名> monitoring usage; SQL> alter index <索引名> nomonitoring usage;SQL> select index_name,used from v$object_usage;5. 對(duì)用戶所有表、索引進(jìn)行統(tǒng)計(jì)分析5.1 查詢EAS用戶所有表、索引的最新統(tǒng)計(jì)分析時(shí)間表:SQL>select tabl

47、e_name,last_analyzed from user_tables order by 2;索引:SQL>select table_name,index_name,last_analyzed from user_indexes order by 1,3注:last_analyzed字段顯示的日期太老,則表明該表或索引最近未做統(tǒng)計(jì)分析,如果恰好最近大量更新、導(dǎo)入或刪除了記錄,需要重新對(duì)其執(zhí)行統(tǒng)計(jì)分析。5.2 自動(dòng)化腳本方式對(duì)所有表、索引統(tǒng)計(jì)分析對(duì)用戶所有對(duì)象進(jìn)行完整統(tǒng)計(jì)信息分析收集腳本:dbms_stats.gather_schema_stats(ownname=>'n

48、meas',method_opt=>'FOR ALL INDEXED COLUMNS SIZE auto',estimate_percent =>100,degree=>DBMS_STATS.DEFAULT_DEGREE,cascade=>true) 9i需(加入crontab或bat任務(wù))5.3 Oracle 10g OEM圖形化自定義對(duì)所有表、索引統(tǒng)計(jì)分析的自動(dòng)化調(diào)度任務(wù)登錄OEM,選擇管理統(tǒng)計(jì)信息管理管理優(yōu)化程序統(tǒng)計(jì)信息“操作”搜集優(yōu)化程序統(tǒng)計(jì)信息范圍選項(xiàng)方案中選擇“定制選項(xiàng)”添加用來(lái)做統(tǒng)計(jì)信息收集的EAS用戶配置周統(tǒng)計(jì)信息收集Oracle

49、相關(guān)參數(shù)配置周統(tǒng)計(jì)信息收集任務(wù)執(zhí)行的調(diào)度時(shí)間(下圖中配置的為每周星期六晚上12點(diǎn)自動(dòng)執(zhí)行統(tǒng)計(jì)信息搜集)瀏覽周統(tǒng)計(jì)信息收集任務(wù)配置的完整信息提交完成周統(tǒng)計(jì)信息收集任務(wù)配置注: 每周末EAS用戶下所有表、索引通過(guò)上述任務(wù)執(zhí)行完整的統(tǒng)計(jì)分析。6. 導(dǎo)出表、索引最新統(tǒng)計(jì)分析數(shù)據(jù)將導(dǎo)出的統(tǒng)計(jì)分析數(shù)據(jù)導(dǎo)入測(cè)試庫(kù),可以在測(cè)試庫(kù)重新構(gòu)建性能關(guān)鍵或所有sql語(yǔ)句執(zhí)行計(jì)劃、與基準(zhǔn)執(zhí)行計(jì)劃進(jìn)行比較。導(dǎo)出用戶當(dāng)前統(tǒng)計(jì)信息:exec dbms_stats.export_schema_stats('nmeas','stats_export')注:存儲(chǔ)導(dǎo)出信息的表stats_export需在

50、安裝部署EAS后臺(tái)數(shù)據(jù)庫(kù)時(shí)創(chuàng)建。可以考慮與周統(tǒng)計(jì)信息收集放在同一job中7. 性能報(bào)告分析就一周來(lái)的statspack報(bào)告進(jìn)行整理、分析,主要關(guān)注:n 數(shù)據(jù)庫(kù)整體性能狀況指標(biāo)n 數(shù)據(jù)庫(kù)主要等待事件n 最消耗cpu、內(nèi)存資源、I/O的SQL語(yǔ)句三 、 日常工作每月應(yīng)做工作內(nèi)容1. 性能全面分析全面分析一次STATSPACK報(bào)告n 數(shù)據(jù)庫(kù)主要性能指標(biāo)n 數(shù)據(jù)庫(kù)主要等待事件n 最消耗cpu、內(nèi)存資源、I/O的SQL語(yǔ)句 空間使用增長(zhǎng)的全面分析n 確定是否需要擴(kuò)充存儲(chǔ)空間n 考慮預(yù)留足夠下個(gè)月使用的空間2. 備份數(shù)據(jù)轉(zhuǎn)備將一個(gè)月以來(lái)的Rman備份文件打包,轉(zhuǎn)存到外部存儲(chǔ)介質(zhì),有條件最好存放異地。四 日常工作數(shù)據(jù)庫(kù)第一次安裝部署后需做的工作1. Statspack系統(tǒng)快照采集工具初始化Oracle 9i

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論