针对Oracle数据库的导入导出,有多种方式,也有多种工具,如exp,imp,plsql工具的导出,这里想讲的是expdp及impdp 导出和导入,这两个命令是服务端导出命令,即只能在服务器端进行导入或导出。
一、导出
1、expdp命令
使用方法:
expdp 用户/密码@ORACLE_SID schemas=导出用户名 dumpfile=生成的dmp文件名 DIRECTORY=处理逻辑地址 logfile=处理逻辑地址:生成的日志文件名 version=导出的数据库版本(如果不跨版本导入导出不用此参数)
说明:这里的version是指需要导入的数据库版本,一般只有高版本的数据库,导入到低版本的数据库时,才需要该参数,且该version是指的低版本的数据库版本。
如:
expdp test/test schemas=testdumpfile=test20190513expdp.dmp DIRECTORY=DATA_PUMP_DIR logfile=DATA_PUMP_DIR:test20190513expdp.log;
ps: DATA_PUMP_DIR 可通过select * from dba_directories查询得到
二、导入
1、创建表空间和临时表空间
CREATE TABLESPACE LOGGING DATAFILE ‘/u01/app/oracle/oradata/test /test .dbf’ SIZE 1024M AUTOEXTEND ON NEXT 500M EXTENT MANAGEMENT LOCAL;
create temporary tablespace test_tmp tempfile ‘/u01/app/oracle/oradata/test /test _tmp.dbf’ size 100m autoextend on next 100m maxsize 20480m extent management local;
ps: 表空间数据存放目录可通过 select name from v$datafile查询得到。
2、创建用户及赋权
CREATE USER testIDENTIFIED BY test
default tablespace test
temporary tablespace test_tmp;
grant dba to test;
grant dba,create session,resource,connect to test;
grant select any dictionary to test;
3、导入命令impdp
使用方法
impdp 新用户/密码@ORACLE_SID remap_tablespace=原表空间:新表空间 remap_schema=原用户:新用户 directory=dmp文件逻辑地址 dumpfile=dmp文件名称 logfile=日志逻辑地址:日志文件名
如:
impdp test/test transform=segment_attributes:n remap_tablespace=test:test remap_schema=test:test directory=DATA_PUMP_DIR dumpfile=test20190513expdp.dmp logfile=DATA_PUMP_DIR:test20190513expdp.log;