一文解决ORA-01034:?ORACLE?not?available报错


    目录
  • 1.情况描述 
  • 2.查看数据库状态 
  • 3.查看监听状态
  • 4.查看环境变量
  • 5.找到解决方法
  • 总结

    1.情况描述 
    oracle用户sqlplus登陆数据库(11gR2 + 单机asm),进去查询一些基本的视图发现报错
    ORA-01034: ORACLE not available,详细如下
    
    [oracle@oomcserver db_1]$ sqlplus / as sysdba
    SQL*Plus: Release 11.2.0.4.0 Production on Mon Sep 25 14:05:31 2023
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.
    Connected to an idle instance.
    SQL> select * from v_database;  --查询不了基本视图
    select * from v_database
    *
    ERROR at line 1:
    ORA-01034: ORACLE not availableProcess ID: 0
    Session ID: 0 Serial number: 0
    SQL> shutdown immediate  --想要关闭也不行
    ORA-01034: ORACLE not availableORA-27101: shared memory realm does not existLinux-x86_64 Error: 2: No such file or directory
    2.查看数据库状态 
    我登陆grid用户查看资源当前状态,发现数据库omccdb.db 服务是open状态
    也就是我的数据库没有问题,真是靠贝了
    
    3.查看监听状态
    
lsnrctl status

    grid用户查看当前监听服务,看看是不是监听问题
    发现omccdb 这个监听状态也是 READY 的,目前没啥问题啊
    
    4.查看环境变量
    我在这儿用windows下的客户端plsql登陆,发现是能登陆进去并且查看视图的 
    
    这样的话看下oracle环境变量
    
env | grep -i oracle
或者直击查看 ~/.bash_profile

    
    我靠贝了,原来是ORACLE_SID和监听服务对不上啊,oracle_sid是oomcdb,监听服务是omccdb(我们数据库全局数据库名字是omccdb,实例名对单实例来说是一样的,所以这里环境变量的sid也应改是omccdb)
    5.找到解决方法
    修改环境变量 ORACLE_SID=omccdb
    
#修改ORACLE_SID
vim ~/.bash_profile 
#生效环境变量
source ~/.bash_profile 
#登陆数据库再次查看驶视图
sqlplus / as sysdba

    
    原来就是环境变量写快了, 有点模糊,改一下就好了
    总结
    到此这篇关于解决ORA-01034: ORACLE not available报错的文章就介绍到这了,更多相关ORA-01034:ORACLE not available内容请搜索电脑手机教程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持电脑手机教程网!