300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 「Oracle数据库」普通表空间如何删除?分区表空间又如何删除?

「Oracle数据库」普通表空间如何删除?分区表空间又如何删除?

时间:2020-04-26 14:47:07

相关推荐

「Oracle数据库」普通表空间如何删除?分区表空间又如何删除?

当数据库中某个表空间不再需要或者是新创建的表空间不符合要求,这个时候我们就需要对表空间进行删除操作,那具体该如何删除呢?

表空间的删除要确保执行命令的用户具有DROP TABLESPACE权限,其次表空间的删除我们要区分是普通表空间还是分区表空间,两者是有一定区别的。

普通表空间删除:

Oracle 11g删除表空间语法描述:

DROP TABLESPACE tablespace_name [ including contents [ and datafiles ] [ CASCADE CONSTRAINT] ];

无选项 -- 当表空间为空才能删除;

tablespace_name —表示要删除的表空间名称;

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_segmentswhere segment_name in (select distinct segment_namefrom dba_segmentswhere tablespace_name = p1and segment_type like \%PART%)and tablespace_name <> p1;——p1表示表空间名称

执行后我们会得出类似下面的语句:

alter table CP.IDX_CP_REQUEST_TRAN_NO drop partition SYS_P199 ;alter table CP.TBL_CP_HANDLE drop partition SYS_P200 ;

想了解更多精彩内容,快来关注出彩职场人

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。