启动service报错ORA-44317: database open read-only

ADG(RAC)备库环境,srvctl添加service服务成功,启动service时报错ORA-44317: database open read-only。

这是预期行为, 使用"srvctl add service -d <db_name> -s <service_name>"创建服务时,将在 OCR 中创建和注册服务,但在使用"srvctl start service -d <db_name> -s <service_name>启动服务之前,不会在数据库中创建服务。

当使用 srvctl start service -d <db_name> -s <service_name> 启动服务时,如果数据库中不存在service_name该服务(查询 dba_services 将判断该服务是否在数据库中存在),则首先使用DBMS_SERVICES包创建此服务。如果数据库是只读的,则 dbms_services.create_service 将失败并显示 ORA-44317,因为数据库是只读的,并且"srvctl start service"命令将失败,并显示 PRKP-1030 和 CRS-0215。

但是,如果 <service_name> 已存在于备用数据库中,则可以通过 srvctl 启动该服务,而不会出现问题。通常,当在 primary 中创建 service_name 时,会出现这种情况,然后在 standby 上应用重做日志时,会在 standby 上创建相同的服务。

因此,两种方式,主库创建并启动同名service,让service信息同步到备库。或者备库直接在service_name中添加service服务名。

ORA-44317 TRYING TO START SERVICE IN READ-ONLY STANDBY (Doc ID 749657.1)

相关推荐
m0_6784854521 分钟前
CSS如何控制表格单元格边框合并_通过border-collapse实现
jvm·数据库·python
m0_7488394924 分钟前
如何用组合继承模式实现父类方法复用与子类属性独立
jvm·数据库·python
qq_3345635533 分钟前
PHP源码是否依赖特定芯片组_Intel与AMD平台差异【操作】
jvm·数据库·python
qq_206901391 小时前
如何使用C#调用Oracle存储过程_OracleCommand配置CommandType.StoredProcedure
jvm·数据库·python
m0_748839491 小时前
CSS如何实现元素平滑滚动_使用scroll-behavior属性设置
jvm·数据库·python
星晨雪海2 小时前
Lombok 注解使用场景终极总结
java·数据库·mysql
风子杨yxf7713 小时前
linux下oracle开机自启动以及关机自关闭数据库,并发送邮件通知
linux·运维·数据库·oracle·自启动·发邮件·自关闭
战族狼魂3 小时前
基于LibreOffice +python 实现一个小型销售管理系统的数据库原型教学实验
数据库·python
m0_640309303 小时前
PHP函数怎样适配高可靠性存储硬件_PHP在ZFS RAIDZ环境配置【技巧】
jvm·数据库·python
踏浪无痕3 小时前
用 AI 解决数据库性能问题的方法论
数据库