记一次被“/”坑过程,此次坑说明数据库的工作是非常严谨的,不该多的空格不能多,不该有的/不能多,看似没什么问题,但有时会被坑惨
背景
搭建rac to 单实例+ASM的dataguard。配置好dg相关参数,tns等信息后准备发起duplicate。发现连接备库时报错了
报错信息
[oracle@hkbst-cendbn1 bakup]$ rman target sys/xxx auxiliary sys/xxx@cenadg Recovery Manager: Release 19.0.0.0.0 - Production on Sat Apr 30 16:34:19 2022 Version 19.14.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. connected to target database: CENDB (DBID=2601363460) RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-00554: initialization of internal recovery manager package failed RMAN-04006: error from auxiliary database: ORA-12537: TNS:connection closed
复制
在本地连接也会报一样的错:
[oracle@cmlc-adgcendb1 admin]$ sqlplus sys/xxx@10.200.***.***:1521/cenadg as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Sun May 1 15:01:02 2022 Version 19.14.0.0.0 Copyright (c) 1982, 2021, Oracle. All rights reserved. ERROR: ORA-12537: TNS:connection closed
复制
静态监听配置
[grid@cmlc-adgcendb1 ~]$ cat /oracle/app/19c/grid/network/admin/listener.ora #Backup file is /oracle/app/grid/crsdata/cmlc-adgcendb1/output/listener.ora.bak.cmlc-adgcendb1.grid line added by Agent # listener.ora Network Configuration File: /oracle/app/19c/grid/network/admin/listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = cenadg) (ORACLE_HOME = /oracle/app/oracle/product/19c/dbhome_1/) (SID_NAME = cenadg) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = cmlc-adgcendb1)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent VALID_NODE_CHECKING_REGISTRATION_LISTENER=ON # line added by Agent
复制
监听状态
[grid@cmlc-adgcendb1 ~]$ lsnrctl status LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 01-MAY-2022 14:57:48 Copyright (c) 1991, 2021, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cmlc-adgcendb1)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production Start Date 01-MAY-2022 14:56:34 Uptime 0 days 0 hr. 1 min. 14 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /oracle/app/19c/grid/network/admin/listener.ora Listener Log File /oracle/app/grid/diag/tnslsnr/cmlc-adgcendb1/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cmlc-adgcendb1)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Services Summary... Service "+ASM" has 1 instance(s). Instance "+ASM", status READY, has 1 handler(s) for this service... Service "+ASM_DATA" has 1 instance(s). Instance "+ASM", status READY, has 1 handler(s) for this service... Service "+ASM_FRA" has 1 instance(s). Instance "+ASM", status READY, has 1 handler(s) for this service... Service "cenadg" has 2 instance(s). Instance "cenadg", status UNKNOWN, has 1 handler(s) for this service... Instance "cenadg", status BLOCKED, has 1 handler(s) for this service...
复制
tns配置
cenadg = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.200.***.***)(PORT = 1560)) (LOAD_BALANCE = yes) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = cenadg) ) )
复制
tnsping cenadg是通的,一切看似正常,没能找出什么问题,单实例却是连不了
网上方法:
检查oracle文件权限
[grid@cmlc-adgcendb1 bin]$ ll oracle -rwsr-s--x 1 grid oinstall 425960424 Apr 23 00:28 oracle [oracle@cmlc-adgcendb1 bin]$ ll oracle -rwsr-s--x 1 oracle asmadmin 449624824 Apr 23 00:48 oracle
复制
oracle权限是正确的,排除权限问题
最后解决办法:
修改监听配置,原有监听的ORACLE_HOME配置多了个/,配正确的ORACLE_HOME问题解决
[grid@cmlc-adgcendb1 ~]$ cat /oracle/app/19c/grid/network/admin/listener.ora #Backup file is /oracle/app/grid/crsdata/cmlc-adgcendb1/output/listener.ora.bak.cmlc-adgcendb1.grid line added by Agent # listener.ora Network Configuration File: /oracle/app/19c/grid/network/admin/listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = cenadg) (ORACLE_HOME = /oracle/app/oracle/product/19c/dbhome_1) (SID_NAME = cenadg) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = cmlc-adgcendb1)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
我把动态监听改成静态后报错,查遍了都没想明白,万万没想到卡在一个/上

2年前

评论
可以,我也遇到了。搞死不知道啥问题
2年前

评论
您好,您的文章已入选墨力原创作者计划合格奖,10墨值奖励已经到账请查收!
❤️我们还会实时派发您的流量收益。
2年前

评论
相关阅读
Oracle RAC ASM 磁盘组满了,无法扩容怎么在线处理?
Lucifer三思而后行
972次阅读
2025-03-17 11:33:53
Oracle DataGuard高可用性解决方案详解
孙莹
411次阅读
2025-03-26 23:27:33
墨天轮个人数说知识点合集
JiekeXu
355次阅读
2025-04-01 15:56:03
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
345次阅读
2025-04-08 09:12:48
Oracle SQL 执行计划分析与优化指南
Digital Observer
313次阅读
2025-04-01 11:08:44
Oracle 19c RAC更换IP实战,运维必看!
szrsu
289次阅读
2025-04-08 23:57:08
风口浪尖!诚通证券扩容采购Oracle 793万...
Roger的数据库专栏
288次阅读
2025-03-24 09:42:53
切换Oracle归档路径后,不能正常删除原归档路径上的归档文件
dbaking
282次阅读
2025-03-19 14:41:51
oracle定时任务常用攻略
virvle
281次阅读
2025-03-25 16:05:19
MySQL 有没有类似 Oracle 的索引监控功能?
JiekeXu
260次阅读
2025-03-19 23:43:22