动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库学院 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息



本月文章推荐
.Oracle 10G数据库的特性简介(收藏.
.循序渐进讲解Oracle数据库的Hash.
.UNIX oracle 10g能用utl_file包读.
.Linux上备份Oracle数据库脚本(16.
.如何自动获取Oracle数据库启动时.
.简析Oracle数据库最大可用性体系.
.复杂应用环境监控ORACLE数据库性.
.ORACLE常用問題1000問(之一).
.eval用法三例.
.Oracle不同版本间用exp进行导数据.
.世界上最大的商务数据库运行在Or.
.讲解Oracle面试过程中常见的二十.
.Oracle自动备份数据.
.oracle 在win2000 DOS 下的启动.
.修改默认的undo_retention参数设.
.安装 Oracle 9iR2 on RHEL AS 3 .
.如何安装配置Oracle 9i网络环境三.
.美国医疗机构的下一个目标:无纸.
.详解 Oracle 10g 中 MERGE 功能的.
.unix上的手工建库脚本.

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

发表日期:2008-2-9 |



  一 环境: 
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=***.EXE)(HOST=*******)(USER=*****))) * (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=***.EXE)(HOST=*****)(USER=***))) * (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:\oracle\ora81\bin>orastack oracle.exe 500000 
Couldn’t open file with CreateFile() 
GetLastError() == 32 
....停止oracle服务和TNS服务,再运行以上命令 
D:\oracle\ora81\bin>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:\oracle\ora81\bin>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方式。

上一篇:创建Standby Database 人气:343
下一篇:通过JDBC操纵Oracle数据库LOB字段的分析 人气:619
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-4 天空网络电影系统SKYUC v2.5.1 B
2008-7-4 PHPDug v2.0 多国语言版
2008-7-4 Drupal v7.x-dev Build 080704
2008-7-4 乐学LBBS无限级目录图片直读系统
2008-7-4 生成静态的美女小偷程序 v1.2
2008-7-4 顶级DJ舞曲网 v1.2 黑色正式版
2008-7-4 生活名片
2008-7-4 轩魂ASP中文验证码
2008-7-4 ip138手机归属地小偷
2008-6-21 PocketTouch简化iPod控制工具 v1
2008-6-21 HidePod万能隐藏 v1.0.9破解版
2008-6-21 TouchPad触摸板破解补丁 v4.42
2008-6-21 iCountDown倒计时工具 v2.0
2008-6-21 tt-Clock语音时钟 v1.0
2008-6-21 PowerManager重启工具
2008-6-21 JasonKit(iLM)离线地图切换软件
2008-6-21 iSlsk P2P下载工具 v0.2.1b
2008-6-21 MCaller来电归属地查询 v0.3破解


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報