Oracle表空间的删除


作者:雨竹清风

如果想删除一个表空间可以使用命令来删除,当然有不能删除的表空间,如:系统表空间,上面有活动段的表空间。

删除表空间的命令如下:drop tablespace 表空间名 [including contents] [and datafiles] [cascade constraints]

注:

including contents 表示删除所包含的的段

and datafiles   表示删除所包含的数据文件

cascade constraints 表示删除所有的级联等数据完整性约束

示例如下:

1.查询数据字典dba_data_files结构

SQL> desc dba_data_files;

 名称                                      是否为空? 类型

 ----------------------------- -------- -------------------

 FILE_NAME                                        VARCHAR2(513)

 FILE_ID                                            NUMBER

 TABLESPACE_NAME                                    VARCHAR2(30)

 BYTES                                              NUMBER

 BLOCKS                                             NUMBER

 STATUS                                             VARCHAR2(9)

 RELATIVE_FNO                                       NUMBER

 AUTOEXTENSIBLE                                     VARCHAR2(3)

 MAXBYTES                                           NUMBER

 MAXBLOCKS                                          NUMBER

 INCREMENT_BY                                       NUMBER

 USER_BYTES                                         NUMBER

 USER_BLOCKS                                        NUMBER

 ONLINE_STATUS                                      VARCHAR2(7)

 

2.查询表空间的具体情况

SQL> col file_name for a61

SQL> col tablespace_name for a15

SQL> select file_name,tablespace_name from dba_data_files;

 

FILE_NAME                                             TABLESPACE_NAME   

----------------------------------------------------- ---------------   

C:\DISK3\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF       USERS             

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF            SYSAUX            

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF           UNDOTBS1          

C:\DISK4\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF      SYSTEM            

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF           EXAMPLE           

D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\FANLU_TABLESPACE.DBF FANLU             

D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XIXI.DBF             LULU              

D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XUANXUAN.DBF         XUANXUAN          

D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XUANXUAN02.DBF       XUANXUAN          

 

已选择9行。

3.选择删除的表空间,进行删除

SQL> drop tablespace LULU;

 

表空间已删除。

4.查询是否已经删除成功

SQL> col file_name for a61

SQL> col tablespace_name for a15

SQL> select file_name,tablespace_name from dba_data_files;

 

FILE_NAME                                                 TABLESPACE_NAME   

--------------------------------------------------------- ---------------   

C:\DISK3\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF       USERS             

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF            SYSAUX            

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF           UNDOTBS1          

C:\DISK4\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF      SYSTEM            

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF           EXAMPLE           

D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\FANLU_TABLESPACE.DBF FANLU             

D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XUANXUAN.DBF         XUANXUAN          

D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XUANXUAN02.DBF       XUANXUAN          

 

已选择8行。

从结果看已经删除成功,但是这仅仅删除的是指向该表空间的指针,需要手动删除物理文件。

5.如果需要一起删除物理文件需要加上子句,如下所示:

 

SQL> drop tablespace FANLU including contents and datafiles;

 

表空间已删除。

查询是否成功删除

SQL> col file_name for a61

SQL> col tablespace_name for a15

SQL> select file_name,tablespace_name from dba_data_files;

 

FILE_NAME                                                  TABLESPACE_NAME   

-------------------------- ------------------------------- ---------------   

C:\DISK3\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF       USERS             

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF            SYSAUX            

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF           UNDOTBS1          

C:\DISK4\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF      SYSTEM            

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF           EXAMPLE           

D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XUANXUAN.DBF         XUANXUAN          

D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE\XUANXUAN02.DBF       XUANXUAN          

 

已选择7行。

 

查看物理文件,也一并删除了。

 

没有更多推荐了,返回首页