- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle可以对表和索引进行分区,也可以对分区进行合作,从而减少散列分区或者复合分区的个数。在合并表分区之后,Oracle系统将做以下处理: (1)在合并分区时,HASH列函数将分区内容分布到一个或多个保留分区中; (2)原来内容所在的分区完全被清除; (3)与分区对应的索引也被清除; (4)将一个或多个索引的本地索引分区标识为不可用(UNSABLE); (5)需要对不可用的索引进行重建。 下面将讲解如何合并散列分区和复合分区。 1.合并散列分区 使用ALTER TABLE…COALESCE PARTITION语句可以完成HASH列分区的合并,下面来看一个例子。 【例12-14】 合并person分区表中的一个HASH分区,代码及运行结果如下。 SQL alter table person coalesce partition; ? 表已更改。 2.合并复合分区 可以使用ALTER TABLE …MODIFY语句实现将某个子分区的内容重新分配到一个或者多个保留的子分区中,下面来看一个例子。 【例12-15】 把person2分区表中的par3分区合并到其它保留的子分区中,代码及运行结果如下。 SQL alter table person2 modify partition par3 coalesce subpartition; ? 表已更改。 12.4.2 合并分区 可以从范围分区或复合分区中删除分区。但是散列分区和复合分区的散列子分区,只能通过合并来达到删除的目的。 1.删除一个表分区 可以使用ALTER TABLE…DROP PARTITION语句删除范围分区和复合分区。删除分区时,该分区的数据也被删除。如果不希望删除数据,则必须采用合并分区的方法,下面来看一个例子。 【例12-16】 把ware_retail_part分区表中的par_04分区删除,代码及运行结果如下。 SQL alter table ware_retail_part drop partition par_04; ?表已更改。 2.删除有数据和全局索引的表分区 如果分区表中包含了数据,并且在表中定义了一个或者多个全局索引,可以使用ALTER TABLE…DROP PARTITION语句删除表分区,这样可以保留全局索引,但是索引会被标识为不可用(UNUSABLE),因而需要重建索引,下面来看一个例子。 【例12-17】 删除ware_retail_part分区表中的par_04分区,然后重建索引ware_index,代码及运行结果如下。 SQL alter table ware_retail_part drop partition par_04; ?表已更改 ?SQL alter index ware_index rebuild; ?索引已更改。 在上面的例子中,如果ware_index是范围分区的全局索引,那么就需要重建所有索引的分区,如下面的示例代码: alter index ware_index rebuild index_01; alter index ware_index rebuild index_02; alter index ware_index rebuild index_03; 12.4.3 删除分区 3.使用DELETE和ALTER TABLE…DROP PARTITION语句。 在执行ALTER TABLE…DROP PARTITION语句前首先执行DELETE语句来删除分区的所有数据行,然后执行ALTER TABLE…DROP PARTITION语句,但是执行DELETE语句时需要更新全局索引,下面来看一个例子。 【例12-18】 首先删除ware_retail_part分区表中第四季度的数据,然后再删除第四季度数据对应的par_04分区,代码及运行结果如下。 SQL delete from ware_retail_part where retail_date = to_date(2011-10-01,yyyy-mm-dd); ? 已删除513行。 ? SQL alter table ware_retail_part drop partition par_04; ? 表已更改 4.删除具有完整性约束的分区 如果分区的表具有完整性约束,则可以采用以下两种办法。 (1)首先禁止完整性约束,然后执行ALTER TABLE…DROP PARTITION,最后激活约束,下面来看一个例子。 【例12-19】 首先禁用books_1表的主键约束BOOK_PK,然后删除books_1表的分区part_01,最后激活books_1表的主键约束BOOK_PK,代码及运行结果
您可能关注的文档
- Linux操作系统实验与实训 作者 何文华 梁竞敏 实验17 IP路由的配置1.ppt
- Linux实用教程 陈博 孙宏彬 於岳 03.ppt
- Linux实用教程 陈博 孙宏彬 於岳 04.ppt
- Linux实用教程 陈博 孙宏彬 於岳 06.ppt
- Linux实用教程 陈博 孙宏彬 於岳 08.ppt
- Linux实用教程 陈博 孙宏彬 於岳 09.ppt
- Linux实用教程 陈博 孙宏彬 於岳 10.ppt
- Linux实用教程 第2版 作者 於岳 编著 01.ppt
- Linux实用教程 第2版 作者 於岳 编著 04.ppt
- Linux实用教程 第2版 作者 於岳 编著 05.ppt
- Oracle数据库管理、开发与实践 作者 杨永健 刘尚毅 第13章 用户管理与权限分配.ppt
- Oracle数据库管理、开发与实践 作者 杨永健 刘尚毅 第14章 数据导出和导入.ppt
- Oracle数据库管理、开发与实践 作者 杨永健 刘尚毅 第15章 Oracle闪回技术与系统调优.ppt
- Oracle数据库管理与应用实例教程 作者 刘志成 薛志良 第1章 案例数据库设计.ppt
- Oracle数据库管理与应用实例教程 作者 刘志成 薛志良 第2章 初识Oracle11g.ppt
- Oracle数据库管理与应用实例教程 作者 刘志成 薛志良 第4章 数据表操作.ppt
- Oracle数据库管理与应用实例教程 作者 刘志成 薛志良 第5章 数据查询操作.ppt
- Oracle数据库管理与应用实例教程 作者 刘志成 薛志良 第7章 存储过程操作.ppt
- Oracle数据库管理与应用实例教程 作者 刘志成 薛志良 第9章 触发器操作.ppt
- Oracle数据库管理与应用实例教程 作者 刘志成 薛志良 第10章 数据库安全操作.ppt
文档评论(0)