oracle数据泵导库相关笔记

前端之家收集整理的这篇文章主要介绍了oracle数据泵导库相关笔记前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、导出笔记

1.用sysdba用户登录数据库

2.和exp和imp相比,需要创建directory目录,导出文件和导入文件都放在这个目录里,先在实体盘符e盘下创建ys文件夹先

创建语句为:create or replace directory ys as 'E:\ys';

查询所有目录:select * from dba_directories; 默认会有个data_pump_dir目录,是在oracle安装目录下,

3.管理员权限进入cmd命令窗口

4.输入导出命令:expdp JOBA/JOBA@orcl directory=ys dumpfile=JOBA_20170728.dmp schemas=JOBA logfile=JOBA_20170728.log content=Metadata_only version=10.2.0.1.0

解析:JOBA/JOBA@orcl:为导出数据库用户名密码及数据库

directory=ys :指定目录,这个目录一定要先创建实体目录,再在数据库里执行创建语句,否则数据库提示创建成功,导出还是会有问题

dumpfile=JOBA_20170728.dmp : 导出的文件名,可以自己写

schemas=JOBA :指定对象为JOBA,不指定则为全部,这里指定了,才能在导入时使用remap_schemas属性,否则会导入不成功

logfile=JOBA_20170728.log : 导出的日志文件,可以自己写

content=Metadata_only : content有【Metadata_only】-- 只导出对象定义,元数据;【data_only】-- 只导出数据;【all】全部导出,不写该属性也是全导入

version=10.2.0.1.0 :高版本往低版本导入是需要加,但在后面实验中,发现并没有什么卵用,还是导入失败

二、导入笔记

1.创建表空间

创建语句为:

create tablespace TS_JOBB datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TS_MOU.DBF' size 50m autoextend on next 50m maxsize 20480m extent management local;

删除语句为:drop tablespace TS_JOBB including contents and datafiles;

2.创建用户,分配表空间

创建语句:create user JOBB identified by "JOBB" default tablespace TS_JOBB;

也可以分开,先创建用户,再分配表空间:create user JOBB identified by "JOBB"; alter user JOBB default tablespace TS_JOBB;

3.给用户授权

授权语句:

grant create session to JOBB; //数据库链接权限
grant all privileges to JOBB; //所有数据库权限

grant read,write on directory ys to JOBA; //这是赋予目录的读写权限,如果没有赋这个权限,会导致导入时报错为,找不到目录

4.管理员权限登陆cmd

5.执行导入命令:impdp JOBB/JOBB@192.168.0.123/ORCL directory=ys dumpfile=JOBB_20170728.DMP logfile=JOBB_20170728.log remap_schema=JOBA:JOBB remap_tablespace=TS_JOBA:TS_JOBB table_exists_action=replace version=10.2.0.1.0


PS:只有在导出时指定schemas,才能在导入时用remap_schemas属性,否则会报ORA-39165:未找到方案;

跨版本导入只能导最简单的数据和表,带分区的表只要是10g不支持的分区方式,都导入报错,11g支持的grant alter database link,在10g里也不支持

所以本次导入数据以失败告终,仅此笔记

猜你在找的Oracle相关文章