一、密码文件
重建密码文件
orapwd file=$ORACLE_HOME/dbs/orapwsid password=oracle force=y;
二、参数文件
1.警告日志中查看参数设置
2.必须得参数 db_name和control_files
三、无备份恢复控制文件
1.在线日志无损坏的情况下使用noresetlogs
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "HLR" NORESETLOGS FORCE LOGGING ARCHIVELOG
MAXLOGFILES 192
MAXLOGMEMBERS 3
MAXDATAFILES 1024
MAXINSTANCES 32
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '+DATA/hlr/onlinelog/group_1.270.919910795' SIZE 50M BLOCKSIZE 512,
GROUP 2 '+DATA/hlr/onlinelog/group_2.271.919910795' SIZE 50M BLOCKSIZE 512,
GROUP 3 '+DATA/hlr/onlinelog/group_3.275.919912133' SIZE 50M BLOCKSIZE 512,
GROUP 4 '+DATA/hlr/onlinelog/group_4.276.919912137' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'+DATA/hlr/datafile/system.278.926847457',
'+DATA/hlr/datafile/sysaux.274.926847457',
'+DATA/hlr/datafile/undotbs1.268.926847457',
'+DATA/hlr/datafile/users.265.926847457',
'+DATA/hlr/datafile/example.273.926847457',
'+DATA/hlr/datafile/undotbs2.267.926847457',
'+DATA/hlr/datafile/catlog.266.926847457'
CHARACTER SET ZHS16GBK
;
-- Configure RMAN configuration record 1
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CONTROLFILE AUTOBACKUP','ON');
-- Configure RMAN configuration record 2
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('RETENTION POLICY','TO REDUNDANCY 1');
-- Configure RMAN configuration record 3
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE','DISK TO ''+OGG/%F''');
-- Configure RMAN configuration record 4
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('DEFAULT DEVICE TYPE TO','DISK');
-- Configure RMAN configuration record 5
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('BACKUP OPTIMIZATION','ON');
-- Commands to re-create incarnation table
-- Below log names MUST be changed to existing filenames on
-- disk. Any one log file from each branch can be used to
-- re-create incarnation records.
-- ALTER DATABASE REGISTER LOGFILE '+ARCH';
-- ALTER DATABASE REGISTER LOGFILE '+ARCH';
-- Recovery is required if any of the datafiles are restored backups,
-- or if the last shutdown was not normal or immediate.
RECOVER DATABASE
-- All logs need archiving and a log switch is needed.
ALTER SYSTEM ARCHIVE LOG ALL;
-- Database can now be opened normally.
ALTER DATABASE OPEN;
2.create controlile将数据库启动到mount状态,然后recover database
3.open数据库
4.将临时数据库文件添加到临时表空间
5.在线日志和控制文件都损坏的情况
resetlogs重建控制文件
然后进行不完全恢复
open database resetlogs
6.具有只读数据文件下的控制文件重建
create controlfile datafile子句中不可以声明只读表空间的数据文件,所以重建控制文件的时候数据库内有只读文件的话,需要特需处理:
1.将数据库启动到nomount状态;
2.重建控制文件,datafile子句中不包括只读数据文件
3.recover database/报rman-06054执行recover database using backup controlfile
4.open 数据库
5.修正只读数据文件的路径(alter database rename file)
6.将只读表空间上线
7.将临时数据文件添加到临时表空间
四、恢复临时数据文件
临时数据文件不用保存永久性数据,一旦损坏可以替换或者重建
1.重启实例,丢失的临时文件会自动重建
2.alter tablespace temp add/drop tempfile
五、恢复在线重做日志
5.1、每个日志组有两个在线日志,1号组的其中一个在线日志丢失或损坏
查看损坏日志的状态
select * from v$log;
如果为current日志,需要先切换日志和一次完全检查点将日志切换到inactive状态
然后在drop add完成日志的删除添加
5.2 丢失一组内的所有日志
查看损坏日志的状态,需要切换为inactive状态,然后使用如下命令
alter database clear unarchived logfile group 1;
重建密码文件
orapwd file=$ORACLE_HOME/dbs/orapwsid password=oracle force=y;
二、参数文件
1.警告日志中查看参数设置
2.必须得参数 db_name和control_files
三、无备份恢复控制文件
1.在线日志无损坏的情况下使用noresetlogs
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "HLR" NORESETLOGS FORCE LOGGING ARCHIVELOG
MAXLOGFILES 192
MAXLOGMEMBERS 3
MAXDATAFILES 1024
MAXINSTANCES 32
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '+DATA/hlr/onlinelog/group_1.270.919910795' SIZE 50M BLOCKSIZE 512,
GROUP 2 '+DATA/hlr/onlinelog/group_2.271.919910795' SIZE 50M BLOCKSIZE 512,
GROUP 3 '+DATA/hlr/onlinelog/group_3.275.919912133' SIZE 50M BLOCKSIZE 512,
GROUP 4 '+DATA/hlr/onlinelog/group_4.276.919912137' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'+DATA/hlr/datafile/system.278.926847457',
'+DATA/hlr/datafile/sysaux.274.926847457',
'+DATA/hlr/datafile/undotbs1.268.926847457',
'+DATA/hlr/datafile/users.265.926847457',
'+DATA/hlr/datafile/example.273.926847457',
'+DATA/hlr/datafile/undotbs2.267.926847457',
'+DATA/hlr/datafile/catlog.266.926847457'
CHARACTER SET ZHS16GBK
;
-- Configure RMAN configuration record 1
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CONTROLFILE AUTOBACKUP','ON');
-- Configure RMAN configuration record 2
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('RETENTION POLICY','TO REDUNDANCY 1');
-- Configure RMAN configuration record 3
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE','DISK TO ''+OGG/%F''');
-- Configure RMAN configuration record 4
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('DEFAULT DEVICE TYPE TO','DISK');
-- Configure RMAN configuration record 5
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('BACKUP OPTIMIZATION','ON');
-- Commands to re-create incarnation table
-- Below log names MUST be changed to existing filenames on
-- disk. Any one log file from each branch can be used to
-- re-create incarnation records.
-- ALTER DATABASE REGISTER LOGFILE '+ARCH';
-- ALTER DATABASE REGISTER LOGFILE '+ARCH';
-- Recovery is required if any of the datafiles are restored backups,
-- or if the last shutdown was not normal or immediate.
RECOVER DATABASE
-- All logs need archiving and a log switch is needed.
ALTER SYSTEM ARCHIVE LOG ALL;
-- Database can now be opened normally.
ALTER DATABASE OPEN;
2.create controlile将数据库启动到mount状态,然后recover database
3.open数据库
4.将临时数据库文件添加到临时表空间
5.在线日志和控制文件都损坏的情况
resetlogs重建控制文件
然后进行不完全恢复
open database resetlogs
6.具有只读数据文件下的控制文件重建
create controlfile datafile子句中不可以声明只读表空间的数据文件,所以重建控制文件的时候数据库内有只读文件的话,需要特需处理:
1.将数据库启动到nomount状态;
2.重建控制文件,datafile子句中不包括只读数据文件
3.recover database/报rman-06054执行recover database using backup controlfile
4.open 数据库
5.修正只读数据文件的路径(alter database rename file)
6.将只读表空间上线
7.将临时数据文件添加到临时表空间
四、恢复临时数据文件
临时数据文件不用保存永久性数据,一旦损坏可以替换或者重建
1.重启实例,丢失的临时文件会自动重建
2.alter tablespace temp add/drop tempfile
五、恢复在线重做日志
5.1、每个日志组有两个在线日志,1号组的其中一个在线日志丢失或损坏
查看损坏日志的状态
select * from v$log;
如果为current日志,需要先切换日志和一次完全检查点将日志切换到inactive状态
然后在drop add完成日志的删除添加
5.2 丢失一组内的所有日志
查看损坏日志的状态,需要切换为inactive状态,然后使用如下命令
alter database clear unarchived logfile group 1;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29942527/viewspace-2128385/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29942527/viewspace-2128385/