冷备份恢复与异机还原

Posted ChavinKing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冷备份恢复与异机还原相关的知识,希望对你有一定的参考价值。

(同平台:rhel6.4~rhel6.4;同版本:oracle 11g 11.2.0.1~ oracle 11g 11.2.0.1)

冷备份发生在数据库关闭状态下,直接拷贝物理文件的备份方式,备份数据库可以运行在归档模式,也可以运行在非归档模式。

备份流程:

1)首先在运行的库中得到运行的所有文件。

主要备份文件:passwordfile、spfile、controlfile、datafile、tempfile、logfile

2)然后计划内关闭数据库,一般在晚上无人访问时关闭。

3)拷贝物理文件到指定备份路径或设备。

4)拷贝完成,立即启动数据库,使其正常工作。

备份脚本:

spool /u01/app/oracle/jiaoben/bf1.sql

select ‘ho cp ‘||name||‘ /u01/app/oracle/lengbei/‘ from v$controlfile

union all

select ‘ho cp ‘||name||‘ /u01/app/oracle/lengbei/‘ from v$datafile

union all

select ‘ho cp ‘||name||‘ /u01/app/oracle/lengbei/‘ from v$tempfile

union all

select ‘ho cp ‘||member||‘ /u01/app/oracle/lengbei/‘ from v$logfile

/

create pfile=‘/u01/app/oracle/lengbei/initorcl.ora‘ from spfile;

ho cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapworcl /u01/app/oracle/lengbei/

spool off

shutdown immediate

@/u01/app/oracle/jiaoben/bf1.sql

startup

rm -rf /u01/app/oracle/jiaoben/bf1.sql

还原:

1、非归档模式

1)非归档模式,全库物理文件丢失情况下的恢复:

a、关闭数据库,sqlplus可以进入即用sqlplus关闭、否则kill -9 杀死进程

b、拷贝备份文件到数据库物理文件具体路径。

c、sqlplus / as sysdba进入数据库,通过startup打开数据库。

此时的数据库恢复到当时备份的时间点,从备份到现在的数据库事务丢失。

除了完全恢复到备份时间点,不支持单个数据文件丢失的恢复过程。

2、归档模式

1)归档模式下,所有物理文件丢失情况下的恢复。

a、关闭数据库,sqlplus可以进入即用sqlplus关闭、否则kill -9 杀死进程

b、拷贝备份文件到数据库物理文件具体路径。

c、sqlplus / as sysdba进入数据库,通过startup mount。

d、recover database using backup controlfile; auto

e、alter database open resetlogs;

归档模式下的冷备份可以通过归档日志,在还原后初次启动数据库时进行恢复操作。同时,归档模式下也支持非归档冷备恢复办法。

2)归档模式下,system表空间丢失(可以支持单个数据文件丢失情况恢复):

a、shutdow关机

b、将备份文件考回数据文件位置

c、startup

d、recover datafile 1;recover tablespace system;recover database;

e、alter database open;

异机恢复:同平台、同版本

1、目标库不创建实例,目标库按照源库的目录结构创建目录,拷贝源库冷备文件到目标库下,按照源库的目录结构还原物理文件。

2、源库通过create pfile from spfile;创建参数文件,并同passwordfile一同拷贝到目标库$ORACLE_HOME/dbs/目录下。

3、按照源库的listener.ora和tnsnames.ora内容在目标库建立该文件或是修改其内容。

4、sqlplus / as sysdba方式进入sqlplus环境,通过startup pfile=‘$ORACLE_HOME/dbs/initorcl.ora‘方式启动数据库。

5、create spfile from pfile;创建二进制参数文件。冷备迁移完成。

异机恢复:平台:rhel6.4~rhel6.5 版本:oracle 11g 11.2.0.1~oracle 11g 11.2.0.4

1、目标库不创建实例,目标库按照源库的目录结构创建目录,拷贝源库冷备文件到目标库下,按照源库的目录结构还原物理文件。

2、源库通过create pfile from spfile;创建参数文件,并同passwordfile一同拷贝到目标库$ORACLE_HOME/dbs/目录下。

3、按照源库的listener.ora和tnsnames.ora内容在目标库建立该文件或是修改其内容。

4、sqlplus / as sysdba方式进入sqlplus环境,通过startup pfile=‘$ORACLE_HOME/dbs/initorcl.ora‘方式启动数据库。

******注意此时会报错****************************

ORA-01092: ORACLE instance terminated. Disconnection forced

ORA-00704: bootstrap process failure

ORA-39700: database must be opened with UPGRADE option

Process ID: 2774

Session ID: 125 Serial number: 5

5、以startup upgrade方式打开数据库,异机恢复完成。

以上是关于冷备份恢复与异机还原的主要内容,如果未能解决你的问题,请参考以下文章

RMAN备份策略与异机恢复一例

rman备份与异机恢复

RMAN - 备份异机恢复

oracle如何备份单表并在新数据库恢复?

MySQL数据库备份和恢复

rman备份有效性验证/恢复进度监控