Oracle10g冷备份与应用冷备份和归档恢复数据库的方法

10/28/2009来源:Oracle教程人气:5704

    Oracle数据库冷备份比较简单,就是数据库在关闭的状态下进行文件备份。需要拷贝的文件包括日志文件、控制文件、数据文件,这三类文件必不可少。最好还要备份SPFILEMCAIMS.ORA或INITmcaims.ORA文件和重置控制文件的sql语句,这在改变恢复数据库的文件路径时会用到。

    具体步骤如下:

    首先,找到要备份的文件路径。可用如下语句获得。

sqlplus username/passWord as sysdba;

select name from v$datafile;
select name from v$controlfile;
select name from v$logfile;

show parameters spfile;

alter database backup controlfile to trace resetlogs;

    然后从bdump跟踪文件中找到重置控制文件的参考sql语句:如下:

*******************************************************

STARTUP NOMOUNT
CREATE CONTROLFILE SET DATABASE "RCAT" RESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 454
LOGFILE
  GROUP 1 'D:\LXC\ORADATA\RCAT\REDO01.LOG'  SIZE 10M,
  GROUP 2 'D:\LXC\ORADATA\RCAT\REDO02.LOG'  SIZE 10M,
  GROUP 3 'D:\LXC\ORADATA\RCAT\REDO03.LOG'  SIZE 10M
DATAFILE
  'D:\LXC\ORADATA\RCAT\SYSTEM01.DBF',
  'D:\LXC\ORADATA\RCAT\UNDOTBS01.DBF',
  'D:\LXC\ORADATA\RCAT\SYSAUX01.DBF',
  'D:\LXC\ORADATA\RCAT\USERS01.DBF',
  'D:\LXC\ORADATA\RCAT\USERS02.DBF',
  'D:\LXC\ORADATA\RCAT\TOOLS01.DBF'
CHARACTER SET ZHS16GBK;

*******************************************************

shutdown immediate;

    然后关闭数据库,备份文件。



恢复数据库

    用数据库配置向导创建数据库例程,删掉生成的数据库文件,用备份文件替代。修改INITmcaims.ORA文件,重启数据库服务。

sqlplus sys/pwd as sysdba;

shutdown immediate;

如果恢复数据库时要改变文件的路径,则需要重置控制文件。执行重置控制文件的sql(已根据实际情况修改过路径);

alter database mount;

设置归档路径:

alter system set log_archive_dest_1='location=n:\gongxian';

alter database recover using backup controlfile;



alter database recover automatic until time '2008-09-13:13:59:59';
alter database recover automatic until scn 454300;
alter database recover until cancel using backup controlfile;



恢复完毕,alter database open resetlogs;即可。