千家信息网

Tablespace表空间删除

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,一、普通表空间删除:Oracle 11g删除表空间语法描述:DROP TABLESPACE tablespace_name [ including contents [ and datafiles ]
千家信息网最后更新 2026年11月01日Tablespace表空间删除一、普通表空间删除:
Oracle 11g删除表空间语法描述:
DROP TABLESPACE tablespace_name [ including contents [ and datafiles ] [ CASCADE CONSTRAINT 搜索] ];
无选项 -- 当表空间为空才能删除;
including contents - 删除表空间及对象;
including contents and datafiles - 删除表空间、对象及数据文件;
including contents CASCADE CONSTRAINT - 删除关联;
including contents and datafiles cascade constraint -- 含前两项。


生成脚本:
select 'drop tablespace '||tablespace_name||' including contents and datafiles cascade constraint;' from dba_data_files where tablespace_name not in('SYSTEM','SYSAUX','USERS','EXAMPLE','UNDOTBS2','UNDOTBS1')




二、分区表空间删除:


select 'alter table '||owner||'.'||segment_name||' drop partition '||partition_name||' ;'
from dba_segments
where segment_name in (select distinct segment_name
from dba_segments
where tablespace_name = 'p1'
and segment_type like '%PART%')
and tablespace_name <> 'p1';


得出:
alter table CP.IDX_CP_HANDLE_BATCH_NO drop partition SYS_P200 ;
alter table CP.IDX_CP_HANDLE_REQUEST_ID drop partition SYS_P200 ;
alter table CP.IDX_CP_PAYMENT_REQUEST_ID drop partition SYS_P201 ;
alter table CP.IDX_CP_PAYMENT_TRAN_NO drop partition SYS_P201 ;
alter table CP.IDX_CP_REQUEST_ID drop partition SYS_P199 ;
alter table CP.IDX_CP_REQUEST_TRAN_NO drop partition SYS_P199 ;
alter table CP.TBL_CP_HANDLE drop partition SYS_P200 ;
alter table CP.TBL_CP_PAYMENT drop partition SYS_P201 ;
alter table CP.TBL_CP_REQUEST drop partition SYS_P199 ;


三、异常处理:
报错有下面几种:
一. ORA-23515
--- ORA-23515: materialized views and/or their indices exist in the tablespace
drop tablespace crm_data including contents and datafiles
*
ERROR at line 1:
ORA-23515: materialized views and/or their indices exist in the tablespace


意思是:该表空间 CRM_DATA含有物化视图,或者含有物化视图的索引
解决办法:
-- 首先删掉该表空间下的的物化视图
select 'drop materialized view '||owner||'.'||segment_name||' ;'
from dba_segments
where segment_name in (select mview_name from dba_mviews)
and tablespace_name = 'CRM_DATA'


-- 然后删除该表空间下的其他表空间下物化视图在本表空间下创建的索引
select *
from dba_segments
where tablespace_name = 'CRM_DATA'
and segment_name in
(select index_name
from dba_indexes
where table_name in (select mview_name from dba_mviews));
二. ORA-02429
---ORA-02429: cannot drop index used for enforcement of unique/primary key
drop tablespace crm_idx including contents cascade constraints
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-02429: cannot drop index used for enforcement of unique/primary key
ORA-02429的意思是: 让你删除该表空间下面的 primary key 和 unique key
处理办法:
select 'alter table '||owner||'.'||table_name||' drop constraint '||constraint_name||' ;'
from dba_constraints
where constraint_type in ('U', 'P')
and (index_owner, index_name) in
(select owner, segment_name
from dba_segments
where tablespace_name = 'CRM_IDX');


三. ORA-14404
--ORA-14404: partitioned table contains partitions in a different tablespace
drop tablespace crm_arc_data including contents and datafiles
*
ERROR at line 1:
ORA-14404: partitioned table contains partitions in a different tablespace
意思是: 本表空间下面有这么样一个或一些分区表的分区: this partition OR partitions的table所包含的全部 partitions不在一个表空间下面:
处理办法:
select 'alter table '||owner||'.'||segment_name||' drop partition '||partition_name||' ;'
from dba_segments
where segment_name in (select distinct segment_name
from dba_segments
where tablespace_name = 'CRM_ARC_DATA'
and segment_type like '%PART%')
and tablespace_name <> 'CRM_ARC_DATA';
杀手锏: 直接drop 这个分区表(如果允许的话)


四. ORA-02449
--- ORA-02449: unique/primary keys in table referenced by foreign keys
drop tablespace crm_data including contents and datafiles
*
ERROR at line 1:
ORA-02449: unique/primary keys in table referenced by foreign keys
意思是: 这个要删除的表空间 里面含有这么样的一些主键: 其他表空间的表在这些主键上建有外键
处理办法: 去掉这些垃圾外键
select 'alter table '||owner||'.'||table_name||' drop constraint '||constraint_name||' ;'
from dba_constraints
where constraint_type = 'R'
and table_name in (select segment_name
from dba_segments
where tablespace_name = 'CRM_DATA'
and segment_type like '%TABLE%');
如果还是不行的话,就用这个语句来删表空间吧:
drop tablespace crm_data including contents cascade constraints


空间 办法 意思 视图 处理 分区表 对象 索引 不行 普通 垃圾 数据 文件 杀手 杀手锏 脚本 语句 语法 还是 面的 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网 广东万易互联网科技有限公司惠州分公司 广州万易互联网科技有限公司 科技互联网政务服务 盈实互联网科技 互联网与科技金融数据 广州互联网络科技有限公司 融贸通互联网科技 苏州大垚互联网科技 互联网科技股有哪些 丰台科技园 互联网公司 宝灵互联网科技有限公司 互联网金融科技公司的优势 北京市互联网新科技 广东工业互联网大赛深圳学泰科技 半导体行业属于互联网高科技类吗 上海万顺科技互联网有限公司招聘 求路客互联网科技电话 互联网企业和网络科技有限公司 科技发展第三阶段互联网时代 科技互联网龙头 易通互联网络科技有限公司 赫美联合互联网科技 天扬科技互联网广告 四个字互联网科技公司取名 中国互联网有什么科技含量 世界互联网领先科技成果获奖 互联网金融科技名词解释 富国互联网金融科技混合基金 上海旺乐尼互联网科技有限公司
0