• TNS12500,TNS12540,TNS12560,TNS00510打点进程


      来源:网海拾贝




    一 情况: 
    1 平台: IBM AX360,4G内存 windows 2k advServer sp3   oracle 816 独有情势 

    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-2003 10:30:09 * (CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=AV女优.EXE)(HOST=指点*)(USER=AV女优**))) * (ADDRESS=(PROTOCOL=tcp)(HOST=指点*)(PORT=1136)) * establish * ORCL * 12500 
    TNS-12500: TNS:listener failed to start a dedicated server process 
    .TNS-12540: TNS:internal limit restriction exceeded 
    ..TNS-12560: TNSrotocol adapter error 
    ...TNS-00510: Internal limit restriction exceeded 
    ....32-bit Windows Error: 8: Exec format error 
    02-JUL-2003 10:30:10 * (CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=AV女优.EXE)(HOST=AV女优**)(USER=AV女优))) * (ADDRESS=(PROTOCOL=tcp)(HOST=指点)(PORT=1203)) * establish * ORCL * 12500 
    TNS-12500: TNS:listener failed to start a dedicated server process 
    .TNS-12540: TNS:internal limit restriction exceeded 
    ..TNS-12560: TNSrotocol adapter error 
    ...TNS-00510: Internal limit restriction exceeded 
    ....32-bit Windows Error: 8: Exec format error 
    ..................... 
    此时,本来已连接上供职器的用户还能正常运用。审查此时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 减小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:oracleora81bin>orastack oracle.exe 500000 
    Couldn’t open file with CreateFile() 
    GetLastError() == 32 
    ....终了oracle供职和TNS供职,再运转以上敕令 
    D:oracleora81bin>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:oracleora81bin>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内存的要领( http://www.itpub.net/showthread.php...15&pagenumber=1 ),在本平安应用中,宜将两者(减小用户货仓与增长oracle可用内存)连络起来运用,以进步数据库性能。但是,这种要领下,异常不可以大概无量制地增长用户连接数。要想运用户连接数达到更大,则应运用MTS要领。




    版权声明: 原创作品,允许转载,转载时请务必以超链接体式格局标明文章 原始因由 、作者信息和本声明。不然将深究司法责任。

  • 相关阅读:
    一个前端的博客
    win10安装redis
    RabbitMQ的基本使用
    SpringMVC 中 @ControllerAdvice 注解的三种使用场景
    在Spring cloud中使用Spring Cloud Alibaba Nacos Discovery报错
    MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。
    asp.net自定义错误信息处理
    MVC返回值详解
    C#集合
    C#linq查询方法使用简介
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1976028.html
Copyright © 2020-2023  润新知