WEB开发网
开发学院数据库Oracle Oracle错误案例:TNS-00510 阅读

Oracle错误案例:TNS-00510

 2007-05-10 12:16:17 来源:WEB开发网   
核心提示: ....bitmap_merge_area_size ....create_bitmap_area_seze ....open_cursone 2 调小SGA的大小 3 减小oracle Job队列数量(job_queue_processes)和并发队列数(parallel_max_ser

....bitmap_merge_area_size

....create_bitmap_area_seze

....open_cursone

2 调小SGA的大小

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

4 重置并减小会话/线程使用的堆栈大小

5 将oracle改为mts模式

6 更换操作系统为windows NT 企业版

7 使用intel的ESMA硬件支持,即使用大内存

..1) 在intel系统上使用 /3G 开关

..2) 使用PSE36内存

....结合本实例的具体情况,决定调整的主要目标为减小用户的PGA大小。

....构成PGA的主要内容有short_area_size, hash_area_size, open_cursone, 以及oracle 堆栈和TNS 堆栈。在本实例中,排序区为64K,hash区为128K(缺少值),打开的游标数与应用有关,不能随便减小了,然而oracle堆栈和TNS堆栈都是1M,却有较大的减小的余地。因此,调整的目标定为减小这两个堆栈的大小。

....使用orastack 命令来减小这两个堆栈的大小:

D:oracleora81in>orastack oracle.exe 500000

Couldn't open file with CreateFile()

GetLastError() == 32

....停止oracle服务和TNS服务,再运行以上命令

D:oracleora81in>orastack oracle.exe 500000

Dump of file oracle.exe

Current Reserved Memory per Thread = 1048576

Current Committed Memory per Thread = 4096

New Reserved Memory per Thread = 500000

D:oracleora81in>orastack tnslsnr.exe 500000

Dump of file tnslsnr.exe

Current Reserved Memory per Thread = 1048576

Current Committed Memory per Thread = 4096

New Reserved Memory per Thread = 500000

重新启动oracle服务和TNS服务,打开数据库,用户连接到服务器,经测试,用户数到1350以上时数据库仍然运行正常,解决了本实例存在的问题。

五 小结

....事实上,正如oracle文档所指出的那样,要增加用户连接数的途径很多,除了减小用户堆栈之外,还可以减小SGA,或者是更改成MTS方式,或者是使用第三方工具增加oracle可用内存。本人前面小结过如何让oracle在32位的windows操作系统上使用超过2G内存的方法,在本安全应用中,宜将两者(减小用户堆栈与增加oracle可用内存)结合起来使用,以提高数据库性能。但是,这种方式下,同样不可能无限制地增加用户连接数。要想使用户连接数达到更大,则应使用MTS方式。

上一页  1 2 3 4 5 

Tags:Oracle 错误 案例

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接