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
    

  • 相关阅读:
    文档重复检测软件 DuplicateDetector
    Afinal 0.2.1 发布 Android的快速开发框架
    CshBBrain 4.0 发布,高性能WebSocket服务器
    英特尔的 C++ 编译器发布 13.0 版本
    Perl 5.16.2 发布
    OpenBSD 5.2 发布
    Webconverger 15.1 发布,适合网吧的 Linux
    Spring Framework 3.2 RC1 发布
    Postgres 9.2 新特性之:范围类型 (Range Types)
    Expression Blend实例中文教程系列文章汇总
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13352132.html
Copyright © 2011-2022 走看看