Oracle运维笔记之DG主备切换后的细节修改

简介: Oracle运维笔记之DG主备切换后的细节修改

客户现场DG主备切换演练,在切换成功后,尝试登陆数据库,发现以下错误:

ORA-01033: ORACLE initialization or shutdown in progress
图片.png

切换的流程是这样的,主备切换后,ip也做改变,原备库的ip修改成远主库的scan ip,这样应用就可以在不做改动的情况下,直接连数据库。但是奇怪的是在切换后却无法正常连接,尝试使用连接串登陆数据库,会报出ORA-01033错误。
针对ORA-01033错误,做了以下检查:
1.sqlplus登陆主库(原备库),指定service name和sid

sqlplus system/oracle@192.168.211.107:1521/rac/rac

再查看open_mode,发现是read write,说明数据库是open状态

select open_mode from v$database;

2.sqlplus再次登陆主库(原备库),只指定service name
出现ORA-01033错误
3.查看数据库alert日志,备库成功切换成主库,没有发现异常错误。
4.查看lsnrctl status,发现在rac服务下有多个实例,其中rac1和rac2是生产库的实例
从以上的检查中,可以发现备库(原主库)的实例注册到了主库(原备库)的监听中,应用在连接数据库的时候,连接上的是备库(原主库),而备库在主备切换后变成mount状态,所以才会出现ORA-01033错误。
为什么备库(原主库)的实例会注册到主库(原备库)的监听中?之前在自己环境模拟DG主备切换并修改IP时也遇到过同样的问题,解决方法就是修改remote_listener参数。
关于remote_listener的作用,以下是官方解释:

REMOTE_LISTENER specifies a network name that resolves to an address or address list of Oracle Net remote listeners (that is, listeners that are not running on the same machine as this instance). The address or address list is specified in the TNSNAMES.ORA file or other address repository as configured for your system.

简单来说就是REMOTE_LISTENER是用来指定远程的监听地址。
分析到这里,问题就很明显了,看了下备库(原主库)的remote参数:

SQL> show parameter remote_listener

NAME TYPE VALUE
-------------------------- ----------- --------------------
remote_listener string racdb-scan:1521

racdb-scan:1521正是主库(原备库)的监听地址,所以实例才会注册到主库的监听中。解决方法也很简单,修改remote_listener:

alter system set remote_listener='' sid='*' scope=both;

其实这个问题和Oracle的TNS Listener远程注册投毒类似,如果修复了这个漏洞,理论是可以避免这个错误的。
下面来模拟这个错误:
1.主备切换后,关掉备库的scan监听和scan。
2.修改主库的ip为scanip地址。
3.主库查看listener status,可以看到备库的实例rac1和rac2注册到了主库的监听中。
图片.png
4.尝试sqlplus登陆主库,报出ORA-01033错误
图片.png
5.修改备库的remote_listener,alter system set remote_listener='' sid='*' scope=both;,再次查看主库监听,发现没有了备库的实例。
图片.png
6.尝试sqlplus登陆主库,登陆成功。
图片.png

相关文章
|
30天前
|
存储 运维 安全
2024.3.18隐语训练营第1讲笔记:数据可信流通,从运维信任到技术信任
数据二十条提出了要建立数据可信流通体系,使得数据可以安全的流转起来。但由于在数据流通中存在的各种风险,使得信任四要素全部遭到破坏,导致信任降级甚至崩塌。为了应对这些风险,要实现从运维信任到技术信任的转变,针对信任的各个要素,提出了解决方案。最后简要介绍了安全可信基础设施的融合布局。
43 3
|
24天前
|
Oracle 关系型数据库
oracle基本笔记整理及案例分析2
oracle基本笔记整理及案例分析2
12 0
|
24天前
|
Oracle 关系型数据库
oracle基本笔记整理及案例分析1
oracle基本笔记整理及案例分析1
16 0
|
24天前
|
SQL Oracle 关系型数据库
oracle笔记整理2
oracle笔记整理2
11 0
|
24天前
|
SQL Oracle 关系型数据库
oracle基本笔记整理
oracle基本笔记整理
12 0
|
30天前
|
运维 安全 区块链
隐语训练营第1讲笔记:数据可信流通,从运维信任到技术信任
数据可信流通需要从运维信任转向技术信任,需要安全可信基础设施的融合布局。
41 1
|
30天前
|
存储 运维 安全
[隐私计算实训营笔记]第一课——数据可信流通,从运维信任到技术信任
本课以数据要素可信流通,重构技术信任体系为主题,介绍了信任四要素,以及其对应破环的原因,因此需要从运维信任走向技术信任的路线,并最终完成安全可信基础设施的融合布局。 感谢授课人韦韬老师~
|
1月前
|
运维 安全 数据安全/隐私保护
|
1月前
|
运维 NoSQL Linux
运维排错笔记
运维排错笔记
16 1

推荐镜像

更多