我已经尝试了放弃数据文件本身,但我得到了这个错误。
SQL> alter tablespace USERS drop datafile '/u01/app/oracle/oradata/orcl/users01.dbf';
alter tablespace USERS drop datafile '/u01/app/oracle/oradata/orcl/users01.dbf'
*
ERROR at line 1:
ORA-03261: the tablespace USERS has only one file
我也尝试过让表空间离线并删除整个表空间,但这也不起作用。
SQL> drop tablespace users including contents and datafiles;
drop tablespace users including contents and datafiles
*
ERROR at line 1:
ORA-12919: Can not drop the default permanent tablespace
编辑:这是一个任务,以模拟失败的数据文件,我将恢复。我会手动删除它,但是分配要求我使用SQL。
发布于 2015-01-29 22:53:05
如果您只想删除数据文件来模拟硬件故障,那么您可以简单地从机器中删除它们。
您可以使用一个简单的查询知道数据文件存储在哪里:
select name
from V$DATAFILE;
这将为所有数据文件提供路径。
编辑:来模拟一个更酷的系统故障,以确保您的备份脚本或您正在测试的任何东西都能正常工作,您还可以破坏数据(打开一个文件并在其中编写一些随意的胡言乱语)
发布于 2016-08-29 00:12:25
因为用户是默认的表空间,所以不能删除它的任何数据文件并得到错误ORA-12919。解决方案是创建另一个表空间,然后更改默认表空间:
SQL> CREATE TABLESPACE USERS_TEMP DATAFILE '/u01/app/oracle/oradata/orcl/users_temp_01.dbf' size 10M AUTOEXTEND ON;
SQL>alter database default tablespace USERS_TEMP;
现在您可以删除用户:
SQL>DROP TABLESPACE USERS INCLUDING CONTENTS AND DATAFILES;
若要删除位于“app\Ora11gHome\oradata”上的数据文件,必须关闭数据库服务。打开Oracle管理助理并停止服务,现在可以删除该文件。
https://stackoverflow.com/questions/28225903
复制相似问题