久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Oracle備份恢復(fù)的方法有哪些

165次閱讀
沒有評論

共計 11100 個字符,預(yù)計需要花費(fèi) 28 分鐘才能閱讀完成。

這篇“Oracle 備份恢復(fù)的方法有哪些”文章的知識點(diǎn)大部分人都不太理解,所以丸趣 TV 小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Oracle 備份恢復(fù)的方法有哪些”文章吧。

一、不同場景在滿足不同的條件時的恢復(fù)方法:

二、針對不同的恢復(fù)方法給出具體的恢復(fù)思路:

2.1、通過重新拷貝冗余的控制文件

1、在線或者關(guān)閉數(shù)據(jù)庫后損壞了其中部分控制文件;
2、shutdown abort 關(guān)閉數(shù)據(jù)庫;
3、拷貝其中一個完好的控制文件;
4、startup 啟動數(shù)據(jù)庫。

2.2、  通過備份控制文件進(jìn)行完全恢復(fù)

1、在線或者關(guān)閉數(shù)據(jù)庫后損壞了所有控制文件;
2、shutdown abort 關(guān)閉數(shù)據(jù)庫;
3、startup nomount 啟動數(shù)據(jù)庫;
4、restore controlfile from‘xxx’; 從備份中還原控制文件;
5、alter database mount;
5、recover database using backup controlfile until cancel,在執(zhí)行時選擇 auto 自動應(yīng)用所有的歸檔文件;
6、再次執(zhí)行 recover database using backup controlfile until cancel,選擇應(yīng)用未歸檔的 redo 文件;
7、alter database open resetlogs;

 2.3、通過備份控制文件進(jìn)行不完全恢復(fù)

1、在線或者關(guān)閉數(shù)據(jù)庫后損壞了所有控制文件;
2、shutdown abort 關(guān)閉數(shù)據(jù)庫;
3、startup nomount 啟動數(shù)據(jù)庫;
4、restore controlfile from‘xxx’; 從備份中還原控制文件;
5、alter database mount;
6、recover database using backup controlfile until cancel,在執(zhí)行時選擇 auto 自動應(yīng)用盡可能多的歸檔文件;
7、alter database open resetlogs;

2.4、通過備份控制文件進(jìn)行重建的恢復(fù)(noresetlogs 方式)
1、在線或者關(guān)閉數(shù)據(jù)庫后損壞了所有控制文件;
2、shutdown abort 關(guān)閉數(shù)據(jù)庫;
3、startup nomount 啟動數(shù)據(jù)庫;
4、restore controlfile from‘xxx’; 從備份中還原控制文件;
5、alter database mount;
6、alter database backup controlfile to trace,生成創(chuàng)建控制文件的腳本;
7、shutdown immediate 并啟動到 startup nomount 狀態(tài);
8、使用 noresetlogs 方式創(chuàng)建控制文件;
9、recover database 恢復(fù)數(shù)據(jù)庫;
10、恢復(fù)完后通過 alter database open 打開數(shù)據(jù)庫;

2.5、通過備份控制文件進(jìn)行重建的恢復(fù)(resetlogs 方式)

1、在線或者關(guān)閉數(shù)據(jù)庫后損壞了所有控制文件;
2、shutdown abort 關(guān)閉數(shù)據(jù)庫;
3、startup nomount 啟動數(shù)據(jù)庫;
4、restore controlfile from‘xxx’; 從備份中還原控制文件;
5、alter database mount;
6、alter database backup controlfile to trace,生成創(chuàng)建控制文件的腳本;
7、shutdown immediate 并啟動到 startup nomount 狀態(tài)
8、使用 resetlogs 方式創(chuàng)建控制文件;
9、如果未歸檔的 redo 文件可用時,則直接 recover database,然后選用未歸檔的 redo 文件應(yīng)用,
最后通過 alter database open resetlogs 方式打開數(shù)據(jù)庫。
10、如果未歸檔的 redo 文件不可用時,則需要設(shè)置隱含參數(shù)_allow_resetlogs_corruption 為 true 跳
過一致性檢查,最后用 alter database open resetlogs 方式打開數(shù)據(jù)庫。
注:打開數(shù)據(jù)庫后很多情況下會出現(xiàn)需要推進(jìn) scn 的問題。

2.6、通過手工重建的控制文件進(jìn)行恢復(fù)(noresetlogs 方式)

1、在線或者關(guān)閉數(shù)據(jù)庫后損壞了所有控制文件;
2、shutdown abort 關(guān)閉數(shù)據(jù)庫;
3、startup nomount 啟動數(shù)據(jù)庫;
4、構(gòu)造控制文件;
下面的步驟參考 2.4 的第八步;

2.7、通過手工重建的控制文件進(jìn)行恢復(fù)(resetlogs 方式)

1、在線或者關(guān)閉數(shù)據(jù)庫后損壞了所有控制文件;
2、shutdown abort 關(guān)閉數(shù)據(jù)庫;
3、startup nomount 啟動數(shù)據(jù)庫;
4、構(gòu)造控制文件;
下面的步驟參考 2.5 的第八步;

三、模擬幾種恢復(fù)方法的操作:

下面主要對這三種恢復(fù)方法(通過備份控制文件進(jìn)行完全恢復(fù)、通過備份控制文件進(jìn)行重建的恢復(fù)(noresetlogs 方式)、通過備份控制文件進(jìn)行重建的恢復(fù)(resetlogs 方式))的操作模擬,因為其他的幾種恢復(fù)方法要么比較簡單要么跟這三種方法共通。

3.1、通過備份控制文件進(jìn)行完全恢復(fù)

1、查看數(shù)據(jù)庫基本信息和數(shù)據(jù)庫狀態(tài)      
SQL show parameter db_name

NAME                                 TYPE        VALUE
———————————— ———– ——————————
db_name                              string      leonliao

SQL show parameter control_files

NAME                                 TYPE        VALUE
———————————— ———– ——————————
control_files                        string      /home/oracle/oradata/leonliao/
                                                 control01.ctl, /home/oracle/or
                                                 adata/leonliao/control02.ctl
SQL select open_mode from v$database;

OPEN_MODE
——————–
READ WRITE    

2、備份控制文件
RMAN backup current controlfile;    

3、數(shù)據(jù)庫在線時刪除所有控制文件
[oracle@leon1 leonliao]$ rm -rf control0*ctl
[oracle@leon1 leonliao]$ pwd
/home/oracle/oradata/leonliao

4、無法正常關(guān)閉數(shù)據(jù)庫只能 shutdown abort
SQL shutdown immediate
Database closed.
ORA-00210: cannot open the specified control file
ORA-00202: control file: /home/oracle/oradata/leonliao/control01.ctl
ORA-27041: unable to open file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

SQL shutdown abort
ORACLE instance shut down.
SQL  

5、啟動數(shù)據(jù)庫到 nomount 狀態(tài)并還原備份的控制文件
SQL startup nomount
ORACLE instance started.

Total System Global Area  626327552 bytes
Fixed Size                  2230952 bytes
Variable Size             184550744 bytes
Database Buffers          432013312 bytes
Redo Buffers                7532544 bytes

RMAN restore controlfile from /u01/app/oracle/dbs/01qvmql3_1_1

6、將數(shù)據(jù)庫啟動到 mount 狀態(tài)并開始恢復(fù)
SQL alter database mount;

Database altered.

SQL  
SQL  
SQL recover database using backup controlfile until cancel;
ORA-00279: change 1181770 generated at 03/05/2016 05:02:58 needed for thread 1
ORA-00289: suggestion : /home/oracle/oradata/leonliao/arch/1_6_905662043.dbf
ORA-00280: change 1181770 for thread 1 is in sequence #6

Specify log: {RET =suggested | filename | AUTO | CANCEL}
auto   選擇 auto,自動應(yīng)用所有的歸檔文件
ORA-00308: cannot open archived log
/home/oracle/oradata/leonliao/arch/1_6_905662043.dbf
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

ORA-00308: cannot open archived log
/home/oracle/oradata/leonliao/arch/1_6_905662043.dbf
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: /home/oracle/oradata/leonliao/system01.dbf

SQL recover database using backup controlfile until cancel;   由于未歸檔的 redo 文件需要手動應(yīng)用
ORA-00279: change 1181770 generated at 03/05/2016 05:02:58 needed for thread 1
ORA-00289: suggestion : /home/oracle/oradata/leonliao/arch/1_6_905662043.dbf
ORA-00280: change 1181770 for thread 1 is in sequence #6

Specify log: {RET =suggested | filename | AUTO | CANCEL}
/home/oracle/oradata/leonliao/redo03.log  在關(guān)閉數(shù)據(jù)庫前可以查看當(dāng)前 current 的 redo 文件是哪一個,不清楚可以一個個應(yīng)用直到提示 Log applied 為止
Log applied.
Media recovery complete.

7、以 open resetlogs 方式打開數(shù)據(jù)庫
SQL alter database open resetlogs;

Database altered.

SQL  
SQL select open_mode from v$database;

OPEN_MODE
——————–
READ WRITE

3.2、通過備份控制文件進(jìn)行重建的恢復(fù)(noresetlogs 方式)

1、查看數(shù)據(jù)庫基本信息和數(shù)據(jù)庫狀態(tài)      
SQL show parameter db_name

NAME                                 TYPE        VALUE
———————————— ———– ——————————
db_name                              string      leonliao

SQL show parameter control_files

NAME                                 TYPE        VALUE
———————————— ———– ——————————
control_files                        string      /home/oracle/oradata/leonliao/
                                                 control01.ctl, /home/oracle/or
                                                 adata/leonliao/control02.ctl
SQL select open_mode from v$database;

OPEN_MODE
——————–
READ WRITE    

2、備份控制文件
RMAN backup current controlfile;    

3、數(shù)據(jù)庫在線時刪除所有控制文件
[oracle@leon1 leonliao]$ rm -rf control0*ctl
[oracle@leon1 leonliao]$ pwd
/home/oracle/oradata/leonliao

4、無法正常關(guān)閉數(shù)據(jù)庫只能 shutdown abort
SQL shutdown immediate
Database closed.
ORA-00210: cannot open the specified control file
ORA-00202: control file: /home/oracle/oradata/leonliao/control01.ctl
ORA-27041: unable to open file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

SQL shutdown abort
ORACLE instance shut down.
SQL  

5、啟動數(shù)據(jù)庫到 nomount 狀態(tài)并還原備份的控制文件
SQL startup nomount
ORACLE instance started.

Total System Global Area  626327552 bytes
Fixed Size                  2230952 bytes
Variable Size             184550744 bytes
Database Buffers          432013312 bytes
Redo Buffers                7532544 bytes

RMAN restore controlfile from /u01/app/oracle/dbs/03qvmrqj_1_1

6、將數(shù)據(jù)庫啟動到 mount 狀態(tài)并生成創(chuàng)建控制文件的腳本
SQL alter database mount;

Database altered.

SQL alter database backup controlfile to trace;

Database altered.

7、shutdown immediate 并啟動到 startup nomount 狀態(tài)創(chuàng)建控制文件
SQL shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL startup nomount
ORACLE instance started.

Total System Global Area  626327552 bytes
Fixed Size                  2230952 bytes
Variable Size             184550744 bytes
Database Buffers          432013312 bytes
Redo Buffers                7532544 bytes
SQL CREATE CONTROLFILE REUSE DATABASE LEONLIAO NORESETLOGS  ARCHIVELOG
  2      MAXLOGFILES 16
  3      MAXLOGMEMBERS 3
  4      MAXDATAFILES 100
  5      MAXINSTANCES 8
  6      MAXLOGHISTORY 292
  7  LOGFILE
  8    GROUP 1 /home/oracle/oradata/leonliao/redo01.log  SIZE 50M BLOCKSIZE 512,
  9    GROUP 2 /home/oracle/oradata/leonliao/redo02.log  SIZE 50M BLOCKSIZE 512,
 10    GROUP 3 /home/oracle/oradata/leonliao/redo03.log  SIZE 50M BLOCKSIZE 512
 11  — STANDBY LOGFILE
 12  DATAFILE
 13     /home/oracle/oradata/leonliao/system01.dbf ,
 14     /home/oracle/oradata/leonliao/sysaux01.dbf ,
 15     /home/oracle/oradata/leonliao/undotbs01.dbf ,
 16     /home/oracle/oradata/leonliao/users01.dbf
 17  CHARACTER SET ZHS16GBK
 18  ;

Control file created.

8、開始恢復(fù)
SQL recover database;
ORA-00283: recovery session canceled due to errors
ORA-00264: no recovery required

9、以 open 方式打開數(shù)據(jù)庫
SQL alter database open;

Database altered.

SQL select open_mode from v$database;

OPEN_MODE
——————–
READ WRITE

3.3、通過備份控制文件進(jìn)行重建的恢復(fù)(resetlogs 方式)

1、查看數(shù)據(jù)庫基本信息和數(shù)據(jù)庫狀態(tài)      
SQL show parameter db_name

NAME                                 TYPE        VALUE
———————————— ———– ——————————
db_name                              string      leonliao

SQL show parameter control_files

NAME                                 TYPE        VALUE
———————————— ———– ——————————
control_files                        string      /home/oracle/oradata/leonliao/
                                                 control01.ctl, /home/oracle/or
                                                 adata/leonliao/control02.ctl

SQL select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER                                             IS_
———- ——- ——- ————————————————– —
         1         ONLINE  /home/oracle/oradata/leonliao/redo01.log           NO
         3         ONLINE  /home/oracle/oradata/leonliao/redo03.log           NO
         2         ONLINE  /home/oracle/oradata/leonliao/redo02.log           NO

SQL select open_mode from v$database;

OPEN_MODE
——————–
READ WRITE    

2、備份控制文件
RMAN backup current controlfile;    

3、數(shù)據(jù)庫在線時刪除所有控制文件和 redo 文件
[oracle@leon1 leonliao]$ rm -rf control0*ctl
[oracle@leon1 leonliao]$ rm -rf redo0*log
[oracle@leon1 leonliao]$ pwd
/home/oracle/oradata/leonliao

4、無法正常關(guān)閉數(shù)據(jù)庫只能 shutdown abort
SQL shutdown immediate
Database closed.
ORA-00210: cannot open the specified control file
ORA-00202: control file: /home/oracle/oradata/leonliao/control01.ctl
ORA-27041: unable to open file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

SQL shutdown abort
ORACLE instance shut down.
SQL  

5、啟動數(shù)據(jù)庫到 nomount 狀態(tài)并還原備份的控制文件
SQL startup nomount
ORACLE instance started.

Total System Global Area  626327552 bytes
Fixed Size                  2230952 bytes
Variable Size             184550744 bytes
Database Buffers          432013312 bytes
Redo Buffers                7532544 bytes

RMAN restore controlfile from /u01/app/oracle/dbs/01qvmtbj_1_1

6、將數(shù)據(jù)庫啟動到 mount 狀態(tài)并生成創(chuàng)建控制文件的腳本
SQL alter database mount;

Database altered.

SQL alter database backup controlfile to trace;

Database altered.

7、shutdown immediate 并啟動到 startup nomount 狀態(tài)創(chuàng)建 resetlogs 的控制文件
SQL shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL startup nomount
ORACLE instance started.

Total System Global Area  626327552 bytes
Fixed Size                  2230952 bytes
Variable Size             184550744 bytes
Database Buffers          432013312 bytes
Redo Buffers                7532544 bytes
SQL CREATE CONTROLFILE REUSE DATABASE LEONLIAO RESETLOGS  ARCHIVELOG
  2      MAXLOGFILES 16
  3      MAXLOGMEMBERS 3
  4      MAXDATAFILES 100
  5      MAXINSTANCES 8
  6      MAXLOGHISTORY 292
  7  LOGFILE
  8    GROUP 1 /home/oracle/oradata/leonliao/redo01.log  SIZE 50M BLOCKSIZE 512,
  9    GROUP 2 /home/oracle/oradata/leonliao/redo02.log  SIZE 50M BLOCKSIZE 512,
 10    GROUP 3 /home/oracle/oradata/leonliao/redo03.log  SIZE 50M BLOCKSIZE 512
 11  — STANDBY LOGFILE
 12  DATAFILE
 13     /home/oracle/oradata/leonliao/system01.dbf ,
 14     /home/oracle/oradata/leonliao/sysaux01.dbf ,
 15     /home/oracle/oradata/leonliao/undotbs01.dbf ,
 16     /home/oracle/oradata/leonliao/users01.dbf
 17  CHARACTER SET ZHS16GBK
 18  ;

Control file created.

8、因為所有 redo 文件都刪除了,無法恢復(fù),所以會出現(xiàn)一致性的問題,通過設(shè)置隱含參數(shù)_allow_resetlogs_corruption 為 true 跳過一致性檢查;
SQL alter system set _allow_resetlogs_corruption =true scope=spfile;

System altered.

SQL shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.

SQL startup mount
ORACLE instance started.

Total System Global Area  626327552 bytes
Fixed Size                  2230952 bytes
Variable Size             184550744 bytes
Database Buffers          432013312 bytes
Redo Buffers                7532544 bytes
Database mounted.

9、以 open resetlogs 方式打開數(shù)據(jù)庫
SQL alter database open resetlogs;

Database altered.

SQL select open_mode from v$database;

OPEN_MODE
——————–
READ WRITE

以上就是關(guān)于“Oracle 備份恢復(fù)的方法有哪些”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望丸趣 TV 小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注丸趣 TV 行業(yè)資訊頻道。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-15發(fā)表,共計11100字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 陇西县| 五常市| 伊金霍洛旗| 玉龙| 津南区| 舟山市| 登封市| 桦南县| 漳州市| 扎赉特旗| 海兴县| 隆子县| 登封市| 贵德县| 资兴市| 永康市| 北辰区| 五台县| 冕宁县| 海宁市| 库尔勒市| 遂昌县| 田阳县| 临夏县| 化隆| 沧州市| 南和县| 衡水市| 将乐县| 武冈市| 保康县| 毕节市| 武山县| 定兴县| 凤翔县| 四川省| 福州市| 杭锦后旗| 西贡区| 崇州市| 莎车县|