日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

给Oracle 11g Interval分区进行重命名

發(fā)布時(shí)間:2024/8/26 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 给Oracle 11g Interval分区进行重命名 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Oracle ?11g 眾多新特性中,我最喜歡的就是分區(qū)表增強(qiáng),眾所周知很多大問題“化整為零”之后就不是個(gè)問題,分區(qū)表就是一種非常好用的“化整為零”的手段。

還是說回正題吧,使用Interval分區(qū)不難,為分區(qū)/子分區(qū)的重命名也不難,我的分區(qū)表大致定義如下:

1 CREATE?TABLE?Partition_Table
2 (
3 ??....
4 ??....
5 ??....
6 )
7 PARTITION?BY?RANGE( MSGDATE ) INTERVAL( NUMTOYMINTERVAL(1,'MONTH') )
8 SUBPARTITION?BY?LIST( DAY_V )

????? 分區(qū)和子分區(qū)的重命名語(yǔ)法如下:

1 alter?table?<table_name> rename partition <partition_name>?to?<new_partition_name>;
2 alter?table?<table_name> rename subpartition <subpartition_name>?to?<new_subpartition_name>;

????? 每當(dāng)新數(shù)據(jù)觸發(fā)新建分區(qū)后,分區(qū)名字是系統(tǒng)給的,雖然不影響分區(qū)表的使用,但是看著很讓人迷茫:

1 select?
2 ??table_name ,
3 ??partition_name,
4 ??subpartition_name ,
5 ??tablespace_name
6 from?user_tab_subpartitions?
7 where?subpartition_name?like?'SYS%'?;
01 TABLE_NAME???????????????????? PARTITION_NAME? SUBPARTITION_NAME? TABLESPACE_NAME
02 ------------------------------ --------------- ------------------ ------------------------------
03 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP100??????? FIREWALL16
04 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP101??????? FIREWALL17
05 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP102??????? FIREWALL18
06 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP103??????? FIREWALL19
07 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP104??????? FIREWALL20
08 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP105??????? FIREWALL21
09 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP106??????? FIREWALL22
10 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP107??????? FIREWALL23
11 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP108??????? FIREWALL24
12 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP109??????? FIREWALL25
13 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP110??????? FIREWALL26
14 ??
15 TABLE_NAME???????????????????? PARTITION_NAME? SUBPARTITION_NAME? TABLESPACE_NAME
16 ------------------------------ --------------- ------------------ ------------------------------
17 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP111??????? FIREWALL27
18 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP112??????? FIREWALL28
19 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP113??????? FIREWALL29
20 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP114??????? FIREWALL30
21 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP115??????? FIREWALL31
22 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP85???????? FIREWALL01
23 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP86???????? FIREWALL02
24 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP87???????? FIREWALL03
25 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP88???????? FIREWALL04
26 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP89???????? FIREWALL05
27 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP90???????? FIREWALL06
28 ??
29 TABLE_NAME???????????????????? PARTITION_NAME? SUBPARTITION_NAME? TABLESPACE_NAME
30 ------------------------------ --------------- ------------------ ------------------------------
31 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP91???????? FIREWALL07
32 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP92???????? FIREWALL08
33 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP93???????? FIREWALL09
34 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP94???????? FIREWALL10
35 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP95???????? FIREWALL11
36 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP96???????? FIREWALL12
37 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP97???????? FIREWALL13
38 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP98???????? FIREWALL14
39 P_MYSYSLOG_IL_2010???????????? SYS_P116??????? SYS_SUBP99???????? FIREWALL15

????? 將分區(qū)/子分區(qū)的名字改成得有意義才是王道。以下是用一個(gè)過程配合游標(biāo)來改分區(qū)名,重點(diǎn)是是從high_value字段獲得該分區(qū)的范圍描述,其他沒什么了:

01 declare?
02 ?v_sql?varchar(400);
03 ?v_table_name user_tab_partitions.table_name%type;
04 ?v_partition_name user_tab_partitions.partition_name%type;
05 ?v_high_value?varchar(200);
06 ?v_tmp_partition_name user_tab_partitions.partition_name%type;
07 ?cursor?cur?is?
08 ???select?
09 ??????table_name ,
10 ??????partition_name ,
11 ??????high_value?
12 ????from?user_tab_partitions?
13 ????where?partition_name?like?'SYS%'?;
14 begin
15 ??open?cur;
16 ??loop
17 ????fetch?cur?into?v_table_name,v_partition_name,v_high_value;
18 ????exit?when?cur%notfound;
19 ????v_tmp_partition_name := substr(v_high_value,11,10);
20 ????v_tmp_partition_name := to_char( to_date(v_tmp_partition_name,'yyyy-mm-dd')-1 ,?'yyyymm');
21 ????v_sql :=?'alter table '||v_table_name||' rename partition '
22 ??????||v_partition_name
23 ??????||' to P'||v_tmp_partition_name;
24 ????dbms_output.put_line( v_sql );
25 ????execute?immediate v_sql;
26 ??end?loop;
27 ??close?cur;
28 end;
29 /

????? 由于改分區(qū)名屬于DDL語(yǔ)句,對(duì)于忙碌的系統(tǒng)來說很容易遇到ORA-00054這個(gè)錯(cuò)誤:

1 ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

????? Oracle 11g 同時(shí)也引入了一個(gè)新特性——DDL Wait ,以前遇到這種情況要不就是找出那個(gè)該死的Transaction kill掉,要不就雇個(gè)人拼命堅(jiān)持不懈地敲鍵盤跑這條DDL,直到成功執(zhí)行,現(xiàn)在好了,這個(gè)人可以下崗了。只要設(shè)定ddl_lock_timeout這個(gè)參數(shù)就可以了,這個(gè)參數(shù)可以在實(shí)例級(jí)別和會(huì)話級(jí)別上設(shè)置,如果該值為0,遇到未提交事務(wù)時(shí)就會(huì)馬上報(bào)ORA-00054,如果設(shè)定為10,DDL語(yǔ)句會(huì)為這個(gè)事務(wù)最多等10秒,10秒內(nèi)事務(wù)提交,DDL語(yǔ)句就會(huì)執(zhí)行成功,否則10秒后再報(bào)ORA-00054。

總結(jié)

以上是生活随笔為你收集整理的给Oracle 11g Interval分区进行重命名的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费av成人 | 色呦呦入口| 久久久精品亚洲 | 日韩一级片免费看 | 亚洲视频 欧美视频 | 华人永久免费 | 亚洲特级片 | 传媒av在线 | 999福利视频| 国产成人精品午夜福利Av免费 | 波多野结衣影片 | 欧美人体一区二区三区 | 91精品视频观看 | 成人黄色免费观看 | 轮番上阵免费观看在线电影 | 激情伦成人综合小说 | 天堂av.com| 天天色天天操天天射 | 97人人射 | www.在线看| 日本成人在线免费观看 | 亚洲欧美精品一区二区 | 欧美卡一卡二 | 日韩三级视频在线播放 | 国产精品久久网站 | 久久国产视频播放 | 精品国精品国产自在久不卡 | 成人久久在线 | 国产一级免费av | 日本视频色 | 日本精品在线看 | 精品亚洲中文字幕 | 三男一女吃奶添下面 | 蜜桃臀aⅴ精品一区二区三区 | 久久影院精品 | 韩国裸体网站 | 色多多入口 | 一区二区三区在线观 | 欧美综合久久 | 人妻少妇一区二区三区 | 色九九| 亚洲成人高清在线 | 亚洲欧美成人综合 | 亚洲av少妇一区二区在线观看 | 自拍偷拍在线视频 | 亚洲精品一二三 | 91免费在线视频观看 | 五月天激情视频 | 四虎精品永久在线 | 久久精品久久久 | 打屁股无遮挡网站 | 91精产国品 | 亚洲综合色小说 | 777久久久精品一区二区三区 | 日本丰满少妇做爰爽爽 | 免费搞黄网站 | 爱涩av| 在线中文字幕网站 | 久久色资源网 | 亚洲色综合 | 五月激情婷婷综合 | 一二区精品 | 国产av无码专区亚洲av毛网站 | 国产成人午夜视频 | 中国大陆毛片 | 久久久久97 | 国产又色又爽无遮挡免费 | 日本三级视频在线播放 | 色在线影院 | 国内精品偷拍视频 | 无码精品人妻一区二区三区湄公河 | 美女被草出水 | 久久国产精品久久 | 欧美精品在线观看一区二区 | 欧美人与动性xxxxx杂性 | 三年中文在线观看免费观看 | 免费成人进口网站 | √资源天堂中文在线 | 成年人免费视频播放 | 最污网站在线观看 | 国产精品视频看看 | 亚洲免费观看av | 国产成人综合自拍 | 可以在线看黄的网站 | 欧美一区二区三区影院 | 欧美精品久久久久久久久老牛影院 | 激情自拍视频 | 国产精品嫩草影院桃色 | 国产精品第七页 | 污视频大全 | 欧美黑人一区二区 | 黄色小毛片 | sao虎视频在线精品永久 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 白丝动漫美女 | 杨贵妃颤抖双乳呻吟求欢小说 | 亚洲色图吧 | 国产日韩激情 | 在线亚洲不卡 |