oracle 将物理备用数据库转换为独立数据库

unftdfkk  于 2022-11-22  发布在  Oracle
关注(0)|答案(2)|浏览(296)

我 有 一 个 标准 的 主/物理 备用 配置 ( 一 个 主 , 一 个 备用 ) , 并 希望 完全 断开 主 和 备用 之间 的 连接 ;将 物理 备用 数据 库 转换 为 与 主/生产 系统 分离 的 开发 数据 库 。
这 看 起来 应该 是 相当 琐碎 的 , 但 并 没有 真正 遵循 我 所 能 找到 的 任何 文档 化 的 过程 ( 其中 大多 数 集中 在 切换 到 待机 状态 以 进行 恢复 ) 。
我 的 计划 是 通过 " 模拟 " 故障 转移 来 激活 备用 数据 库 ( 当然 , 主 数据 库 实际 上 不会 发生 故障 ) , 请 遵循 以下 说明 :

8.2.2 Performing a Failover to a Physical Standby Databasehttp://docs.oracle.com/cd/E11882_01/server.112/e41134/role_management.htm#SBYDB5176

这 需要 在 主 服务 器 上 运行 以下 命令 :

SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER SYSTEM FLUSH REDO TO target_db_name;

中 的 每 一 个
然后 , 如果 没有 错误 , 则 在 待机 状态 下 运行 以下 命令 :

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
     (confirm result is TO PRIMARY or SESSIONS ACTIVE)

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

格式
然后 , 在 主 数据 库 和 备用 数据 库 上 , 以 OPEN 模式 启动 并 禁用 进一步 的 复制 :

SQL> ALTER DATABASE OPEN;
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='';

格式
我 对 这种 方法 有 3 个 问题 :
1.一般 来说 , 这 感觉 有点 过于 复杂 - - 有 没有 更 直接 的 方法 来 实现 这 一 点 ? 例如 , 我 希望 能够 在 不必 关闭 主 数据 库 的 情况 下 实现 这 一 点 ( 为了 运行 ALTER SYSTEM FLUSH REDO TO target_db_name; , 必须 关闭 主 数据 库 ) 。

  1. SELECT SWITCHOVER_STATUS FROM V$DATABASE; 在 待机 状态 下 的 当前 输出 为 " 不 允许 " 。 我 假设 此 状态 将 随 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH; 而 改变 , 但 希望 确认 这 一 点 , 因为 我 不 想 发现 自己 处于 故障 排除 模式 。
  2. ALTER SYSTEM SET LOG_ARCHIVE_DEST_2=''; 是 关闭 复制 的 干净 方法 吗 ? 我 应该 改为 ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2='disable' 吗 ?
yks3o0rb

yks3o0rb1#

我们昨天这样做了:将两个主/物理备用Oracle 11数据库转换为独立/独立。设置Oracle物理备用系统的方法有多种:有或没有经纪人,数据卫士管理器,在不同的模式e.t.c. pp.这是什么为我们工作。
关于你的三个问题:

  • 以前的主系统一直在运行,不需要关闭。我们也觉得这个程序比它应该的更复杂,记录也更少。
  • 你可能是对的。我们没有切换,但是让备用数据库确信主数据库丢失了,它必须接管,也就是说,只将备用数据库切换为主数据库(“ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;“)。但是当我在没有“ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;“,它拒绝了(“ORA-16139:需要介质恢复”)
  • 我不确定。为了关闭复制,我们使用了数据保护管理器。我希望您至少需要一个额外的“alter database recover managed standby database cancel;“

制备:

create spfile from pfile='standalone.ora';
alter database backup controlfile to trace;

在dgmgrl中:

REMOVE DATABASE
REMOVE CONFIGURATION

待命状态:

alter database recover managed standby database finish;
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

(now此数据库是主数据库)

shutdown immediate;
startup

就这样。
为了进行清理,我们修改了pfile:dg_broker_start=假并删除了dg_broker_config_file1 dg_broker_config_file2假服务器备用文件管理
在数据库的sqlplus /中,我们删除了备用重做日志

alter database drop standby logfile group 30;
0yg35tkg

0yg35tkg2#

有一个快速的方法。待命

$  sqlplus / as sysdba
SQL>  ALTER DATABASE ACTIVATE PHYSICAL STANDBY DATABASE;
SQL>  SHUTDOWN IMMEDIATE;
SQL>  STARTUP

此外,还提供Oracle文档2074686.1

相关问题