12C 数据库之坑爹又坑队友的无故链接不上问题处理

公司两年前上的系统,当时要用12c的新特性,就上线投产了。初始oracle版本为12.1,该版本在实际使用中bug不断,简直头疼。近日开发投产一些新的应用服务器大概20多台,在投产至10台的时候,数据库内部链接在910的时候,就会报错,但是我们的session数很大,远远没有到达临界值,具体报错如下所示;

TNS-12518: TNS:listener could not hand off client connection
TNS-12536: TNS:operation would block
TNS-12560: TNS:protocol adapter error
TNS-00506: Operation would block
Linux Error: 11: Resource temporarily unavailable

通过MOS账户查询;Ora-12518 on Oracle 12c Multitenant Architecture (文档 ID 2252001.1)

Ora-12518 on Oracle 12c Multitenant Architecture (文档 ID 2252001.1)

SYMPTOMS
When attempting to connect to PDB via listener,
the following error occurs.

ERROR

ORA-12518: TNS:listener could not hand off client connection

Listener log:

=======

03-APR-2017 08:57:31 (CONNECT_DATA=(SID=wd1)(CID=(PROGRAM=d:\orasfw\prd1\bin\sqlplus.exe)(HOST=Host name )(USER=ismeirb))) (ADDRESS=(PROTOCOL=tcp)(HOST=XX.XX.XX.XX)(PORT=63994)) establish wd1 * 12518

TNS-12518: TNS:listener could not hand off client connection
TNS-12560: TNS:protocol adapter error
TNS-00530: Protocol adapter error
64-bit Windows Error: 203: Unknown error

CAUSE
PDB SiD name was not properly configured in the listener.ora file

SID_LIST_LSNRPD =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ct1)
(ORACLE_HOME = d:\orasfw\prd1)
(SID_NAME = ct1) <<<< CDB Instance_name
)
(SID_DESC =
(GLOBAL_DBNAME = wd1)
(ORACLE_HOME = d:\orasfw\prd1)
(SID_NAME = wd1) <<<<< Suppose to be CDB instance_name but PDB Instance_name has been configured
)
)

SOLUTION
PDB instance_name ‘wd1‘ will always exists within in the CDB instance_name ‘ct1‘. Configure the SID for PDB service name wd1 has shown below.

SID_LIST_LSNRPD =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ct1)
(ORACLE_HOME = d:\orasfw\prd1)
(SID_NAME = ct1)
)
(SID_DESC =
(GLOBAL_DBNAME = wd1) <<<< PDB Instance_name
(ORACLE_HOME = d:\orasfw\prd1)
(SID_NAME = ct1) <<<< CDB Instance_name
)
)

After adding the SID WD1 the connections to PDB worked fine.

比较适用我们的场景,原来的监听配置文件为;

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME =salesdb)
(ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1)
(SID_NAME = salesdb)
)
(SID_DESC =
(GLOBAL_DBNAME =salesstdydb)
(ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1)
(SID_NAME = salesstdydb)
)
(SID_DESC =
(GLOBAL_DBNAME =salesdb_DGMGRL)
(ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1)
(SID_NAME = salesdb)
)
)

后将监听修改为;
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME =salesdb)
(ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1)
(SID_NAME = salesdb)
)
(SID_DESC =
(GLOBAL_DBNAME =salesstdydb)
(ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1)
(SID_NAME = salesstdydb)
)
(SID_DESC =
(GLOBAL_DBNAME =salesdb_DGMGRL)
(ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1)
(SID_NAME = salesdb)
(SID_DESC =
(GLOBAL_DBNAME =salespdb)
(ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1)
(SID_NAME = salesdb)
)
)
)

和开发人员逐个上应用服务器,并投产,观察连接数和监听日志,并没有出现,链接至910的时候疯狂报错现象;

SQL> /

SESSIONS_CURRENT SESSIONS_HIGHWATER


        1202               1456

原文地址:https://blog.51cto.com/yangjunfeng/2438824

时间: 2024-10-14 11:25:42

12C 数据库之坑爹又坑队友的无故链接不上问题处理的相关文章

12C ogg之坑爹又坑队友报错OGG-00868 ORA-01291: missing logf

同事正常操作,并停止一个ogg进程,数据库是12c的.ogg当然也是12c的版本.一切都是一个正常的操作,但是出了坑爹的效应,差不多四个人,搞了近3个小时吧.下面我们看看详细的报错:GGSCI (dwdb1) 1> info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING EXTRACT RUNNING EK_ZW1 00:00:03 00:00:05 EXTRACT STOPPED EXT_KAF1

【翻译自mos文章】将Oracle 12c数据库从标准版convert到企业版

将Oracle 12c数据库从标准版convert到企业版 来源于: How to Convert Oracle Database 12c from Standard to Enterprise Edition ? (文档 ID 2046103.1) APPLIES TO: Oracle Database - Enterprise Edition - Version 12.1.0.1 and later Information in this document applies to any pl

【bash】今天你坑队友了吗

需求: 压缩日志并删除压缩过的文件 很日常的运维需求!!! 好,来看代码 1 echo 'start' 2 bzip2 -z -9 quke.log 3 rm -f quke.log 4 echo 'delete' 不管是初级运维还是高级运维,都可能会顺手写成这样,看似没毛病 问题来了 [[email protected] ~]$ ls quke. quke.py quke.sh [[email protected]beijing-console ~]$ dd if=/dev/zero of=.

《Oracle 12c数据库DBA入门指南 》目录

 当当网页面链接: http://product.dangdang.com/23625712.html 第1章  Oracle数据库基础知识 1.1  什么是关系数据库 1.1.1  关系数据库模型 1.1.2  关系数据模型的创始人 1.2  Oracle数据库发展简史 1.2.1  公司之初 1.2.2  Oracle数据库的发展历程 1.3  数据库RDBMS 1.4  SQL语言简介 1.4.1  SQL语言概述 1.4.2  SQL语句 1.5  本章小结 第2章  Oracle

laraval框架之数据库不可不吐槽的坑

最近做的项目一直在用laraval框架,有些地方确实很方便,但是有些方面实在是太坑了,就比如这次在数据库里,官方文档写的是 Take note that email is not a required option, it is merely used for example. You should use whatever column name corresponds to a "username" in your database.但是却没说明白密码必须用password,结果我

游戏服务器数据库踩过的坑

在页游服务器这块很早之前一直没有认真考虑过,大部分是之前搭建好的,我只需要按照他原来的设计继续码代码就好了. 可是这次服务器重构的过程中,还是遇到了很多始料不及的问题.那么就按照踩过的坑,去一个个讲讲分析分析. 1:起初mysql的方案  起初的设计方案是这样,用一个RolePlayer 去做玩家数据的缓存,所有玩家的数据更新到RolePlayer中,定时十秒中更新到数据库.RolePlayer大概是这样一个设计 class RolePlayer { public int roleId; pub

深入oracle 12c数据库备份与恢复(优化RMAN性能、Oracle flashback技术)

课程讲师:小流老师 课程分类:Oracle 适合人群:高级 课时数量:15课时 更新程度:完成 服务类型:C类(普通服务类课程) 用到技术:oracle 涉及项目:oracle 12c数据库备份与恢复 需要更多相关资料可以联系 Q2748165793 课程提纲 第一讲:介绍备份和恢复相关操作 备份和恢复的目标 备份和恢复的解决方案 Oracle flashback技术 第二讲:开始RMAN操作和RMAN体系架构 RMAN的环境 RMAN Channels RMAN Repository RMAN

【翻译自mos文章】在12c数据库中,哪种audit trail 受到支持?

在12c数据库中,哪种audit trail 受到支持? 来源于:What Audit Trail Types Are Supported For A 12c Database? (文档 ID 1986609.1) 适用于: Oracle Audit Vault and Database Firewall - Version 12.1.2.0 and later Information in this document applies to any platform. 目标: 在12c数据库中,

oracle 12c数据库备份与恢复教程

深入oracle 12c数据库备份与恢复(优化RMAN性能.Oracle flashback技术)课程讲师:小流老师 课程分类:Oracle适合人群:高级课时数量:15课时用到技术:oracle涉及项目:oracle 12c数据库备份与恢复咨询QQ:1337192913 课程简介:   学习最新ORACLE 12c数据库备份与恢复的相关的知识,讲解RMAN的体系结构,并通过大量的实践操作完成各种场景的备份与恢复操作.优化RMAN性能.诊断并处理数据库备份和恢复中出现的问题, 以实际的项目管理角度