我错误地将数据文件添加到表空间......并试图删除它。我运行以下命令:
alter database datafile 'datafile_name' OFFLINE;
Run Code Online (Sandbox Code Playgroud)
现在当我跑步时
alter database datafile 'datafile_name' ONLINE;
Run Code Online (Sandbox Code Playgroud)
表明
ORA-01113: file 30 needs media recovery
ORA-01110: data file 30: 'datafile_name'
Run Code Online (Sandbox Code Playgroud)
文件的状态也是 RECOVER... 我能做什么?我无法重新启动数据库....
找到答案:
SQL> recover datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE02.DBF';
alter database datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE02.DBF';
alter TABLESPACE EXAMPLE drop datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE02.DBF'
Run Code Online (Sandbox Code Playgroud)
但是对于生产数据库,它需要很多时间来恢复......我不能在不恢复它的情况下删除该文件吗?
还有一个问题......在添加该文件时另一个数据文件可用......是否有可能使用新创建的数据文件来存储数据?我认为 oracle 使用数据文件直到它不会超过其最大大小,然后切换到另一个可用文件......不是吗?
我问这个是因为我想确保新创建的文件不包含任何必要的数据......