• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Oracle數(shù)據(jù)泵移植數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)

    2014-04-29 00:00:00張昆張倩

    摘 要:將兩個(gè)數(shù)據(jù)庫(kù)以最快的方式移植到較高的Linux平臺(tái)。數(shù)據(jù)采用可傳輸性表空間的方法進(jìn)行移植,其它對(duì)象采用數(shù)據(jù)泵不同功能選項(xiàng)進(jìn)行移植。

    關(guān)鍵字:數(shù)據(jù)泵;順序;細(xì)節(jié)處理

    中圖分類號(hào):TP311.1

    近年來(lái),由于服務(wù)器平臺(tái)更新?lián)Q代較快,原來(lái)在設(shè)備型號(hào)較陳舊的一些數(shù)據(jù)庫(kù)平臺(tái)需要移植到性能較高的其它平臺(tái),數(shù)據(jù)庫(kù)移植也就有了較多需求。關(guān)于數(shù)據(jù)庫(kù)移植,現(xiàn)已有很多方法和經(jīng)驗(yàn)介紹,有針對(duì)全庫(kù)的rman移植,也有針對(duì)個(gè)別對(duì)象的數(shù)據(jù)泵移植。筆者由于工作需要,將兩個(gè)數(shù)據(jù)庫(kù)以最快的方式移植到較高的Linux平臺(tái),其中數(shù)據(jù)采用可傳輸性表空間的方法進(jìn)行移植,其它對(duì)象采用數(shù)據(jù)泵不同功能選項(xiàng)進(jìn)行移植。

    1 兩個(gè)數(shù)據(jù)庫(kù)平臺(tái)介紹

    源庫(kù):windows2003 oracle;版本:10.2.0.5.0;字節(jié)順序:little(字節(jié)順序一致很重要,省了轉(zhuǎn)換的麻煩)。

    目標(biāo)庫(kù):windows2003 oracle;版本:10.2.0.5.7;字節(jié)順序:little(Select * from V$TRANSPORTABLE_PLATFORM ORDER BY PLATFORM_ID;)。

    確認(rèn)字節(jié)順序一致很重要,省了轉(zhuǎn)換的麻煩,不在此贅述。

    數(shù)據(jù)庫(kù)移植思路:根據(jù)源和目的兩個(gè)表空間的特點(diǎn),采用傳輸性表空間移植的方式,先對(duì)表空間DB01_A和DB01_B進(jìn)行移植,存儲(chǔ)過(guò)程、函數(shù)、視圖、db-link連接使用數(shù)據(jù)泵分類按序移植。

    2 移植步驟

    2.1 移植前的準(zhǔn)備檢查

    (1)首先對(duì)源表空間的自包含集進(jìn)行檢查、清理。即需要移植的表空間不得包含依賴性的非本表空間的對(duì)象建立的關(guān)系。

    Exec dbms_tts.transport_set_check(‘DB01_A’,TRUE,TRUE);

    Select * from TRANSPORT_SET_VIOLATIONS;

    Exec dbms_tts.transport_set_check(‘DB01_B’,TRUE,TRUE);

    Select * from TRANSPORT_SET_VIOLATIONS;

    對(duì)DB01_A和DB01_B不符合檢查標(biāo)準(zhǔn)的索引等對(duì)象刪除、清理。

    (2)源、目的庫(kù)的用戶要?jiǎng)?chuàng)建一致。參考源數(shù)據(jù)庫(kù)在目標(biāo)庫(kù)建立了所有的普通用戶。移植后的用戶屬性、權(quán)限及默認(rèn)表空間待移植后重新賦權(quán)。執(zhí)行expdp的用戶要賦予exp_full_database的角色。

    (3)目的庫(kù)的移植元文件使用目錄確認(rèn)。

    元文件放到目標(biāo)庫(kù)DATA_PUMP_DIR參數(shù)指定的地方,具體確定方法為:

    Select * from dba_directories;DATA_PUMP_DIR一般是默認(rèn)的目錄,路徑過(guò)長(zhǎng)。筆者新建一個(gè)目錄,并指定其為導(dǎo)入/出目錄。在系統(tǒng)跟即/目錄下創(chuàng)建yizhi,在sqlplus里制定/yizhi為導(dǎo)入導(dǎo)出目錄。

    create or replace directory directory_name as ‘/yizhi’;

    grant read,write on directory directory_name to system

    如果使用其它普通用戶導(dǎo)入,還需賦予創(chuàng)建對(duì)話的權(quán)限;

    Grant create session to username;

    2.2 正式移植

    (1)源庫(kù)關(guān)閉所有應(yīng)用、連接、計(jì)劃任務(wù),關(guān)閉監(jiān)聽(tīng)程序。在關(guān)閉監(jiān)聽(tīng)的情況下,在sqlplus里修改數(shù)據(jù)庫(kù)的屬性,read only。必須將數(shù)據(jù)庫(kù)的屬性修改為read only,數(shù)據(jù)庫(kù)元數(shù)據(jù)才能導(dǎo)出。上述舉措為了保持移植數(shù)據(jù)一致性。

    alter tablespace DB01_A read only;

    alter tablespace DB01_B read only;

    (2)導(dǎo)出元數(shù)據(jù),指定可傳輸表空間參數(shù)TRANSPORT_TABLESPACES

    expdp ‘sys/xxx@db01 as sysdba’ dumpfile= DB01_A.DMP directory=DATA_PUMP_DIR TRANSPORT_TABLESPACES=DB01_A;

    expdp ‘sys/xxx@db01 as sysdba’ dumpfile= DB01_B.DMP directory=DATA_PUMP_DIR TRANSPORT_TABLESPACES=DB01_B;

    經(jīng)實(shí)戰(zhàn)移植驗(yàn)證,550G的表空間DB01_A 導(dǎo)出成80M的元文件需4分鐘,80G的表空間DB01_B導(dǎo)出 70M的元文件需3分鐘。

    (3)分類導(dǎo)出其它。

    expdp system/super dumpfile=view.dmp directory=DATA_PUMP_DIR logfile=job.log full=Y include= VIEW(要注意加full=Y)

    然后將參數(shù)VIEW分別改為FUCTION,DB_LINK,PROCEDURE

    (4)傳輸元文件及物理數(shù)據(jù)文件。通過(guò)FTP或工具傳輸元文件及數(shù)據(jù)文件。這一步驟提前要安排好物理文件的存放及目的存放規(guī)劃。

    (5)按順序?qū)氡砜臻g、視圖、db_link、存儲(chǔ)過(guò)程、JOB。這一步分類和順序很重要,因?yàn)閷?duì)象之間有相互的依賴關(guān)系。比如有的存儲(chǔ)過(guò)程里用到db_link鏈接,db_link如果未先建好,就會(huì)導(dǎo)致存儲(chǔ)過(guò)程導(dǎo)入的失敗。

    Impdp system/oracle01 dumpfile=DB01_A.DMP directory=DIRECTORY_NAME

    TRANSPORT_DATAFILES= /Ora_da1/DB01_A.ORA,……. /Ora_da1/DB01_A32.ORA

    impdp system/oracle dumpfile=DB01_B.DMP directory=DIRECTORY_NAME

    TRANSPORT_DATAFILES= /Ora_da1/DB01_B.ORA,……/Ora_da1/DB01_B7.ORA

    表空間導(dǎo)入完成,打開(kāi)表空間的可讀寫屬性(因?yàn)楹罄m(xù)導(dǎo)入的對(duì)象要用到數(shù)據(jù)表的讀寫)

    alter tablespace DB01_A read write;alter tablespace DB01_B read write;

    修改數(shù)據(jù)文件的文件屬主。chown oracle:oinstall 數(shù)據(jù)文件列表。然后檢查導(dǎo)入表空間的物理文件及邏輯文件狀態(tài)及可用性。

    (6)分類按序移植具體主要為存儲(chǔ)過(guò)程,函數(shù)、視圖。此步驟并不是針對(duì)用戶來(lái)移植的,而是針對(duì)全部對(duì)象進(jìn)行的移植。

    impdp system/super dumpfile=all.dmp directory=DIRECTORY_NAME include= VIEW

    然后同上,將db_link, Function,PROCEDURE,JOB等指定為include參數(shù)值進(jìn)行導(dǎo)入。至此,數(shù)據(jù)庫(kù)所有應(yīng)用對(duì)象移植完畢,可以在新創(chuàng)建的數(shù)據(jù)庫(kù)環(huán)境空間里繼續(xù)分享源數(shù)據(jù)庫(kù)空間的數(shù)據(jù)及用戶方案。

    3 采用傳輸性表空間的方法移植數(shù)據(jù)庫(kù)的特點(diǎn)及總結(jié)

    通常采用傳輸性表空間的數(shù)據(jù)方法移植數(shù)據(jù)表空間的。本次采用expdp分別將數(shù)據(jù)庫(kù)各數(shù)據(jù)對(duì)象移至目標(biāo)平臺(tái)。關(guān)鍵點(diǎn)在參數(shù)、順序、細(xì)節(jié)的處理。數(shù)據(jù)庫(kù)同步的幾個(gè)關(guān)鍵點(diǎn):

    (1)修改用戶權(quán)限。在表空間移植前,將原數(shù)據(jù)庫(kù)所有用戶在新目標(biāo)庫(kù)創(chuàng)建。待表空間、VIEW、function等移植后,就參照原數(shù)據(jù)庫(kù)用戶創(chuàng)建腳本將新庫(kù)數(shù)據(jù)庫(kù)用戶權(quán)限全部更新一遍。筆者采用利用源DDL腳本的方法賦權(quán)。(2)分類按序。當(dāng)導(dǎo)入發(fā)現(xiàn)有錯(cuò)誤提示時(shí),不要擔(dān)心,看一下提示便可了解邏輯關(guān)系,調(diào)整一下導(dǎo)入順序,問(wèn)題便迎刃而解。(3)移植點(diǎn)和時(shí)間的把握。最初采用此方法,是因源庫(kù)沒(méi)有基于rman的數(shù)據(jù)庫(kù)備份。待筆者執(zhí)行起來(lái)發(fā)現(xiàn),對(duì)象及表空間的導(dǎo)出時(shí)間是非常短的,當(dāng)了解了整個(gè)操作步驟及過(guò)程后,整個(gè)數(shù)據(jù)庫(kù)移植占時(shí)最長(zhǎng)的就是物理數(shù)據(jù)文件傳輸過(guò)程,我們可以通過(guò)多種方式提高網(wǎng)絡(luò)傳輸速度以縮短數(shù)據(jù)庫(kù)移植用時(shí)。特別是針對(duì)只有數(shù)據(jù)表空間變化較多的數(shù)據(jù)庫(kù)而言,在進(jìn)行過(guò)一次測(cè)試移植后,完全可以快速順利進(jìn)行數(shù)據(jù)移植和同步。

    上述實(shí)現(xiàn)過(guò)程相對(duì)于基于rman備份的數(shù)據(jù)庫(kù)移植,移植的步驟并不是簡(jiǎn)潔的,但經(jīng)實(shí)際操作發(fā)現(xiàn),確實(shí)比較靈活、方便和快捷的。

    參考文獻(xiàn):

    [1] 吳秀君.淺談Oracle數(shù)據(jù)庫(kù)SQL性能優(yōu)化[J].數(shù)字技術(shù)與應(yīng)用.2013(09).

    [2]Oracle數(shù)據(jù)庫(kù)移植方案[J].中南民族大學(xué)學(xué)報(bào)(自然科學(xué)版),2005(03).

    作者簡(jiǎn)介:張昆,女(1979.2-),德州人,研究生,工程師,研究方向:網(wǎng)絡(luò)通信、數(shù)據(jù)庫(kù)管理;張倩,女(1975.1—),漢族,德州人,研究生,副教授,研究方向:網(wǎng)絡(luò)搭建、數(shù)據(jù)庫(kù)管理。

    作者單位:聯(lián)通德州市分公司 信息化服務(wù)中心,山東德州 253000;德州職業(yè)技術(shù)學(xué)院 教務(wù)處,山東德州 253034

    泽普县| 阳山县| 延吉市| 澜沧| 岳普湖县| 汉寿县| 灌阳县| 水富县| 莎车县| 同德县| 镇康县| 泸定县| 西畴县| 诸暨市| 阜阳市| 寿阳县| 买车| 阿鲁科尔沁旗| 宿州市| 哈密市| 文登市| 乌鲁木齐市| 驻马店市| 佛冈县| 华坪县| 南平市| 巴林右旗| 吉安县| 阿鲁科尔沁旗| 梧州市| 资源县| 霍山县| 合作市| 泸溪县| 巴青县| 华坪县| 绍兴市| 台州市| 永顺县| 增城市| 海晏县|