1.在主庫(kù)上生成pfile文件,并將pfile文件copy到從庫(kù)
create pfile='/home/oracle/tmp/initwjldb20130121.ora' from spfile;
2.在standby上創(chuàng)建相關(guān)的目錄
mkdir -p /home/oracle/app/oracle/flash_recovery_area
mkdir -p /home/oracle/app/oracle/admin/wjldb/udump
cd /home/oracle/app/oracle/admin/wjldb/
mkdir adump bdump cdump dpdump
mkdir -p /home/oracle/oradata/wjldb/
3.將數(shù)據(jù)庫(kù)啟動(dòng)到nomount
create spfile from pfile='/home/oracle/tmp/initwjldb20130121.ora';
startup nomount;
4.用rman還原控制文件
rman target /
restore controlfile from '/home/oracle/backup/wjldb/wjldb_CTL_20130116_11963_1.bak'
5.啟動(dòng)到mount
startup mount;
6.還原數(shù)據(jù)庫(kù)
list backup;
restore database;
recover database;
如果rman顯示expire時(shí),可以用:
RMAN> crosscheck backup;
用crosscheck backup后狀態(tài)改為AVAILABLE了.
至此,數(shù)據(jù)庫(kù)文件已恢復(fù)。
(另外,在這步時(shí)配置好primary、standby上的tnsnames.ora,后面的配置需要用到)
7.在primary 上重新創(chuàng)建控制文件,替換standby
alter database create standby controlfile as '/home/oracle/tmp/test0118/control01.ctl'
8.在primary上設(shè)置參數(shù)
alter system set log_archive_config='DG_CONFIG=(wjldb,stdb1)' scope=both;
alter system set log_archive_dest_4='SERVICE=stdb1 VALID_FOR=(ONLINE_LOGFILES, PRIMARY_ROLE) DB_UNIQUE_NAME=stdb1 REOPEN=60 lgwr async' scope=both;
9.在standby 上設(shè)置
*.db_unique_name='stdb1'
*.fal_client='stdb1'
*.fal_server='wjldb'
*.local_listener='stdb1'
*.log_archive_config='DG_CONFIG=(wjldb,stdb1)'
*.log_archive_dest_1='LOCATION=/home/oracle/app/oracle/archivelog/wjldb VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=stdb1 REOPEN=30'
*.log_archive_dest_2='SERVICE=wjldb VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=wjldb REOPEN=60 lgwr async'
*.standby_file_management='AUTO'
*.undo_management='AUTO'
*.log_file_name_convert='/home/oracle/oradata/wjldb/','/home/oracle/oradata/wjldb/' # 雖然目錄可能相同,但最好加上這個(gè)參數(shù)。
10.將primary 中的密碼文件orapwwjldb copy到standby上
11.將standby啟動(dòng)到mount
create pfile='/home/oracle/tmp/initwjldb20130121.ora' from spfile;
startup nomount;
alter database mount standby database;
12.在standby上添加standby log
ALTER DATABASE ADD STANDBY LOGFILE ('/home/oracle/oradata/wjldb/std_redo4.log') SIZE 50M reuse;
ALTER DATABASE ADD STANDBY LOGFILE ('/home/oracle/oradata/wjldb/std_redo5.log') SIZE 50M reuse;
ALTER DATABASE ADD STANDBY LOGFILE ('/home/oracle/oradata/wjldb/std_redo6.log') SIZE 50M reuse;
ALTER DATABASE ADD STANDBY LOGFILE ('/home/oracle/oradata/wjldb/std_redo7.log') SIZE 50M reuse;
13.啟動(dòng)到日志應(yīng)用
alter database recover managed standby database disconnect from session;
聯(lián)系客服