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

相关推荐
llilian_164 小时前
IRIG-B码产生器立足用户痛点,提供精准授时解决方案
大数据·数据库·功能测试·单片机·嵌入式硬件·测试工具
zuoerjinshu9 小时前
sql实战解析-sum()over(partition by xx order by xx)
数据库·sql
NocoBase10 小时前
【2.0 教程】第 1 章:认识 NocoBase ,5 分钟跑起来
数据库·人工智能·开源·github·无代码
Hoshino.4112 小时前
基于Linux中的数据库操作——下载与安装(1)
linux·运维·数据库
Oueii13 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
未来龙皇小蓝13 小时前
【MySQL-索引调优】11:Group by相关概念
数据库·mysql·性能优化
2401_8318249614 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python
njidf14 小时前
Python日志记录(Logging)最佳实践
jvm·数据库·python
twc82914 小时前
大模型生成 QA Pairs 提升 RAG 应用测试效率的实践
服务器·数据库·人工智能·windows·rag·大模型测试
@我漫长的孤独流浪14 小时前
Python编程核心知识点速览
开发语言·数据库·python