1. 程式人生 > >oracle資料庫的泵匯入匯出

oracle資料庫的泵匯入匯出

1、oracle的泵匯出:

分為兩步:

a、-- 建立匯出(匯入)的檔案路徑的對映,資料庫中執行
                        create directory XX_dmp as 'E:\XX_dmp';
 b、-- 資料庫匯出,CMD視窗執行
                       expdp 使用者名稱/密碼 directory=XX_dmp dumpfile=匯出DMP名.dmp logfile=XXX.log

2、oracle的泵匯入:

分為六步:

a、--新建表空間
create tablespace lpsdc
logging
datafile 'XXX路徑\XXX.dbf'
size 5120m --空間大小
autoextend on
next 10m--超出原空間大小後增加的大小
extent management local;
 
b、--建立使用者並指定表空間
create user XXX identified byXXX
default tablespace XXX temporary tablespace temp;

c、--給使用者授予許可權
grant connect,resource,dba,create any view to XXX;


d、-- 建立匯入的檔案路徑的對映,資料庫中執行
create directory hx_dmp as 'E:\XX_dmp';

e、-- 給相關目錄授予許可權,資料庫中執行
Grant read,write on directory XX_dmp to lpsdc;

f、-- 資料庫匯入,CMD視窗執行
-- 如果使用impdp匯入,那麼匯出的備份檔案也應該是相對應的expdp匯出的【如果原資料的檔案對應對個表空間,則對應多個remap_tablespace】
impdp XXX/XXX   directory=XX_dmp  dumpfile=XXX.dmp    remap_schema=原使用者:新使用者   remap_tablespace=原使用者:新使用者  remap_schema=原使用者:新使用者

3、刪除原有使用者

分為三步:

a、檢視現有連結使用者

alter user XXX account lock;--解鎖

Select username,sid,serial# from v$session  where username='XXX';--檢視所有會話【使用者名稱】

b、如果結果有資料,則斷開連線

alter system kill session'14,4597';

c、刪除使用者

drop user XXX cascade;

4、刪除原表空間,慎用【*】

drop tablespace XXX including contents and datafiles cascade constraints;

*****在匯入資料庫後,由於型別會不能完全匯入,需要將源資料庫的型別在新庫中重新編譯,開啟SQL,執行型別即可。【以上是基於developer的匯入匯出】