【发布时间】:2016-06-10 09:56:53
【问题描述】:
我需要从 Oracle 11g R2 数据库中消除特定用户的所有残余。这意味着不仅要逐个删除用户,还要删除与该用户关联的所有对象,以及磁盘上的所有物理残留物,例如.dbf 文件。
我阅读了几篇建议语法的文章,并为每个用户确定了以下两行系列:
DROP USER <username> CASCADE;
DROP TABLESPACE <username> INCLUDING CONTENTS AND DATAFILES;
然后我输入 SELECT USERNAME, DEFAULT_TABLESPACE FROM DBA_USERS; 并确认具有特定用户名的 USER 未包含在结果中。
但我也打开了包含.DBF 文件的文件夹,我注意到.DBF 文件没有被删除,即使Oracle SQL Developer 界面告诉我上述两个命令都成功了。
我需要采取哪些特定语法或其他操作才能从 Oracle 11g R2 数据库中删除用户及其关联架构等的所有剩余部分?
正在进行的研究:
阅读@EliasGarcia 的方法后,我尝试了他的第一个命令select tablespace_name from dba_data_files where file_name = 'file_including_path',使用的用户名与OP 中前面命令中使用的用户名相同。但是这个查询没有产生任何结果,因为我的 OP 中上面显示的两个命令删除了表空间。
鉴于我必须删除用户以及与用户相关的所有对象,有人可以展示如何将 OP 方法与@EliasGarcia 的方法结合起来吗?例如,OP 要求类似DROP USER username CASCADE INCLUDING CONTENTS AND DATAFILES;
在运行上述命令后,我犹豫是否要简单地删除 .dbf 文件。
【问题讨论】:
标签: sql oracle oracle11g oracle-sqldeveloper