日期:2014-05-16  浏览次数:20416 次

ora-12514 一个棘手问题的处理

问题描述:??? 在项目实施过程中,数据库服务器重新启动后,监听都没有起来,显示ora12514的错误。

?

试用方法:??? 一、 修改%Oracle_Home%/network/admin/listener.ora的文件

?

????????????????? ?二、 修改 tnsnames.ora文件

?

????????????????? ?三、 .......其他网上的方法

?

?????????????????? 以上方法都未能起作用,在机器重新启动后还是找不到监听。

?

问题解决:?? 后来想到了“冷备份”,重新安装oracle,在本机实验成功,可以解决问题,但这类大动作可是最后的

???????????????????杀手锏,轻易不要使用,

?

?????????????????? 想想还有无其他简单的办法。

?

????????????????? ?最后通过查看oracle的日志文件 db-1/admin/orcl/bdump/alert_orcl ,发现导致ora-12514的

?

?????????????????? 罪魁祸首是 ora-04031,还有00604、00704,找到可能引起ora-04031的问题可能是系统分配

?

????????????????? ?的共享内存不够所导致。

?

????????????????? ?cmd命令行下执行:

?

????????????????? ?sqlplus/nolog

????????????????? ?conn/as sysdba

????????????????? ?startup mount

????????????????? ?alter system set sga_max_size=1G??? scope=spfile; (大小可为物理内存的一半)

????????????????? ?alter system set shared_pool_size=256M;

????????????????? ?shutdown immediate;

????????????????? ?startup mount;

?????????????????? alter database open;

?

?

?????????????????? 问题得以解决。

?

?

结论:???????? 1. "冷备份"后重新安装Oracle可以解决很多问题,但其应是最后的选择,慎用;

?

???????????????? ?2. 发现ora-?? 类似的问题,该问题号未必是引起问题的根源,可以通过查看日志进行更精确的定位,

??????????????????? ?才能对症下药,手到病除。

?

?

?

?

?

?

?

?

?

?

?

?

?

??????????????

?

?

?

?