SQL> startup;
startup
ORA-00900: 无效 SQL 语句
SQL> SELECT FILE_NAME,TABLESPACE_NAME,BYTES,USER_BLOCKS FROM DBA_DATA_FILES;
SELECT FILE_NAME,TABLESPACE_NAME,BYTES,USER_BLOCKS FROM DBA_DATA_FILES
ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询
SQL> alter database open;
alter database open
ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 6: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\CMBC\TB_P01.DBF'
SQL> alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\CMBC\TB_P01.DBF' offline drop;
Database altered
SQL> alter database open;
alter database open
ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 7: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\CMBC\TB_NP001.DBF'
SQL> alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\CMBC\TB_NP001.DBF' offline drop;
Database altered
SQL> alter database open;
alter database open
ORA-01157: 无法标识/锁定数据文件 8 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 8: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\CMBC\TB_IDX001.DBF'
SQL> alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\CMBC\TB_IDX001.DBF' offline drop;
Database altered
SQL> alter database open;
Database altered
SQL>
错误原因:
直接关闭数据库,然后删除DBF文件。即表空间文件。导致出现错误。
如是删掉了DBF文件出现“ORA-01219:数据库未打开:仅允许在固定表/视图中查询”,可用以下方法解决:
以sysdba登录:
C:\>sqlplus "/ as sysdba"
SQL> alter database datafile 'DBF文件所在的路径' offline drop;
数据库已更改。
SQL> alter database open;
数据库已更改。
问题解决。