oracle-dg-激活dg库成测试的流程及注意事项

简介:

激活dg库,供开发测试使用。

----1, 确认备库已关闭job参数: job_queue_processes=0,一定要设成0!!
----2, 主库不用做操作。
----3, 激活备库后,备库成了一个独立的可读写库,与主库无关联。
----4, 主库暂时修改log_archive_stat_2=defer.
----5, 特殊情况:如果是激活二级备库,LOG_FILE_NAME_CONVERT要有主库到二级备库的路径转换对应,否则报ORA-16157错误,处理方法:把主库的路径加到LOG_FILE_NAME_CONVERT参数里

1.查看是否备库是否managed real time apply(in primary)

SQL> SELECT RECOVERY_MODE FROM V$ARCHIVE_DEST_STATUS WHERE DEST_ID=2;

RECOVERY_MODE
-----------------------
MANAGED REAL TIME APPLY

如果不是,设置如下(in standby):

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;

2.备库禁止job(in standby):<<<<<!!!!!

alter system set job_queue_processes=0 scope=both sid='*';

3.确定主备间没有gap存在

(in primary)

select thread#, sequence# from v$thread;
SELECT STATUS, GAP_STATUS FROM V$ARCHIVE_DEST_STATUS WHERE DEST_ID = 2;

(in standby)

select process, status, thread#, sequence# from v$managed_standby where process='MRP0';

4.备库切换成主库(in standby)

4.1 查看备库状态是否是 TO PRIMARY

set line 300
col db_unique_name for a30
col open_mode for a20
col switchover_status for a30
col database_role for a20
select db_unique_name, database_role, open_mode,switchover_status from v$database;


DB_UNIQUE_NAME                 DATABASE_ROLE        OPEN_MODE            SWITCHOVER_STATUS
------------------------------ -------------------- -------------------- ------------------------------
oradg                     PHYSICAL STANDBY     READ ONLY WITH APPLY   NOT ALLOWED

4.2 激活备库(failover方式)

alter database recover managed standby database cancel;
alter database recover managed standby database finish;             ---------> 等待所有日志应用完成

select db_unique_name,database_role,open_mode,switchover_status from v$database;
DB_UNIQUE_NAME                 DATABASE_ROLE        OPEN_MODE            SWITCHOVER_STATUS
------------------------------ -------------------- -------------------- ------------------------------
oradg                     PHYSICAL STANDBY     READ ONLY            TO PRIMARY


alter database commit to switchover to primary with session shutdown;

4.3 再次检查job,确保关闭

show parameter job_queue_processes

4.4 open新主库

alter database open;

4.5 查询新主库状态

select db_unique_name, database_role, open_mode,switchover_status from v$database;

DB_UNIQUE_NAME                 DATABASE_ROLE    OPEN_MODE            SWITCHOVER_STATUS
------------------------------ ---------------- -------------------- --------------------
oradg                       PRIMARY          READ WRITE           FAILED DESTINATION

4.6 删除dblink

select case when owner <> 'PUBLIC' then 'create or replace procedure ' ||owner||'.drop_link as' || chr(10) ||
'begin execute immediate ''drop database link '||db_link ||''';' || chr(10) ||
'end;' ||chr(10) ||
'/' || chr(10) ||
'exec '||owner||'.drop_link;' || chr(10) ||
'drop procedure ' ||owner||'.drop_link;'
else 'drop public database link ' || db_link || ';' end from dba_db_links; 
目录
相关文章
|
29天前
|
jenkins 测试技术 应用服务中间件
【专业测试技能】全流程掌握:部署测试环境的策略与实践
本文分享了关于部署测试环境的策略与实践。文章讨论了部署测试环境的全过程,包括服务如MySQL、Redis、Zookeeper等的部署,以及解决服务间的依赖和兼容问题。文中还介绍了使用Jenkins、Docker等工具进行部署的方法,并通过实战案例讲解了如何创建和管理Jenkins Job、配置代理服务器Nginx、进行前后端服务的访问和优化。最后,作者强调了提问的重要性,并鼓励大家通过互联网解决遇到的问题。
53 2
【专业测试技能】全流程掌握:部署测试环境的策略与实践
|
29天前
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
本文介绍了Python中的循环语句,包括while和for循环的使用,range()函数的运用,以及continue、break和pass关键字的说明,同时提出了关于while循环是否能与成员运算符结合使用的思考。
34 1
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
|
29天前
|
测试技术 索引 Python
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(一)
本文提供了Python接口自动化测试中的编程练习,包括计算器、猜数字、猜拳和九九乘法表等经典问题,涵盖了数据类型、运算、循环、条件控制等基础知识的综合应用。
30 1
|
8天前
|
运维 测试技术
拆分软件测试流程,一张图秒杀所有面试
本文主要介绍了软件测试流程的核心内容,包括需求分析、测试用例编写、测试执行、缺陷提交及回归测试等关键步骤。以迭代测试为例,详细说明了每个环节的具体操作和注意事项,并提供了一张测试流程图以便理解。测试流程确保了软件质量,是面试中常见的考察点。
24 7
拆分软件测试流程,一张图秒杀所有面试
|
29天前
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之if条件控制
Python中的流程控制语句if条件控制,涵盖了比较运算符、成员运算符、身份运算符、逻辑运算符的使用,if语句的嵌套,以及如何使用input和print函数进行交互式编程练习。
18 1
Python接口自动化测试框架(基础篇)-- 流程控制之if条件控制
|
20天前
|
敏捷开发 jenkins 测试技术
自动化测试之美:打造高效软件测试流程
【8月更文挑战第31天】在软件开发的海洋中,自动化测试犹如一艘航船,引导着项目向着质量的灯塔航行。本文将揭开自动化测试的神秘面纱,从基础理论到实践操作,一步步构建起你的测试框架。你将学会如何编写实用的测试脚本,并将其融入日常开发,最终让测试成为敏捷开发不可或缺的力量。让我们启航,探索自动化测试的世界,确保代码之船稳健前行。
|
29天前
|
存储 测试技术 数据格式
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(二)
本文通过数据类型转换和文件读取的练习,复习了Python中的数据类型、循环、条件判断、内置函数等基础知识,并演示了如何将字符串数据转换为字典列表,以及如何从文本文件中读取和转换数据。
30 1
|
1月前
|
算法 测试技术 API
测试使用 SenseVoice 的流程
8月更文挑战第10天
155 8
|
2月前
|
Oracle 关系型数据库 Linux
讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so
通过这一连串的步骤,可以专业且有效地在Linux下为Qt编译Oracle驱动库 `libqsqloci.so`,使得Qt应用能够通过OCI与Oracle数据库进行交互。这些步骤适用于具备一定Linux和Qt经验的开发者,并且能够为需要使用Qt开发数据库应用的专业人士提供指导。
87 1
讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so
|
20天前
|
敏捷开发 测试技术 持续交付
自动化测试的魔法:打造高效软件测试流程
【8月更文挑战第31天】在软件开发的海洋中,自动化测试犹如一艘能够自动导航的船,引领着项目团队向着高效率和高质量的彼岸前进。本文将揭开自动化测试的神秘面纱,分享如何构建一个高效的自动化测试流程,并通过实际代码示例,展示自动化测试的强大魔力。让我们一起启航,探索自动化测试的世界!

推荐镜像

更多