首页 > 代码库 > 热备份恢复及异机恢复

热备份恢复及异机恢复

原理:

数据库必须运行在归档模式下,否则备份没有意义。备份前冻结块头,使scn号不变化,然后cp物理文件,最后解冻块头。此过程dml语句可以正常执行,动作被写在日志文件里面,当解冻scn号后,日志文件中内容会自动写入数据文件。

流程:

1、全库备份:

1)alter database begin backup;

2)cp物理文件

3)alter database end backup;

脚本:

spool /u01/oracle/jiaoben/bf2.sql

select ‘ho cp ‘||name||‘ /u01/oracle/rebei/‘ from v$datafile;

spool off

alter database backup controlfile to ‘/u01/oracle/rebei/control.ctl‘;

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

alter database begin backup;

@/u01/oracle/jiaoben/bf2.sql

alter database end backup;

2、表空间级备份:

1)alter tablespace <tablespace_name> begin backup;

2)cp表空间下数据文件

3)alter tablespace <tablespace_name> end backup;

脚本:

spool /u01/oracle/home/thot.sql

select ‘alter tablespace ‘||tablespace_name||‘ begin backup;‘||chr(10)||‘ho cp ‘||file_name||‘ /u01/oracle/home/‘||chr(10)||‘alter tablespace ‘||tablespace_name||‘ end backup;‘||chr(10) from dba_data_files;

spool off

start /u01/oracle/home/thot.sql

ho rm /u01/oracle/home/thot.sql

alter database backup controlfile to ‘/u01/oracle/home/control.ctl‘;

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

恢复:能脱机的数据文件即脱机恢复,不能脱机的启动到mount阶段恢复。

1、users表空间丢失还原方法:

1)将数据文件脱机

2)物理cp备份文件

3)recover database

4)将数据文件联机

2、system表空间丢失还原方法:

1)启动数据库到mount状态

2)物理cp备份文件

3)recover database

4)alter database open;

3、所有数据文件丢失:

1)shutdown abort

2)startup mount

3)cp所有备份物理文件到数据文件目录

4)recover database

5)alter database open

4、日志文件丢失

1)shutdown immediate

2)startup(自动挂住)

3)recover database until cancel

4)alter database open resetlogs

5、控制文件丢失恢复

1)shutdown abort

2)startup(自动挂住)

3)将control文件cp回原位置

4)alter database mount

5)recover database using backup controlfile; > auto

6)recover database using backup controlfile; > 分别输入在线日志路径,回车

7)alter database open resetlogs

6、控制文件、日志文件、数据文件丢失

1)shutdown abort

2)startup(自动挂住)

3)将control文件cp回原位置

4)alter database mount

5)cp所有数据文件回原位置

6)recover database using backup controlfile until cancel

7)alter database open resetlogs

异机迁移恢复+小版本升级:(oracle 11g 11.2.0.1~oracle 11g 11.2.0.4

1、将热备份文件及归档日志传至目标机器

2、startup pfile=‘/备份pfile文件‘ mount;

3、recover database using backup controlfile until cancel;

4、alter database open upgrade resetlogs;

该升级方法将丢失最近在线日志信息。

热备份恢复及异机恢复