记一次线上问题排查过程,Oracle 实例自动关闭,表象就是程序无法连接数据库。

过了个端午节假期回来,发现生产环境的几个 oracle 实例无法连接了,登上服务器,

$ docker exec -it auth /bin/bash

进入容器看了下 Oracle 错误信息,如下:

ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3640
Additional information: -741881385
Process ID: 0
Session ID: 0 Serial number: 0

发现竟然是 Oracle 实例 关闭了!
这就好解决了,用 sysdba 账户将实例启动,就OK啦。

$ sqlplus /nolog
SQL> conn sys/oracle as sysdba
SQL> startup
###等待出现下列信息,就说明 Oracle 实例启动完成了,就可以退出了。
ORACLE instance started.

Total System Global Area 1610612736 bytes
Fixed Size          2924928 bytes
Variable Size         520097408 bytes
Database Buffers     1073741824 bytes
Redo Buffers           13848576 bytes
Database mounted.
Database opened.

至于 Oracle 实例为什么会自动关闭,还需要进一步排查。
整个排查过程中,费了一些时间,走了一些弯路就不写了。

你可能感兴趣的:(记一次线上问题排查过程,Oracle 实例自动关闭,表象就是程序无法连接数据库。)