This Domain(Admin5.com) is for Sale:

TNS-12500,TNS-12540,TNS-12560,TNS-00510解决过程

时间:2007-12-23  来源:不详  作者:迈克DB
一环境:
1平台:IBMAX360,4G内存windows2kadvServersp3 oracle816独占模式

2内存分配相关参数
..processes................=.1000
..shared_pool_size.........=.240000000
..large_pool_size..........=.614400
..java_pool_size...........=.32768
..db_block_buffers.........=.90000
..db_block_size............=.4096
..log_buffer...............=.163840
..log_checkpoint_interval..=.10000
..sort_area_size...........=.65536
..sort_area_retained_size..=.65536
..open_cursors.............=.100
..job_queue_processes......=.4
..job_queue_interval.......=.10
..max_dump_file_size.......=.10240

3最大并发用户数:850个左右

二故障现象:
....当用户数达到一定的数量时(700多)客户端连接服务器时报ora-12560错误,紧跟着报ora-03114错误,不能连接到服务器。此时已连接到服务器的用户能正常访问数据库。
....首先查看警告日志文件,未见到明显错误信息。
....查看listner.log文件,发现如下信息(很多个类似的错误记录,摘两个上来)

本文来自织梦


.........................
02-JUL-200310:30:09*(CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=***.EXE)(HOST=*******)(USER=*****)))*(ADDRESS=(PROTOCOL=tcp)(HOST=*******)(PORT=1136))*establish*ORCL*12500
TNS-12500:TNS:listenerfailedtostartadedicatedserverprocess
.TNS-12540:TNS:internallimitrestrictionexceeded
..TNS-12560:TNSrotocoladaptererror
...TNS-00510:Internallimitrestrictionexceeded
....32-bit
WindowsError:8:Execformaterror
02-JUL-200310:30:10*(CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=***.EXE)(HOST=*****)(USER=***)))*(ADDRESS=(PROTOCOL=tcp)(HOST=******)(PORT=1203))*establish*ORCL*12500
TNS-12500:TNS:listenerfailedtostartadedicatedserverprocess
.TNS-12540:TNS:internallimitrestrictionexceeded
..TNS-12560:TNSrotocoladaptererror
...TNS-00510:Internallimitrestrictionexceeded
....32-bit
WindowsError:8:Execformaterror
.....................
此时,原来已连接上服务器的用户还能正常使用。查看此时session达到760多个。
织梦好,好织梦

....重启oracle服务后,能连接新的用户数,但当并发用户数达到750个以上时,再次报同样的错误

三原因分析:
....系统资源耗竭,意味着系统分配给oracle的内存用尽了。虽然我们有4G的物理内存,但正常情况下系统只能给oracle分配2G的内存,这2G的内存中,包括了SGA、PGA等oracle需要使用的全部内存。在独占模式下,每一个session将单独分配2M左右的内存。在本例中,SGA分配了约600M,按每一个用户分配2M内存计算,连接数达到750个时,总分配内存已达到2G,将不能再增加新的连接数。假如要解决这个问题,在不做大的调整的前提下,要么减小SGA大小,要么减小为每一个会话分配的内存大小,以能连接更多的用户。

四解决过程:
....查阅了oracle文档,文档里提出来了几个解决的办法:

1重置init.ora参数文件,调小以下四个参数的值:
....short_area_size
....hash_area_size
....bitmap_merge_area_size
....create_bitmap_area_seze
....open_cursone

2调小SGA的大小

3减小oracleJob队列数量(job_queue_processes)和并发队列数(parallel_max_servers)

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息