怎么理解数据库移动分区表和分区索引的表空间

66次阅读
没有评论

共计 1994 个字符,预计需要花费 5 分钟才能阅读完成。

这篇文章主要介绍“怎么理解数据库移动分区表和分区索引的表空间”,在日常操作中,相信很多人在怎么理解数据库移动分区表和分区索引的表空间问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么理解数据库移动分区表和分区索引的表空间”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!

移动分区表的表空间

 1) 非组合分区表
  alter table RPT_F_STATION_DP move  PARTITION SYS_P3742 tablespace reportdata;
 
 2) 组合分区表:
  (1) 先移动子分区到另一个表空间:
  alter table RPT_F_CABECF move  SUBPARTITION SYS_SUBP8842 tablespace reportdata; 
 
  (2)subpartition 已经 move 走了,就剩下 subpartition 的 father 了,那就不需要 move 了,改一下分区的属性就可以了。
  ALTER TABLE RPT_F_CABECF MODIFY DEFAULT ATTRIBUTES FOR  PARTITION PARTITION_660  TABLESPACE reportdata;
 
注:
如直接 move 含有子分区的分区将发生如下错误
ORA-14257: cannot move partition other than a Range or Hash partition 
 
移动分区表上 index 的表空间

1)非分区 index
  ALTER INDEX PK_RPT_F_NOFINISH_WORKSHEET REBUILD TABLESPACE REPORTDATA;
 
2)无子分区的 index 
  ALTER INDEX IDX_RPT_F_STATION_DP_1 REBUILD PARTITION SYS_P3721  TABLESPACE REPORTDATA; 
 
3)子分区 index

ALTER INDEX IDX_RPT_F_CABECF_1 REBUILD SUBPARTITION SYS_SUBP8842 TABLESPACE REPORTDATA;

自动生成需要的脚本
SELECT  alter table
  || table_name
  || move  PARTITION
  || partition_name
  || tablespace reportdata;
  FROM USER_TAB_PARTITIONS
 WHERE SUBPARTITION_COUNT = 0 AND tablespace_name = RMGZ — 非组合分区表
 
SELECT  alter table
  || table_name
  || move  subPARTITION
  || SUBPARTITION_NAME
  || tablespace reportdata;
  FROM USER_TAB_SUBPARTITIONS
 WHERE SUBPARTITION_COUNT 0 AND tablespace_name = RMGZ   – 移动子分区

SELECT  ALTER TABLE
  || table_name
  || MODIFY DEFAULT ATTRIBUTES FOR  PARTITION
  || partition_name
  ||   TABLESPACE reportdata;
  FROM USER_TAB_PARTITIONS
 WHERE SUBPARTITION_COUNT 0 AND tablespace_name = RMGZ – 修改母分区属性
 
 SELECT ALTER INDEX || INDEX_NAME || REBUILD TABLESPACE REPORTDATA;
  FROM USER_INDEXES
 WHERE tablespace_name= RMGZ
 
 
SELECT  ALTER INDEX
  || index_name
  || REBUILD PARTITION
  || PARTITION_NAME
  || TABLESPACE REPORTDATA;
  FROM USER_IND_PARTITIONS
  where SUBPARTITION_COUNT = 0
  and tablespace_name= RMGZ — 无子分区的 index
 
SELECT  ALTER INDEX
  || index_name
  || REBUILD SUBPARTITION
  || SUBPARTITION_NAME
  || TABLESPACE REPORTDATA;
  FROM USER_IND_SUBPARTITIONS
  where tablespace_name= RMGZ – 子分区 index

到此,关于“怎么理解数据库移动分区表和分区索引的表空间”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-20发表,共计1994字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)