1. 程式人生 > >expdp,impdp 資料庫泵方式 oracle 資料庫備份

expdp,impdp 資料庫泵方式 oracle 資料庫備份

**ORACLE 資料庫 備份**
  1. cmd 連線oracle SQL>sqlplus /nolog;

  2. sysdba 的方式連線oracle,連線過程中出現報錯(分析原因,檢查三 oacle監聽是否啟動,oracle 例項是否啟動,登錄檔oralce_sid 是否正確,分析原因oracle_sid 不正確)。 在這裡插入圖片描述 修改後解決: 在這裡插入圖片描述 建立expdp 匯出目錄: SQL>create directory dump_dir as ‘E:\xxx’; 查詢系統匯出目錄: 在這裡插入圖片描述

  3. cmd 命令執行匯出

    全量匯出:主要以sysdba 的方式進行匯出 要以sysdba 的方式進行登入

第一種:“full=y”,全量匯出資料庫;

expdp user/[email protected]

dumpfile=expdp.dmp directory=data_dir full=y logfile=expdp.log;

第二種:schemas按使用者匯出;

expdp user/[email protected] schemas=user dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;

第三種:按表空間匯出;

expdp sys/[email protected] tablespace=tbs1,tbs2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log; 第四種:匯出表;

expdp user/[email protected] tables=table1,table2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log; 第五種:按查詢條件導;

expdp user/[email protected] tables=table1=‘where number=1234’ dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;

4. impdp 匯入資料庫。 4.1 根據expdp 匯出的表空間 tablespace1建立表空間 create tablespace tablespace1 datafile ‘d:\data1’ size 20m autoextend on; 4.2 建立使用者 create user user1 identified by xxx default tablespace tablespace1 temporary tablespace temp; 4.3 建立目錄 create directory dump_dir as ‘D:/database’; 4.4 給使用者賦許可權 create read,write on directory dump_dir to user1;

第一種:“full=y”,全量匯入資料庫;

impdp user/[email protected] directory=dump_dir dumpfile=expdp.dmp full=y; 第二種:同名使用者匯入,從使用者A匯入到使用者A; impdp A/passwd schemas=A directory=dump_dir dumpfile=expdp.dmp logfile=impdp.log;

不同命使用者匯入:user1 為源使用者,user2為將要匯入的使用者 impdp A/passwd schemas=A directory=dump_dir dumpfile=expdp.dmp remap_schema=user1:user2 logfile=impdp.log;

不同表空間匯入:tablespace1為源表空間,tablespace2為將要匯入的表空間。 impdp A/passwd schemas=A directory=dump_dir dumpfile=expdp.dmp remap_tablespace=tablespace1:tablespace2 logfile=impdp.log;