hxl 发表于 2011-12-22 08:54

分区表相关

<DIV><STRONG>1.hash分区表</STRONG></DIV>
<DIV><STRONG>哈希分区表上的全局索引和本地索引,在新增分区后都会失效,需要重建索引.</STRONG></DIV>
<DIV>-- 1.1创建哈希分区表</DIV>
<DIV>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">Create</SPAN> <SPAN style="COLOR: #0000ff">Table</SPAN> tb_hxl_hash<BR></LI>
<LI>&nbsp;<SPAN style="COLOR: #0000cc">(</SPAN><BR></LI>
<LI>&nbsp;Id <SPAN style="COLOR: #0000ff">Number</SPAN> <SPAN style="COLOR: #0000ff">Not</SPAN> <SPAN style="COLOR: #0000ff">Null</SPAN><SPAN style="COLOR: #0000cc">,</SPAN><BR></LI>
<LI>&nbsp;cnt <SPAN style="COLOR: #0000ff">Number</SPAN><BR></LI>
<LI>&nbsp;<SPAN style="COLOR: #0000cc">)</SPAN><BR></LI>
<LI>Partition <SPAN style="COLOR: #0000ff">By</SPAN> Hash<SPAN style="COLOR: #0000cc">(</SPAN>Id<SPAN style="COLOR: #0000cc">)</SPAN><BR></LI>
<LI><SPAN style="COLOR: #0000cc">(</SPAN><BR></LI>
<LI>Partition p_hs1<SPAN style="COLOR: #0000cc">,</SPAN><BR></LI>
<LI>Partition p_hs2<SPAN style="COLOR: #0000cc">,</SPAN><BR></LI>
<LI>Partition p_hs3<SPAN style="COLOR: #0000cc">,</SPAN><BR></LI>
<LI>Partition p_hs4<BR></LI>
<LI><SPAN style="COLOR: #0000cc">)</SPAN><SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI><SPAN style="COLOR: #0000cc"></SPAN></SPAN></LI></OL></DIV></DIV>
<DIV>-- 1.2 创建全局索引</DIV>
<DIV>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">Create</SPAN> <SPAN style="COLOR: #0000ff">Index</SPAN> idx_tb_hxl_hash_n1 <SPAN style="COLOR: #0000ff">On</SPAN> tb_hxl_hash<SPAN style="COLOR: #0000cc">(</SPAN>Id<SPAN style="COLOR: #0000cc">)</SPAN> Global<SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI><SPAN style="COLOR: #0000cc"></SPAN></SPAN></LI></OL></DIV></DIV>
<DIV>-- 1.3 生成数据</DIV>
<DIV>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000">Declare<BR></LI>
<LI><SPAN style="COLOR: #0000ff">&nbsp;Begin</SPAN><BR></LI>
<LI>&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #0000ff">For</SPAN> i <SPAN style="COLOR: #0000ff">In</SPAN> 1 <SPAN style="COLOR: #0000cc">.</SPAN><SPAN style="COLOR: #0000cc">.</SPAN> 100000 Loop<BR></LI>
<LI>&nbsp;&nbsp; &nbsp;<SPAN style="COLOR: #0000ff">Insert</SPAN> <SPAN style="COLOR: #0000ff">Into</SPAN> Tb_Hxl_Hash <SPAN style="COLOR: #0000ff">Values</SPAN> <SPAN style="COLOR: #0000cc">(</SPAN>i<SPAN style="COLOR: #0000cc">,</SPAN> i<SPAN style="COLOR: #0000cc">)</SPAN><SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI>&nbsp;&nbsp; &nbsp;<SPAN style="COLOR: #0000ff">End</SPAN> Loop<SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI>&nbsp;&nbsp;Commit<SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI>&nbsp;&nbsp;<SPAN style="COLOR: #0000ff">End</SPAN><SPAN style="COLOR: #0000cc">;</SPAN>&nbsp;</LI>
<LI><SPAN style="COLOR: #0000cc"></SPAN></SPAN></LI></OL></DIV></DIV>
<DIV>-- 1.4 这个时候查询索引状态为有效</DIV>
<DIV>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">Select</SPAN> status<BR></LI>
<LI>&nbsp;<SPAN style="COLOR: #0000ff">From</SPAN> user_indexes<BR></LI>
<LI><SPAN style="COLOR: #0000ff">Where</SPAN> INDEX_NAME <SPAN style="COLOR: #0000cc">=</SPAN> <SPAN style="COLOR: #ff00ff">'IDX_TB_HXL_HASH_N1'</SPAN><SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI></LI>
<LI>STATUS<BR></LI>
<LI><SPAN style="COLOR: #ff9900">--------<BR></LI>
<LI></SPAN><BR></LI>
<LI>VALID</SPAN></LI></OL></DIV></DIV>
<DIV>-- 1.5 新增分区 </DIV>
<DIV>hash分区表新增分区后全局索引会失效</DIV>
<DIV>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">Alter</SPAN> <SPAN style="COLOR: #0000ff">Table</SPAN> tb_hxl_hash <SPAN style="COLOR: #0000ff">Add</SPAN> Partition p_hs5<SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI><SPAN style="COLOR: #0000ff"></SPAN></SPAN></LI></OL></DIV></DIV>
<DIV>&nbsp;</DIV>
<DIV>-- 1.6 这个时候查询索引已经失效</DIV>
<DIV>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">Select</SPAN> status<BR></LI>
<LI>&nbsp;<SPAN style="COLOR: #0000ff">From</SPAN> user_indexes<BR></LI>
<LI>&nbsp;<SPAN style="COLOR: #0000ff">Where</SPAN> INDEX_NAME <SPAN style="COLOR: #0000cc">=</SPAN> <SPAN style="COLOR: #ff00ff">'IDX_TB_HXL_HASH_N1'</SPAN><SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI></LI>
<LI>STATUS<BR></LI>
<LI><SPAN style="COLOR: #ff9900">--------<BR></LI>
<LI></SPAN><BR></LI>
<LI>UNUSABLE<BR></LI>
<LI><SPAN style="COLOR: #0000cc"></SPAN></SPAN></LI></OL></DIV></DIV>
<P>-- 1.7 创建本地索引</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">drop</SPAN> <SPAN style="COLOR: #0000ff">index</SPAN> idx_tb_hxl_hash_n1<SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI><SPAN style="COLOR: #0000ff">Create</SPAN> <SPAN style="COLOR: #0000ff">Index</SPAN> idx_tb_hxl_hash_n1 <SPAN style="COLOR: #0000ff">On</SPAN> tb_hxl_hash<SPAN style="COLOR: #0000cc">(</SPAN>Id<SPAN style="COLOR: #0000cc">)</SPAN> Local<SPAN style="COLOR: #0000cc">;</SPAN></SPAN></LI></OL></DIV>
<P>-- 1.8 索引状态这个时候是有效的</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">Select</SPAN> aa<SPAN style="COLOR: #0000cc">.</SPAN>partition_name<SPAN style="COLOR: #0000cc">,</SPAN>status<BR></LI>
<LI>&nbsp;&nbsp;<SPAN style="COLOR: #0000ff">From</SPAN> user_ind_partitions aa<BR></LI>
<LI>&nbsp;<SPAN style="COLOR: #0000ff">Where</SPAN> index_name <SPAN style="COLOR: #0000cc">=</SPAN> <SPAN style="COLOR: #ff00ff">'IDX_TB_HXL_HASH_N1'</SPAN><SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI><BR></LI>
<LI>PARTITION_NAME STATUS<BR></LI>
<LI><SPAN style="COLOR: #ff9900">------------------------------ --------<BR></LI>
<LI></SPAN><BR></LI>
<LI>P_HS1 USABLE<BR></LI>
<LI>P_HS2 USABLE<BR></LI>
<LI>P_HS3 USABLE<BR></LI>
<LI>P_HS4 USABLE<BR></LI>
<LI>P_HS5 USABLE</SPAN></LI></OL></DIV>
<P>-- 1.9 新增分区</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">Alter</SPAN> <SPAN style="COLOR: #0000ff">Table</SPAN> tb_hxl_hash <SPAN style="COLOR: #0000ff">Add</SPAN> Partition p_hs6<SPAN style="COLOR: #0000cc">;</SPAN></SPAN></LI></OL></DIV>
<P>-- 1.10 新增分区后部分索引已经失效</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">Select</SPAN> aa<SPAN style="COLOR: #0000cc">.</SPAN>partition_name<SPAN style="COLOR: #0000cc">,</SPAN>status<BR></LI>
<LI>&nbsp;&nbsp;<SPAN style="COLOR: #0000ff">From</SPAN> user_ind_partitions aa<BR></LI>
<LI>&nbsp;<SPAN style="COLOR: #0000ff">Where</SPAN> index_name <SPAN style="COLOR: #0000cc">=</SPAN> <SPAN style="COLOR: #ff00ff">'IDX_TB_HXL_HASH_N1'</SPAN><SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI><BR></LI>
<LI>PARTITION_NAME STATUS<BR></LI>
<LI><SPAN style="COLOR: #ff9900">------------------------------ --------<BR></LI>
<LI></SPAN><BR></LI>
<LI>P_HS1 UNUSABLE<BR></LI>
<LI>P_HS2 USABLE<BR></LI>
<LI>P_HS3 USABLE<BR></LI>
<LI>P_HS4 USABLE<BR></LI>
<LI>P_HS5 USABLE<BR></LI>
<LI>P_HS6 UNUSABLE</SPAN></LI></OL></DIV>
<P>-- 1.11 删除hash分区</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000">SQL<SPAN style="COLOR: #0000cc">&gt;</SPAN> <SPAN style="COLOR: #0000ff">Alter</SPAN> <SPAN style="COLOR: #0000ff">Table</SPAN> hxl<SPAN style="COLOR: #0000cc">.</SPAN>tb_hxl_hash <SPAN style="COLOR: #0000ff">Drop</SPAN> Partition P_HS5<SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI><SPAN style="COLOR: #0000ff">Alter</SPAN> <SPAN style="COLOR: #0000ff">Table</SPAN> hxl<SPAN style="COLOR: #0000cc">.</SPAN>tb_hxl_hash <SPAN style="COLOR: #0000ff">Drop</SPAN> Partition P_HS5<BR></LI>
<LI>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: #0000cc">*</SPAN><BR></LI>
<LI>第 1 行出现错误<SPAN style="COLOR: #0000cc">:</SPAN><BR></LI>
<LI>ORA<SPAN style="COLOR: #0000cc">-</SPAN>14255<SPAN style="COLOR: #0000cc">:</SPAN> 未按范围<SPAN style="COLOR: #0000cc">,</SPAN> 列表<SPAN style="COLOR: #0000cc">,</SPAN> 组合范围或组合列表方法对表进行分区</SPAN></LI></OL></DIV>
<P>说明hash分区表是不能删除分区的.</P>
<P>-- 1.11 合并分区</P>
<P>hash分区的表不能单独删除某个分区,但可以合并分区</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">ALTER</SPAN> <SPAN style="COLOR: #0000ff">TABLE</SPAN> hxl<SPAN style="COLOR: #0000cc">.</SPAN>tb_hxl_hash<BR></LI>
<LI>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;COALESCE Partition<SPAN style="COLOR: #0000cc">;</SPAN></SPAN></LI></OL></DIV>
<P>该命令执行后,最后一个分区的数据合并到其他分区,同时删除该分区.合并分区后不管是本地索引还是全局索引都会失效(UNUSABLE).</P>
<P>-- 1.12 交换分区</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">Alter</SPAN> <SPAN style="COLOR: #0000ff">Table</SPAN> tb_hxl_hash Exchange Partition P_HS2<BR></LI>
<LI><SPAN style="COLOR: #0000ff">With</SPAN> <SPAN style="COLOR: #0000ff">Table</SPAN> tb_hxl_ex<SPAN style="COLOR: #0000cc">;</SPAN></SPAN></LI></OL></DIV>
<P>交换分区后分区表的分区索引和交换表的索引会失效. 在该例子中p_hs2对应的分区索引和交换表tb_hxl_ex的索引会失效.</P>
<P><STRONG>2.List分区表</STRONG></P>
<P>2.1创建表并生成数据</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">Create</SPAN> <SPAN style="COLOR: #0000ff">Table</SPAN> hxl<SPAN style="COLOR: #0000cc">.</SPAN>tb_hxl_list<BR></LI>
<LI><SPAN style="COLOR: #0000cc">(</SPAN><BR></LI>
<LI>&nbsp;&nbsp;Id <SPAN style="COLOR: #0000ff">Number</SPAN><SPAN style="COLOR: #0000cc">,</SPAN><BR></LI>
<LI>&nbsp;&nbsp;provcode <SPAN style="COLOR: #0000ff">Number</SPAN><BR></LI>
<LI><SPAN style="COLOR: #0000cc">)</SPAN><BR></LI>
<LI>Partition <SPAN style="COLOR: #0000ff">By</SPAN> <SPAN style="COLOR: #ff0000">List</SPAN><SPAN style="COLOR: #0000cc">(</SPAN>provcode<SPAN style="COLOR: #0000cc">)</SPAN><BR></LI>
<LI><SPAN style="COLOR: #0000cc">(</SPAN><BR></LI>
<LI>&nbsp;&nbsp;Partition p_l1 <SPAN style="COLOR: #0000ff">Values</SPAN><SPAN style="COLOR: #0000cc">(</SPAN>0<SPAN style="COLOR: #0000cc">)</SPAN><SPAN style="COLOR: #0000cc">,</SPAN><BR></LI>
<LI>&nbsp;&nbsp;Partition p_l2 <SPAN style="COLOR: #0000ff">Values</SPAN><SPAN style="COLOR: #0000cc">(</SPAN>1<SPAN style="COLOR: #0000cc">)</SPAN><SPAN style="COLOR: #0000cc">,</SPAN><BR></LI>
<LI>&nbsp;&nbsp;Partition p_l3 <SPAN style="COLOR: #0000ff">Values</SPAN><SPAN style="COLOR: #0000cc">(</SPAN>2<SPAN style="COLOR: #0000cc">)</SPAN><SPAN style="COLOR: #0000cc">,</SPAN><BR></LI>
<LI>&nbsp;&nbsp;Partition p_l4 <SPAN style="COLOR: #0000ff">Values</SPAN><SPAN style="COLOR: #0000cc">(</SPAN>3<SPAN style="COLOR: #0000cc">)</SPAN><BR></LI>
<LI><SPAN style="COLOR: #0000cc">)</SPAN><SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI><BR></LI>
<LI><BR></LI>
<LI>Declare<BR></LI>
<LI><SPAN style="COLOR: #0000ff">Begin</SPAN><BR></LI>
<LI>&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: #0000ff">For</SPAN> i <SPAN style="COLOR: #0000ff">In</SPAN> 1 <SPAN style="COLOR: #0000cc">.</SPAN><SPAN style="COLOR: #0000cc">.</SPAN> 100000 Loop<BR></LI>
<LI>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: #0000ff">Insert</SPAN> <SPAN style="COLOR: #0000ff">Into</SPAN> hxl<SPAN style="COLOR: #0000cc">.</SPAN>tb_hxl_list <SPAN style="COLOR: #0000ff">Values</SPAN><SPAN style="COLOR: #0000cc">(</SPAN>i<SPAN style="COLOR: #0000cc">,</SPAN><SPAN style="COLOR: #ff0000">round</SPAN><SPAN style="COLOR: #0000cc">(</SPAN>dbms_random<SPAN style="COLOR: #0000cc">.</SPAN><SPAN style="COLOR: #0000ff">value</SPAN><SPAN style="COLOR: #0000cc">(</SPAN>0<SPAN style="COLOR: #0000cc">,</SPAN>3<SPAN style="COLOR: #0000cc">)</SPAN><SPAN style="COLOR: #0000cc">)</SPAN><SPAN style="COLOR: #0000cc">)</SPAN><SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: #0000ff">End</SPAN> Loop<SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Commit<SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI>&nbsp;&nbsp;<SPAN style="COLOR: #0000ff">End</SPAN><SPAN style="COLOR: #0000cc">;</SPAN></SPAN></LI></OL></DIV>
<P>2.2 在非分区键上创建全局索引</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">Create</SPAN> <SPAN style="COLOR: #0000ff">Index</SPAN> hxl<SPAN style="COLOR: #0000cc">.</SPAN>IDX_TB_HXL_LIST_N1<BR></LI>
<LI><SPAN style="COLOR: #0000ff">On</SPAN> hxl<SPAN style="COLOR: #0000cc">.</SPAN>tb_hxl_list<SPAN style="COLOR: #0000cc">(</SPAN>Id<SPAN style="COLOR: #0000cc">)</SPAN> Global<SPAN style="COLOR: #0000cc">;</SPAN></SPAN></LI></OL></DIV>
<P>2.3 增加分区</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">Alter</SPAN> <SPAN style="COLOR: #0000ff">Table</SPAN> hxl<SPAN style="COLOR: #0000cc">.</SPAN>tb_hxl_list <BR></LI>
<LI>&nbsp;&nbsp;<SPAN style="COLOR: #0000ff">Add</SPAN> Partition p_l5 <SPAN style="COLOR: #0000ff">Values</SPAN><SPAN style="COLOR: #0000cc">(</SPAN>4<SPAN style="COLOR: #0000cc">)</SPAN><SPAN style="COLOR: #0000cc">;</SPAN></SPAN></LI></OL></DIV>
<P>新增list分区索引不会失效</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000">SQL<SPAN style="COLOR: #0000cc">&gt;</SPAN> <SPAN style="COLOR: #0000ff">Select</SPAN> status<SPAN style="COLOR: #0000cc">,</SPAN>INDEX_NAME<BR></LI>
<LI>&nbsp;&nbsp;2 <SPAN style="COLOR: #0000ff">From</SPAN> dba_indexes a<BR></LI>
<LI>&nbsp;&nbsp;3 <SPAN style="COLOR: #0000ff">Where</SPAN> INDEX_NAME <SPAN style="COLOR: #0000cc">=</SPAN> <SPAN style="COLOR: #ff00ff">'IDX_TB_HXL_LIST_N1'</SPAN><SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI><BR></LI>
<LI>STATUS INDEX_NAME<BR></LI>
<LI><SPAN style="COLOR: #ff9900">-------- ------------------------------<BR></LI>
<LI></SPAN><BR></LI>
<LI>VALID IDX_TB_HXL_LIST_N1</SPAN></LI></OL></DIV>
<P>2.4 删除list分区</P>
<P>先向新分区写入数据</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">Insert</SPAN> <SPAN style="COLOR: #0000ff">Into</SPAN> hxl<SPAN style="COLOR: #0000cc">.</SPAN>tb_hxl_list <SPAN style="COLOR: #0000ff">Values</SPAN><SPAN style="COLOR: #0000cc">(</SPAN>100<SPAN style="COLOR: #0000cc">,</SPAN>4<SPAN style="COLOR: #0000cc">)</SPAN><SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI>Commit<SPAN style="COLOR: #0000cc">;</SPAN></SPAN></LI></OL></DIV>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000">SQL<SPAN style="COLOR: #0000cc">&gt;</SPAN> <SPAN style="COLOR: #0000ff">Select</SPAN> <SPAN style="COLOR: #ff0000">Count</SPAN><SPAN style="COLOR: #0000cc">(</SPAN>1<SPAN style="COLOR: #0000cc">)</SPAN><BR></LI>
<LI>&nbsp;&nbsp;2 <SPAN style="COLOR: #0000ff">From</SPAN> hxl<SPAN style="COLOR: #0000cc">.</SPAN>tb_hxl_list Partition <SPAN style="COLOR: #0000cc">(</SPAN>p_l5<SPAN style="COLOR: #0000cc">)</SPAN><SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI><BR></LI>
<LI>&nbsp;&nbsp;<SPAN style="COLOR: #ff0000">COUNT</SPAN><SPAN style="COLOR: #0000cc">(</SPAN>1<SPAN style="COLOR: #0000cc">)</SPAN><BR></LI>
<LI><SPAN style="COLOR: #ff9900">----------<BR></LI>
<LI></SPAN><BR></LI>
<LI>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1</SPAN></LI></OL></DIV>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">Alter</SPAN> <SPAN style="COLOR: #0000ff">Table</SPAN> hxl<SPAN style="COLOR: #0000cc">.</SPAN>tb_hxl_list <BR></LI>
<LI>&nbsp;&nbsp;<SPAN style="COLOR: #0000ff">Drop</SPAN> Partition p_l5 <SPAN style="COLOR: #0000cc">;</SPAN></SPAN></LI></OL></DIV>
<P>删除list分区,索引失效</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000">SQL<SPAN style="COLOR: #0000cc">&gt;</SPAN> <SPAN style="COLOR: #0000ff">Select</SPAN> status<SPAN style="COLOR: #0000cc">,</SPAN>index_name<BR></LI>
<LI>&nbsp;&nbsp;2 <SPAN style="COLOR: #0000ff">From</SPAN> dba_indexes a<BR></LI>
<LI>&nbsp;&nbsp;3 <SPAN style="COLOR: #0000ff">Where</SPAN> a<SPAN style="COLOR: #0000cc">.</SPAN>index_name <SPAN style="COLOR: #0000cc">=</SPAN> <SPAN style="COLOR: #ff00ff">'IDX_TB_HXL_LIST_N1'</SPAN><SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI><BR></LI>
<LI>STATUS INDEX_NAME<BR></LI>
<LI><SPAN style="COLOR: #ff9900">-------- ------------------------------<BR></LI>
<LI></SPAN><BR></LI>
<LI>UNUSABLE IDX_TB_HXL_LIST_N1</SPAN></LI></OL></DIV>
<P>2.5 创建本地索引</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">Drop</SPAN> <SPAN style="COLOR: #0000ff">Index</SPAN> hxl<SPAN style="COLOR: #0000cc">.</SPAN>IDX_TB_HXL_LIST_N1<SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI><SPAN style="COLOR: #0000ff">Create</SPAN> <SPAN style="COLOR: #0000ff">Index</SPAN> hxl<SPAN style="COLOR: #0000cc">.</SPAN>IDX_TB_HXL_LIST_N1<BR></LI>
<LI><SPAN style="COLOR: #0000ff">On</SPAN> hxl<SPAN style="COLOR: #0000cc">.</SPAN>tb_hxl_list<SPAN style="COLOR: #0000cc">(</SPAN>Id<SPAN style="COLOR: #0000cc">)</SPAN> Local<SPAN style="COLOR: #0000cc">;</SPAN></SPAN></LI></OL></DIV>
<P>2.6 新增分区</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">Alter</SPAN> <SPAN style="COLOR: #0000ff">Table</SPAN> hxl<SPAN style="COLOR: #0000cc">.</SPAN>tb_hxl_list <BR></LI>
<LI>&nbsp;&nbsp;<SPAN style="COLOR: #0000ff">Add</SPAN> Partition p_l5 <SPAN style="COLOR: #0000ff">Values</SPAN><SPAN style="COLOR: #0000cc">(</SPAN>4<SPAN style="COLOR: #0000cc">)</SPAN><SPAN style="COLOR: #0000cc">;</SPAN></SPAN></LI></OL></DIV>
<P>索引状态(有效)</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000">SQL<SPAN style="COLOR: #0000cc">&gt;</SPAN> <SPAN style="COLOR: #0000ff">Select</SPAN> index_name<SPAN style="COLOR: #0000cc">,</SPAN>aa<SPAN style="COLOR: #0000cc">.</SPAN>partition_name<SPAN style="COLOR: #0000cc">,</SPAN>status<BR></LI>
<LI>&nbsp;&nbsp;2 <SPAN style="COLOR: #0000ff">From</SPAN> dba_ind_partitions aa<BR></LI>
<LI>&nbsp;&nbsp;3 <SPAN style="COLOR: #0000ff">Where</SPAN> index_name <SPAN style="COLOR: #0000ff">In</SPAN><SPAN style="COLOR: #0000cc">(</SPAN> <SPAN style="COLOR: #ff00ff">'IDX_TB_HXL_LIST_N1'</SPAN><SPAN style="COLOR: #0000cc">)</SPAN><SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI><BR></LI>
<LI>INDEX_NAME PARTITION_NAME STATUS<BR></LI>
<LI><SPAN style="COLOR: #ff9900">------------------------------ ------------------------------ --------<BR></LI>
<LI></SPAN><BR></LI>
<LI>IDX_TB_HXL_LIST_N1 P_L1 USABLE<BR></LI>
<LI>IDX_TB_HXL_LIST_N1 P_L2 USABLE<BR></LI>
<LI>IDX_TB_HXL_LIST_N1 P_L3 USABLE<BR></LI>
<LI>IDX_TB_HXL_LIST_N1 P_L4 USABLE<BR></LI>
<LI>IDX_TB_HXL_LIST_N1 P_L5 USABLE</SPAN></LI></OL></DIV>
<P>2.7 删除分区</P>
<P>先向新增的分区中写入数据</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">Insert</SPAN> <SPAN style="COLOR: #0000ff">Into</SPAN> hxl<SPAN style="COLOR: #0000cc">.</SPAN>tb_hxl_list <SPAN style="COLOR: #0000ff">Values</SPAN><SPAN style="COLOR: #0000cc">(</SPAN>100<SPAN style="COLOR: #0000cc">,</SPAN>4<SPAN style="COLOR: #0000cc">)</SPAN><SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI>Commit<SPAN style="COLOR: #0000cc">;</SPAN></SPAN></LI></OL></DIV>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000">SQL<SPAN style="COLOR: #0000cc">&gt;</SPAN> <SPAN style="COLOR: #0000ff">Select</SPAN> <SPAN style="COLOR: #ff0000">Count</SPAN><SPAN style="COLOR: #0000cc">(</SPAN>1<SPAN style="COLOR: #0000cc">)</SPAN><BR></LI>
<LI>&nbsp;&nbsp;2 <SPAN style="COLOR: #0000ff">From</SPAN> hxl<SPAN style="COLOR: #0000cc">.</SPAN>tb_hxl_list Partition <SPAN style="COLOR: #0000cc">(</SPAN>p_l5<SPAN style="COLOR: #0000cc">)</SPAN><SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI><BR></LI>
<LI>&nbsp;&nbsp;<SPAN style="COLOR: #ff0000">COUNT</SPAN><SPAN style="COLOR: #0000cc">(</SPAN>1<SPAN style="COLOR: #0000cc">)</SPAN><BR></LI>
<LI><SPAN style="COLOR: #ff9900">----------<BR></LI>
<LI></SPAN><BR></LI>
<LI>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1</SPAN></LI></OL></DIV>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000"><SPAN style="COLOR: #0000ff">Alter</SPAN> <SPAN style="COLOR: #0000ff">Table</SPAN> hxl<SPAN style="COLOR: #0000cc">.</SPAN>tb_hxl_list <BR></LI>
<LI>&nbsp;&nbsp;<SPAN style="COLOR: #0000ff">Drop</SPAN> Partition p_l5 <SPAN style="COLOR: #0000cc">;</SPAN></SPAN></LI></OL></DIV>
<P>索引状态(有效):</P>
<DIV id=codeText class=codeText>
<OL style="PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 5px" class=dp-css>
<LI><SPAN style="COLOR: #000000">SQL<SPAN style="COLOR: #0000cc">&gt;</SPAN> <SPAN style="COLOR: #0000ff">Select</SPAN> index_name<SPAN style="COLOR: #0000cc">,</SPAN>aa<SPAN style="COLOR: #0000cc">.</SPAN>partition_name<SPAN style="COLOR: #0000cc">,</SPAN>status<BR></LI>
<LI>&nbsp;&nbsp;2 <SPAN style="COLOR: #0000ff">From</SPAN> dba_ind_partitions aa<BR></LI>
<LI>&nbsp;&nbsp;3 <SPAN style="COLOR: #0000ff">Where</SPAN> index_name <SPAN style="COLOR: #0000ff">In</SPAN><SPAN style="COLOR: #0000cc">(</SPAN> <SPAN style="COLOR: #ff00ff">'IDX_TB_HXL_LIST_N1'</SPAN><SPAN style="COLOR: #0000cc">)</SPAN><SPAN style="COLOR: #0000cc">;</SPAN><BR></LI>
<LI><BR></LI>
<LI>INDEX_NAME PARTITION_NAME STATUS<BR></LI>
<LI><SPAN style="COLOR: #ff9900">------------------------------ ------------------------------ --------<BR></LI>
<LI></SPAN><BR></LI>
<LI>IDX_TB_HXL_LIST_N1 P_L1 USABLE<BR></LI>
<LI>IDX_TB_HXL_LIST_N1 P_L2 USABLE<BR></LI>
<LI>IDX_TB_HXL_LIST_N1 P_L3 USABLE<BR></LI>
<LI>IDX_TB_HXL_LIST_N1 P_L4 USABLE</SPAN></LI></OL></DIV>
<P>测试说明list分区表,删除某个分区后,全局索引会失效,而本地索引则不会失效。</P>
<P>&nbsp;</P>
页: [1]
查看完整版本: 分区表相关