oracle dmp导入导出

连接oracle数据库

sqlplus SYS/orcl@192.168.X.X/orcl as sysdba

注意:
需要以dba方式连接数据库

创建表空间

create tablespace EDP_TEST datafile 'EDP_TEST.dbf' size 500M autoextend on next 50M maxsize unlimited;

注意:
EDP_TEST表空间名称,根据平台规范需要将表空间名称和项目代码统一。例:项目名称为XPower那么,表空间名称也应该为XPower

小提示
表空间删除脚本

DROP TABLESPACE POSP INCLUDING CONTENTS AND DATAFILES;

表空间文件存储位置:有时候表空间已经删除了,重新创建的时候提示说dbf文件已经存在,可以到表空间文件存储位置手动删除。
查看表空间dbf文件位置

SELECT t1.name,t2.name FROM v$tablespace t1, v$datafile t2 WHERE t1.ts#  = t2.ts# ;

image.png

创建用户

create user EDP_TEST identified by EDP_TEST default tablespace EDP_TEST temporary tablespace temp;

小提示 删除用户脚本

drop user edp_test cascade;

分配权限

GRANT CONNECT, RESOURCE, DBA TO EDP_TEST;

DMP导入导出教程

导出dmp

exp EDP_TEST/EDP_TEST@192.168.X.X/orcl file=d:\EDP_TEST_20161114.dmp

注意 oracle 新版本比如11G默认空表是不导出的,空表指的是没有数据的表。因为oracle11g对空表是不分配segment以节省空间,所以这些表也没能导出来
解决方案请参考oracle 11g 空表导出

导入dmp

imp EDP_TEST/EDP_TEST@192.168.X.X/orcl file=d:\EDP_TEST_20161114.dmp  full=y  

IMPDP和EXPDP

impdp命令

impdp pms/pms directory=DATA_PUMP_DIR dumpfile=PMS2018.DMP logfile=PMS2018.LOG remap_schema=PMS2018:PMS remap_tablespace=PMS2018:PMS 

上述导入脚本中需要注意directory不是我们里的文件夹目录,而是Oracle中的directory概念。可以通过以下sql查询directory 信息


##  查询 DATA_PUMP_DIR目录位置
select directory_name ,directory_path  from dba_directories where directory_name='DATA_PUMP_DIR';

## 创建一个directory 
create directory backup as '/u01/app/oracle/backup/';

需要通过directory_path 确定directory所在的物理目录位置。

通过remap_schema和emap_tablespace参数可以将EXPDP导出的scheme和tablespace导入到新的schema和tablespace.

上述导入脚本就是将 PMS2018导入到了PMS中。

评论

公众号:mumuser

企鹅群:932154986

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×