删除用户时是否存在 DBF 文件?

Nit*_*mar 4 oracle

我是 Oracle 的新手。我使用以下方法从我的数据库中删除了一些用户:

DROP USER username cascade;
Run Code Online (Sandbox Code Playgroud)

问题是该.dbf文件仍然存在于$ORACLE_HOME/dbs/oradata/目录中,这造成了磁盘空间问题。

我可以直接或通过其他一些进程删除未使用的文件吗?.trc文件的大小也增加到 16 GB。我怎样才能清理它?

我可以直接删除这些文件,但不确定它是否会导致任何我不想要的启动或配置问题。

只是我关心的是摆脱上述不需要的文件的磁盘空间问题。

Chr*_*xon 8

数据文件分配给表空间,而不是用户。删除用户将从表空间中删除表等,但不影响底层存储。

不要直接从文件系统中删除 dbf 文件,你会让你的数据库变得一团糟。要删除它们,请使用以下语句查找文件属于哪个表空间:

select tablespace_name
from   dba_data_files
where  file_name = <file name with full path>;
Run Code Online (Sandbox Code Playgroud)

然后,您可以通过删除表空间来删除​​文件:

drop tablespace <tablespace_name> including contents and datafiles;
Run Code Online (Sandbox Code Playgroud)

在执行此操作之前,您应该确认没有任何对象仍然分配给其他用户的表空间。您可以通过运行找到它:

select * from dba_segments
where  tablespace_name = <tablespace to drop>;
Run Code Online (Sandbox Code Playgroud)

如果这返回任何内容,如果您想在删除表空间之前保留它们,请将对象移动到另一个表空间。