zoukankan      html  css  js  c++  java
  • Oracle删除数据文件

    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
    

  • 相关阅读:
    C++-蓝桥杯-颠倒的价牌[2013真题][水题][模拟]
    C++-蓝桥杯-振兴中华[2013真题][水题][dp/递归]
    C++-蓝桥杯-排它平方数[2013][水题][枚举]
    C++-蓝桥杯-高斯日记[2013真题][水题][枚举模拟]
    C++-蓝桥杯-购物清单[2017真题][水题][文件输入]
    C++-蓝桥杯-九宫幻方[暴力搜索][无剪枝]
    C++-LUOGU3834 可持久化线段树(主席树)[模板]
    BASIC-2 01字串
    【掌大】关注回复
    【掌大】纸飞机
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13352132.html
Copyright © 2011-2022 走看看