国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > 綜合 > 正文

數(shù)據(jù)庫(kù)系統(tǒng)緊急故障處理方法

2024-07-21 02:13:13
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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)一步處理。

  控制文件損壞:

  控制文件記錄了關(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ò)誤。

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

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

  svrmgrl>shutdown immediate;

  2. 查看初始化文件$oracle_base/admin/pfile/initorcl.ora,確定所有控制文件的路徑。
 
  3. 用操作系統(tǒng)命令將其它正確的控制文件覆蓋錯(cuò)誤的控制文件。

  4. 用下面的命令重新啟動(dòng)數(shù)據(jù)庫(kù):

  svrmgrl>startup;

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

  損壞所有的控制文件:

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

  svrmgrl>shutdown immediate;

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

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

svrmgrl>startup mount;

svrmgrl>alter database backup controlfile to trace noresetlogs;

  4. 修改第三步產(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)確定。

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

  svrmgrl>shutdown abort;

  svrmgrl>startup nomount;

  svrmgrl>@createcontrol.sql;

  

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

  重做日志文件損壞:

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

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

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

  select * from v$logfile;

  svrmgrl>select * from v$log;

  2. 如果數(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)前正在使用的日志文件。

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

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

  svrmgrl>alter database drop logfile group group_number;

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

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

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

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

  svrmgrl>alter database clear unarchived logfile group group_number;

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

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

  svrmgrl>alter database clear unarchived logfile group group_number;

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

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

  svrmgrl>alter database open;

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

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

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

  1. 確定損壞的文件名字:

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

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

  svrmgrl>alter database datafile ‘datafile_name’ offline;

  3. 從相應(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ù)。

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

  svrmgrl>alter database recover datafile ‘file_name’;

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

  svrmgrl>alter database datafile ‘datafile_name’ online;

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

  

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

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

  svrmgrl>startup mount;

  2. 從相應(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ù)。

  3. 恢復(fù)system表空間:

  svrmgrl>alter database recover datafile ‘datafile_name’;
 
  4. 打開數(shù)據(jù)庫(kù):

  svrmgrl>alter database open;

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

  表空間損壞:

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

  非system表空間損壞:

  1. 將損壞的表空間處于offline狀態(tài):
 
  svrmgrl>alter tablespace ‘tablespace_name’ offline;

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

  3. 恢復(fù)表空間:

  svrmgrl>alter database recover tablespace ‘tablespace_name’;

  4. 使表空間online:

  svrmgrl>alter tablespace ‘tablespace_name’ online;

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

  system表空間損壞:

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

  svrmgrl>startup mount;

  2. 從相應(yīng)的備份結(jié)果集中恢復(fù)system表空間最近的備份。對(duì)于沒(méi)有采用帶庫(kù)備份的點(diǎn)可以直接從磁帶上恢復(fù);對(duì)于用帶庫(kù)備份的點(diǎn)用相應(yīng)的rman腳本來(lái)恢復(fù)。

  3. 恢復(fù)system表空間:

  svrmgrl>alter database recover tablespace system;

  4. 打開數(shù)據(jù)庫(kù):

  svrmgrl>alter database open;

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

  整個(gè)數(shù)據(jù)庫(kù)的所有文件損壞:

  整個(gè)數(shù)據(jù)庫(kù)所有文件的損壞一般是在共享磁盤陣列發(fā)生無(wú)法恢復(fù)的災(zāi)難時(shí)才發(fā)生,這種情況下只能對(duì)數(shù)據(jù)庫(kù)進(jìn)行恢復(fù)。若數(shù)據(jù)庫(kù)的歸檔目錄也已經(jīng)丟失,則數(shù)據(jù)庫(kù)不可能做完全恢復(fù),會(huì)有用戶數(shù)據(jù)的丟失。

  沒(méi)采用帶庫(kù)備份的現(xiàn)場(chǎng):

  1. 將最近的備份從磁帶上把各個(gè)文件解包到相應(yīng)的目錄下。

  2. 以mount方式打開數(shù)據(jù)庫(kù):
 
  svrmgrl>startup mount;

  3. 恢復(fù)數(shù)據(jù)庫(kù):

  svrmgrl>recover database until cancel;

  4. 打開數(shù)據(jù)庫(kù):

  svrmgrl>alter database open resetlogs;

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

  采用帶庫(kù)備份的現(xiàn)場(chǎng):

  1. 以nomount方式打開數(shù)據(jù)庫(kù):

  svrmgrl>startup nomount;

  2. 通過(guò)相應(yīng)的rman腳本進(jìn)行數(shù)據(jù)庫(kù)軟恢復(fù)。

  $rman cmdfile=hot_database_restore.rcv

  3. 打開數(shù)據(jù)庫(kù):

  svrmgrl>alter database open resetlogs;

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

  存在最近的數(shù)據(jù)庫(kù)完整冷備份前提下的一些經(jīng)典緊急情況的處理:

  數(shù)據(jù)文件,歸檔重作日志和控制文件同時(shí)丟失或損壞:

  無(wú)新增archives 時(shí)的狀況:
 
  條件和假設(shè):自上次鏡像備份以來(lái)尚未生成新的archive log(s); archivelog mode; 有同步的datafile(s) 和control file(s) 的鏡像(冷)拷貝

  恢復(fù)步驟:

  1. 將鏡像拷貝的datafile(s) 和control file(s) 抄送回原始地點(diǎn):

  $ cp /backup/good_one.dbf /orig_loc/bad_one.dbf

  $ cp /backup/control1.ctl /disk1/control1.ctl

  2. 以mount 選項(xiàng)啟動(dòng)數(shù)據(jù)庫(kù):

  $ svrmgrl
 
  svrmgrl> connect internal

  svrmgrl> startup mount

  3. 以舊的control file 來(lái)恢復(fù)數(shù)據(jù)庫(kù):

  svrmgrl> recover database using backup controlfile until cancel;

  *** 介質(zhì)恢復(fù)完成
  
  (必須馬上cancel )

  4. reset the logfiles (對(duì)啟動(dòng)而言不可省略):

  svrmgrl> alter database open resetlogs;

  5. 關(guān)閉數(shù)據(jù)庫(kù)并做一次全庫(kù)冷備份。

  

新增archives 時(shí)的狀況:

  條件和假設(shè):自上次鏡像備份以來(lái)已經(jīng)生成新的archive log(s); archivelog mode; 有同步的datafile(s) 和control file(s) 的鏡像(冷)拷貝;archive log(s) 可用。

  恢復(fù)步驟:

  1. 如果數(shù)據(jù)庫(kù)尚未關(guān)閉,則首先把它關(guān)閉:

  $ svrmgrl
 
  svrmgrl> connect internal

  svrmgrl> shutdown abort

  2. 將備份文件抄送回原始地點(diǎn):

  所有database files

  所有control files(沒(méi)有archive(s) 或redo(s) 的情況下,control files 的更新無(wú)任何意義)

  所有on-line redo logs (not archives)

  init.ora file(選項(xiàng))

  3. 啟動(dòng)數(shù)據(jù)庫(kù):

  $ svrmgrl

  svrmgrl> connect internal

  svrmgrl> startup

  數(shù)據(jù)文件, 重作日志和控制文件同時(shí)丟失或損壞:

  條件和假設(shè):archivelog mode; 有同步的所有所失文件的鏡像(冷)拷貝;archive log(s) 可用

  恢復(fù)步驟(必須采用不完全恢復(fù)的手法):
  
  1. 如果數(shù)據(jù)庫(kù)尚未關(guān)閉,則首先把它關(guān)閉:

  $ svrmgrl

  svrmgrl> connect internal

  svrmgrl> shutdown abort

  2. 將備份文件抄送回原始地點(diǎn):

  所有database files

  所有control files

  所有on-line redo logs(not archives)

  init.ora file(選項(xiàng))

  3. 啟動(dòng)數(shù)據(jù)庫(kù)然而并不打開:

  svrmgrl>startup mount

  4. 做不完全數(shù)據(jù)庫(kù)恢復(fù),應(yīng)用所有從上次鏡像(冷)備份始積累起來(lái)的archives:

  svrmgrl> recover database until cancel using backup controlfile;

  ......
  ......

  cancel

  5. reset the logfiles (對(duì)啟動(dòng)而言不可省略):

  svrmgrl> alter database open resetlogs;
 
  6. 關(guān)閉數(shù)據(jù)庫(kù)并做一次全庫(kù)冷備份。

  數(shù)據(jù)文件和控制文件同時(shí)丟失或損壞:

  條件和假設(shè):archivelog mode; 有同步的datafile(s) 和control file(s) 的冷拷貝;archive log(s) 可用

  

恢復(fù)步驟:

  1. 將冷拷貝的datafiles(s) 和control file(s) 抄送回原始地點(diǎn):

  $ cp /backup/good_one.dbf /orig_loc/bad_one.dbf

  $ cp /backup/control1.ctl /disk1/control1.ctl

  2. 以mount 選項(xiàng)啟動(dòng)數(shù)據(jù)庫(kù):

  $ svrmgrl

  svrmgrl> connect internal

  svrmgrl> startup mount
  
  3. 以舊的control file 來(lái)恢復(fù)數(shù)據(jù)庫(kù):

  svrmgrl> recover database until cancel using backup controlfile;

  *** 介質(zhì)恢復(fù)完成

  (須在應(yīng)用完最后一個(gè)archive log 后cancel )

  4. reset the logfiles (對(duì)啟動(dòng)而言不可省略):

  svrmgrl> alter database open resetlogs;

  重作日志和控制文件同時(shí)丟失或損壞時(shí):

  條件和假設(shè):control files 全部丟失或損壞;archivelog mode; 有control files 的鏡像(冷)拷貝。
  
  恢復(fù)步驟:

  1. 如果數(shù)據(jù)庫(kù)尚未關(guān)閉,則首先把它關(guān)閉:

  $ svrmgrl

  svrmgrl> connect internal

  svrmgrl> shutdown abort

  svrmgrl>exit

  2. 以control file 的鏡像(冷)拷貝覆蓋損壞了的control file:

  $ cp /backup/control1.ctl /disk1/control1.ctl

  3. 啟動(dòng)數(shù)據(jù)庫(kù)然而并不打開:

  $ svrmgrl

  svrmgrl> connect internal

  svrmgrl> startup mount

  4. drop 壞掉的redo log (排除硬件故障):

  svrmgrl> alter database drop logfile group 2;

  5. 重新創(chuàng)建redo log:

  svrmgrl> alter database add logfile group 2 '/orig_loc/log2.dbf' size 10m;
  
  6. 以舊的control file 來(lái)恢復(fù)數(shù)據(jù)庫(kù):
  
  svrmgrl> recover database until cancel using backup controlfile;

  (必須馬上cancel )

  7. reset the logfiles (對(duì)啟動(dòng)而言不可省略):

  svrmgrl> alter database open resetlogs;

  8. 關(guān)閉數(shù)據(jù)庫(kù)并做一次全庫(kù)冷備份

  只發(fā)生歸檔重作日志丟失或損壞時(shí):

  根據(jù)不同環(huán)境和情況,選擇下述手段之一:

  a. 馬上backup 全部datafiles (如果系統(tǒng)采用一般熱備份或rman 熱備份)

  b. 馬上正常關(guān)閉數(shù)據(jù)庫(kù)并進(jìn)行冷備份(如果系統(tǒng)采用冷備份)

  c. 冒險(xiǎn)前進(jìn)!不做備份而讓數(shù)據(jù)庫(kù)接著跑,直等到下一個(gè)備份周期再做備份。這是在賭數(shù)據(jù)庫(kù)在下一個(gè)備份周期到來(lái)之前不會(huì)有需要恢復(fù)的錯(cuò)誤發(fā)生。

  注意:冒險(xiǎn)前進(jìn)的選擇:如果發(fā)生錯(cuò)誤而需要數(shù)據(jù)庫(kù)恢復(fù),則最多只能恢復(fù)到出問(wèn)題archive log 之前的操作現(xiàn)場(chǎng)。從另一個(gè)角度講,archive log(s) 出現(xiàn)問(wèn)題時(shí),數(shù)據(jù)庫(kù)若不需要恢復(fù)則其本身并沒(méi)有任何問(wèn)題。

  
oracle邏輯結(jié)構(gòu)故障的處理方法:

  邏輯結(jié)構(gòu)的故障一般指由于人為的誤操作而導(dǎo)致重要數(shù)據(jù)丟失的情況。在這種情況下數(shù)據(jù)庫(kù)物理結(jié)構(gòu)是完整的也是一致的。對(duì)于這種情況采取對(duì)原來(lái)數(shù)據(jù)庫(kù)的全恢復(fù)是不合適的,我們一般采用三種方法來(lái)恢復(fù)用戶數(shù)據(jù)。
   
  采用exp/imp工具來(lái)恢復(fù)用戶數(shù)據(jù):

  如果丟失的數(shù)據(jù)存在一個(gè)以前用exp命令的備份,則可以才用這種方式。

  1. 在數(shù)據(jù)庫(kù)內(nèi)創(chuàng)建一個(gè)臨時(shí)用戶:

  svrmgrl>create user test_user identified by test;

  svrmgrl>grant connect,resource to test_user;

  2. 從以前exp命令備份的文件中把丟失數(shù)據(jù)的表按照用戶方式倒入測(cè)試用戶:

$imp system/manager file=export_file_name tables=(lost_data_table_name…) fromuser=lost_data_table_owner touser=test_user constraint=n;

  3. 用相應(yīng)的dml語(yǔ)句將丟失的數(shù)據(jù)從測(cè)試用戶恢復(fù)到原用戶。

  4. 將測(cè)試用戶刪除:

  svrmgrl>drop user test_user cascede;
  
  采用logminer來(lái)恢復(fù)用戶數(shù)據(jù):

  logminer是oracle提供的一個(gè)日志分析工具。它可以根據(jù)數(shù)據(jù)字典對(duì)在線聯(lián)機(jī)日志、歸檔日志進(jìn)行分析,從而可以獲得數(shù)據(jù)庫(kù)的各種dml操作的歷史記錄以及各種dml操作的回退信息。根據(jù)這些用戶就可以將由于誤操作而丟失的數(shù)據(jù)重新加入數(shù)據(jù)庫(kù)內(nèi)。

  1. 確認(rèn)數(shù)據(jù)庫(kù)的utl_file_dir參數(shù)已經(jīng)設(shè)置,如果沒(méi)有則需要把這個(gè)參數(shù)加入oracle的初始化參數(shù)文件,然后重新啟動(dòng)數(shù)據(jù)庫(kù)。下面例子中假設(shè)utl_file_dir=’/opt/oracle/db01’;

  2. 創(chuàng)建logminer所需要的數(shù)據(jù)字典信息,假設(shè)生成的數(shù)據(jù)字典文本文件為dict.ora:

svrmgrl>execute dbms_logmnr_d.build(dictionary_filename=>'dict.ora', dictionary_location=>'/opt/oracle/db01’);

  3. 確定所需要分析的日志或者歸檔日志的范圍。這可以根據(jù)用戶誤操作的時(shí)間來(lái)確定大概的日志范圍。假設(shè)用戶誤操作時(shí)可能的日志文件為/opt/oracle/db02/oradata/orcl/redo3.log和歸檔日志’/opt/oracle/arch/orcl/orclarc_1_113.ora’。

  4. 創(chuàng)建要分析的日志文件列表,按日志文件的先后順序依次加入:

  svrmgrl>execute dbms_logmnr.add_logfile(logfilename=>’/opt/oracle/arch/orcl/orclarc_1_113.ora’,options=>dbms_logmnr.new);

svrmgrl> execute dbms_logmnr.add_logfile(logfilename=>’ /opt/oracle/db02/oradata/orcl/redo3.log’,options=>dbms_logmnr.addfile);

  5. 開始日志分析,假設(shè)需要分析的時(shí)間在’2003-06-28 12:00:00’和’2003-06-28 13:00:00’之間:

  svrmgrl>execute dbms_logmnr.start_logmnr(dictfilename=>’ /opt/oracle/db01/dict.ora’,starttime=>to_date(’ 2003-06-28 12:00:00’,’yyyy-mm-dd hh:mi:ss’),endtime=>to_date(to_date(‘2003-06-28 13:00:00’,’yyyy-mm-dd hh:mi:ss’));

  6. 獲取分析結(jié)果:

  svrmgrl>select operation,sql_redo,sql_undo from v$logmnr_contents;
 
  7. 根據(jù)分析結(jié)果修復(fù)數(shù)據(jù)。

  8.結(jié)束logmnr:

  svrmgrl>dbms_logmnr.end_logmnr;

  9. 用適當(dāng)?shù)姆椒▽?duì)原數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)庫(kù)全備份。利用備份恢復(fù)用戶數(shù)據(jù):

  采用這種方法時(shí)并不是在原數(shù)據(jù)庫(kù)進(jìn)行恢復(fù),而是利用數(shù)據(jù)庫(kù)備份在新的機(jī)器上重新建立一個(gè)新的數(shù)據(jù)庫(kù)。通過(guò)備份恢復(fù)在新機(jī)器上將數(shù)據(jù)庫(kù)恢復(fù)到用戶誤操作前,這樣就可以獲得丟失的數(shù)據(jù)將其恢復(fù)到原數(shù)據(jù)庫(kù)。
                                 
  1. 在新的機(jī)器上安裝數(shù)據(jù)庫(kù)軟件。

  2.  對(duì)于采用帶庫(kù)備份的現(xiàn)場(chǎng),需要在新的數(shù)據(jù)庫(kù)服務(wù)器上安裝調(diào)試相應(yīng)的備份管軟件。

  3. 根據(jù)用戶誤操作的時(shí)間點(diǎn)進(jìn)行基于時(shí)間點(diǎn)的數(shù)據(jù)庫(kù)恢復(fù)操作。對(duì)于沒(méi)有采用帶庫(kù)備份的現(xiàn)場(chǎng),可以選取用戶誤操作前最近的備份磁帶進(jìn)行恢復(fù);對(duì)于才用帶庫(kù)備份的點(diǎn)可以通過(guò)基于時(shí)間恢復(fù)點(diǎn)恢復(fù)的rman腳本來(lái)進(jìn)行恢復(fù)。

  4.重新打開數(shù)據(jù)庫(kù):

  svrmgrl>alter database open resetlogs;

  5. 從新的數(shù)據(jù)庫(kù)中獲取丟失的用戶數(shù)據(jù),通過(guò)dml操作將其恢復(fù)到原數(shù)據(jù)庫(kù)中。

  6. 用適當(dāng)?shù)姆椒▽?duì)原數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)庫(kù)全備份。

最大的網(wǎng)站源碼資源下載站,

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 泸溪县| 易门县| 九寨沟县| 翁牛特旗| 隆子县| 高要市| 乡城县| 淄博市| 锦州市| 崇阳县| 肃北| 内丘县| 多伦县| 广昌县| 延津县| 增城市| 肃北| 奉节县| 罗源县| 铁岭市| 阿坝县| 新余市| 彭水| 通山县| 宁陵县| 衡阳县| 内乡县| 普洱| 长丰县| 拉萨市| 武定县| 金湖县| 深水埗区| 临西县| 太原市| 江川县| 汽车| 巴中市| 措美县| 花莲县| 石首市|