Oracle使用expdp/impdp迁移数据

Oracle使用expdp/impdp迁移数据sql

1.#如下步骤在开发库执行(expdp导出)

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

 

 

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;

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

相关文章
相关标签/搜索