宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

小编给大家分享一下如何搭建ADG,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1.主库备库上配置监听:

在主备上都要改listener.ora,端口最好不要用1521,换个端口,比如1522,配静态监听,主库的服务名比如叫p,备库叫s。
然后在主库上改tnsnames.ora,配个连通过1522连s的别名,和连p的别名,然后把这个tnsnames.ora拷到备库上。

2.拷贝主库密码文件到备库

3.拷贝主库的环境变量配置到备库上:

就是每次什么$ORACLE_HOME这些的,主要为了省事儿,拷到备库上改一改就能用了。

4.全备和备份控制文件,并拷到备库

rman target  /
backup database format '/home/oracle/bak/%d_%U.full';
backup current controlfile for standby format '/home/oracle/dg.ctl';
exit;

然后把这些东西靠到备库上去,比如拷到备库上的/home/oracle/yan下

5.配置参数文件

主库上:create pfile='/home/oracle/initdg.ora' from spfile;(千万别在集群环境上create pfile from spfile,会把节点上的pfile盖掉,节点上的pfile的内容记载着或者说指向asm上spfile)

然后把这个initdg.ora拷到备库上,修改,主要加下面几个参数:
db_unique_name=s
log_archive_config='dg_config=(p,s)'(主备得一样,都得配)
log_archive_dest_1='location=use_db_recovery_file_dest valid_for=(all_logfiles,all_roles) db_unique_name=s'(如果主备库归档日志路径用的是FRA的话,就这么配)
fal_server='p'
fal_client='s'(配了这俩就不用手动处理gap了,不是绝对不用啊!)
log_archive_dest_2='service=p lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=p'
log_archive_dest_state_2=enable
standby_file_management='AUTO'(自动随着主库增删数据文件)
*.undo_tablespace='UNDOTBS1'
db_create_file_dest='' (这个要是准备用omf的话就这么配)
db_file_name_convert='(),()'
log_file_name_convert='(),()'   (要是不用OMF的话,用这个,一个小括号里一对儿)

如果参数文件里面没写这些的话,备库数据文件路径跟主库又不一致,那就要在rman中用set new name for...

然后
startup nomount pfile='/home/oracle/initdg.ora'
create spfile='+data/' from pfile='/home/oracle/initdg.ora';(如果要做dg集群,这里必须指定pfile的路径,不能直接写pfile)
shutdown
startup nomount

6.恢复控制文件,恢复数据库

rman target /
restore controlfile from '/home/oracle/yan/dg.ctl';
alter database mount;

catalog start with '/home/oracle/yan';(这里,你要是把备份放到跟主库一样的路径下就不用这么干,这么干就是为了让控制文件识别新的备份路径)

resotre database;(restore就够了)
exit;

7.添加standby log

select max(sequence#),name,applied from v$archived_log;也行

反正就是等追上了,然后:
recover managed standby database cancel;
alter database open;
recover managed standby database using current logfile disconnect;
这就启动到adg了,12c还要:
alter pluggable database all open;