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

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 available
Process ID: 0
Session ID: 0 Serial number: 0


SQL> shutdown immediate  --想要关闭也不行
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory

2.查看数据库状态 

        我登陆grid用户查看资源当前状态,发现数据库omccdb.db 服务是open状态

        也就是我的数据库没有问题,真是靠贝了

ORA-01034: ORACLE not available?一文解决_第1张图片

 

3.查看监听状态

lsnrctl status

        grid用户查看当前监听服务,看看是不是监听问题

        发现omccdb 这个监听状态也是 READY 的,目前没啥问题啊

ORA-01034: ORACLE not available?一文解决_第2张图片

4.查看环境变量

        我在这儿用windows下的客户端plsql登陆,发现是能登陆进去并且查看视图的 

ORA-01034: ORACLE not available?一文解决_第3张图片

         这样的话看下oracle环境变量

env | grep -i oracle
或者直击查看 ~/.bash_profile

ORA-01034: ORACLE not available?一文解决_第4张图片

        我靠贝了,原来是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?一文解决_第5张图片

        原来就是环境变量写快了, 有点模糊,改一下就好了

 

你可能感兴趣的:(常见错误,Oracle,oracle,数据库)