ORA12500错误解决一例

摘要:
简介:上周日晚上10点,一位同事打电话回家,报告说数据库的TNS断断续续,严重影响了生产。添加/3G参数,重新启动计算机,大约半小时后,生产线反应问题再次出现——Ora-012500错误。在互联网上查找异常的原因,发现虽然有4G内存,但Oracle只能使用2G,而我的SGA使用1.5G。在独占模式下,每个会话将分别分配大约2M的内存,300个会话需要600M。显然,内存不够。第三,缩小SGA的规模。减少SGA似乎是最容易的。打开init.ora文件,将SGA降至1G,关闭数据库,然后启动。问题解决了。
  引言:

上星期天晚上10点,同事打电话到家了,反映数据库的TNS时通时断,严重影响生产。判断应该是内存用完造成用户无发连接造成。可是我在星期天上午才将内存由1.5G增加到4G。无论如何没办法在家解决,只好告诉上夜班的同事每半小时将网卡中断一次,以便让产线可以使用。

 星期一上班,打开boot.ini,发现在内存增加后没有加 /3G开关。加上/3G参数,重新启动电脑,过了约半小时,产线反应问题复现---Ora-012500错误。看来没有彻底解决。在网上查找异常原因,发现原因是虽然内存有4G,但Oracle能用的只有2G(需要做一些修改才能超越此限制,但时间不允许),而我的SGA用了1.5G,在独占模式下,每一个session将单独分配2M左右的内存,300Session需要600M,显然,内存已经不够用了。

 根据以上分析,解决方法当然有3种,一是修改系统参数,让Oracle能够使用超过2G的内存,这需要在测试环境测过才可在正式环境进行,解决问题优先,这个以后再试。第二是减小为每一个会话分配的内存大小,以能连接更多的用户。三是减小SGA的大小。第二个方法其实很简单,先停止oracle服务和TNS服务,再运行以上命令
C:\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
C:\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服务,打开数据库。不过这个也没做过,需要测试。看来降低SGA最简单。打开init.ora文件,将SGA降低到1GShutdown Database,Startup,问题解决。

免责声明:文章转载自《ORA12500错误解决一例》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[置顶] CSS语言精粹jsp向后台传中文,tomcat和weblogic下中文乱码解决方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Oracle学习笔记—归档模式

什么是归档模式 Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里。一般数据库至少要有2个联机重做日志组。当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志组1,就这样反复...

oracle数据库的一次异常起停处理。

在重启数据库的时候,忘记把一个应用关停了,想起来的时候,就ctrl+c,把数据库shutdown immediate 给强制停下了,把该应用再停止,然后shutdown immdiate,这时候数据报错了。 oracle@NMSSERVER1:~> sqlplus '/as sysdba' SQL*Plus: Release 11.2.0.3.0 P...

Oracle10g服务启动命令

一、数据库单实例 服务关闭命令: 服务开启命令: su - oracle sqlplus / as sysdba; shutdown immediate; startup; lsnrctl stop (退出数据库执行) lsnrctl start 二、数据库DG模式: 关闭DG, 首先关闭primary数据库,然后关闭standby数据库 使用orac...

oracle 迁移到clickhouse 45亿条数据

原文链接:http://www.520mwx.com/view/90469 45亿数据迁移记录 背景 数据库数据量日益增加,逐渐开始显得很是臃肿,日常查询统计的时候,仅仅是count(1) 查询下总数,耗费的时间也在500s左右,而且之前的orcle数据库,前期建立的时候,也未考虑太多,未进行索引,分表,等优化。后面鉴于种种考虑,以及后期的规划,准备...

oracle 数据库复制

场景:      1、从OperateSystem用户下将数据库导入到新创建用户LsOperateSystem用户下,从Gsyl用户下将数据库导入到新创建用户LsZhmz用户下 创建命名空间和用户LsOperateSystem,并授权 create tablespace LsOperateSystem datafile 'E: ools ablespace...

Oracle字段

pl/sql查看当前数据库编码语句:select userenv('language') from dual; 测试结果:数据库字符集编码是utf-8 1、nvarchar2(size) ,size不能大于2000;而varchar2(size),size不能大于4000 2、nvarchar2(size)存size个汉字、英文等;varchar2(si...