当所需要导出的文件较小时可以直接使用客户端工具导出为.sql文件。当导出文件较大时,以上方法会很慢。此时就可以使用以下方法,直接上代码,有注释
--create directory 目录名 as '目录路径'
--例:create directory expdp_dmp as 'D:/expdp_dmp'
--数据库中查询表空间
--select * from dba_directories
--导出数据库
expdp testorcl/testorcl@19.45.22.35:1521/orcl directory=DMP dumpfile=testorcl_20180926.dmp logfile=testorcl_20180926.log schemas=ZJDM version=11.2.0.4
--directory 导出目录
--dumpfile 导出文件名
--logfile 导出日志文件名
--schemas 导出用户,默认为导出全部.
--version 指定的是 执行导入 数据库的版本
create tablespace testorcl datafile '/oradata/CRECSC/datafile/testorcl .dbf' size 5G AUTOEXTEND ON NEXT 32M MASIZE UNLIMITED;
--创建用户前要先创建临时表空间和数据库表空间两个表空间,否则用系统默认的表空间会出现一些问题,上为创建表空间,和临时表空间类似
--下位创建临时表空间
--create temporary tablespace 临时表空间名 tempfile ‘临时表空间位置’ size 临时表空间大小 autoextend on next 100m maxsize 10240m extent management local;
CREATE USER LTorcl IDENTIFIED BY LTDM DEFAULT TABLESPACE test_DATA TEMPORARY TABLESPACE test_TEMP;
--创建数据库用户并指定表空间
--create user 用户名identified by 用户密码 default tablespace 所指定的表空间名 temporary tablespace 临时表空间名
GRANT CONNECT,RESOURCE TO LTDM;
GRANT DBA TO LTDM;
--给用户赋权限 grant read,write on directory 目录名 to 需要赋值的用户名
--例:grant read,write on directory expdp_dmp to aaa;
--CONNECT角色:仅具有创建SESSION的权限
--仅具有创建CLUSTER,INDEXTYPE,OPERATOR,PROCEDEURE,SEQUENCE,TABLE,TRIGGER,TYPE的权限。当把ORACLE resource角色授予一个user的时候,还有unlimited tablespace权限,当把resource授予一个role时,就不会授予unlimited tablespace权限。
impdp testorcl/testorcl@17.45.22.35:1521/orcl directory=DATA_PUMP_DIR dumpfile=testorcl20151207.dmp logfile=testorcl20151207.log remap_schema=testorcl:testorcl TABLE_EXISTS_ACTION = REPLACE remap_tablespace = test : test ;
以上可能我整理的比乱,可以参考--https://blog.csdn.net/Cow_cz/article/details/70229929