Oracle使用expdp/impdp遷移數據
1.#以下步驟在開發庫執行(expdp導出)
一、創建邏輯目錄,該命令不會在操作系統創建真正的目錄,最好以system等管理員創建。
sqlplus / as sysdba; create directory EXPDIR as '/u01/app/orabackup';
二、查看管理理員目錄(同時查看操作系統是否存在,因為Oracle並不關心該目錄是否存在,如果不存在,則出錯)
select * from dba_directories;
三、在開發庫給transactiondb用戶賦予在指定目錄的操作權限,最好以system等管理員賦予。
grant read,write on directory EXPDIR to transactiondb;
四、開發庫導出(路徑/u01/app/orabackup)
expdp transactiondb/123456 directory=EXPDIR dumpfile=transactiondb.dmp logfile=transactiondb.log
導出后把dumpfile復制到測試庫的/u01/app/orabackup下。
2.#以下步驟在測試庫執行(impdp)
新建用戶
--建表空間 create tablespace tbs_sscp_transactiondb3_dat datafile '/u01/app/oracle/oradata/hkmetro/transactiondb3.dbf' size 2g; --創建數據庫用戶 CREATE USER transactiondb3 IDENTIFIED BY 123456 DEFAULT TABLESPACE tbs_sscp_transactiondb3_dat TEMPORARY TABLESPACE temp; --授權 GRANT CONNECT, ALTER SESSION, CREATE JOB, CREATE TABLE, CREATE VIEW, CREATE CLUSTER, CREATE DATABASE LINK, CREATE INDEXTYPE, CREATE OPERATOR, CREATE PROCEDURE, CREATE SEQUENCE, CREATE SESSION, CREATE SYNONYM, CREATE TRIGGER, CREATE TYPE, DEBUG ANY PROCEDURE, DEBUG CONNECT SESSION, EXECUTE ANY PROCEDURE, SELECT ANY DICTIONARY, UNLIMITED TABLESPACE TO transactiondb3; alter user transactiondb3 quota unlimited on tbs_sscp_transactiondb3_dat;
一、創建邏輯目錄,該命令不會在操作系統創建真正的目錄,最好以system等管理員創建。
sqlplus / as sysdba; create directory EXPDIR as '/u01/app/orabackup';
二、查看管理理員目錄(同時查看操作系統是否存在,因為Oracle並不關心該目錄是否存在,如果不存在,則出錯)
select * from dba_directories;
三、在測試庫給transactiondb3用戶賦予在指定目錄的操作權限,最好以system等管理員賦予。
grant read,write on directory EXPDIR to transactiondb3;
四、把.dmp文件傳到測試庫服務器/u01/app/orabackup,注意屬主組名這oracle:dba
chown -R oracle:dba /u01/app/orabackup/
五、測試庫導入(注意源庫和新庫用戶名與表空間要映射)
impdp transactiondb3/123456 dumpfile=transactiondb.dmp directory=expdir logfile=transactiondb3.log REMAP_SCHEMA=transactiondb:transactiondb3 REMAP_TABLESPACE=TBS_TRANSACTION:tbs_sscp_transactiondb3_dat