操作系统蓝屏无法启动修复后oracle无法使用问题
我们有一台笔记本电脑作开发服务器,里面装有oracle。昨天蓝屏后无法启动操作系统,经公司里的大神修复后,起死回生,又能重新看到它的桌面了。以为一切重回舒适的正轨,不料oracle无法连接,提示无法识别服务名称。
ORA-12514: TNS : 监听程序当前无法识别连接描述符中请求的服务_监听程序不支持服务
以往出现这种错误,都是listen.ora里缺乏相应IP地址的缘故。但该文件近期并无修改,之前oracle一直可以正常使用,所以可以排除是listen的原因。
在服务器中,用sqlplus,不指定服务器名称的形式可进入
sqlplus sys/password as sysdba;
可看到里面所有的插件数据库。好像没有啥问题啊。
show pdbs;
查找数据库的状态,发现处于mounted状态,正常启动后应该处于open状态。
select Database_Status from V$INSTANCE;
数据库一共有4种状态:
• STARTED – After STARTUP NOMOUNT ,刚开始,未装载
• MOUNTED – After STARTUP MOUNT or ALTER DATABASE CLOSE,已装载,这时外部尚未能访问
• OPEN – After STARTUP or ALTER DATABASE OPEN ,已开放,外部可正常访问。
• OPEN MIGRATE – After ALTER DATABASE OPEN { UPGRADE | DOWNGRADE } 升级?什么鬼
正常情况下,当我们启动数据库之后,系统会先加载,然后再进入open状态,started -> mounted -> open。一直处于mounted,肯定不正常了。
这里发生了啥呢?首先停掉数据库,然后再启动,可见加载之后,系统报错了,提示有几个区块无法读取。操作系统蓝屏,是因为磁盘有几个坏道,数据库终归是受到了影响。
shutdown immediate
startup
这种问题,我找不到什么办法,看来只能重装数据库了。