启动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)

相关推荐
Mr.Entropy14 分钟前
请求超过Spring线程池的最大线程(处理逻辑)
数据库·sql·spring
GBASE14 分钟前
“G”术时刻:南大通用GBase 8c数据库权限管理场景实践(二)
数据库
wearegogog1231 小时前
MySQL中实施排序(sorting)及分组(grouping)操作
数据库·mysql
2301_803554522 小时前
MySQL 主从读写分离架构
数据库·mysql·架构
正在走向自律2 小时前
Ubuntu系统下Python连接国产KingbaseES数据库实现增删改查
开发语言·数据库·python·ubuntu·kingbasees·ksycopg2
没有bug.的程序员2 小时前
Redis 内存管理机制:深度解析与性能优化实践
java·数据库·redis·性能优化·内存管理机制
小蒜学长2 小时前
基于SpringBoot+Vue的健身房管理系统的设计与实现(代码+数据库+LW)
java·数据库·vue.js·spring boot·后端
失散132 小时前
分布式专题——2 深入理解Redis线程模型
java·数据库·redis·分布式·架构
DemonAvenger2 小时前
数据库迁移实战:最小化停机时间的方法与经验分享
数据库·sql·性能优化
xhbh6663 小时前
Python操作MySQL的两种姿势:原生SQL与ORM框架SQLAlchemy详解
数据库·oracle