最近工作上有一個任務(wù)要修改一個比較老的項目,分公司這邊沒有這個項目數(shù)據(jù)庫相關(guān)的備份,所以需要從正式環(huán)境上面導(dǎo)出數(shù)據(jù)庫備份出來在本地進(jìn)行部署安裝,之前在其它項目的時候也弄過這個數(shù)據(jù)庫的部署和安裝,也寫了一個操作文檔,但是寫的不是那么的詳細(xì),很多場景都沒有考慮到,后面想了想還是重新寫一個操作文檔方便下次數(shù)據(jù)庫相關(guān)導(dǎo)出的操作,也同時能夠幫助其它初次接觸的同事快速操作。

項目的采用的開發(fā)相關(guān)是:Vs2008,Oracle 11g,PLSQL。

第一步,數(shù)據(jù)庫的導(dǎo)出

a.數(shù)據(jù)庫用戶導(dǎo)出

1.查詢所有數(shù)據(jù)庫用戶

 SELECT wm_concat(T.username) FROM DBA_USERS T WHERE T.account_status = 'OPEN'
 AND T.default_tablespace NOT IN ('SYSTEM', 'SYSAUX') AND T.username NOT IN ('SCOTT','EMULATION')

2.導(dǎo)出創(chuàng)建表空間及數(shù)據(jù)文件腳本

 SELECT 'CREATE TABLESPACE ' || T.TABLESPACE_NAME ||
        ' DATAFILE ''E:\ORADATA\FSDB\' || T.TABLESPACE_NAME || '01.DBF'' size 100M autoextend on;'
   FROM DBA_TABLESPACES T  WHERE T.TABLESPACE_NAME NOT IN
        ('SYSTEM', 'SYSAUX', 'UNDOTBS1', 'TEMP', 'USERS', 'UNDOTBS2');

E:\ORADATA\FSDB\  本地數(shù)據(jù)庫文件存儲目錄

會查詢出類似以下腳本

CREATE TABLESPACE TBS_TYUM_SMS DATAFILE 'E:\ORADATA\FSDB\TBS_TYUM_SMS01.DBF' size 100M autoextend on;

TBS_TYUM_SMS   表空間名稱

E:\ORADATA\FSDB\TBS_TYUM_SMS01.DBF   創(chuàng)建的空間表DBF文件 

3.創(chuàng)建導(dǎo)出文件相關(guān)操作

一、創(chuàng)建導(dǎo)出文件存放的文件目錄(該目錄必須存在),該命令不會在操作系統(tǒng)創(chuàng)建真正的目錄,最好以system等管理員創(chuàng)建。

create or replace directory DPDATAGGDB as 'E:\backup\xxxx';

二、查看管理理員目錄(同時查看操作系統(tǒng)是否存在,因為Oracle并不關(guān)心該目錄是否存在,如果不存在,則出錯)

select * from dba_directories;

三、給scott用戶賦予在指定目錄的操作權(quán)限,最好以system等管理員賦予。

grant read,write on directory DPDATAGGDBto scott;

4.按用戶導(dǎo)出

-按用戶導(dǎo)出

Expdp system/123456@XXDB schemas=xxxx dumpfile=XXDB20170307BAK.DMP directory=DPDATAGGDB  logfile=XXDB20170307BAK.log

-exp全部導(dǎo)出

exp system/123456@XXDB  file=E:\backup\xxxx\QZDB20170220_bak.dmp full=y  

system/123456   登錄dba賬號密碼

XXDB      需要導(dǎo)出的數(shù)據(jù)庫名稱

schemas    用戶集合

dumpfile=XXDB20170307BAK.DMP   導(dǎo)出的數(shù)據(jù)dmp文件

directory=DPDATAGGDB   第三部創(chuàng)建的文件目錄  這里導(dǎo)出的文件會在該目錄下面生成對應(yīng)文件

logfile=XXDB20170307BAK.log      導(dǎo)出的數(shù)據(jù)log文件

第二步,數(shù)據(jù)庫導(dǎo)入

1.01打開oracle Databese配置工具

 電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

1.02進(jìn)入歡迎頁面

 電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

1.03選擇創(chuàng)建數(shù)據(jù)庫,如果需要修改可以選擇配置數(shù)據(jù)庫選件

電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

1.04數(shù)據(jù)庫模板

 電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

1.05填寫數(shù)據(jù)庫連接表示

 電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

1.06管理選項,可直接下一步

 電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

1.07填寫數(shù)據(jù)庫登錄信息,為了管理方便選擇所要賬號使用同一管理口令

 電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

1.08設(shè)置數(shù)據(jù)文件存放位置,可選擇默認(rèn)位置,也可自己設(shè)置存放位置

 電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

1.09設(shè)置恢復(fù)配置,可選擇默認(rèn)數(shù)據(jù)

 電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

1.10數(shù)據(jù)庫內(nèi)容,可跳過

 電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

1.11初始化參數(shù),主要分配內(nèi)存空間,需要考慮當(dāng)前服務(wù)器上面可用空間,多個數(shù)據(jù)庫需要平均處理,后面的調(diào)整大寫,字符集,鏈接模式可以選擇默認(rèn)選項

電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

1.12數(shù)據(jù)庫存儲

 電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

1.13創(chuàng)建選項

 電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

1.14點擊完成就會生成數(shù)據(jù)庫了

2.打開PLSQ或者TOAD用sys  DBA身份登錄創(chuàng)建第一步第二個操作導(dǎo)出

CREATE TABLESPACE TBS_TYUM_SMS DATAFILE 'E:\ORADATA\FSDB\TBS_TYUM_SMS01.DBF' size 100M autoextend on;

.....這里應(yīng)該導(dǎo)出多個空間的創(chuàng)建語句

3.創(chuàng)建用于導(dǎo)入導(dǎo)出的文件目錄

create or replace directory TY_DUMP_DIR as 'E:\app '

E:\app 必需是已經(jīng)存在的目錄。 

查看已經(jīng)存在的目錄  

select * from dba_directories

 電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

刪除文件目錄記錄  

DROP DIRECTORY TY_DUMP_DIR

用sys用戶登錄給要訪問的用戶指定訪問目錄的權(quán)限。 

grant read,write on directory TY_DUMP_DIR to scott;

4.導(dǎo)入數(shù)據(jù)

Impdp SYSTEM/123456@XXDB directory=TY_DUMP_DIR dumpfile=XXDB20170307BAK.DMP  LOGFILE=XXDB20170307BAK.LOG full=y

impdp system/123456@XXDB schemas=xxxx dumpfile=XXDB20170307BAK.DMP directory=DPDATAGGDB logfile=XXDB20170307BAK.log

或者

imp system/123456@XXDB  file=d:\bak.dmp full=y ignore=y

這里的相關(guān)關(guān)鍵詞不一一解釋了,可以參照導(dǎo)出文件說明

如果是EXpdp 導(dǎo)出的則需要用Impdp 導(dǎo)出    EXP則需要用imp  不然會在導(dǎo)出的時候報錯

這里所有的導(dǎo)入導(dǎo)出操作都要在cmd命令符操作下進(jìn)行  window+R   cmd

其實在導(dǎo)入導(dǎo)出的過程中應(yīng)該還會遇到其他的一些問題,這里因為之前在操作的時候沒有記錄了,以后如果碰到了問題,我會在這里一一記錄,也希望這篇文章能夠給需要的人帶來幫助。如果有什么寫錯的地方也希望大家能夠指出來。謝謝!

http://www.cnblogs.com/wuyongfu/p/7142408.html