Oracle使用expdp/impdp遷移數據sql
1、建立邏輯目錄,該命令不會在操做系統建立真正的目錄,最好以system等管理員建立。數據庫
sqlplus / as sysdba; create directory EXPDIR as '/u01/app/orabackup';
2、查看管理理員目錄(同時查看操做系統是否存在,由於Oracle並不關心該目錄是否存在,若是不存在,則出錯)bash
select * from dba_directories;
3、在開發庫給transactiondb用戶賦予在指定目錄的操做權限,最好以system等管理員賦予。服務器
grant read,write on directory EXPDIR to transactiondb;
4、開發庫導出(路徑/u01/app/orabackup)oracle
expdp transactiondb/123456 directory=EXPDIR dumpfile=transactiondb.dmp logfile=transactiondb.log
導出後把dumpfile複製到測試庫的/u01/app/orabackup下。app
新建用戶測試
--建表空間 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;
1、建立邏輯目錄,該命令不會在操做系統建立真正的目錄,最好以system等管理員建立。spa
sqlplus / as sysdba; create directory EXPDIR as '/u01/app/orabackup';
2、查看管理理員目錄(同時查看操做系統是否存在,由於Oracle並不關心該目錄是否存在,若是不存在,則出錯)操作系統
select * from dba_directories;
3、在測試庫給transactiondb3用戶賦予在指定目錄的操做權限,最好以system等管理員賦予。3d
grant read,write on directory EXPDIR to transactiondb3;
4、把.dmp文件傳到測試庫服務器/u01/app/orabackup,注意屬主組名這oracle:dba
chown -R oracle:dba /u01/app/orabackup/
5、測試庫導入(注意源庫和新庫用戶名與表空間要映射)
impdp transactiondb3/123456 dumpfile=transactiondb.dmp directory=expdir logfile=transactiondb3.log REMAP_SCHEMA=transactiondb:transactiondb3 REMAP_TABLESPACE=TBS_TRANSACTION:tbs_sscp_transactiondb3_dat