oracle使用expdp和impdp搭建數據庫

查看幫助

expdp -help

PARALLEL 是並行數,expdp和impdp都可以使用這個參數

--expdp導出:
1.創建數據泵路徑:
SQL>  create or replace directory imostdb as '/opt/oracle/imost';    
---Directory created.  //需確保/home/目錄空間足夠大(提前進行備份驗證)

2.賦予導出用戶“導入導出”的權限
grant connect to imostdb_cs;
grant dba to imostdb_cs;
grant exp_full_database to imostdb_cs;
grant imp_full_database to imostdb_cs;
grant resource to imostdb_cs;

3.導出數據:(dmp文件在數據泵路徑下)
expdp userid=imostdb_cs/'%TGB6yhn' directory=imostdb dumpfile=Expdp_imost_20150318.dmp LOGFILE=Expdp_imost_20150318.log SCHEMAS=PROMOTION CONTENT=METADATA_ONLY;

--需要注意的地方有:
1.userid用到的用戶和密碼是否正確並具有導出導入權限      
2.directory用到的路徑是否存在並保證空間充裕且userid用到的用戶對該路徑擁有讀寫權限
3.用戶模式導出使用SCHEMAS,除此之外還有表模式,表空間模式,全庫模式等(網上可以找到很多模板的)
4.CONTENT參數值,因爲本次僅導出數據結構所以我們使用的是METADATA_ONLY,該參數的默認值就是ALL

--impdp導入
第一步到第三步請使用具有dba權限的用戶執行

第一步:創建用戶所在的profile
-- Create profile 
create profile SDPUSER limit
  sessions_per_user unlimited
  cpu_per_session unlimited
  cpu_per_call unlimited
  connect_time unlimited
  idle_time unlimited
  logical_reads_per_session unlimited
  logical_reads_per_call unlimited
  composite_limit unlimited
  private_sga unlimited
  failed_login_attempts unlimited
  password_life_time unlimited
  password_reuse_time unlimited
  password_reuse_max unlimited
  password_lock_time unlimited
  password_grace_time unlimited
  password_verify_function Null;

第二步:創建用戶並賦權
-- Create the user 
create user PROMOTION identified by "ChPromo123"
  default tablespace promotion
  temporary tablespace TEMP
  profile SDPUSER;

-- Grant/Revoke role privileges 
grant connect to PROMOTION;
grant dba to PROMOTION;
grant exp_full_database to PROMOTION;
grant imp_full_database to PROMOTION;
grant resource to PROMOTION;

-- Grant/Revoke system privileges 
grant alter any trigger to PROMOTION;
grant alter any type to PROMOTION;
grant create any directory to PROMOTION;
grant create any table to PROMOTION;
grant create any trigger to PROMOTION;
grant create any type to PROMOTION;
grant create any view to PROMOTION;
grant create job to PROMOTION;
grant create procedure to PROMOTION;
grant create sequence to PROMOTION;
grant create session to PROMOTION;
grant drop any table to PROMOTION;
grant drop any trigger to PROMOTION;
grant drop any type to PROMOTION;
grant drop any view to PROMOTION;
grant insert any table to PROMOTION;
grant unlimited tablespace to PROMOTION;

第三步:創建導入導出路徑並賦權
create or replace directory LOCAL_TRANSFER as '/opt/oracle/backup';
grant read,write on directory LOCAL_TRANSFER to promotion;

第四步:在後臺使用oracle用戶執行如下導入語句
(請注意確認用戶,表空間以及dmp文件信息)
impdp userid=promotion/'userpasswd' directory=LOCAL_TRANSFER dumpfile=Expdp_promotion_20150317.dmp LOGFILE=Impdp_promotion_20150317.log remap_tablespace=TS_PMT_DATA:PROMOTION,TS_SDP_TEMP:TEMP,TS_PMT_IDX:PROMOTION_INDEX SCHEMAS=PROMOTION

--注:需要注意的地方
1.導入的用戶最還與原來保持一致,用戶權限要賦足
2.以上都需執行,且dmp文件要放在創建的數據泵路徑下
3.如果上面impdp導入出問題,執行“impdp userid=promotion/'userpasswd' directory=LOCAL_TRANSFER dumpfile=Expdp_promotion_20150317.dmp”


Oracle-impdp&expdp總結


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章