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

首頁 > 開發 > 綜合 > 正文

用戶自定義的數據庫修復

2024-07-21 02:08:29
字體:
來源:轉載
供稿:網友



用戶自定義的數據庫恢復

一、             自動應用重做日志

1、  利用set  autorecovery命令自動應用重做日志

完成對數據文件的修復操作

sql>startup  mount; 啟動實例并加載數據庫

sql>set  autorecovery  on 啟用重做日志自動應用功能

sql>recover  database 恢復指定表空間、數據文件或整個數據庫

sql>alter  database  open; 完成恢復后打開數據庫

2、  利用recovery  automatic命令自動應用重做日志

完成對數據文件的修復操作

sql>startup  mount; 啟動實例并加載數據庫

sql>recover  automatic  database

sql>alter  database  open; 完成恢復后打開數據庫

二、             不歸檔模式下的數據庫介質恢復

1、  將數據庫恢復到原來的位置上

sql>shutdown  immediate 如果數據庫仍然處于打開狀態,關閉數據庫;

將數據庫文件恢復到原來的位置上,利用最近一次建立的一致性完全備份對整個數據庫進行恢復,必須對所有的數據文件與控制文件進行修復;

sql>recover  database  until  cancel

sql>cancel

sql>alter  database  open resetlogs;將當前重做日志順序號設置為1。

2、  將數據庫恢復到新的位置上

   sql>shutdown  immediate 如果數據庫仍然處于打開狀態,關閉數據庫;

   將數據庫文件恢復到新的位置上,利用最近一次建立的一致性完全備份對整個數據庫進行恢復,必須對所有的數據文件與控制文件進行修復;

   對初始化參數文件中的control_files參數進行編輯,使它執行保存在新位置中修復后的控制文件;

   sql>startup  mount

   如果修復后的數據庫文件處于新的位置,必須利用alter  database rename  file語句對控制文件進行修改,使它指向新位置中修復后的數據文件。如:

    sql>alter  database  rename  file  ‘i:/ora9i/oradata ystem01.dbf’  to  ‘k:/oracle/oradata ystem01.dbf’;

sql>recover  database  until  cancel

sql>cancel

sql>alter  database  open resetlogs;將當前重做日志順序號設置為1。

三、             歸檔模式下的完全介質恢復

1、  關閉狀態下的完全恢復

sql>shutdown  abort(如果數據庫處于打開狀態,將它強行關閉)

將數據文件恢復到原來的位置上,如果介質故障無法排除,需要將數據文件恢復到其它位置上;

利用備份修復丟失或損壞的數據文件,也可利用alter  database  create  datafile 語句重建一個空白的數據文件替換對視或損壞的數據文件;

sql>startup  mount

如果修復后的數據文件不在原來的位置上,需要使用alter  database  rename  file …to …語句在控制文件中更新它們的信息

sql>select  name,status  from  v$datafile;查詢數據文件的名稱和狀態

sql>alter  database  datafile … online;將脫機數據文件改未聯機

sql>recover  database  或 sql>recover  tablespace  users

或 sql>recover  datafile  ‘i:/ora9i/oradata/users0.dbf;

sql>alter  database  open;

2、  打開狀態下的完全介質恢復

sql>select d.file# f#,d.name,d.status,h.status from v$datafile d,v$datafile_header h

     where  d.file#=h.file#;查詢哪些數據文件被自動設置為脫機狀態;

sql>alter  tablespace  users  offline  temporary;將包含損壞數據文件的表空間設置為脫機狀態;

將數據文件恢復到原來的位置上,如果介質故障無法排除,需要將數據文件恢復到其它位置上;

利用備份修復丟失或損壞的數據文件;

如果修復后的數據文件不在原來的位置上,需要使用alter  database  rename  file …to …語句在控制文件中更新它們的信息

sql>recover  tablespace  users  automatic對包含損壞數據文件的脫機表空間進行恢復;

sql>alter  tablespace  users  online;

四、             歸檔模式下的不完全介質恢復

1、  不完全恢復的操作準則;

在恢復前后都對數據庫進行完全備份

完成不完全介質恢復后,檢查數據庫是否已經恢復到了目標時刻下的狀態;

完成不完全介質恢復后,將歸檔重做日志文件移動到其它位置保存。

2、  基于時間的不完全恢復

對數據庫進行一次完全備份,包括控制文件和所有的聯機重做日志文件

sql>shutdown  abort

確定不完全介質恢復的目標時間,即你需要將數據庫恢復到哪個時刻下的狀態,然后確定需要使用哪些備份來對數據進行修復,數據庫修復所使用的控制文件備份應當能夠正確反映出目標時刻下數據庫的物理結構,所使用的數據文件備份應當是在目標時刻之前創建的,而且必須修復所有的數據文件,

如果沒有在目標時刻之前建立的數據文件備份,需要重新創建空白的數據文件

如果在數據庫中包含在目標時刻之后建立的數據文件,不要對這個數據文件進行修復,因為在完成不完全恢復后的數據庫中根本不應當存在這個數據文件;

將數據文件恢復到原來的位置上,如果介質故障無法排除,則恢復到其它位置上;

利用選定的備份文件修復所有的控制文件和數據文件;

sql>startup  mount 啟動實例并加載數據庫;

如果修復后的數據文件不在它們原來的位置上,需使用alter database rename  file … to …語句在控制文件中更新它們的信息;

sql>select  name,status  from  v$datafile;確定所有數據文件都處于聯機

sql>alter  database  datafile … online;將數據文件恢復為聯機;

sql>recover  database  until  time ‘2004-02-01:12:30:30’

如果控制文件是利用備份修復的,必須在recover名利中指定using  backup controlfile子句;

sql>alter  database  open  resetlogs;

立即對數據庫進行一次完全備份。

3、  基于撤銷的不完全恢復

sql>recover  database  until  cancel

其它步驟同基于時間的不完全恢復

4、  基于scn的不完全恢復

在進行基于scn的不完全恢復時,oracle會在應用了所有具有小于等于指定scn的事務的重做記錄之后終止恢復過程

 

resetlogs選項

在如下三種情況下,必須使用resetlogs選項打開數據庫:

1、  在執行任何類型的不完全介質恢復之后;

2、  在使用備份修復控制文件后(在recover命令中使用using backup controlfile子句);

在沒有聯機重做日志文件備份的情況下對不歸檔數據庫進行完全恢復之后。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永兴县| 临海市| 嘉黎县| 甘肃省| 保靖县| 福鼎市| 紫云| 云南省| 茌平县| 沽源县| 无棣县| 江门市| 台湾省| 西畴县| 师宗县| 弥渡县| 札达县| 天等县| 昭觉县| 萨迦县| 靖江市| 万年县| 龙江县| 崇州市| 防城港市| 安图县| 北海市| 金沙县| 吉木乃县| 渝中区| 津南区| 青神县| 塘沽区| 黑龙江省| 萨迦县| 浙江省| 增城市| 佛学| 肥西县| 留坝县| 阿勒泰市|