具体步骤如下:
首先,找到要备份的文件路径。可用如下语句获得。
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;即可。