999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Oracle數(shù)據(jù)庫(kù)緊急故障解決方案

2009-04-29 00:00:00王紅艷
電腦知識(shí)與技術(shù) 2009年27期

摘要:數(shù)據(jù)庫(kù)是信息系統(tǒng)的核心,是其正常運(yùn)行的重要保障,該文主要針對(duì)運(yùn)行在歸檔模式下的Oracle數(shù)據(jù)庫(kù)可能遇到的各種類(lèi)型的文件損壞故障提供了相應(yīng)的恢復(fù)方案及具體操作過(guò)程的方法。

關(guān)鍵詞:Oracle數(shù)據(jù)庫(kù);故障;損壞文件;恢復(fù);歸檔模式

中圖分類(lèi)號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2009)27-7600-03

The Solution for Urgently Break Down of the Oracle Database

WANG Hong-yan, LI Tao

(The 477th Hospital of PLA, Xiangfan 441003, China)

Abstract: The database is the center part of information system, which is the important guarantee to normal working of system. This text mainly concentrate on the solution for latent breaking down of the Oracle databaseand the method of operation process when running in the archivelog mode.

Key words: oracle database;Break down; Damaged documents;recovery;archivelog mode

隨著辦公自動(dòng)化和電子商務(wù)的飛速發(fā)展,企業(yè)對(duì)信息系統(tǒng)的依賴(lài)性越來(lái)越高,數(shù)據(jù)庫(kù)作為信息系統(tǒng)的核心擔(dān)當(dāng)著重要的角色。尤其在一些對(duì)數(shù)據(jù)可靠性要求很高的行業(yè)如銀行、證券、電信等,如果發(fā)生意外停機(jī)或數(shù)據(jù)丟失其損失會(huì)十分慘重。為此數(shù)據(jù)庫(kù)管理員應(yīng)針對(duì)具體的業(yè)務(wù)要求制定詳細(xì)的數(shù)據(jù)庫(kù)備份與災(zāi)難恢復(fù)策略,并通過(guò)模擬故障對(duì)每種可能的情況進(jìn)行嚴(yán)格測(cè)試,只有這樣才能保證數(shù)據(jù)的高可用性。數(shù)據(jù)庫(kù)管理員在恢復(fù)時(shí)采取的步驟正確與否也直接影響最終的恢復(fù)結(jié)果,本文主要針對(duì)Oracle數(shù)據(jù)庫(kù)可能遇到的各種故障提供了相應(yīng)的恢復(fù)的方法。

1 故障分析

Oracle物理結(jié)構(gòu)故障是指構(gòu)成數(shù)據(jù)庫(kù)的各個(gè)物理文件損壞而導(dǎo)致的各種數(shù)據(jù)庫(kù)故障。這些故障可能是由于硬件故障造成的,也可能是人為誤操作而引起。所以我們首先要判斷問(wèn)題的起因,如果是硬件故障則首先要解決硬件問(wèn)題。在無(wú)硬件問(wèn)題的前提下我們才能按照下面的處理方發(fā)來(lái)進(jìn)一步處理。

Oracle數(shù)據(jù)庫(kù)錯(cuò)誤主要分為5大類(lèi): SQL語(yǔ)句失敗 ; 線程失敗 ;實(shí)例失敗;用戶操作失敗;存儲(chǔ)設(shè)備失敗。

2 解決方法

如果發(fā)生前三種失敗,不需要我們?nèi)藶楦缮?,Oracle系統(tǒng)會(huì)自動(dòng)進(jìn)行恢復(fù)。對(duì)于用戶操作型的失敗(如誤刪除數(shù)據(jù)),我們采取的補(bǔ)救措施主要有導(dǎo)入最新的邏輯備份或進(jìn)行到某一時(shí)間點(diǎn)的不完全恢復(fù)。從Oracle 8之后的新版本中引入了基于表空間的時(shí)間點(diǎn)恢復(fù)(TSPITR),可以單獨(dú)將包含錯(cuò)誤操作的表空間恢復(fù)到指定時(shí)間,而不必對(duì)整個(gè)數(shù)據(jù)庫(kù)進(jìn)行不完全恢復(fù)。

針對(duì)存儲(chǔ)設(shè)備的失敗的情況比較復(fù)雜也是本文討論的重點(diǎn),存儲(chǔ)設(shè)備的失敗必然會(huì)使放置在其上的文件變?yōu)椴豢捎茫覀兿葘racle數(shù)據(jù)庫(kù)所涉及到的文件進(jìn)行一個(gè)劃分,主要可分為:Oracle的系統(tǒng)文件,指Oracle的運(yùn)行文件,各種應(yīng)用程序 ; 數(shù)據(jù)庫(kù)控制文件 ; 數(shù)據(jù)庫(kù)重做日志文件 ;數(shù)據(jù)文件; 歸檔日志文件 。

2.1 避免Oracle的系統(tǒng)文件失

敗主要依賴(lài)系統(tǒng)管理員進(jìn)行操作系統(tǒng)級(jí)的備份,當(dāng)發(fā)生事故后只能依靠操作系統(tǒng)備份將其恢復(fù)。

2.2 控制文件損壞

控制文件記錄了關(guān)于oracle的重要配置信息,如數(shù)據(jù)庫(kù)名、字符集名字、各個(gè)數(shù)據(jù)文件、日志文件的位置等等信息。控制文件的損壞,會(huì)導(dǎo)致數(shù)據(jù)庫(kù)異常關(guān)閉。一旦缺少控制文件,數(shù)據(jù)庫(kù)也無(wú)法啟動(dòng),這是一種比較嚴(yán)重的錯(cuò)誤。

首先可以通過(guò)查詢(xún)數(shù)據(jù)庫(kù)的日志文件來(lái)定位損壞了的控制文件。日志文件位于$ORACLE_BASE/admin/bdump/alert_ORCL.ora.

2.2.1損壞單個(gè)控制文件

① 確保數(shù)據(jù)庫(kù)已經(jīng)關(guān)閉,如果沒(méi)有用下面的命令來(lái)關(guān)閉數(shù)據(jù)庫(kù):svrmgrl>shutdown immediate;

② 查看初始化文件$ORACLE_BASE/admin/pfile/initORCL.ora,確定所有控制文件的路徑。

③ 用操作系統(tǒng)命令將其它正確的控制文件覆蓋錯(cuò)誤的控制文件。

④ 用下面的命令重新啟動(dòng)數(shù)據(jù)庫(kù) svrmgrl>startup;

⑤ 用適當(dāng)?shù)姆椒ㄟM(jìn)行數(shù)據(jù)庫(kù)全備份。

2.2.2損壞所有的控制文件

① 確保數(shù)據(jù)庫(kù)已經(jīng)關(guān)閉,如果沒(méi)有用下面的命令來(lái)關(guān)閉數(shù)據(jù)庫(kù):svrmgrl>shutdown immediate;

② 從相應(yīng)的備份結(jié)果集中恢復(fù)最近的控制文件。對(duì)于沒(méi)有采用帶庫(kù)備份的點(diǎn)可以直接從磁帶上將最近的控制文件備份恢復(fù)到相應(yīng)目錄;對(duì)于采用帶庫(kù)備份的點(diǎn)用相應(yīng)的rman腳本來(lái)恢復(fù)最近的控制文件。

③ 用下面的命令來(lái)創(chuàng)建產(chǎn)生數(shù)據(jù)庫(kù)控制文件的腳本:

svrmgrl>startup mount;

svrmgrl>alter database backup controlfile to trace noresetlogs;

④ 修改第三步產(chǎn)生的trace文件,將其中關(guān)于創(chuàng)建控制文件的一部分語(yǔ)句拷貝出來(lái)并做些修改,使得它能夠體現(xiàn)最新的數(shù)據(jù)庫(kù)結(jié)構(gòu)。假設(shè)產(chǎn)生的sql文件名字為createcontrol.sql.

注意:

Trace文件的具體路徑可以在執(zhí)行完第3)步操作后查看$ORACLE_BASE/admin/bdump/alert_ORCL.ora文件來(lái)確定。

⑤ 用下面命令重新創(chuàng)建控制文件:

svrmgrl>shutdown abort;

svrmgrl>startup nomount;

svrmgrl>@createcontrol.sql;

⑥ 用適當(dāng)?shù)姆椒ㄟM(jìn)行數(shù)據(jù)庫(kù)全備份。

2.3 重做日志文件損壞

數(shù)據(jù)庫(kù)的所有增、刪、改都會(huì)記錄入重做日志。如果當(dāng)前激活的重做日志文件損壞,會(huì)導(dǎo)致數(shù)據(jù)庫(kù)異常關(guān)閉。非激活的重做日志最終也會(huì)因?yàn)槿罩厩袚Q變?yōu)榧せ畹闹刈鋈罩?,所以損壞的非激活的重做日志最終也會(huì)導(dǎo)致數(shù)據(jù)庫(kù)的異常終止。在ipas/mSwitch中每組重做日志只有一個(gè)成員,所以在下面的分析中只考慮重做日志組損壞的情況,而不考慮單個(gè)重做日志成員損壞的情況。

2.3.1確定損壞的重做日志的位置及其狀態(tài)

① 如果數(shù)據(jù)庫(kù)處于可用狀態(tài):

select * from v$logfile;

svrmgrl>select * from v$log;

② 如果數(shù)據(jù)庫(kù)處于已經(jīng)異常終止:

svrmlgr>startup mount;

svrmgrl>select * from v$logfile;

svrmgrl>select * from v$log;

其中,logfile的狀態(tài)為INVALID表示這組日志文件出現(xiàn)已經(jīng)損壞;log狀態(tài)為Inactive:表示重做日志文件處于非激活狀態(tài);Active: 表示重做日志文件處于激活狀態(tài);Current:表示是重做日志為當(dāng)前正在使用的日志文件。

2.3.2損壞的日志文件處于非激活狀態(tài)

① 刪除相應(yīng)的日志組:

svrmgrl>alter database drop logfile group group_number;

② 重新創(chuàng)建相應(yīng)的日志組:

svrmgrl>alter database add log file group group_number (’log_file_descritpion’,…) size log_file_size;

2.3.3 損壞的日志文件處于激活狀態(tài)且為非當(dāng)前日志

① 清除相應(yīng)的日志組:

svrmgrl>alter database clear unarchived logfile group group_number;

2.3.4 損壞的日志文件為當(dāng)前活動(dòng)日志文件

① 用命令清除相應(yīng)的日志組:

svrmgrl>alter database clear unarchived logfile group group_number;

② 如果清除失敗,則只能做基于時(shí)間點(diǎn)的不完全恢復(fù)。

③ 打開(kāi)數(shù)據(jù)庫(kù)并且用適當(dāng)?shù)姆椒ㄟM(jìn)行數(shù)據(jù)庫(kù)全備份:

svrmgrl>alter database open;

2.4部分?jǐn)?shù)據(jù)文件損壞

若損壞的數(shù)據(jù)文件屬于非system表空間,則數(shù)據(jù)庫(kù)仍然可以處于打開(kāi)狀態(tài)可以進(jìn)行操作,只是損壞的數(shù)據(jù)文件不能訪問(wèn)。這時(shí)在數(shù)據(jù)庫(kù)打開(kāi)狀態(tài)下可以單獨(dú)對(duì)損壞的數(shù)據(jù)文件進(jìn)行恢復(fù)。若是system表空間的數(shù)據(jù)文件損壞則數(shù)據(jù)庫(kù)系統(tǒng)會(huì)異常終止。這時(shí)數(shù)據(jù)庫(kù)只能以Mount方式打開(kāi),然后再對(duì)數(shù)據(jù)文件進(jìn)行恢復(fù)??梢酝ㄟ^(guò)查看數(shù)據(jù)庫(kù)日志文件來(lái)判斷當(dāng)前損壞的數(shù)據(jù)文件到底是否屬于system表空間。

2.4.1非system表空間的數(shù)據(jù)文件損壞

① 確定損壞的文件名字:

svrmgrl>select name from v$datafile where status=’INVALID’;

② 將損壞的數(shù)據(jù)文件處于offline狀態(tài):

svrmgrl>alter database datafile ‘datafile_name’ offline;

③ 從相應(yīng)的備份結(jié)果集中恢復(fù)關(guān)于這個(gè)數(shù)據(jù)文件的最近的備份。對(duì)于沒(méi)有采用帶庫(kù)備份的點(diǎn)可以直接從磁帶上恢復(fù);對(duì)于用帶庫(kù)備份的點(diǎn)用相應(yīng)的rman腳本來(lái)恢復(fù)。

④ 恢復(fù)數(shù)據(jù)文件:

svrmgrl>alter database recover datafile ‘file_name’;

⑤ 使數(shù)據(jù)庫(kù)文件online:

svrmgrl>alter database datafile ‘datafile_name’ online;

⑥ 用適當(dāng)?shù)姆椒ㄟM(jìn)行數(shù)據(jù)庫(kù)全備份。

2.4.2 system表空間的數(shù)據(jù)文件損壞

① 以mount方式啟動(dòng)數(shù)據(jù)庫(kù)

svrmgrl>startup mount;

② 從相應(yīng)的備份結(jié)果集中恢復(fù)關(guān)于這個(gè)數(shù)據(jù)文件的最近的備份。對(duì)于沒(méi)有采用帶庫(kù)備份的點(diǎn)可以直接從磁帶上恢復(fù);對(duì)于用帶庫(kù)備份的點(diǎn)用相應(yīng)的rman腳本來(lái)恢復(fù)。

③ 恢復(fù)system表空間:

svrmgrl>alter database recover datafile ‘datafile_name’;

④ 打開(kāi)數(shù)據(jù)庫(kù):

svrmgrl>alter database open;

⑤ 用適當(dāng)?shù)姆椒ㄟM(jìn)行數(shù)據(jù)庫(kù)全備份。

2.5 歸檔文件損壞

歸檔文件或歸檔文件所處的物理位置不可用,首先shutdown數(shù)據(jù)庫(kù),立即作一個(gè)冷備份。然后修改ini文件中的歸檔日志文件目的路徑,重新啟動(dòng)數(shù)據(jù)庫(kù)。以后再發(fā)生災(zāi)難只需從最新的備份中將相關(guān)文件恢復(fù),數(shù)據(jù)庫(kù)作recover時(shí)就不需要備份之前丟失的歸檔文件了。在Oracle 8之后的新版本中提供了log_archive_duplex_dest和log_archive_dest_1...5等參數(shù)允許保留多份歸檔文件到不同位置,甚至到遠(yuǎn)端服務(wù)器從而保證歸檔文件的可靠性。

3 幾點(diǎn)數(shù)據(jù)庫(kù)恢復(fù)時(shí)的注意事項(xiàng)

1)該文討論所有情況的默認(rèn)前提是數(shù)據(jù)庫(kù)運(yùn)行在歸檔(ARCHIVELOG)模式下,并只涉及到一般常見(jiàn)的情況和最基本的恢復(fù)方法。使用Oracle提供的恢復(fù)管理器RMAN也能完成上述任務(wù),如果運(yùn)行環(huán)境比較復(fù)雜建議使用RMAN來(lái)做備份和恢復(fù)。

2)一旦數(shù)據(jù)庫(kù)發(fā)生災(zāi)難,最好在進(jìn)行恢復(fù)之前做一次完全的冷備份,以便在進(jìn)行恢復(fù)時(shí)產(chǎn)生差錯(cuò)還可以進(jìn)行補(bǔ)救。很大一部分?jǐn)?shù)據(jù)丟失是由于不正確的恢復(fù)操作所引起的。

3)當(dāng)數(shù)據(jù)庫(kù)完成恢復(fù)之后,尤其是使用resetlogs選項(xiàng)打開(kāi)數(shù)據(jù)庫(kù)之后,要馬上關(guān)閉數(shù)據(jù)庫(kù)進(jìn)行一次完全的冷備份。因?yàn)?,為防止放棄的重做日志被下次恢?fù)時(shí)再次運(yùn)用,resetlogs選項(xiàng)會(huì)重新創(chuàng)建redo log文件并將其的計(jì)數(shù)清零,這將使之前做的所有備份將變?yōu)椴豢捎?一般情況下)。

4)要特別注意當(dāng)進(jìn)行數(shù)據(jù)庫(kù)完全恢復(fù),從發(fā)生故障的時(shí)間點(diǎn)前的備份中恢復(fù)損壞文件時(shí),一定不要使備份中的redo log文件覆蓋了當(dāng)前的redo log文件,否則就只能進(jìn)行不完全恢復(fù)并且要丟失一部分?jǐn)?shù)據(jù)了。

4 結(jié)束語(yǔ)

要充分意識(shí)到數(shù)據(jù)備份的重要性,恢復(fù)都是基于備份基礎(chǔ)之上的。 當(dāng)數(shù)據(jù)庫(kù)出現(xiàn)故障時(shí)要依據(jù)備份的策略作出及時(shí)、有效的恢復(fù)策略,以便確保數(shù)據(jù)的完全恢復(fù)。

參考文獻(xiàn):

[1] 李佩鐸.Oracle數(shù)據(jù)庫(kù)備份和恢復(fù)優(yōu)化[J].醫(yī)療設(shè)備信息, 2007(3):47,85.

[2] 于鴻飛,黃昊,柯新華,等.醫(yī)院信息系統(tǒng)備份與恢復(fù)方案的實(shí)現(xiàn)方法[J].醫(yī)療設(shè)備信息,2003(4):20-21.

[3] 孟剛,蘭世龍,汪新建.HIS系統(tǒng)數(shù)據(jù)庫(kù)恢復(fù)方法分析[J].西南軍醫(yī),2009(3):536-537.

[4] 薛竑煒.基于BACKUP EXEC 11D的SQL Server 2005備份與恢復(fù)[J].電腦知識(shí)與技術(shù),2008(30):545-548.

主站蜘蛛池模板: 丁香六月激情婷婷| 亚洲美女一级毛片| 亚洲天堂.com| 爆操波多野结衣| 欧美亚洲欧美| 久久亚洲中文字幕精品一区| 日本高清免费一本在线观看| 国产成人免费观看在线视频| 美女无遮挡拍拍拍免费视频| 亚洲国产91人成在线| lhav亚洲精品| 久久久噜噜噜久久中文字幕色伊伊 | 91精品国产综合久久香蕉922| 国产女同自拍视频| 国产在线一二三区| 国产精品久久久久鬼色| 国产黄在线免费观看| 亚洲AV免费一区二区三区| 亚洲欧美日韩另类在线一| 九九香蕉视频| 国产高清不卡视频| 精品久久综合1区2区3区激情| 中文字幕一区二区视频| 国产成人精品2021欧美日韩| 国产精品亚洲一区二区在线观看| 蜜芽国产尤物av尤物在线看| 欧美综合区自拍亚洲综合天堂| 久久超级碰| 波多野结衣视频一区二区| 欧美综合激情| 国产女人在线| 色香蕉影院| 91网红精品在线观看| 无码一区二区三区视频在线播放| 国产黄网永久免费| 久久国产高清视频| 好吊日免费视频| 国产在线观看99| 亚洲精品国产精品乱码不卞| 在线观看视频一区二区| 97se亚洲综合在线| 一本久道久综合久久鬼色| 亚洲一区国色天香| 毛片网站免费在线观看| 久久精品国产精品青草app| AV无码一区二区三区四区| 99在线国产| 黄色在线网| 久草视频精品| 狠狠亚洲五月天| 亚洲三级网站| 欧美一区二区精品久久久| 亚洲国产黄色| 色屁屁一区二区三区视频国产| 国产在线无码一区二区三区| 亚洲区视频在线观看| 欧美.成人.综合在线| 久久婷婷六月| 青草精品视频| 91福利免费视频| 九九这里只有精品视频| 成人在线综合| 99久久免费精品特色大片| 国产成人在线无码免费视频| 国产精品第一区| 久久国产V一级毛多内射| 高潮毛片免费观看| 99精品国产自在现线观看| 99中文字幕亚洲一区二区| 国产一级片网址| 午夜人性色福利无码视频在线观看| 亚洲人成网站18禁动漫无码| 三级欧美在线| 这里只有精品在线播放| 亚洲成年人片| 欧美日韩成人在线观看| 亚洲天堂免费观看| 99偷拍视频精品一区二区| 国产在线观看精品| 国产精品视频猛进猛出| 91精品国产一区| 欧美日韩第三页|