SQL> select file_name,file_id from dba_data_files where tablespace_name='TEST';
FILE_NAME FILE_ID
------------------------------ ----------
/oradata/june/test.dbf 6
/oradata/june/test1.dbf 9
/oradata/june/test2.dbf 10
SQL> select distinct owner,segment_name from dba_Extents where FILE_ID=6;
OWNER SEGMENT_NAME
------------------------------ --------------------
TEST EMPLOYEES
TEST ORDERS
TEST BFW_TEST
TEST B1
TEST STRACE
TEST T1
TEST TEST
TEST SYS_C0011275
TEST TEST2
TEST A2
TEST HOTEL
OWNER SEGMENT_NAME
------------------------------ --------------------
TEST EMP2
TEST T
TEST IDX_T
已选择14行。
SQL> select distinct owner,segment_name from dba_Extents where FILE_ID=9;
OWNER SEGMENT_NAME
------------------------------ --------------------
TEST T10
TEST T500
TEST B1
TEST DEPT
TEST EMP3
TEST A1
TEST IDX_EMP_EMPNO
TEST T100
TEST T1
TEST EMP_1
TEST EMP
OWNER SEGMENT_NAME
------------------------------ --------------------
TEST DUPES
TEST TEST3
TEST DEPT_1
TEST IDX_EMP_ENAME
TEST PK_DEPT
TEST KEY
已选择17行。
可以看到表T1 在数据文件6,9中有
SQL> select count(*) from t1;
COUNT(*)
----------
72607
SQL> alter tablespace test drop datafile '/oradata/june/test1.dbf' ;
alter tablespace test drop datafile '/oradata/june/test1.dbf'
*
第 1 行出现错误:
ORA-03262: 文件非空
可以看到,只有非空的数据文件才能进行删除,已经写入数据的数据文件不能进行删除。
尝试
alter database datafile '/oradata/june/test1.dbf' offline drop
SQL> alter database datafile '/oradata/june/test1.dbf' offline drop;
数据库已更改。
SQL> select count(*) from t1;
select count(*) from t1
*
第 1 行出现错误:
ORA-00376: 此时无法读取文件 9
ORA-01110: 数据文件 9: '/oradata/june/test1.dbf'
/oradata/june/test1.dbf数据文件中有t1表的数据
SQL> recover datafile 9;
完成介质恢复。
SQL> alter database datafile '/oradata/june/test1.dbf' online;
数据库已更改。
SQL> select count(*) from t1;
COUNT(*)
----------
72607
Oracle删除数据文件
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
误操作删除数据文件恢复案例讨论
一、实验说明: 本文转载EYGLE的《数据安全警示录》中的一个案例,也有在itpub上发表过http://www.itpub.net/thread-1721724-1-1.html,在这里只是做一个模拟,并记录一下! 操作系统:rhel 5.4 x32 &nb
oracle 数据安全 create default identified -
oracle数据文件被删除没备份恢复
说明:数据库开规档,没备份,数据文件被删除的恢复条件: 1.数据库开启归档 2.创建数据文件之后的
create datafile 数据文件丢失恢复 SQL 数据文件 oracle