zoukankan      html  css  js  c++  java
  • oracle数据库无法登陆的问题

    今天开启oracle服务登陆oracle数据库输入用户名和密码莫名其妙的报错:

    ORA_01034:ORACLE not available

    ORA_27101:shared memory realm does not exist


     如图所示Sqlplus连接时出现这个错误;在网上查了一下出现ORA-01034和ORA-27101的原因是多方面的:主要是oracle当前的服务不可用,shared memory realm does not exist,是因为oracle没有启动或没有正常启动,共享内存并没有分配给当前实例.所以,通过设置实例名,再用操作系统身份验证的方式,启动数据库。这样数据库就正常启动了,就不会报ORA-01034和ORA-27101两个启动异常了。

    还有就是可能是登录数据库后,不正常的退出,比如直接关掉窗口,而这时数据库里有未完成的动作,再次登录时就会提示“insufficient privileges”的报错,SQL>shutdown immediate;   SQL>startup;就恢复正常了。

    比较一下启动和没启动的内存大小:查看任务管理器下oracle.exe所占内存,正常oracle.exe所占内存如下:

    当oracle.exe所占内存为几十兆说明Oracle数据库没有启动:

    解决步骤:

    1.先看oracle的监听和oracle的服务是否都启动了。启动oracle监听:cmd命令行窗口下,输入lsnrctl start,回车即启动监听。

    2 查看oracle的sid叫什么,比如创建数据库的时候,实例名叫“orcl”,那么先手工设置一下oralce的orcl,cmd命令窗口中,set ORACLE_SID=orcl.

    3.进入SQL:输入sqlplus  /nolog 回车或者输入 conn / as sysdba;回车

    提示:SQL> conn sys/123456 as sysdba
            已连接到空闲例程。

    4.再输入startup,回车.这步是启动oracle服务。如果startup启动被告知已经启动了,可以先输入shutdown immediate;等shutdown结束之后,再输入startup。

    到这里之后又报错:

    SQL> startup

    ORA-00119: invalid specification for system parameter LOCAL_LISTENE

    ORA-00132: syntax error or unresolved network name 'LISTENER_ORCL'

    alert log 中的错误如下:
    USER (ospid: 17619): terminating the instance due to error 119
    Instance terminated by USER, pid = 17619

    5.这个报错是因为检查$ORACLE_HOME/network/admin/tnsnames.ora中的network name,发现没有LISTENER_ORC的监听名。

    将本机的tnsnames.ora中的network name修改为LISTENER_ORCL,重启解决。

    LISTENER_ORCL =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = orcl)
    )
    )

     6.成功:

    SQL> startup
    ORACLE 例程已经启动。

    Total System Global Area 2566914048 bytes
    Fixed Size 3048920 bytes
    Variable Size 671091240 bytes
    Database Buffers 1879048192 bytes
    Redo Buffers 13725696 bytes
    数据库装载完毕。
    数据库已经打开。

  • 相关阅读:
    「四步接入」开启秀场直播,揭秘七牛云互动直播解决方案
    【直播预告】揭秘互动直播,技术咖携手美女主播解读直播背后那点事儿
    初识k8s(基础概念加历史了解)(一)
    Linux lsof命令的使用示例
    Linux netstat:查看网络状态
    Linux uname命令:查看系统和内核相关信息
    系统环境变量PATH的设置与查看,以Mac为例
    Shell echo命令
    Linux which命令
    【转译】每个Python开发者都应该掌握的8种数据结构
  • 原文地址:https://www.cnblogs.com/huangjinwen/p/6381880.html
Copyright © 2011-2022 走看看