问题描述:
DM7数据库服务运行正常,用户登录突然报网络通讯异常,查看数据库日志报错如下:
从日志可以看出是用户创建任务线程失败;
解决办法:
1.看下数据库是那个用户启动的 ps -ef|grep dmserver
2.切换到该用户下 ,一般是dmdba su dmdba
3.查看该用户可同时运行的最大进程数(max_user_processes),每个进程可同时打开的文件数(open files) ulimit -a
4.exit 回到root用户,vi /etc/security/limits.conf,加上如下内容:
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
5.修改完后再回到dmdba目录,ulimit -a 看配置改过来没,同时设置下数据库中dm.ini 的参数 MAX_SESSION_STATEMENT=20000(单个会话允许同时打开语句的句柄最大数)
6.数据需要重启下生效
补充:也可以在 /etc/security/limits.conf文件中加入如系内容:
dmdba soft core unlimited
dmdba hard core unlimited
这个可以在数据库故障时生成core文件用的,便于分析问题,一般core文件会比较大
Core文件其实就是内存的映像,当程序崩溃时,存储内存的相应信息,主用用于对程序进行调试。当程序崩溃时便会产生 core文件,其实准确的应该说是core dump 文件,默认生成位置与可执行程序位于同一目录下,文件名为core.***,其中***是某一数字