Oracle——检查数据库是否正常运行,如果没有,并重启数据库
1、su oracle 切换到linux的oracle账号

需要使用 su -oracle,而不是su oracle;原因是:
![]()
先执行exit退出,再重新切换
2、打开数据库监听
lsnrctl listener 启动监听 #这种格式是错误的(具体参考:https://www.cnblogs.com/Formulate0303/p/15493173.html)

lsnrctl status 查看监听listener的状态,提供listener(监听)的状态信息,包括启动时间、运行时间和trace级别;
说明:没有打开监听(listener),当listener被停止后,连接数据库实例将导致ORA-12541异常。
执行lsnrctl start 打开数据库监听器(listener)

3、再执行ps -ef|grep smon 查看数据库有没有打开

说明:数据库都没有启动
4、需要先看一下存储空间,再启动
df -h

说明:有空间
5、启动数据库(实例)
执行sqlplus / as sysdba 登录数据库
执行startup 启动数据库

6、检查是否启动成功

说明:haimatajtk3这个实例启动成功。

说明:看数据库是不对的,不是自己想要的数据库实例,147.62上是有两个数据库实例。
7、切换数据库实例、并启动
执行export ORACLE_SID=haimapps1 切换数据库实例
执行echo $ORACLE_SID,检查是否切换成功实例
启动该实例
执行sqlplus / as sysdba 登录数据库系统
执行startup 启动
这次就会启动另一个实例

参考:https://blog.csdn.net/tomato__/article/details/39638383 Oracle listener lsnrctl
https://blog.csdn.net/qq_35868412/article/details/102810462 oracle 有多个实例怎么切换


浙公网安备 33010602011771号