?
?
mkdir -p /home/oracle/backup/
scp -rp oracle@192.168.100.117:/home/oracle/backup/* /home/oracle/backup/
cp /home/oracle/backup/initahqy.ora $ORACLE_HOME/dbs
grep 'fal_' $ORACLE_HOME/dbs/initahqy.ora
*.fal_client='STANDBY'
*.fal_server='AHQY'
grep 'log_archive_dest_' $ORACLE_HOME/dbs/initahqy.ora
*.log_archive_dest_1='LOCATION=/home/oracle/arch valid_for=(all_logfiles,all_roles) db_unique_name=standby'
*.log_archive_dest_2='service=ahqy lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=ahqy'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'
*.db_unique_name='standby' ----------------------------这一句漏了,导致默认成了AHQY,一定要加上
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(standby,ahqy)' --主备库切换用,否则切换会有问题
---alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(standby,ahqy)';
mkdir -p /home/oracle/arch/ahqy
mkdir -p /home/oracle/app/oracle/admin/ahqy/{adump,bdump,cdump,dpdump,udump,pfile} --有几个文件夹可能用不到
mkdir -p /home/oracle/oradata/ahqy
mkdir -p /u01/app/oracle/flash_recover_area/ORCL --未找到
--(将相应的主库文件直接移到了备库上,如:/home/oracle/arch/、/home/oracle/oradata/、/home/oracle/oradiag_oracle)
mkdir -p /home/oracle/app/oracle/diag/rdbms/ahqy/ahqy/{alert,cdump,hm,incident,incpkg,ir,lck,metadata,stage,sweep,trace}
考虑到可能有文件夹没有建,所以我这里将几个主要文件夹直接从主库拷贝到备库相应的目录中去。
3:将备库启动到nomount状态
?
?
sqlplus / as sysdba startup nomount;
4:使用rman对备库进行恢复
?
?
rman target sys/ORACLE@AHQY auxiliary / duplicate target database for standby nofilenamecheck;
5: 将备库置于应用redolog模式
?
?
sqlplus / as sysdba archive log list; alter database recover managed standby database disconnect from session; select SEQUENCE#,FIRST_TIME,NEXT_TIME,APPLIED from v$archived_log; select member from v$logfile; 可以在主库上进行日志切换,加快备库应用日志的速度! sqlplus / as sysdba alter system switch logfile; archive log list; 备库上再次查询: select SEQUENCE#,FIRST_TIME,NEXT_TIME,APPLIED from v$archived_log; select name,database_role from v$database;
三、数据测试
1.在主库上创建表空间,建表
?
?
select name,database_role from v$database; create tablespace ahqy datafile '/home/oracle/oradata/ahqy/ahqy.dbf' size 10M autoextend on; create table dg01 as select * from dba_source; alter system switch logfile;
2.备库应用日志后以只读方式打开查看数据
?
?
alter database recover managed standby database cancel; alter database open read only; select type from dg01;
3:从新将备库置于应用日志模式
?
?
sqlplus / as sysdba shutdown immediate; startup nomount; alter database mount standby database; alter database recover managed standby database disconnect from session;
四、将备库置为Active模式
1) 查看备库当前状态 mount
?
?
select open_mode,database_role,db_unique_name from v$database;
2) 取消备库的自动恢复
?
?
alter database recover managed standby database cancel;
3) OPEN备库为只读模式(Dataguard只能启动到readonly模式)
?
?
alter database open; select open_mode from v$database; alter database recover managed standby database using current logfile disconnect; select open_mode,database_role,db_unique_name from v$database;
五、主备库切换
主库操作:
?
?
alter database commit to switchover to physical standby with session shutdown; shutdown immediate startup mount alter database recover managed standby database disconnect from s