公司核心生产数据库一个星期宕机了4次,找不到原因

Yakecanz 2012-09-15 08:57:05
公司核心生产数据库一个星期宕机了4次,现在暂时的解决方法是重起数据库的操作系统INSTANCE服务,重起监听器服务,能暂时使用,
请问从下面的数据库的宕机现象信息,怎么找出数据库宕机原因呀?

操作系统日志事件详细信息:
日期: 2012-9-15
来源: Oracle.prd
时间: 16:41:42
类别: 无
类型: 错误
事件ID:
用户: N/A
计算机:SERVER2
描述: Unable to begin another thread.


ALERT.LOG显示下面几条信息:
Sat Sep 15 16:41:30 2012
skgpspawn failed:category = 27143, depinfo = 9261, op = spdcr, loc = skgpspawn
skgpspawn failed:category = 27143, depinfo = 9261, op = spdcr, loc = skgpspawn
Sat Sep 15 16:41:42 2012
skgpspawn failed:category = 27143, depinfo = 9261, op = spdcr, loc = skgpspawn
skgpspawn failed:category = 27143, depinfo = 9261, op = spdcr, loc = skgpspawn
Sat Sep 15 17:11:38 2012
skgpspawn failed:category = 27143, depinfo = 9261, op = spdcr, loc = skgpspawn


ORACLE是专用服务器模式

以SYS用户SQLPLUS登录报 ORA-12500: TNS:监听器未能启动专用的服务器进程


listener.log的有很多这样的错误信息:
15-9月 -2012 17:50:50 * (CONNECT_DATA=(SERVICE_NAME=prd)(CID=(PROGRAM=c:\forte\install\bin\ftexec.exe)(HOST=FORTE)(USER=SYSTEM))) * (ADDRESS=(PROTOCOL=tcp)(HOST=202.96.*.*)(PORT=4526)) * establish * prd * 12500
TNS-12500: TNS:监听器未能启动专用的服务器进程
TNS-12560: TNS: 协议适配器错误
TNS-00530: 协议适配器错误
32-bit Windows Error: 233: Unknown error


操作系统: Microsoft Windows Server 2003 R2 Enterprise x64 Edition Service Pack 2
CPU: Intel(R) Xeon(R) CPU E7430 @ 2.13GHz 2.13GHz
内存: 16G

Oracle9i版本: 9.2.0.8
...全文
556 22 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanglipo 2012-11-16
  • 打赏
  • 举报
回复
iqlife 2012-11-16
  • 打赏
  • 举报
回复
OS:win 2003 64位, DB:9i 32位 需要更多的配置信息 由于你的环境比较特殊,分为2中情况考虑: 第一:32位的数据库运行在64bit数据库上的内存使用是否能超过1.7g的限制?先降低SGA的内存,提供更多的内存给主机OS使用,看看是否还会正常DOWN机 第二:其次,硬盘空间是否足够,虚拟内存是否够用,监控系统资源使用情况,包括硬盘使用情况,网络使用情况,内存使用情况,进而定位信息,尤其注意C盘空间是否足够,如果太小,则无法进行虚拟内存的交换,导致无法创建oracle进程,大量连接就报错!
追夢人2021 2012-11-15
  • 打赏
  • 举报
回复
楼主,这个问题后来是怎么分析的呀?你们有解决没?
ilovemk 2012-09-16
  • 打赏
  • 举报
回复
32位系统?
Yakecanz 2012-09-16
  • 打赏
  • 举报
回复
500-600 SESSION数
  • 打赏
  • 举报
回复
有多少session数
Yakecanz 2012-09-16
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 的回复:]

去metalink提交SR
[/Quote]
悲催,我没METALINK的帐号、、、
Yakecanz 2012-09-16
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]

我以前碰到 服务器没有内存的时候 报的错是 无法建立新的连接。
你为啥alert日志内容那么少呢。。
[/Quote]
是的ALERT.LOG就几条信息,这几条信息就是在宕机那个时间段产生的,其它的日志信息都是联机重做日志归档的信息。
ilovemk 2012-09-16
  • 打赏
  • 举报
回复
去metalink提交SR
huangdh12 2012-09-16
  • 打赏
  • 举报
回复
我以前碰到 服务器没有内存的时候 报的错是 无法建立新的连接。
你为啥alert日志内容那么少呢。。
cowboyhn 2012-09-16
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]
pga调整到3到4g
sga调整到7g左右


继续观察 注意收集sp信息
[/Quote]
顶一个
怀疑是由于内存资源不足,无法创建新的线程。
建议:
1.检查应用是否存在数据库连接泄漏的问题,致使数据库连接数不断增加而消耗完内存。
2.如11楼所说,减小SGA,腾出足够的内存。
3.设置参数PROCESSES=600,避免连接数超出系统能力。
Yakecanz 2012-09-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

系统资源限制。
看看是不是oracle资源给大了。或者是建系统用户的时候 给用户的资源有限制。
[/Quote]
SQL> show sga;

Total System Global Area 1.1822E+10 bytes
Fixed Size 456176 bytes
Variable Size 1082130432 bytes
Database Buffers 1.0737E+10 bytes
Redo Buffers 2240512 bytes


SQL> show parameter pga;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 536870912
Yakecanz 2012-09-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

都通过什么客户端连接数据库的,有多少。
[/Quote]
通过B/S架构的前台应用程序,发生宕机后一天,我监控到最高的session数有555个
Yakecanz 2012-09-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

alert日志中有没有600错误?
[/Quote]
alert日志中没有600错误,只有几条这样的信息
Sat Sep 15 16:41:30 2012
skgpspawn failed:category = 27143, depinfo = 9261, op = spdcr, loc = skgpspawn
skgpspawn failed:category = 27143, depinfo = 9261, op = spdcr, loc = skgpspawn
Yakecanz 2012-09-16
  • 打赏
  • 举报
回复
谁还有建议吗?给点
陈字文 2012-09-16
  • 打赏
  • 举报
回复
等高手分析.
  • 打赏
  • 举报
回复
pga调整到3到4g
sga调整到7g左右


继续观察 注意收集sp信息
Yakecanz 2012-09-16
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

32位系统?
[/Quote]
操作系统: Microsoft Windows Server 2003 R2 Enterprise x64 Edition Service Pack 2
lookat800 2012-09-15
  • 打赏
  • 举报
回复
系统资源限制。
看看是不是oracle资源给大了。或者是建系统用户的时候 给用户的资源有限制。
jdsnhan 2012-09-15
  • 打赏
  • 举报
回复
都通过什么客户端连接数据库的,有多少。
加载更多回复(1)

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧