有数据库问题可加微信号13889571826
在这篇文章中介绍一下在ADG主备搭建过程中参数的设置,这里介绍的ADG参数释义并不和其他文章类似,将英文的原文按照中文进行简单翻译。你们试着读一下就知道了。
DB_NAME:在搭建ADG的过程中,主库DB_NAME必须与备库的DB_NAME一致。在备库中的数据文件头也存在DB_NAME,从主库创建standby controlfile给备库使用后,备库的控制文件中DB_NAME和数据文件头中的DB_NAME不一致,会导致在开启MPR0进程之后报错,主库与备库同步不了的问题。所以在搭建ADG参数设置过程中,只有DB_NAME这个参数主库和备库必须完全一致。在面试过程中有时会问到,在搭建ADG的过程中,都有哪些参数是主备同步,备主同步的必要条件,DB_NAME和LOG_ARCHIVE_CONFIG这两个参数。
DB_UNIQUE_NAME:数据库唯一名决定了数据库服务名,数据库服务名随数据库唯一名的改变而改变。如果DB_UNIQUE_NAME不进行特殊指定,默认和DB_NAME一致,而数据库服务名在ADG搭建过程中有重要作用的。主库需要通过在参数LOG_ARCHIVE_CONFIG中设置备库的数据库服务名告知oracle服务将主库archive log传输到数据库服务名指定的备库。而在主备切换的过程中主库需要切换成备库,备库需要切换成主库。备库在切换成主库之后,成为主动传输日志的角色。所以要完成主备切换,备库也需要在LOG_ARCHIVE_CONFIG参数中设置主库的service name。
LOG_ARCHIVE_DEST_N:在搭建ADG过程中通过在LOG_ARCHIVE_DEST_N参数中设置备库的service name,设置主库数据库服务将主库的archvie log传送到目的数据库,这里的目的数据库是通过备库的service name确定的。在主库的网络层面,不仅要设置LOG_ARCHIVE_DEST_N参数,为了让主库理解service name在网络层面的具体意义,也需要在主库的tnsname.ora文件中将备库的service name定义进行设置。即增加一条tnsname entry,描述备库的ip和数据库服务名。
以下是ADG搭建过程中LOG_ARCHIVE_DEST_N参数设置的一个例子:
alter system set log_archive_dest_2='service=orcl19c lgwr async valid_for=(online_logfiles,primary_role)' scope=both;
alter system set log_archive_dest_state_2='enable' scope=both;
其中service=orcl19c lg