Oracle 資料泵的使用

xfhuangfu發表於2014-11-21
資料泵的使用

一、建立目錄
1、連線Oracle資料庫
SQL>conn / as sysdba
2、建立一個操作目錄
SQL>create directory dump_dir as 'e:\dump';
   OR create or replace directory exp_dir as 'e:/impdp_dir';
SQL>SELECT * FROM ALL_DIRECTORIES;
SQL>SELECT * FROM DBA_DIRECTORIES;
使用作業系統命令在硬碟上建立物理路徑
Windows/Linux md e:\dump
目錄已建立。
3、使用以下命令建立一個匯出檔案目錄
SQL>grant read,write on directory dump_dir to USERNAME;
授權成功。
二、資料匯入
/*第1步:建立臨時表空間 */
create temporary tablespace yuhang_temp
tempfile 'D:\oracledata\hfxf_temp.dbf'
size 4096m
autoextend on
next 300m maxsize 20480m
extent management local;
 
/*第2步:建立資料表空間 */
create tablespace hfxf_data03
logging
datafile 'E:\oracledata\hfxf_data03_01.dbf'
size 100G
autoextend on
next 20G maxsize unlimited
extent management local
segment space management auto;

/*第3步:建立使用者並指定表空間 */
create user hfxf identified by hfxf
default tablespace hfxf_data
temporary tablespace hfxf_temp;
 
/*第4步:給使用者授予許可權 */
grant connect,resource,dba to hfxf;
1)導到指定使用者下
impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;

impdp \"sys/oracle as sysdba\" DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;
2)改變表的owner
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;
3)匯入表空間
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;
4)匯入資料庫
impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;
5)追加資料
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION=append;
6)只匯入表忽略表空間
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp include=table TRANSFORM=segment_attributes:n
(使用TRANSFORM=segment_attributes:n都匯入到使用者預設表空間下了)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28373936/viewspace-1341116/,如需轉載,請註明出處,否則將追究法律責任。

相關文章