日期:2014-05-16  浏览次数:20436 次

数据库无法启动问题
登录数据库时提示:ORA-12514: TNS: 监听程序当前无法识别连接描述符中
解决办法:

1、开始-运行 输入cmd



2、在弹出黑窗口,输入:sqlplus /nolog 回车



3、接下来输入:conn /as sysdba 回车



4、关闭实例 shutdown immediate 回车



5、启动实例  startup  回车



接来下可以登录数据库了,但是却没法执行任何操作,提示:
ORA-01109: database not open
(在网上搜了下,也有人有这个问题,但是问题是人家的file是存在的,所以只要改下路径,直接执行如下语句再执行1和2就可以了。
SQL> alter database rename file '/dbbak/rlv_gcomm_30G_02' to '/var/rlv_gcomm_30G_02';)

但问题是我的这个数据库rlv_gcomm_30G_02这个文件根本就不存在,哪来的该路径呢,经过网络和好心人的帮忙终于可以找到原因了
具体原因分析如下:由于早上创建了一个表空间,但是后来直接去删除表空间rlv_gcomm_30G_02文件,但这么删是有问题的,表空间和数据文件如果没有从数据库中删除,相应的数据文件就不能直接在服务器上删除。所以导致在启动数据库的时候检查数据有问题,最终导致数据库无法启动。解决办法如下:
3、SQL>alter database datafile '/dbbak/rlv_gcomm_30G_02' offline drop;
然后在执行上述的1和2步骤就可以了,由于这这个数据库还有一个数据库表空间文件被这么删除,所以还会出现同样的问题,当然这回只要再执行3,然后执行1,2就可以了。
SQL> startup
ORACLE instance started.
Total System Global Area 2466250752 bytes
Fixed Size                  2022864 bytes
Variable Size             536871472 bytes
Database Buffers         1912602624 bytes
Redo Buffers               14753792 bytes
Database mounted.
Database opened. 终于成功了。
但是这个时候登录数据库还是不行的,还要启动
然后就可以登录数据库将表空间drop掉。