999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種Oracle數據庫異常遷移現象的解決方法

2012-08-06 09:38:22
鐵路計算機應用 2012年8期
關鍵詞:數據庫利用用戶

劉 偉

(武漢鐵路局信息技術處,武漢430071)

Oracle數據庫應用于很多鐵路信息系統中,作為Oracle數據庫管理員,經常會使用EXP/IMP工具遷移用戶數據,特別是在Oracle 較低的8i和9i版本中。本文針對一種較為異常的數據庫遷移現象,利用EXP/IMP、UltraEdit工具給出相應的解決方法。

1 數據庫遷移背景

2007年某鐵路信息系統遷入到IBM P570小型機,Oracle數據庫使用EXP/IMP工具完成了8i到9i的遷移。雖然Oracle數據庫目前運行的比較穩定,但仍存在眾多的數據庫用戶使用同一個表空間的問題。隨著時間的推移,該表空間的數據文件變得越來越多,表空間變得越來越大,成為了一個必須重視的問題。經過技術人員的討論,決定先將某個重要的用戶數據從該表空間中遷移出來。

這次遷移的工作是:在同一個Oracle數據庫中,將A用戶從表空間ts1遷移到表空間ts2上,并且表空間ts1是不允許刪除的。

這個工作可以利用下面幾個步驟來完成:

(1)給A用戶使用者發出通知,告之在某個時間段進行數據庫維護工作,這個時間段暫停對A用戶數據的訪問;

(2)在這個時間段,對A用戶進行加鎖操作;

(3)exp system/system_password file=a.dmp log=a_exp.log owner=a;

(4)記錄A用戶擁有的權限和角色;

(5)drop user a cascade;

(6)create user a identified by a_password default tablespace ts2 temporary tablespace temp;

(7)grant 記錄的權限或角色給用戶A;

(8)revoke unlimited tablespace from a;

(9)alter user a quota 0 on ts1;

(10)alter user a quota unlimited on ts2;

(11)alter user a quota unlimited on temp;

(12)imp a/a_password file=a.dmp log=a_imp.log fromuser=a touser=a。

在完成了上述12步操作后,A用戶的數據從表空間ts1又遷移回到ts1上了,這次遷移失敗。對于這個結果,咨詢了相關Oracle專家,分析認為可能是Oracle數據庫某方面的一個bug。

接下來,技術人員討論出了另外一種方法。利用UltraEdit工具編輯a.dmp,將a.dmp中tablespace“TS1”全部替換成tablespace“TS2”,然后再利用更改后的a.dmp完成遷移工作。可是a.dmp的文件大小有20 G,加載到PC機內存編輯過程中頻繁死機。此辦法針對大容量dmp文件依然不合適。

2 數據庫遷移解決方案

利用UltraEdit工具更改dmp文件的方法經證明在本信息系統的數據庫上是可以完成不同表空間的遷移。現在的問題集中在dmp文件的大小上。

EXP命令有一個選項ROWS,默認情況下值為Y,表示導出數據行。當把ROWS設置為N時,dmp文件只包含表的結構,而不包括表中的數據。通過加上這個選項,a.dmp文件只有10 M大小。利用UltraEdit工具對a.dmp完成表空間名的替換,特別注意的是2個表空間名字的字節大小要保持一致,否則更改后的dmp文件就不可用了。

a.dmp是不包含數據的,所以還需利用EXP命令導出一個包含數據的dmp文件a_data.dmp。

利用IMP命令完成a.dmp的導入工作。導入的僅是結構,不包含實際數據。當每次IMP完成后,都有信息輸出,如圖1。

圖1 信息輸出界面圖

圖1中about to enable constraints…表示啟動該用戶內定義的各種約束,包括外鍵,觸發器等。所以在導入a_data.dmp文件前,必須禁用A用戶的外鍵和觸發器,否則可能會造成導入工作的錯誤。可以通過oracle enterprise manager console或者下面的語句來查詢外鍵和觸發器:

select constraint_name, table_name from user_constraints where owner='A' and constraint_type=’R’;

select trigger_name,trigger_type from user_triggers where table_owner='A';

可以通過下面的語句來禁用外鍵和觸發器:

alter table table_name disable constraint constraint_name;

alter trigger trigger_name disable;

導入a_data.dmp時,需要對IMP加上參數IGNORE=Y,表示忽略創建錯誤。由于a.dmp的導入使得表結構已經存在,所以當a_data.dmp導入發現已建表時需要忽略創建錯誤。

當完成a_data.dmp導入工作,數據庫會自動啟用該用戶的各種約束,包括前面手工禁用A用戶的外鍵和觸發器。

完整的操作步驟如下:

(1)給A用戶使用者發出通知,告之在某個時間段進行數據庫維護工作,這個時間段暫停對A用戶數據的訪問;

(2)在這個時間段,對A用戶進行加鎖操作;

(3)exp system/system_password file=a.dmp rows=n log=a_exp.log owner=a;

(4)exp system/system_password file=a_data.dmp log=a_data_exp.log owner=a;

(5)利用UltraEdit工具將a.dmp中tablespace“TS1”全部替換成tablespace “TS2”;

(6)記錄A用戶擁有的權限和角色;

(7)drop user a cascade;

(8)create user a identified by a_password default tablespace ts2 temporary tablespace temp;

(9)grant 記錄的權限或角色給用戶A;

(10)revoke unlimited tablespace from a;

(11)alter user a quota 0 on ts1;

(12)alter user a quota unlimited on ts2;

(13)alter user a quota unlimited on temp;

(14)imp a/a_password file=a.dmp log=a_imp.log fromuser=a touser=a;

(15)禁用A用戶的外鍵和觸發器;

(16)imp a/a_password file=a_data.dmp ignore=y log=a_data_imp.log fromuser=a touser=a;

經過上述操作后,遷移工作成功。

3 結束語

本文描述了一種較為特殊的Oracle數據庫遷移現象,通過3次試驗最終得出了切實可行的解決方法。該方法使用了Oracle EXP/IMP和UltraEdit,實施簡單并對數據庫的正常運行影響較小,具有數據的可恢復性。

猜你喜歡
數據庫利用用戶
利用min{a,b}的積分表示解決一類絕對值不等式
中等數學(2022年2期)2022-06-05 07:10:50
利用一半進行移多補少
利用數的分解來思考
Roommate is necessary when far away from home
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 久久精品中文字幕少妇| 国产又大又粗又猛又爽的视频| 91精品啪在线观看国产91九色| 欧美在线伊人| 91精品国产无线乱码在线| 在线观看91精品国产剧情免费| 99热精品久久| 波多野结衣AV无码久久一区| 欧美中文字幕在线二区| 国产极品美女在线播放 | 99久久人妻精品免费二区| 免费国产无遮挡又黄又爽| 毛片网站在线看| 国内a级毛片| 午夜福利视频一区| 日韩欧美国产三级| 日本在线视频免费| 免费无码又爽又刺激高| 久久国产av麻豆| 成人午夜亚洲影视在线观看| 亚洲一级毛片在线观播放| 多人乱p欧美在线观看| 污网站在线观看视频| 天天躁日日躁狠狠躁中文字幕| 2019国产在线| 麻豆国产在线观看一区二区| 日韩天堂视频| 国产乱子伦视频三区| 色网站免费在线观看| 国产人成午夜免费看| 91免费片| 丝袜无码一区二区三区| 久久久91人妻无码精品蜜桃HD| 九九热视频精品在线| 日韩在线第三页| 国产精品尹人在线观看| 国产精品极品美女自在线网站| 欧美成人免费一区在线播放| 国产欧美日韩18| 午夜性刺激在线观看免费| 在线一级毛片| 精品久久蜜桃| 午夜福利在线观看成人| 国产丝袜无码一区二区视频| 免费在线看黄网址| 亚洲精品欧美日韩在线| 日本精品视频一区二区| 2020国产精品视频| 欧洲欧美人成免费全部视频| 中文字幕色在线| 成人年鲁鲁在线观看视频| 欧美一级大片在线观看| 免费一极毛片| 伊人色天堂| 国产欧美视频在线| 91久久天天躁狠狠躁夜夜| 欧美a在线看| 国产性生大片免费观看性欧美| 综合色区亚洲熟妇在线| 亚洲成人在线网| 午夜福利无码一区二区| 97精品久久久大香线焦| 亚洲视频欧美不卡| 日韩国产黄色网站| 国产视频资源在线观看| 又粗又硬又大又爽免费视频播放| 超碰91免费人妻| 亚洲国产精品无码AV| 欧美一区二区福利视频| 亚洲高清在线天堂精品| 免费无遮挡AV| 欧美日韩精品一区二区在线线| 99在线视频免费观看| 国产一级毛片高清完整视频版| 日本高清有码人妻| 国产精品30p| 久久这里只有精品国产99| 九九热在线视频| 婷婷中文在线| 热这里只有精品国产热门精品| 久久精品国产在热久久2019| 久青草免费视频|