oracle存过删除本地文件,Oracle教程 误添加数据文件删除方法

如果是在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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值