场景:
删除了表空间文件,结果数据库不能启动,报 ORA-01033错误。
解决:
首先进入sqlplus,注意命令行窗口WIN7下要使用管理员权限打开,否则会报 ORA-01145: 除非启用了介质恢复, 否则不允许立即脱机 错误。
SQL> conn sys/admin as sysdba;
1、查看数据库是否处于规档模式
SQL> select name,log_mode from v$database;
NAME LOG_MODE
--------- ------------
UAPDB NOARCHIVELOG
SQL> archive log list;
数据库日志模式 非存档模式
自动存档 禁用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 1670
当前日志序列 1672
2、将数据库改为归档模式
SQL> alter database archivelog;
数据库已更改。
3、试着打开数据库
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 8 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 8: 'D:\ORADATA\UAPDB\ACTIVITI.DBF'
4、将有问题的数据文件下线
SQL> alter database datafile 8 offline;
数据库已更改。
5、再次打开数据库
SQL> alter database open;
数据库已更改。
现在数据库已能打开。
附:
1、查看ORACLE数据文件:
select * from v$datafile;