云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > AIX系统的非计算内存最大值设置过大导致Oracle数据库有些不能连接上

AIX系统的非计算内存最大值设置过大导致Oracle数据库有些不能连接上

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 4:19:22

错误描述:

AIX系统、Oracle数据库以及 其监听器都没有做任何的修改,发现连接远程的数据库,有时可以连接上,有时连接不上数据库。 1、连接不上数据库时:回报ORA-12537:TNS连接己关闭 2、发现alert_SID.log没有发现错误

3、查看$ORACLE_HOME/network/log/listener.log日 志错误如下: 25-MAY-2010 18:54:26 *

(CONNECT_DATA=(SERVICE_NAME=testoms)(CID=(PROGRAM=D:\\项目资料

\\plsqldev\\plsqldev.exe)(HOST=89587D60816246E)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.88.22.77)(PORT=4954)) * establish * testoms * 12518

TNS-12518: TNS:listener could not hand off client connection TNS-12547: TNS:lost contact

TNS-12560: TNS:protocol adapter error TNS-00517: Lost contact

IBM/AIX RISC System/6000 Error: 32: Broken pipe

原因分析:

连接数据库,有时可以连接,有时连接不上。 用ping数据库ip -t 发现网络很稳定

一般出现上面的ora-12537错 误,一般是因为数据库的listener.ora文件没有配置好,导致这样的错误。但没有改变过该 文件,原来连接数据库一直很正常,突然发现有时能连接有时不能连接的现象。 用lsnrct status查看该监听正常。

该库为测试库,尝试了关闭数据库,再启动 >shutdown immediate 关闭正常 但启动时出现下面的错误 SQL> startup

Could not load program oracletestoms:

Could not load module /usr/lib/libperfstat.a(shr_64.o).

Dependent module liblvm.a(shr_64.o) could not be loaded. Could not load module liblvm.a(shr_64.o). System error: Not enough space Could not load module oracle.

Dependent module /usr/lib/libperfstat.a(shr_64.o) could not be loaded.

Could not load module . ORA-12547: TNS:lost contact 再次启动的错误又不一样: SQL> startup

ORA-00443: background process \

感到这是AIX系 统出现的问题,查看下交换空间 omstestdb:/> lsps -a

Page Space Physical Volume Volume Group Size %Used Active Auto Type

Could not load program /usr/bin/sed:

Dependent module libc.a(shr.o) could not be loaded. Could not load module libc.a(shr.o). Could not load program /usr/bin/awk:

Dependent module libc.a(shr.o) could not be loaded. Could not load module libc.a(shr.o).

0517-041 lsps: Cannot list paging space .

提示不能列出交换空间的大小,从这可以知道这是由于AIX的内存耗尽。 用topas查 看目前的AIX查看内存及其交换空间的使用情况。 AIX的comp(计算内存)使用了4 GB,而nocomp(非计算内存)也使用了4GB,而交换空间则有很多的空闲。系统总共8GB的 内存,而oracle中内存一般使用comp内 存。而oracle的缓存则使用nocomp, 有很多sql语 句一直没有释放,使用了4GB的内存,而AIXnocomp的 最大值也为4GB,导致内存不足。

限制AIX的nocomp(非计算)内存最大值。 把AIX的

minperm% = 20 maxclient% = 80 maxperm% = 80

调整更低。

解 决步骤:

查看原来的AIX的minperm%、maxclient%、maxperm%的值。如下: Root用 户查看: >vmo –a

minperm% = 20 maxclient% = 80 maxperm% = 80

把minperm%设置成10,maxclient%设置成20,maxperm%设置成20

用root命令行执行: 1、

vmo -p -o minperm%=10 2、

vmo -p -o maxclient%=20 3、

vmo -p -o maxperm%=20

执行上面的操作,AIX的nocomp还不能释放内存,重启了AIX系 统 # reboot

重启之后,重启oracle以及监听器 SQL>startup

$lsnrctl start

启动数据库及其监听器均正常,连接数据库则正常。

备注:

minperm 和 maxperm 参数的值

操作系统通过把在曾经读写的内存页 留在实内存一满足不同要求。如果文件页面在它

们的页帧被重新分配前被请求,那就节省了输入输出操作。该文件页面可以来自本地的或远程的(如 NFS)系统。

页帧使用的文件相对用于计算的(工 作或程序文本)段的文件的比例是松散地受控

于 minperm 和 maxperm 的值的:

如果 RAM 中文件页面所占的百分比高于 maxperm,页面替换的窃取只用于文件页。 如果 RAM 中文件页面所占的百分比低于 minperm,页面替换的窃取同时用于文件页和

计算页。

如果 RAM 中文件页面所占的百分比介于 minperm 和 maxperm之间,页面替换只窃取

文件页,除非文件页的重调入数量大于计算页 数。

其中Noncomp在20%-80%之间,此时内存页交换算法通常只交换文件

缓存页,但如果文 件缓存页的交换率大于程序页时,程序页也同样被交换。由于SGA属于Comp页,数据文件缓存属于Noncomp页,而在数据大量访问时,文件缓存页的交换率大于程序页(SGA),因此大量的SGA页面被交换;为避免大量SGA页被交换,需要降低maxperm%值到35%以下,这样就只有文件缓存页面被交换,减少了SGA交换的次数。

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

错误描述: AIX系统、Oracle数据库以及 其监听器都没有做任何的修改,发现连接远程的数据库,有时可以连接上,有时连接不上数据库。 1、连接不上数据库时:回报ORA-12537:TNS连接己关闭 2、发现alert_SID.log没有发现错误 3、查看$ORACLE_HOME/network/log/listener.log日 志错误如下: 25-MAY-2010 18:54:26 * (CONNECT_DATA=(SERVICE_NAME=testoms)(CID=(PROGRAM=D:\\项目资料\\plsqldev\\plsqldev.exe)(HOST=89587D60816246E)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.88.22.7

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com