将 DG 中一个物理备库转换为逻辑备库
1. 前提假设数据库具备创建逻辑备库的条件
2. 创建物理备库 (LDG), 配置监听, 网络服务 --- 参照物理备库的创建
3. 设置主库初始化参数
# switchover 相关设置略
PRIM> alter system set log_archive_config = 'dg_config=(prim,ldg)';
PRIM> alter system set log_archive_dest_1 = 'location=/u01/arch/prim';
PRIM> alter system set log_archive_dest_2 = 'service=ldg_tns_name arch valid_for=(online_logfiles,primary_role) db_unique_name=ldg';
PRIM> alter system set log_archive_dest_state_1 = enable;
PRIM> alter system set log_archive_dest_state_2 = defer;
4. 调整备库 (LDG) 初始化参数
LDG> alter system set log_archive_config = 'dg_config=(prim,ldg)';
[LDG]$ mkdir /u01/arch/ldgstd
# 区分本地日志归档与主库发来的日志归档路径
4-1. 本地归档
LDG> alter system set log_archive_dest_1 = 'location=/u01/arch/ldg valid_for=(online_logfiles,all_roles) db_unique_name=ldg';
4-2. 主库发来的 standby logs 归档
LDG> alter system set log_archive_dest_2 = 'location=/u01/arch/ldgstd valid_for=(standby_logfiles,standby_role) db_unique_name=ldg';
5. 创建 standby redologs
LDG> alter database add standby logfile group 4 '/u01/data/ldg/redo04.log' size 50m;
LDG> alter database add standby logfile group 5 '/u01/data/ldg/redo05.log' size 50m;
LDG> alter database add standby logfile group 6 '/u01/data/ldg/redo06.log' size 50m;
LDG> alter database add standby logfile group 7 '/u01/data/ldg/redo07.log' size 50m;
6. 挂载备库 (LDG), 主库开启发送日志, 备库开始接收日志, 但不启动日志应用
LDG> startup mount;
PRIM> alter system set log_archive_dest_state_2 = enable;
LDG> select sequence#,applied from v$archived_log;
LDG> alter database recover managed standby database cancel;
7. 主库生成数据字典
PRIM> execute dbms_logstdby.build;
8. 转换物理备库为逻辑备库
LDG> alter database recover to logical standby ldg; -- new db_name
LDG> shutdown immediate
LDG> startup mount
LDG> show parameter db_name
LDG> select database_role, switchover_status, open_mode from v$database;
9. 打开逻辑备库
LDG> alter database open resetlogs;
10. 开启 redo 应用
LDG> alter database start logical standby apply;
LDG> alter database stop logical standby apply;
LDG> alter database start logical standby apply immediate;
LDG> alter database stop logical standby apply immediate;
11. 验证
1. 前提假设数据库具备创建逻辑备库的条件
2. 创建物理备库 (LDG), 配置监听, 网络服务 --- 参照物理备库的创建
3. 设置主库初始化参数
# switchover 相关设置略
PRIM> alter system set log_archive_config = 'dg_config=(prim,ldg)';
PRIM> alter system set log_archive_dest_1 = 'location=/u01/arch/prim';
PRIM> alter system set log_archive_dest_2 = 'service=ldg_tns_name arch valid_for=(online_logfiles,primary_role) db_unique_name=ldg';
PRIM> alter system set log_archive_dest_state_1 = enable;
PRIM> alter system set log_archive_dest_state_2 = defer;
4. 调整备库 (LDG) 初始化参数
LDG> alter system set log_archive_config = 'dg_config=(prim,ldg)';
[LDG]$ mkdir /u01/arch/ldgstd
# 区分本地日志归档与主库发来的日志归档路径
4-1. 本地归档
LDG> alter system set log_archive_dest_1 = 'location=/u01/arch/ldg valid_for=(online_logfiles,all_roles) db_unique_name=ldg';
4-2. 主库发来的 standby logs 归档
LDG> alter system set log_archive_dest_2 = 'location=/u01/arch/ldgstd valid_for=(standby_logfiles,standby_role) db_unique_name=ldg';
5. 创建 standby redologs
LDG> alter database add standby logfile group 4 '/u01/data/ldg/redo04.log' size 50m;
LDG> alter database add standby logfile group 5 '/u01/data/ldg/redo05.log' size 50m;
LDG> alter database add standby logfile group 6 '/u01/data/ldg/redo06.log' size 50m;
LDG> alter database add standby logfile group 7 '/u01/data/ldg/redo07.log' size 50m;
6. 挂载备库 (LDG), 主库开启发送日志, 备库开始接收日志, 但不启动日志应用
LDG> startup mount;
PRIM> alter system set log_archive_dest_state_2 = enable;
LDG> select sequence#,applied from v$archived_log;
LDG> alter database recover managed standby database cancel;
7. 主库生成数据字典
PRIM> execute dbms_logstdby.build;
8. 转换物理备库为逻辑备库
LDG> alter database recover to logical standby ldg; -- new db_name
LDG> shutdown immediate
LDG> startup mount
LDG> show parameter db_name
LDG> select database_role, switchover_status, open_mode from v$database;
9. 打开逻辑备库
LDG> alter database open resetlogs;
10. 开启 redo 应用
LDG> alter database start logical standby apply;
LDG> alter database stop logical standby apply;
LDG> alter database start logical standby apply immediate;
LDG> alter database stop logical standby apply immediate;
11. 验证
0 件のコメント:
コメントを投稿