ORACLE數(shù)據(jù)庫(kù)應(yīng)急預(yù)案_第1頁(yè)
ORACLE數(shù)據(jù)庫(kù)應(yīng)急預(yù)案_第2頁(yè)
ORACLE數(shù)據(jù)庫(kù)應(yīng)急預(yù)案_第3頁(yè)
ORACLE數(shù)據(jù)庫(kù)應(yīng)急預(yù)案_第4頁(yè)
ORACLE數(shù)據(jù)庫(kù)應(yīng)急預(yù)案_第5頁(yè)
已閱讀5頁(yè),還剩9頁(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、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)中關(guān)村軟件園數(shù)據(jù)中心數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)急預(yù)案一、總則為了有效應(yīng)對(duì)ORACLE數(shù)據(jù)庫(kù)各類突發(fā)事故(事件),力爭(zhēng)實(shí)現(xiàn)早發(fā)現(xiàn)、早報(bào)告、早控制、早解決,保護(hù)系統(tǒng)數(shù)據(jù)的安全,將突發(fā)公共事件造成的損失降到最低程度,制定本預(yù)案。應(yīng)急處置的原則是以人為本,統(tǒng)一指揮,各負(fù)其責(zé)、反應(yīng)迅速,處理果斷、防患未然,消滅初險(xiǎn)、及時(shí)上報(bào),如實(shí)準(zhǔn)確。本預(yù)案適用于ORACLE數(shù)據(jù)庫(kù)可能發(fā)生突發(fā)事故(事件)的應(yīng)急處置。二、基本概況ORACLE數(shù)據(jù)庫(kù)當(dāng)前共有*個(gè)服務(wù)器,*個(gè)實(shí)例。數(shù)據(jù)庫(kù)詳情列表序號(hào)應(yīng)用操作系統(tǒng)用途

2、關(guān)聯(lián)Ip設(shè)備型號(hào)位置管理員軟件體系三、應(yīng)急管理機(jī)構(gòu)、聯(lián)系方式及職責(zé)24小時(shí)的應(yīng)急聯(lián)系人和電話:應(yīng)急工作人員安排表中心部門成員應(yīng)急電話職責(zé) 全程組織與實(shí)施 協(xié)助組織、故障判斷 排除故障、錄井?dāng)?shù)據(jù)處理維護(hù)人員: 四、數(shù)據(jù)庫(kù)系統(tǒng)發(fā)生緊急狀況時(shí)的處置措施 數(shù)據(jù)庫(kù)個(gè)別業(yè)務(wù)性能問題1、大部分業(yè)務(wù)基本正常,個(gè)別業(yè)務(wù)長(zhǎng)時(shí)間執(zhí)行未成功 根據(jù)應(yīng)用的pid、sid等信息,找到數(shù)據(jù)庫(kù)中對(duì)應(yīng)的session、SQL。得到該SQL的執(zhí)行計(jì)劃。1)執(zhí)行$ORACLE_BASE/sql/show_spid.sql即可根據(jù)SID快速獲取操作系統(tǒng)進(jìn)行號(hào)spid的信息;2)執(zhí)行$ORACLE_BASE/sql/get_by_spi

3、d.sh spid,即可根據(jù)操作系統(tǒng)進(jìn)程號(hào)依次打印執(zhí)行的SQL語(yǔ)句和執(zhí)行計(jì)劃;3)執(zhí)行$ORACLE_BASE/sql/showsql_pid.sql即可根據(jù)pid快速獲取執(zhí)行的SQL語(yǔ)句4)執(zhí)行$ORACLE_BASE/sql/showsql_sid.sql即可根據(jù)sid快速獲取執(zhí)行的SQL語(yǔ)句如果執(zhí)行計(jì)劃不恰當(dāng),需要分析執(zhí)行計(jì)劃變化的原因(如索引不正確、統(tǒng)計(jì)信息過時(shí)、綁定變量偷窺等)采取相應(yīng)的錯(cuò)誤如添加缺失的索引、重新收集統(tǒng)計(jì)信息等,評(píng)估中止該業(yè)務(wù)的影響,嘗試停止該SQL的執(zhí)行后,重新收集相關(guān)表的統(tǒng)計(jì)信息,使業(yè)務(wù)SQL能按正確的執(zhí)行計(jì)劃執(zhí)行。如果執(zhí)行計(jì)劃正確,SQL卻長(zhǎng)時(shí)間不能返回結(jié)果,則

4、按照以下辦法盡快收集必要信息,再重啟任務(wù)。$ sqlplus /as sysdbaoradebug setospid oradebug unlimitoradebug dump processstate 10oradebug tracefile_name-得到trace文件名exit 得到該進(jìn)程的stack信息:$ sqlplus /as sysdbaoradebug setospid oradebug unlimitoradebug dump errorstack 3oradebug tracefile_name-得到trace文件名Exit如果PID、SID定位不到,則查詢STATSPAC

5、K、AWR報(bào)告、v$session_wait和v$lock視圖。1)執(zhí)行$ORACLE_HOME/rdbms/admin/awrrpt.sql獲取最近時(shí)間的AWR報(bào)告2)執(zhí)行$ORACLE_BASE/sql/show_wait.sql和show_wait_global.sql快速獲得v$session_wait視圖的詳細(xì)信息3)執(zhí)行$ORACLE_BASE/sql/session_enqueue.sql獲得v$lock視圖中中鎖持有者和鎖等待者的詳細(xì)信息2、單個(gè)ORACLE連接進(jìn)程持續(xù)非常繁忙通過toptopasglance命令在OS上獲得持續(xù)繁忙的操作系統(tǒng)進(jìn)程號(hào)spid然后執(zhí)行$ORACLE

6、_BASE/sql/get_by_spid.sh spid,即可根據(jù)操作系統(tǒng)進(jìn)程號(hào)依次打印執(zhí)行的SQL語(yǔ)句和執(zhí)行計(jì)劃;如果執(zhí)行計(jì)劃不恰當(dāng),需要分析執(zhí)行計(jì)劃變化的原因(如索引不正確、統(tǒng)計(jì)信息過時(shí)、綁定變量偷窺等)采取相應(yīng)的錯(cuò)誤如添加缺失的索引、重新收集統(tǒng)計(jì)信息等,評(píng)估中止該業(yè)務(wù)的影響,嘗試停止該SQL的執(zhí)行后,重新收集相關(guān)表的統(tǒng)計(jì)信息,使業(yè)務(wù)SQL能按正確的執(zhí)行計(jì)劃執(zhí)行。如果執(zhí)行計(jì)劃正確,SQL卻長(zhǎng)時(shí)間不能返回結(jié)果,則按照以下辦法盡快收集必要信息,再重啟任務(wù)。$ sqlplus /as sysdbaoradebug setospid oradebug unlimitoradebug dump p

7、rocessstate 10oradebug tracefile_name-得到trace文件名exit 得到該進(jìn)程的stack信息:$ sqlplus /as sysdbaoradebug setospid oradebug unlimitoradebug dump errorstack 3oradebug tracefile_name-得到trace文件名Exit數(shù)據(jù)庫(kù)整體性能問題現(xiàn)象:業(yè)務(wù)處理總體非常緩慢,但也有部分業(yè)務(wù)能夠處理完成或者數(shù)據(jù)庫(kù)主機(jī)CPU持續(xù)異常很高,而且都是ORACLE連接進(jìn)程造成的時(shí)候請(qǐng)用以下方法檢查1 等待事件找到當(dāng)前數(shù)據(jù)庫(kù)等待最多的事件:使用ash工具來(lái)看最近15分

8、鐘等待事件及造成等待事件的SQL和session ASH的收集辦法:執(zhí)行$ORACLE_HOME/rdbms/admin/ashrpt.sql2 獲取AWR報(bào)告執(zhí)行$ORACLE_HOME/rdbms/admin/awrrpt.sql獲取最近時(shí)間的AWR報(bào)告3 獲取執(zhí)行計(jì)劃用以下辦法獲取執(zhí)行計(jì)劃$ORACLE_HOME/rdbms/admin/awrsqrpt.sql或者select * from table(dbms_xplan.display_cursor(SQL_ID);得到以上SQL的執(zhí)行計(jì)劃后如保存有該SQL正常時(shí)期的執(zhí)行計(jì)劃,則判斷和正常的執(zhí)行計(jì)劃是否有不同如果沒有該SQL正常時(shí)期

9、的執(zhí)行計(jì)劃,則需要判斷執(zhí)行計(jì)劃是否是否恰當(dāng)。4 相應(yīng)的處理建議對(duì)比歷史情況分析確認(rèn)這些等待是否正常,SQL執(zhí)行計(jì)劃是否正常,確認(rèn)問題SQL對(duì)于已確認(rèn)的問題SQL,評(píng)估中止該session對(duì)業(yè)務(wù)的影響:該session是否可被中止;中止后需要進(jìn)行的進(jìn)行的處理:是否要重新收集表的統(tǒng)計(jì)信息,是否要新建索引;中止該session,完成事務(wù)回滾預(yù)計(jì)需要的時(shí)間根據(jù)評(píng)估結(jié)果選擇需要執(zhí)行的操作:中止session、停庫(kù)重啟、切應(yīng)急庫(kù)5不能使用sqlplus / as sysdba進(jìn)入數(shù)據(jù)庫(kù)時(shí)確保ORACLE_SID指向問題實(shí)例后sqlplus -prelim / as sysdbaoradebug setmy

10、pidoradebug unlimit;oradebug dump systemstate 266注意:9206以下版本oradebug dump systemstate 266行用oradebug dump systemstate 10代替6能使用sqlplus / as sysdba進(jìn)入數(shù)據(jù)庫(kù)時(shí)1)登錄窗口 1:$ sqlplus /nologconnect / as sysdbaoradebug setmypidoradebug unlimitoradebug hanganalyze 3exec dbms_lock.sleep(90);oradebug hanganalyze 3orad

11、ebug tracefile_name-得到trace文件名exit RAC環(huán)境,hanganalyze行為:oradebug -g def hanganalyze 3生成的文件在數(shù)據(jù)庫(kù)連接較多時(shí)可能有幾百M(fèi)2) 登錄窗口 2:$ sqlplus /nologconnect / as sysdbaoradebug setmypidoradebug unlimitoradebug dump systemstate 266exec dbms_lock.sleep(90);oradebug dump systemstate 266exec dbms_lock.sleep(90);oradebug d

12、ump systemstate 266oradebug tracefile_name-得到trace文件名exit注意:9206以下版本oradebug dump systemstate 266行用oradebug dump systemstate 10代替以上命令為單實(shí)例下收集的辦法,在RAC環(huán)境中,systemstate對(duì)應(yīng)的行需改為:oradebug -g all dump systemstate 2667 執(zhí)行RDA收集信息cd $ORACLE_HOME/rdaksh rda.sh -fv8 收集最近的AWR報(bào)告執(zhí)行$ORACLE_HOME/rdbms/admin/awrrpt.sql

13、獲取最近時(shí)間的AWR報(bào)告9 收集ASH報(bào)告對(duì)10g以上版本,收集最近15分鐘的ash報(bào)告$ORACLE_HOME/rdbms/admin/ashrpt.sql10 收集的CRS信息如果是10gR2上的RAC系統(tǒng), 以root運(yùn)行如下命令來(lái)收集CRS信息:$env $id $cd $ORA_CRS_HOME/bin 確認(rèn)環(huán)境變量ORA_CRS_HOME/ ORACLE_BASE指向正確;HOSTNAME設(shè)為本機(jī)名后,運(yùn)行:$./diagcollection.pl -collect 數(shù)據(jù)庫(kù)損壞及誤操作1數(shù)據(jù)庫(kù)文件損壞-SPFILE文件恢復(fù)RMAN startup nomount; -通過nomou

14、nt啟動(dòng)數(shù)據(jù)庫(kù),則會(huì)提示SPFILE問題。RMAN set dbid ;-生產(chǎn)庫(kù)的DBID為;RMAN restore spfile from autobackup; -系統(tǒng)自動(dòng)搜索備份中的SPFILE,若無(wú)文件,則通過直接賦予它的文件RMAN restore spfile from F:ORABK_29_1_;-生產(chǎn)庫(kù)中的SPFILE對(duì)應(yīng)的文件是在/backup目錄下以C開頭的文件RMAN shutdown immediate;RMAN startup;-重啟數(shù)據(jù)庫(kù)即可。-控制文件恢復(fù)數(shù)據(jù)庫(kù)控制文件丟失,導(dǎo)致數(shù)據(jù)庫(kù)無(wú)法啟動(dòng)。RMAN startup nomount; RMAN set dbi

15、d ;-生產(chǎn)庫(kù)的DBID為;RMAN restore controlfile from autobackup; -系統(tǒng)自動(dòng)搜索備份中的SPFILE,若無(wú)文件,則通過直接賦予它的文件RMAN restore controlfile from F:ORABK_28_1_;-生產(chǎn)庫(kù)中的SPFILE對(duì)應(yīng)的文件是在/backup目錄下以C開頭的文件RMAN alter database mount;RMAN recover database;RMAN alter database open resetlogs;-數(shù)據(jù)文件恢復(fù)數(shù)據(jù)庫(kù)數(shù)據(jù)文件丟失,導(dǎo)致數(shù)據(jù)啟動(dòng)報(bào)錯(cuò)。RMAN startup nomount;

16、 RMAN alter database mount;RMAN sql alter database datafile 4 offline; RMAN restore datafile 4; -若提示沒有找到數(shù)據(jù)文件4的副本來(lái)恢復(fù),可以用CATLOG語(yǔ)句注冊(cè)下備份集RMAN CATALOG BACKUPPIECE F:ORABK_26_1_;RMAN restore datafile 4;RMAN recover datafile 4;RMAN sql alter database datafile 4 online;RMAN alter database open;2數(shù)據(jù)庫(kù)表誤操作 1)對(duì)誤

17、操作表對(duì)應(yīng)的表空間馬上進(jìn)行離線操作2) 在有限時(shí)間內(nèi)盡可能通過閃回恢復(fù)被誤操作的表 3)通過異機(jī)RMAN不完全恢復(fù)得到被誤操作的表(步驟相對(duì)復(fù)雜) 4)通過DUL/ODU/AUL等第三方數(shù)據(jù)庫(kù)恢復(fù)工具恢復(fù)被誤操作的表五、30分鐘內(nèi)恢復(fù)業(yè)務(wù)的處置方法1、數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)程故障故障現(xiàn)象:查看日志有報(bào)警信息事故應(yīng)對(duì):判斷為數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)程類故障,數(shù)據(jù)庫(kù)管理員檢查警告日志,根據(jù)日志錯(cuò)誤信息判斷問題所在,進(jìn)行排除,如果在30分鐘內(nèi)還不能排除,重新啟動(dòng)數(shù)據(jù)庫(kù),讓系統(tǒng)自動(dòng)修復(fù),修復(fù)不能成功,重新啟動(dòng)操作系統(tǒng)修復(fù),還不成功,啟動(dòng)數(shù)據(jù)庫(kù)備用恢復(fù)流程進(jìn)行數(shù)據(jù)庫(kù)的本機(jī)恢復(fù);2、數(shù)據(jù)庫(kù)文件丟失或損壞故障現(xiàn)象:數(shù)據(jù)庫(kù)異常,檢

18、查警告日志中的告警信息。 事故應(yīng)對(duì):判斷數(shù)據(jù)庫(kù)文件丟失或損壞,啟動(dòng)數(shù)據(jù)庫(kù)本機(jī)恢復(fù)流程;3、數(shù)據(jù)庫(kù)服務(wù)器硬件故障故障現(xiàn)象:服務(wù)器報(bào)警燈長(zhǎng)亮,查看警告日志中的告警信息。 事故應(yīng)對(duì):判斷為數(shù)據(jù)庫(kù)服務(wù)器硬件故障,聯(lián)系操作系統(tǒng)應(yīng)急小組,啟動(dòng)操作系統(tǒng)應(yīng)急預(yù)案,如果在30分鐘內(nèi)能夠恢復(fù)操作系統(tǒng),那么啟動(dòng)數(shù)據(jù)庫(kù)本機(jī)恢復(fù)流程,否則,啟動(dòng)數(shù)據(jù)庫(kù)備用恢復(fù)流程。 4、應(yīng)急終止 1)當(dāng)ORACLE數(shù)據(jù)庫(kù)系統(tǒng)工作正常時(shí),得到上級(jí)主管領(lǐng)導(dǎo)應(yīng)急行動(dòng)終止指令后,應(yīng)急行動(dòng)終止。 2)應(yīng)急小組完成事故分析報(bào)告,并提出改進(jìn)工作的要求和建議。 3)對(duì)于硬件故障,應(yīng)急小組分析故障部件,向中心提出維修建議。 4)應(yīng)急小組依據(jù)事故處置過程的

19、具體情況,對(duì)本預(yù)案的有效性進(jìn)行評(píng)審,必要時(shí)對(duì)本預(yù)案進(jìn)行修訂和完善。附錄1:數(shù)據(jù)庫(kù)本機(jī)恢復(fù)流程需要恢復(fù)數(shù)據(jù)庫(kù)時(shí),數(shù)據(jù)庫(kù)管理員查找數(shù)據(jù)庫(kù)備份情況登記表,依據(jù)被恢復(fù)系統(tǒng)的備份保存路徑、操作系統(tǒng)版本和備份方式,進(jìn)行恢復(fù)1冷備恢復(fù)步驟:登錄數(shù)據(jù)庫(kù)服務(wù)器aix操作系統(tǒng)和linux操作系統(tǒng):telnet *.*.*.*user:oraclepassword:(查找*oracle數(shù)據(jù)庫(kù)綜合情況表.xls中oracle用戶口令)關(guān)閉數(shù)據(jù)庫(kù)在命令窗口輸入如下命令關(guān)閉數(shù)據(jù)庫(kù):sqlplus /nologconn sys/password as sysdba;shutdown (immediate/abort);下載

20、備份文件到本地aix操作系統(tǒng)和linux操作系統(tǒng)ftpopen *.*.*.*(備份服務(wù)器地址參照附表四備份路徑)user:password:(備份服務(wù)器登錄用戶名口令參照*oracle數(shù)據(jù)庫(kù)綜合情況表.xls得到備份服務(wù)器用戶名/口令)cd(備份路徑地址參照*oracle數(shù)據(jù)庫(kù)綜合情況表.xls備份路徑)binpromptget *.*(找到最近的一個(gè)備份文件)將原數(shù)據(jù)庫(kù)數(shù)據(jù)文件、日志文件、控制文件、參數(shù)文件備份,然后刪除原文件在SQL*PLUS中查看數(shù)據(jù)文件的路徑:Select file_name From dba_Data_files查看日志文件路徑:Select NAME From v

21、$logfile查看控制文件路徑:Select name From v$controlf用備份文件恢復(fù)數(shù)據(jù)庫(kù)按照以上的路徑將備份文件拷貝到文件目錄,啟動(dòng)數(shù)據(jù)庫(kù)。熱備(RMAN)恢復(fù)步驟啟動(dòng)恢復(fù)管理器rman target / catalog rman/rmancatdb RMAN startup pfile=/oracle/admin/SID/pfile/initSID.ora (指定初始化參數(shù)文件啟動(dòng)數(shù)據(jù)庫(kù))數(shù)據(jù)文件恢復(fù)RMAN run 2 allocate channel dev1 type disk; 3 sql alter tablespace users offline immedi

22、ate; 4 restore datafile 4; 5 recover datafile 4; 6 sql alter tablespace users online; 7 release channel dev1; 8 控制文件的恢復(fù)rmanstartup nomount;rmanset dbid=*rmanrestore controlfile from autobackup rmanalter database open resetlogs;RMAN startup mount;表空間的恢復(fù)RMAN startup mountRMAN restore tablespace tables

23、pacename;RMAN recover tablespace tablespacename;RMNA alter database open resetlogs注意: 表空間不要命名為rman的關(guān)鍵字, 如test整個(gè)數(shù)據(jù)庫(kù)恢復(fù)RMAN restore database; (還原數(shù)據(jù)庫(kù))RMAN recover database; (恢復(fù)數(shù)據(jù)庫(kù))RMNA alter database open resetlogs; (打開數(shù)據(jù)庫(kù))不完全恢復(fù)RMAN run set until time= 20*-6-4 12:00:00;restore database;recover database;

24、sql alter database open resetlogs;邏輯備份恢復(fù)步驟重新安裝數(shù)據(jù)庫(kù),設(shè)置SID與原數(shù)據(jù)庫(kù)一致。安裝步驟如下:aix系統(tǒng)或linux系統(tǒng)按照ORCLE數(shù)據(jù)庫(kù)安裝手冊(cè)進(jìn)行安裝(參考*ORCLE數(shù)據(jù)庫(kù)安裝手冊(cè).doc)數(shù)據(jù)庫(kù)安裝完畢后,按照原數(shù)據(jù)庫(kù)結(jié)構(gòu)創(chuàng)建數(shù)據(jù)文件、表空間、用戶。將數(shù)據(jù)庫(kù)邏輯備份DUMP文件下載到本地dump文件位置參考備份相關(guān)文檔。導(dǎo)入數(shù)據(jù)備份全庫(kù)恢復(fù):Imp system/passworddb file=*.dmp full=y ignore=y恢復(fù)單個(gè)用戶 Imp system/passworddb file=*.dmp fromuser=user touser=user2 ignore=y grant=y附錄2 備機(jī)恢復(fù)流程如果生產(chǎn)機(jī)已經(jīng)無(wú)法正常使用,需要啟用備用數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)庫(kù)進(jìn)行恢復(fù):系統(tǒng)備機(jī)恢復(fù)流程:備用數(shù)據(jù)庫(kù)地址:*.*.*.*1、數(shù)據(jù)庫(kù)安裝,設(shè)置SID與原數(shù)據(jù)庫(kù)一致ai

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論