IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

Oracle Dataguard故障转移(failover)操作

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

注意:故障转移会破坏DG的主从关系,使其变为互不相关的2个数据库,谨慎使用。

(一)故障转移操作流程图

100_1.png

(二)故障转移操作流程
备注:以下操作步骤与上面流程图步骤一一对应

STEP1:刷新所有未发送到备库的日志到备库
如果主库还可以启动到mount状态,则刷新所有未发送的归档日志和在线redo日志到备库。如果这一步成功了,则可以保证数据零丢失。
如果主库不能mount,则执行第2步。
使用如下命令刷新redo日志到备库:

SQL> ALTER SYSTEM FLUSH REDO TO 'target_db_name';

其中,target_db_name为备库的db_unique_name。
如果上面的语句执行成功,则直接跳到步骤5;如果执行报错,则执行步骤2。

STEP2:确认备库接收到的最新的归档日志文件
在备库上使用V$ARCHIVED_LOG视图,查询每个实例的最大日志序列号的日志,通过查询出的日志序列号与主库的最大日志序列号比较(主库的直接到服务器上去查看归档日志文件),可以直到缺失了哪些归档日志文件

SQL> SELECT UNIQUE THREAD# AS THREAD, MAX(SEQUENCE#) OVER (PARTITION BY thread#) AS LAST from V$ARCHIVED_LOG;
THREAD       LAST

1          100

如果可能,对于还未传输到备库的日志文件,直接从主数据库上拷贝过去,然后注册日志,注册日志放入如下:

SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1';

STEP3:确认和解决日志GAP
在备库上查询V$ARCHIVE_GAP视图,确认是否存在日志GAP,如:

SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
THREAD#    LOW_SEQUENCE# HIGH_SEQUENCE#

1            90             92

在这个例子中,GAP存在于线程1的90,91,92号归档日志上,如果可能,拷贝这些日志到备库服务器上,然后注册日志

SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1';

STEP4:重复步骤3直到把所有GAP解决
继续在备库上查询V$ARCHIVE_GAP视图,直到没有数据返回,说明没有GAP。
如果在执行了步骤2到步骤4后,依然无法解决日志GAP(例如,主服务器宕机,我们无法访问主数据库,导致日志无法同步到备库),则执行failover切换后会存在数据丢失。

STEP5:备库停止日志应用
执行如下操作:

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

STEP6:完成所有已经接收日志的应用
在备库上执行如下操作:

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;

如果这个操作未报错,则执行步骤7。
如果发生报错,尝试解决错误,再次执行以上SQL语句,如果报错无法解决,可以在目标备库执行以下语句来进行故障转移(会丢失数据)

SQL> ALTER DATABASE ACTIVATE PHYSICAL STANDBY DATABASE;

这个语句完成后跳到第9步执行。

STEP7:确认目标备库准备切换为主库
查看目标备库v$database视图的SWITCHOVER_STATUS列

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS

TO PRIMARY

如果SWITCHOVER_STATUS的值为“TO PRIMARY”或者“SESSIONS ACTIVE”,则说明备库已经准备切换为主库。如果不是这2个值,确认Redo日志应用是否还是活跃的,继续查询,直到变为这2个值中的一个为止。

STEP8:切换物理备库为主库
使用下面的SQL语句进行切换:

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

STEP9:打开新的主库

SQL> ALTER DATABASE OPEN;

后续:

1、在打开数据库之后,建议做一个完整备份;

2、如果主服务器/数据库重新启动,则需要还原失败的主数据库。

【完】

相关文档:
1.Oracle DataGuard主备切换(switchover)
2.Oracle Dataguard故障转移(failover)操作
3.Oracle DataGuard故障转移(failover)后使用RMAN还原失败的主库

文章永久链接:https://tech.souyunku.com/?p=35226


Warning: A non-numeric value encountered in /data/wangzhan/tech.souyunku.com.wp/wp-content/themes/dux/functions-theme.php on line 1154
赞(92) 打赏



未经允许不得转载:搜云库技术团队 » Oracle Dataguard故障转移(failover)操作

IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码
IDEA2023.1.3破解,IDEA破解,IDEA 2023.1破解,最新IDEA激活码

评论 抢沙发

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

微信扫一扫打赏


Fatal error: Uncaught Exception: Cache directory not writable. Comet Cache needs this directory please: `/data/wangzhan/tech.souyunku.com.wp/wp-content/cache/comet-cache/cache/https/tech-souyunku-com/index.q`. Set permissions to `755` or higher; `777` might be needed in some cases. in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php:367 Stack trace: #0 [internal function]: WebSharks\CometCache\Classes\AdvancedCache->outputBufferCallbackHandler() #1 /data/wangzhan/tech.souyunku.com.wp/wp-includes/functions.php(5109): ob_end_flush() #2 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(303): wp_ob_end_flush_all() #3 /data/wangzhan/tech.souyunku.com.wp/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /data/wangzhan/tech.souyunku.com.wp/wp-includes/plugin.php(470): WP_Hook->do_action() #5 /data/wangzhan/tech.souyunku.com.wp/wp-includes/load.php(1097): do_action() #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /data/wangzhan/tech.souyunku.com.wp/wp-content/plugins/comet-cache/src/includes/traits/Ac/ObUtils.php on line 367