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

相关推荐
l1t15 分钟前
用parser_tools插件来解析SQL语句
数据库·sql·插件·duckdb
代码程序猿RIP24 分钟前
【SQLite 库】sqlite3_open_v2
jvm·oracle·sqlite
TDengine (老段)33 分钟前
TDengine 数学函数 ABS() 用户手册
大数据·数据库·sql·物联网·时序数据库·tdengine·涛思数据
lypzcgf35 分钟前
Coze源码分析-资源库-编辑数据库-后端源码-安全与错误处理
数据库·安全·系统架构·coze·coze源码分析·ai应用平台·agent平台
阿湯哥35 分钟前
Redis数据库隔离业务缓存对查询性能的影响分析
数据库·redis·缓存
麦兜*35 分钟前
Redis 7.2 新特性实战:Client-Side Caching(客户端缓存)如何大幅降低延迟?
数据库·spring boot·redis·spring·spring cloud·缓存·tomcat
web安全工具库1 小时前
Linux 高手进阶:Vim 核心模式与分屏操作详解
linux·运维·服务器·前端·数据库