Oracle 10g默认安装完后发现有一个 EXAMPLE 表空间,我想删除该表空间,但是出错了。
SQL> drop tablespace example including contents cascade constraints;
drop tablespace example including contents cascade constraints
*
第 1 行出现错误:
ORA-29857: 表空间中存在域索引和/或次级对象
SQL> select index_name, table_owner, table_name, tablespace_name from dba_indexes where index_type='DOMAIN';
INDEX_NAME TABLE_OWNER TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------ ------------------------------ -------
SUP_TEXT_IDX SH SUPPLEMENTARY_DEMOGRAPHICS
在这里并没有显示这唯一的一个域级索引属于哪个表空间,但是我通过EM看到它属于SYSTEM 表空间,就是说EXAMPLE 表空间没有域级对象。
我在QQ群里和网友交流时,有的网友建议把EXAMPLE 包含的SCHEMA 删除掉后再删除EXAMPLE表空间,这样有可能解决问题,但是我感觉不太合适,有点主大于次,并且会丢失数据。
我后来在网上查解决办法呀,看到有人提到“自包含”,我想EXAMPLE 表空间无法删除可以就是因为它不是自包含,它和别的表空间有联系。
有的网友让查出EXAMPLE 表空间的所有对象,将其DROP 或REMOVE 后再删除EXAMPLE 表空间,但是我查后(如下查询结果),发现有175 个对象,难道这些对象都要DROP 或REMOVE ?如果是,那么ORACLE 有没有自带的什么包可以实现批量DROP 或REMOVE?
(我认为要要删除EXAMPLE 表空间,并不要处理其所包含的所有(175个)对象,可能只有少数(几个或几十个)对象和其它表空间有联系,致使删除失败,有没有办法找出这些少数的对象再对其处理呢?)
SQL> select distinct owner,segment_name, segment_type from dba_extents
2 where tablespace_name='EXAMPLE';
OWNER SEGMENT_NAME SEGMENT_TYPE
------ ---------------------------------------- ------------------
HR DEPARTMENTS TABLE
OE ORDERS TABLE
OE PROMOTIONS TABLE
HR DEPT_LOCATION_IX INDEX
PM SYS_IL0000051963C00071$$ LOBINDEX
PM ONLINEMEDIA_PK INDEX
SH PRODUCTS_PROD_CAT_IX INDEX
SH COSTS_PROD_BIX INDEX PARTITION
OE SYS_LOB0000051924C00023$$ LOBSEGMENT
HR JOBS TABLE
IX SYS_IOT_OVER_52034 TABLE
SH PRODUCTS TABLE
HR DEPT_ID_PK INDEX
HR EMP_EMP_ID_PK INDEX
HR EMP_NAME_IX INDEX
OE ORDER_PK INDEX
PM SYS_IL0000051963C00062$$ LOBINDEX
PM PRINTMEDIA_PK INDEX
IX SYS_IOT_TOP_52020 INDEX
IX SYS_IL0000052022C00029$$ LOBINDEX
SH FW_PSC_S_MV_WD_BIX INDEX
SH SALES_PROD_BIX INDEX PARTITION
PM SYS_LOB0000051963C00003$$ LOBSEGMENT
HR JOB_HISTORY TABLE
SH COUNTRIES TABLE
SH COSTS TABLE PARTITION
HR LOC_CITY_IX INDEX
HR JOB_ID_PK INDEX
HR EMP_JOB_IX INDEX
OE CUST_LNAME_IX INDEX
OE CUST_EMAIL_IX INDEX
OE SYS_IL0000051933C00012$$ LOBINDEX
OE ORDER_ITEMS_PK INDEX
OE ORD_CUSTOMER_IX INDEX
OE PRODUCT_INFORMATION_PK INDEX
PM SYS_IL0000051963C00003$$ LOBINDEX
PM SYS_IL0000051963C00017$$ LOBINDEX
IX SYS_IL0000052007C00036$$ LOBINDEX
IX SYS_C005195 INDEX
SH SALES_CUST_BIX INDEX PARTITION
OE SYS_LOB0000051933C00012$$ LOBSEGMENT
SH PRODUCTS_PROD_SUBCAT_IX INDEX
SH CUSTOMERS_GENDER_BIX INDEX
PM SYS_IL0000051963C00069$$ LOBINDEX
...............................................................................
已选择175行。
先谢谢各位网友。