在现实生活中存在着由于突然断电等情况会导致Oracle异常关闭,这种情况很可能对导致生产数据库无法正常启动起来,这是就需要重新启动数据库实例,现将本次遇到的情况记录如下,如有不足之处请见谅!
记一次数据库实例重启过程:
在使用数据库工具连接数据库时,提示ora-12514、ora-12560,现恢复过程如下:

1、查看监听:

打开命令窗口,输入LSNRCTL,结果提示lsnrctl不是内部或外部命令(如果可以正常运行,请跳到1.2);
此时需要设置环境变量。

1.1、将数据库bin目录添加到环境变量中

1.1.1、打开“计算机”->“属性”->“高级系统设置”

重启grafana数据库_Oracle


1.1.2、打开环境变量,找到Path,点击编辑将Oracle的bin目录添加到Path中【该路径一定要放到客户端路径的前面,否则会出现ora-12560,创建的监听无法启动等问题,如果不确定客户端的路径,可以将该路径放到第一位】。

重启grafana数据库_Oracle_02


重启grafana数据库_环境变量_03

1.2、继续执行LSNRCTL

在命令窗口中输入lsnrctl,进入lsnrctl窗口,继续输入status,结果展示如下:

重启grafana数据库_重启grafana数据库_04


如图显示,其中并没有用于之前正在使用的实例名,所以需要进行实例恢复。

2、实例恢复

2.1、打开命令窗口,输入如下命令

sqlplus / as sysdba --以dba管理员登陆数据库

重启grafana数据库_数据库_05


如果不按照1.1.2中设置Path,此处会出现ora-12560错误提示;

2.2、查看实例状态

select status from v$instance;

重启grafana数据库_Oracle_06

2.3、需要重启数据库实例

startup

如果出现“ORACLE 例程已经启动”,则说明数据库实例启动完成,数据库已经可以正常使用;
如果仍然报错,则需要使用pfile文件进行实例恢复,需要继续以下操作

2.4、关闭例程【关闭数据库异常关闭时没有正常结束的事务】

shutdown abort

结果如下:

重启grafana数据库_重启grafana数据库_07

2.5、使用pfile文件启动实例

pfile文件一般在实例所在的文件夹中,我的是在如下路径

重启grafana数据库_数据库_08

startup pfile=D:\app\Administrator\admin\ORCL\pfile\init.ora.092019111349 force

结果如下:

重启grafana数据库_Oracle_09


此时数据库实例已恢复。

3、重新检查监听状态

重新进入LSNRCTL,执行status,结果如下:

重启grafana数据库_数据库_10


这代表数据库实例以及对应的监听都已加载完毕,可以正常使用。