informatica 抛出ora-12592 :包错误 排查过程和解决办法

作者:lianghc

1.环境说明

informatica server 版本:9.6.1
informatica server上的oracle客户端:11.2.0.3
informatica server安装的操作系统:win server 2008 X64
oralce server :Oracle Database 11g Release 11.2.0.4.0 (oracle 环境是rac环境,有两个节点)
oralce server 安装在操作系统:redhat linux 6.4

2.问题描述

        最近在数据采集时总是出现ora-12592: TNS 包错误,出现的频率大概每周一次,这两天频繁出现,错误出现的情况随机不定,这一刻失败,下一刻重启又能成功,经过网上查询简单定位,此类错误我们初步定位为网络,防火墙的相关原因,咨询过客户网络管理员,管理员回复:服务器是内网连接,应该没有问题,服务期间没有防火墙。


3.informatica knowledge base

   在informatica 的社区找到一个kb-262530,描述如下,主要的操作是

添加客户端和服务器sqlnet.ora文件,并重新启动监听器和任何现有的工作/连接: 
SQLNET.SEND_TIMEOUT=600


修改了相关的sqlnet后依然没有效果。

4.问题排查做出的尝试

在informatica 技术超群中资讯相关大牛,大多依然将问题定位为oracle 问题,其中有位说可能是informatica 服务端所依赖的oracle客户端有问题,我觉得说的有道理,于是将客户端换掉了,也有声音说是informatica的client(9.6.0)和server(9.6.1)的版本不一致造成的,我想笑的版本差异应该不是问题。

这时我的同事怀疑是session和process的问题,并做出如下解决:

1.查看当前连接进程数
SQL>selectcount(*) from v$process;
2.查看连接数上限
SQL>selectvalue from v$parameter where name = 'processes';
 
3.查看当前数据库的processes设置
SQL>show parameter processes
NAME                                TYPE        VALUE 
db_writer_processes                 integer     1
gcs_server_processes                integer     0
job_queue_processes                 integer     10
log_archive_max_processes           integer     2
processes                           integer     150 
 
SQL> show parameter sessions
NAME                                TYPE        VALUE
java_soft_sessionspace_limit        integer     0l
icense_max_sessions                integer     0
license_sessions_warning            integer     0
logmnr_max_persistent_sessions      integer     1
sessions                            integer     170
shared_server_sessions              integer
 
4.只要会话连接数超过上面的process数150或者sessions数170,再来一个的会话进程,就会产生12516错误。因此可以修改一下该值:
sessions=1.1*processes+5;//这个是sessions值和processes值的关系,最好按照这样做,
因此如果要将processes数设置为500,则sessions数必须为1.1*500+5=555
 
SQL>alter system set processes=500 scope&#
  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百事悠弦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值