码迷,mamicode.com
首页 > 数据库 > 详细

一次ORACLE启动报错修复的记录

时间:2015-07-28 18:11:04      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

一、初始情况描述:

  登录sqlplus,无法登录。换pl/sql developer,提示:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

二、我的应对:

  1、首先我把在服务中把监听服务和oracle服务重启。(这时,感觉oracle服务在启动的时候,比平时要快一点,也没太在意,回头来看,这是一个信号...),然后继续pl/sql developer登录,提示一样。

  2、在oracle网络配置助手中,把监听程序重新配置,不成;新建一个,不成;删除所有重建,错误依旧。

  3、换sqlplus登录-sqlplus /nolog - conn /as sysdba,这时想着是不是上次服务没有正常关闭,输入:shutdown immediate,出现新的错误:

 ORA-00843: Parameter not taking MEMORY_MAX_TARGET into account...,然后:startup ,出现新的提示:

ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 3221225472 cannot be set to more than MEMORY_TARGET 1291845632.

上面两条错误在下面文件中可见:*\app\Administrator\product\11.2.0\dbhome_1\database\oradim.log。这个时间想起自己上次关机前,有调整过sga参数。到些,问题基本确定:调整sga参数引起数据库在启动过程中出现错误,需要把参数调整回去。

  4、sql>conn /as sysdba;

     sql>show parameter spfile;这个时候,提示系统数据库无效。看来,使用这种方式是无法进行修改了。

    回想第1点应对中括号内的情况,这个时候,oracle应该只启动了一部分,当加载到spfile时,出现错误,所以直接用命令修改的方法是走不通的。

    通过网络查询,得出修改思路:调出spfile,修改spfile,调回spfile,然后再startup。

    具体如下:

    重启cmd

    sql>sqlplus /nolog

    sql>conn /as sysdba

    sql>create pfile=‘d:\pfile.txt‘ from spfile;

    打开d:\pfile.txt,在文件最后,找到sga_max_size,把值改小,具体可改为原来大小,如果不记得,可以先改小一部分,再试,不成再改小。当然,这个地方用命令行方式也可以修改:exit - notepad d:\pfile.txt -修改 -保存 ,再次进入sqlplus即可。

    sql>create spfile from pfile=‘d:\pfile.txt‘;

    sql>startup

    OK,问题到此结束。

三、总结

    在网上查了好多解决方式,没有一个能成功的。有些是问题把握不准,有些是只有方式,没有原因,方式还不对。所以遇见问题时,要分析一下可能的原因,层层查找,逐个实验,总会找到解决的办法。在过程中,注意异常的地方(像本问题中服务启动时间变短的现象)。

  

一次ORACLE启动报错修复的记录

标签:

原文地址:http://www.cnblogs.com/yard39/p/4683019.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!