最近发现很多人都不知道数据泵,其实数据泵在安装完oracle时,就会有一个impdp,expdp(和exp、imp同级目录)的执行程序,我们可以通过数据泵来完成导入导出数据库,imp和exp导入导出耗时久,在一些大型项目中,需要备份数据库,那如果继续用传统的导入导出会耗损很多的时间,并且还不一定会成功,经过了漫长的等待告诉你执行不成功,我想这时候奔溃的心都有了,所以这里推荐大家使用数据泵的操作方式,下面SQL是我在使用过程中反复测试总结出来的,在执行过程中需要使用到的一些sql,方便大家使用,具体的使用教程请自行百度大神们写的参数介绍,api等文档
这篇文章只是针对了解数据泵的同学们,但是可能SQL记不住,混淆做出的总结,希望对大家有所帮助。
select * from all_directories
drop user PT cascade
select tablespace_name from user_tablespaces
DROP TABLESPACE DEMOSPACE INCLUDING CONTENTS AND DATAFILES;
/创建表空间
CREATE TABLESPACE zhpt
DATAFILE 'D:\WorkSpace\oracle\zhpt' size 30720M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
// 设置表空间自动增长
ALTER DATABASE DATAFILE 'D:\WORKSPACE\ORACLE\zhpt' AUTOEXTEND ON;
ALTER DATABASE DATAFILE 'D:\WORKSPACE\ORACLE\zhpt' AUTOEXTEND ON NEXT 200M ;
// 创建用户并且设置默认表空间
create user zhpt identified by 1 default tablespace zhpt;
// 赋予新用户权限
grant connect,resource to zhpt;
grant create any sequence to zhpt;
grant create any table to zhpt;
grant delete any table to zhpt;
grant insert any table to zhpt;
grant select any table to zhpt;
grant unlimited tablespace to zhpt;
grant execute any procedure to zhpt;
grant update any table to zhpt;
grant create any view to zhpt;
grant dba to zhpt;
// 查询所有文件夹目录
select * from all_directories
// 创建数据泵读取目录
CREATE OR REPLACE DIRECTORY dump_dir as 'D:\oracleData'
// 导入数据
impdp system/Admin123@orcl directory=DUMP_DIR dumpfile=PTSYS.DMP remap_tablespace=PTSYS:zhpt remap_schema=SYSPT:zhpt table_exists_action=replace
// 版本号,如果高版本数据库导入到低版本数据库中需要配置
version=10.2.0.4.0
11.1.0.6.0
// 查询所有表空间对应大小
select tablespace_name, sum(bytes) / 1024 / 1024 from dba_free_space group by tablespace_name;
// 查询所有表空间是否自动增长
SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files;
// 导出表空间
expdp rhoa/1@orcl directory=EX_DIR dumpfile=rhoa_lc.dmp logfile=rhoa_lc.log schemas=rhoa