您的位置:首页 > 数据库 > Oracle

oracle数据泵导库相关笔记

2017-07-28 18:04 302 查看
一、导出笔记

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 导库 expdp impdp