在创建逻辑备库之前,必须得先创建物理备库,关于如何创建物理备库,请参考《Data Guard 系列 (4) - 在不停主库的情况下创建物理备库》。
1. 在物理备库上停止日志应用服务
SYS@jkka> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; Database altered.
2. 重新设置主库为将来的角色转换做准备(switchover)
逻辑备库和物理备库不一样,在进行SQL应用的时候还会产生日志,即逻辑备库的在线重做日志,因 此逻辑备库不但要对从主库传过来的Standby日志进行归档,还必须得对备库自己产生的在线日志进行 归档。下面我们假定log_archive_dest_1指定standby日志的归档路径,log_archive_dest_3指定在线 日志的归档路径。
虽然主库并不需要配置两个归档路径,但为了方便将来可能的角色转换(switchover),一般建议 在主库中也做相应的配置。
首先,查看当前主库的log_archive_dest_1:
SYS@JKKA> show parameter log_archive_dest_1 NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest_1 string location=/data/oradata/jkka/archivelog valid_for=(all_logfiles,all_roles) db_unique_name=jkka
需要把valid_for属性修改为只对在线日志生效:
SYS@JKKA> alter system set log_archive_dest_1='location=/data/oradata/jkka/archivelog valid_for=(online_logfiles,all_roles) db_unique_name=jkka'; System altered.
接着在OS上新建standby归档目录,新增的log_archive_dest_3指向它:
SYS@JKKA> alter system set log_archive_dest_3='location=/data/oradata/jkka/archstandby VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=jkka'; System altered. SYS@JKKA> alter system set log_archive_dest_state_3=enable; System altered.
3. 在主库构建LogMiner字典
SYS@JKKA> EXECUTE DBMS_LOGSTDBY.BUILD;
PL/SQL procedure successfully completed.
4. 把物理备库转换成逻辑备库
SYS@jkka> ALTER DATABASE RECOVER TO LOGICAL STANDBY jkka2;
Database altered.
注意:上面的jkka2是新的逻辑备库的db_name,它必须得跟主库的db_name不一样,这点和物理备库 不一样。
上述语句执行成功后,会把备库的db_name修改成新的名字jkka2,关闭备库,重启至mount状态让其 生效:
SQL> shutdown immediate
SQL> startup mount
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索日志
, 逻辑
, 路径
, sys
备库
,以便于您获取更多的相关知识。