报错:ORA-01219: 数据库未打开:
仅允许在固定表/视图中查询
出现这个问题情况是:我自己在本地创建一个数据库,在建表空间的时候,建好一个表空间文件,后觉得这个表空间文件名不好,想删掉,然后我就直接到当前数据库的文件夹下面直接操作,并没写SQL语句查询,删除完后当我再用pssqlde工具或删除数据库工具打开它都提示ora-01219
:数据库未打开,仅允许在固定表/视图中查询,在网上查了很多,后面才解决掉,现把它记录下来以后遇到相似问题,以便能快速解决,也可供让遇到相同问题的朋友们进
行一个参考。
主要是删除v$datafile 中的对应文件
alter database datafile
'E:\oracle\product\10.2.0\oradata\lushoudb\lushu 001.dbf' offline
drop;
然后把表空间drop:
drop tablespace lushu 001.
首先在在命令行下输入
sqlplus /nolog 进入SQL*PLUS
大概步骤如下:
C:\documents and
settings\administrator>sqlplus/nolog
SQL>conn system/manager as sysdba
已连接
SQL>select name from v$datafile
2 ;
name
-------------------------------------
E:\oracle\product\10.2.0\oradata\lushoudb\system01.dbf
E:\oracle\product\10.2.0\oradata\lushoudb\user01.dbf
E:\oracle\product\10.2.0\oradata\lushoudb\lushu 001.dbf
SQL>alter database datafile
'E:\oracle\product\10.2.0\oradata\lushoudb\lushu 001.dbf'
offline
2 ;
数据库已更改
SQL>alter database datafile
'E:\oracle\product\10.2.0\oradata\lushoudb\lushu 001.dbf' offline
drop
2 ;
数据库已更改
SQL>alter database open
2 ;
数据库已更改
SQL>select name from v$tablespace
2 ;
name
-------------------------------------
system
user
已选择2行
问题解决!!!