Oracle实例重新启动

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

1、查看监听:

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

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

1.1.1、打开“计算机”->“属性”->“高级系统设置”
环境变量
1.1.2、打开环境变量,找到Path,点击编辑将Oracle的bin目录添加到Path中【该路径一定要放到客户端路径的前面,否则会出现ora-12560,创建的监听无法启动等问题,如果不确定客户端的路径,可以将该路径放到第一位】。
在这里插入图片描述
在这里插入图片描述

1.2、继续执行LSNRCTL

在命令窗口中输入lsnrctl,进入lsnrctl窗口,继续输入status,结果展示如下:
查看监听状态
如图显示,其中并没有用于之前正在使用的实例名,所以需要进行实例恢复。

2、实例恢复

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

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

在这里插入图片描述
如果不按照1.1.2中设置Path,此处会出现ora-12560错误提示;

2.2、查看实例状态

select status from v$instance;

数据库未启动

2.3、需要重启数据库实例

startup

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

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

shutdown abort

结果如下:
关闭实例

2.5、使用pfile文件启动实例

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

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

结果如下:
实例恢复
此时数据库实例已恢复。

3、重新检查监听状态

重新进入LSNRCTL,执行status,结果如下:
重新查看监听状态
这代表数据库实例以及对应的监听都已加载完毕,可以正常使用。

猜你喜欢

转载自blog.csdn.net/sinat_31633205/article/details/102211482