日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

在ORACLE里用存儲(chǔ)過程定期分割表

瀏覽:162日期:2023-11-12 09:33:57
;;;Oracle數(shù)據(jù)庫里存放著各種各樣的數(shù)據(jù),其中有一些數(shù)據(jù)表會(huì)隨著時(shí)間的推移,越來越大。如交友聊天的日志、 短信收發(fā)的日志、生產(chǎn)系統(tǒng)的日志、動(dòng)態(tài)網(wǎng)站發(fā)布系統(tǒng)的日志等等。這樣的信息又和時(shí)間緊密相關(guān),有沒有辦法 ;讓這些日志表能到時(shí)間自動(dòng)分割成歷史年月(如log200308,log200309)的表呢? 請看看我用存儲(chǔ)過程定期分割表的 方法吧。 一、問題的引出 1.初學(xué)數(shù)據(jù)庫時(shí)只知道用delete來刪除表里的數(shù)據(jù)。但在Oracle數(shù)據(jù)庫里,大量delete記錄后,并不能釋放表 所占用的物理空間,這里面有一個(gè)高水位的概念,所以我們不能用delete來分割表。 ; 2.用重命名(rename)表的方法 (1).先建一個(gè)和原來日志表(假如是log)數(shù)據(jù)結(jié)構(gòu)一模一樣的新表(如log_new),建約束、索引及指定字段的默 認(rèn)值; (2).重命名表log到log_YYYYMM 要注重的問題是OLTP系統(tǒng)可能會(huì)因?yàn)镈ML操作阻礙重命名執(zhí)行成功,出現(xiàn)ORA-00054資源正忙的錯(cuò)誤提示, 需要試多次才能成功。 (3).重命名表log_new到log。 這樣應(yīng)用程序不用修改(受影響的時(shí)間僅幾秒鐘),日志表就被截?cái)喾指盍恕? 上述步驟可以在Oracle里可以用存儲(chǔ)過程來實(shí)現(xiàn)它們。 二、用存儲(chǔ)過程來分割表 可以看到在重命名表的方法中,步驟(2)是個(gè)要害。 下面這個(gè)rename_table過程會(huì)在有鎖阻礙的情況下用遞歸的方式重試100次。 重命名原始表到目標(biāo)表的存儲(chǔ)過程rename_table: ; create or replace procedure rename_table (source_nameinvarchar2, target_namein varchar2, timesin outnumber) is query_str varchar2(4000); source_name1 varchar2(64); target_name1 varchar2(64); cursor c1 is select segment_name from user_segments where segment_name=upper(source_name); dummy c1%rowtype; cursor c2 is select segment_name from user_segments where segment_name=upper(target_name); dummy2 c2%rowtype; begin source_name1:=source_name; target_name1:=target_name; open c1; fetch; c1; intodummy; --if c1%found then --dbms_output.put_line(source_name1'exist!'); --end if; open c2; fetch; c2; intodummy2; --if c2%notfound then --;;;;;dbms_output.put_line(target_name1'not exist!'); --end if; if c2%notfound; and c1%found thenquery_str :='alter table 'source_name1' rename to 'target_name1; execute immediate query_str; dbms_output.put_line('rename sUCcess!'); end if; close c1; close c2; exception WHEN OTHERS THEN; times:=times+1; if times<100 then --;;;;;dbms_output.put_line('times:'times); rename_table(source_name1,target_name1,times); else dbms_output.put_line(SQLERRM); dbms_output.put_line('error over 100 times,exit'); end if; end; / 截?cái)喾指頻og表的存儲(chǔ)過程log_history: create or replace procedure log_history is query_str varchar2(32767); year_month varchar2(8); timesnumber; begin select to_char(sysdate-15,'YYYYMM') into year_month from dual; times:=0; query_str :='create table log_new pctfree 10 pctused 80 as select * from log where 1=2'; execute immediate query_str; query_str :='alter table log_new add constraints log_'year_month'_pk primary key (id) tablespace indx nologging pctfree 10'; execute immediate query_str; query_str :='alter table log_his modify logtime default sysdate'; execute immediate query_str; query_str :='create index log_'year_month'_logtime on log(logtime) ;;;;;tablespace indx nologging pctfree 10'; execute immediate query_str rename_table('log','log'year_month,times); query_str :='alter table log_new rename to log'; execute immediate query_str; end; /當(dāng)然您工作環(huán)境的日志表可能和我這個(gè)做例子的日志表結(jié)構(gòu)上有所不同,約束條件、索引和默認(rèn)值都不盡相同。 只要稍加修改就可以了。 三、用戶需要有create any table系統(tǒng)權(quán)限(不是角色里包含的權(quán)限) 因?yàn)樵趫?zhí)行存儲(chǔ)過程時(shí),由角色賦予的權(quán)限會(huì)失效, 所以執(zhí)行l(wèi)og_history的用戶一定要有DBA單獨(dú)賦予的 create any table系統(tǒng)權(quán)限。 最后在OS里定時(shí)每月一號凌晨0:00分執(zhí)行l(wèi)og_history,讓存儲(chǔ)過程定期分割表。 假如要分割的日志表很多,模擬log_history可以寫很多類似的存儲(chǔ)過程來分割不同項(xiàng)目里的日志表。 然后讓OS按月,按周或者不定期地執(zhí)行這些存儲(chǔ)過程, 治理員只要查看日志就可以了。 四、其它注重事項(xiàng);; 假如應(yīng)用程序有BUG,可能對在用原始日志表產(chǎn)生長期不能釋放的鎖,執(zhí)行l(wèi)og_history重命名會(huì)不成功。 這時(shí)DBA可以查看數(shù)據(jù)字典: select object_id,session_id,locked_mode from v$locked_object;select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time; 假如有長期出現(xiàn)的一模一樣的列(包括登錄時(shí)間),可能是沒有釋放的鎖。 我們要在執(zhí)行分割日志表的存儲(chǔ)過程前,用下面SQL語句殺掉長期沒有釋放非正常的鎖: alter system kill session 'sid,serial#'; 五、結(jié)束語 用上面介紹的存儲(chǔ)過程定期分割日志表有很大的靈活性。歷史數(shù)據(jù)不僅查詢方便,轉(zhuǎn)移和備份起來也都很輕易。 Unix和Windows平臺(tái)的都可以使用。對服務(wù)器硬盤空間較小的中小型公司意義尤其明顯。
標(biāo)簽: Oracle 數(shù)據(jù)庫
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本aⅴ免费视频一区二区三区| 久久gogo国模啪啪裸体| 麻豆一区二区三| 国产经典一区| 狠狠久久伊人中文字幕| 超碰在线99| 三级小说欧洲区亚洲区| 久久一级电影| 伊人成人网在线看| 亚洲有吗中文字幕| 国产精品一区二区99| 福利片在线一区二区| 日韩精品一区二区三区中文 | 欧美一区在线观看视频| 奇米狠狠一区二区三区| 国产高清亚洲| 亚洲天堂一区二区| 国产精品91一区二区三区| 蜜桃av一区二区| 国产剧情在线观看一区| 精品久久电影| 亚洲一级网站| 蜜桃91丨九色丨蝌蚪91桃色| 国产精品久久久免费| 日韩欧美一区二区三区免费观看| 欧美二区视频| 日本在线不卡视频一二三区| 欧美91在线|欧美| 久久久精品五月天| 亚欧成人精品| 成人在线视频区| 亚洲一区日本| 老鸭窝一区二区久久精品| 99成人超碰| 日韩精品a在线观看91| 久久亚洲资源中文字| 欧美不卡在线| 91精品尤物| 成人羞羞在线观看网站| 日本成人在线不卡视频| 久久精品二区三区| 日韩精品视频网站| 成人国产精品| 日韩激情精品| 亚洲精品88| 91麻豆精品激情在线观看最新| 久久久人人人| 国产精品一区二区99| 99亚洲视频| 精品在线网站观看| 在线观看一区| 播放一区二区| 国产精品66| 日韩专区一卡二卡| 中文字幕在线视频久| 日韩午夜视频在线| 亚洲爱爱视频| 久久99精品久久久野外观看| 欧美一区=区| 亚洲日本网址| 国产精品a级| 午夜亚洲福利| 午夜精品一区二区三区国产| 免费视频一区二区三区在线观看| 99国产精品私拍| 国产高潮在线| 欧美日韩一区自拍| 亚洲一区国产一区| 99国产精品免费视频观看| 国产美女久久| 亚洲3区在线| 不卡av一区二区| 高清久久一区| 麻豆精品新av中文字幕| 久久亚洲二区| 在线日韩视频| 高清av不卡| 精品视频一区二区三区四区五区 | 国产精品nxnn| 青青草伊人久久| 蜜桃av一区二区三区电影| 成人av动漫在线观看| 国产一区国产二区国产三区| 欧美久久精品| 热久久久久久久| 中文精品在线| 黄色成人91| 9国产精品视频| 黄色成人在线网址| 91高清一区| 一本色道精品久久一区二区三区| 激情婷婷欧美| 久久视频精品| 91精品电影| 99香蕉国产精品偷在线观看| 不卡中文字幕| 免费看的黄色欧美网站| 久久99伊人| 国产精品久久久免费| 欧美精品三级在线| 欧美精品99| 韩国女主播一区二区三区| 国产91欧美| 免费中文字幕日韩欧美| 在线看片日韩| 国产欧美综合一区二区三区| 国产精品白丝久久av网站| 美女久久99| 韩国久久久久久| 欧美肉体xxxx裸体137大胆| 国产一区欧美| 蜜桃视频一区二区三区| 日本亚州欧洲精品不卡| 欧美一级久久| 欧美成人一二区| av最新在线| 久久伦理在线| 亚洲三级网址| 国产精品高潮呻吟久久久久| 精品国产精品国产偷麻豆| 精品亚洲自拍| 日本免费久久| 国产精品毛片| 日韩av资源网| 麻豆久久一区二区| 久久久久国产精品一区三寸| 免费日韩精品中文字幕视频在线| 日韩在线麻豆| 国产精品a级| 日韩精品首页| 玖玖玖国产精品| 国产日产精品_国产精品毛片 | 日韩一区免费| 精品国产亚洲一区二区三区在线| 日韩理论视频| 伊人久久婷婷| 欧美日韩a区| 欧洲精品一区二区三区| 欧美成人日韩| 欧美日韩一区二区三区不卡视频 | 久久99久久久精品欧美| 欧美成人基地| 婷婷五月色综合香五月| 老牛国内精品亚洲成av人片| 久久国产中文字幕| 日韩黄色av| 亚洲午夜天堂| 精品1区2区3区4区| 国产精品成人自拍| 中文久久精品| 麻豆高清免费国产一区| 国产视频一区免费看| 国产精品v亚洲精品v日韩精品| 不卡一区2区| 久久国产精品免费一区二区三区| 亚洲精品在线影院| 91福利精品在线观看| 91tv亚洲精品香蕉国产一区| 日韩中文字幕| 伊人精品一区| 国产精品久久777777毛茸茸| 香蕉成人久久| 麻豆视频在线看| 日韩av一区二区在线影视| 亚洲电影有码| 久久这里只有精品一区二区| 亚洲一区激情| 成人日韩在线| 国产精品xxxav免费视频| 亚洲欧美日本国产专区一区| 精品资源在线| 18国产精品| 免费久久99精品国产| 欧洲一区二区三区精品| 国产精品激情| 日本亚洲最大的色成网站www| 亚洲a在线视频| 欧美激情在线精品一区二区三区| 水野朝阳av一区二区三区| 日韩和的一区二在线| 国产精品免费精品自在线观看| 亚洲少妇一区| 欧美日韩色图| 国产福利片在线观看| 国产高清精品二区| 日本欧美大码aⅴ在线播放| 午夜一区在线| 免费精品国产| 在线一区视频观看| 欧洲av不卡| 黑森林国产精品av| 久久精品国产99国产精品| 日韩精品成人| 亚洲视频二区| 日韩一区二区免费看| 日韩不卡免费高清视频| 成人精品国产亚洲| 久久久久久色| 热久久久久久久| 丝袜诱惑制服诱惑色一区在线观看 |