• 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
    

  • 相关阅读:
    Element Form表单验证
    layui table中记住当前页
    Mysql定时任务
    Mysql存储过程
    StringRedisTemplate与redistemplate
    vue路由传值
    背景色渐变(兼容各浏览器)
    用onclick点击框架跳转
    美化滚动条
    图片无缝滚动
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13352132.html
Copyright © 2020-2023  润新知