ORA-01109:数据库无法启动问题

数据库无法启动问题

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

解决办法:

然后远程登录数据库服务器(aix5 unix),转到oracle用户下(unix转用户命令:su - oracle),输入sqlplus /nolog 回车  conn /as sysdba 回车 进入sql界面,作如下操作:

1、关闭实例

SQL> shutdown immediate;

ORA-01109: database not open

  Database dismounted.

  ORACLE instance shut down.

2、启动实例

SQL> startup;

Total System Global Area 2466250752 bytes

Fixed Size                  2022864 bytes

Variable Size             536871472 bytes

Database Buffers         1912602624 bytes

Redo Buffers               14753792 bytes

Database mounted.

ORA-01157: cannot identify/lock data file 7 - see DBWR trace file

ORA-01110: data file 7: '/dbbak/rlv_gcomm_30G_02'

 

接来下可以登录数据库了,但是却没法执行任何操作,提示:

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掉。

你可能感兴趣的:(oracle,sql,数据库,database,远程登录,数据库服务器)