Oracle教程 误添加数据文件删除技巧
发布时间:2021-11-26 21:25:27 所属栏目:教程 来源:互联网
导读:如果是在Oracle10g之前,删除一个表空间中的数据文件后,其文件在数据库数据字典中会仍然存在,除非你删除表空间,否则文件信息不会清除。 但是从Oracle10gR2开始,Oracle允许我们彻底删除一个空文件,不留痕迹。 但是注意:如果你向SYSTEM表空间错误的添加了
如果是在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 (编辑:常州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |