数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

Oracle10gR2如何删除误添加的空文件


发布日期:2022年08月16日
 
Oracle10gR2如何删除误添加的空文件

今天又有朋友问到当向一个表空间错误的添加了一个数据文件如何来将这个文件删除?

如果是在Oracleg之前删除一个表空间中的数据文件后其文件在数据库数据字典中会仍然存在除非你删除表空间否则文件信息不会清除

但是从OraclegR开始Oracle允许我们彻底删除一个空文件不留痕迹

但是注意如果你向SYSTEM表空间错误的添加了一个文件那么就让它在哪里好了不要动

对于普通表空间则可以参考以下步骤处理

数据库版本OraclegR

SQL> select * from v$version;

BANNER

Oracle Database g Enterprise Edition Release Prod

PL/SQL Release Production

CORE Production

TNS for Linux: Version Production

NLSRTL Version Production

向USERS表空间增加一个数据文件

SQL> alter tablespace users add datafile /opt/oracle/oradata/eygle/usersdbf size M;

Tablespace altered

SQL> select file#name from v$datafile;

FILE# NAME

/opt/oracle/oradata/eygle/systemdbf

/opt/oracle/oradata/eygle/undotbsdbf

/opt/oracle/oradata/eygle/sysauxdbf

/opt/oracle/oradata/eygle/usersdbf

/opt/oracle/oradata/eygle/usersdbf

rows selected

确认表空间文件信息

SQL> select file_namefile_id from dba_data_files where tablespace_name=USERS;

FILE_NAME FILE_ID

/opt/oracle/oradata/eygle/usersdbf

/opt/oracle/oradata/eygle/usersdbf

确认表空间未被存储占用

SQL> select segment_namefile_idblocks from dba_extents where file_id=;

no rows selected

删除表空间中的空数据文件

SQL> alter tablespace users drop datafile /opt/oracle/oradata/eygle/usersdbf;

Tablespace altered

检查数据字典这个空文件的信息已经被彻底清除了

SQL> select file_namefile_id from dba_data_files where tablespace_name=USERS;

FILE_NAME FILE_ID

/opt/oracle/oradata/eygle/usersdbf

上一篇:关于Oracle客户端显示乱码问题

下一篇:Oracle Designer对Oracle的连接