WEB开发网
开发学院数据库Oracle Oracle10gR2如何删除误添加的空文件 阅读

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

 2008-12-18 13:07:01 来源:WEB开发网   
核心提示:今天又有朋友问到,当向一个表空间错误的添加了一个数据文件,Oracle10gR2如何删除误添加的空文件,如何来将这个文件删除? 如果是在Oracle10g之前,删除一个表空间中的数据文件后,对于普通表空间,则可以参考以下步骤处理,其文件在数据库数据字典中会仍然存在,除非你删除表空间

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

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

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

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

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

数据库版本Oracle10gR2:

SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE  10.2.0.1.0   Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production

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

SQL> alter tablespace users add datafile '/opt/oracle/oradata/eygle/users02.dbf' size 10M;
Tablespace altered.
SQL> select file#,name from v$datafile;
  FILE# NAME
---------- --------------------------------------------------
    1 /opt/oracle/oradata/eygle/system01.dbf
    2 /opt/oracle/oradata/eygle/undotbs01.dbf
    3 /opt/oracle/oradata/eygle/sysaux01.dbf
    4 /opt/oracle/oradata/eygle/users01.dbf
    5 /opt/oracle/oradata/eygle/users02.dbf
5 rows selected.

确认表空间文件信息:

SQL> select file_name,file_id from dba_data_files where tablespace_name='USERS';
FILE_NAME                      FILE_ID
-------------------------------------------------- ----------
/opt/oracle/oradata/eygle/users02.dbf           5
/opt/oracle/oradata/eygle/users01.dbf           4

确认表空间未被存储占用:

SQL> select segment_name,file_id,blocks from dba_extents where file_id=5;
no rows selected

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

SQL> alter tablespace users drop datafile '/opt/oracle/oradata/eygle/users02.dbf';
Tablespace altered.

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

SQL> select file_name,file_id from dba_data_files where tablespace_name='USERS';
FILE_NAME                      FILE_ID
-------------------------------------------------- ----------
/opt/oracle/oradata/eygle/users01.dbf           4

Tags:OraclegR 如何 删除

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接