拓扑园

  • O&M
    • Universal部署
    • PHP+VUE+Laravel相关
  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
    • 标准化文档系列
  • Oracle基础知识
    • LLL的Oracle培训(分类)
    • LLL的docker培训(分类)
    • 标准化文档系列--(分类)
    • Oracle核心经典分析(分类)
    • 图灵小队----(分类并包含以下文章)
    • --MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • --PG安装配置于RHEL/9X系列-运行环境最优配置
    • --自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • --图灵小队—Oracle/PostgreSQL下创建一个用户测试表(自行定义数据行)
    • --图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • --图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • --图灵小队-Oracle常用性能查询SQL语句(文章)
    • --图灵小队-Oracle数据库上线前检查(文章)
    • --图灵小队-Oracle常用SQL语句(文章)
    • --图灵小队—Linux/Oracle脚本/MySQL合集(持续更新)
    • --图灵小队-Oracle技巧记录(文章)
    • ADG
    • RAC
    • ASM
    • OGG
    • RMAN
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
  • MySQL
    • MySQL数据库规范
    • MySQL项目案例
    • MySQL安装配置
    • MYSQL集群项目
    • MySQL常见处理
    • MySQL-Sysbench专题
    • MySQL-Percona Toolkit专题
  • Linux
    • Shell编程
    • kubernetes
    • docker
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 新框架系统集合
    • 工作文档
    • EBS数据文件扩容
    • VMware虚拟化
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • K-Studing
    • D8-Python学习
    • Oracle/MySQl等面试题
    • LG-MySQL
    • LG-Docker/K8S
    • LG-PostgreSQL
    • LG-ORACLE_BBED
    • LG-ORACLE
    • LG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
天高任鸟飞
Oracle/MySQL数据库恢复/数据迁移/生产规范报告技术交流:TEL:18562510581(微信同号);加微信入群
  1. 首页
  2. Oracle基础知识
  3. LLL的Oracle培训
  4. 正文

LLL的数据库培训-17-第二部分—Oracle基础知识培训—第9讲—Oracle11g的逻辑备份—impdp与expdp参数讲解

2021年7月14日 1155点热度 0人点赞 0条评论

目录

  • 一、关于数据泵的解释
    • 1、数据库备份种类模式:逻辑备份和物理备份
      • (1)逻辑备份工具:
      • (2)物理备份工具:
    • 2、什么是数据泵?
    • 3、为什么要引入数据泵?与exp/imp区别
      • (1)exp/imp的缺点
      • (2)数据泵导入导出与传统导入导出的区别
      • (3)exp/imp与expdp/impdp耗时对比
    •  4、数据泵导出4中方式:
  • 二、expdp数据导出准备
    • 1、一般expdp流程图:
    • 2、新建逻辑目录:
    • 3、创建物理目录:
    • 4、授权目录给sys或system用户
    • 5、查看逻辑目录是否创建成功
  • 三、expdp导出数据语法详解
    • 1、用法及解释:
    • 案例:
    • 2、其他参数
      • (1)job_name:指定的任务的名称。
      • (2)content:
      • (3)reuse_dumpfiles:
      • (4)compression:
      • (5)estimate:
      • (6)estimate_only:
      • (7)exclude:
      • (8)include:
      • (9)query:
      • (10)attch:
    • 4、使用场景:
      • (1)导出用户及其对象
      • (2)导出指定表
      • (3)按查询条件导
      • (4)按表空间导
      • (5)导整个数据库
    • 5、常用方式:
  • 四、IMPDP数据导入准备
    • 1、IMPDP数据导入,
    • 2、创建表空间
    • 3、创建用户并授权
    • 4、创建逻辑目录,物理目录
      • (1)新建逻辑目录:
      • (2)创建物理目录:
    • 5、#给用户逻辑目录读写权限
    • 6、#给用户表空间权限
  • 五、impdp详解
    • 1、用法及解释
    • 2、导入的重要参数
      • (1)content:
      • (2)estimate:
      • (3)remap_schema:
      • (4)remap_tablespace:
      • (5)remap_datafile:
    • 3、使用场景
      • (1)导入用户(从用户scott导入到用户scott)
      • (2)导入表(从scott用户中把表dept和emp导入到system用户中)
      • (3)导入表空间
      • (4)导入整个数据库
    • 4、常用方式:
    • 5、数据导入操作举例:
      • (1)创建备份/恢复目录
      • (2)创建表空间和数据文件

LLL的数据库培训—第二部分—Oracle基础知识培训—第9讲—Oracle11g的逻辑备份—impdp与expdp参数讲解

一、关于数据泵的解释

1、数据库备份种类模式:逻辑备份和物理备份

(1)逻辑备份工具:

exp/imp、expdp/impdp

(2)物理备份工具:

热备(rman)、冷备(cp-关闭数据库拷贝)

2、什么是数据泵?

数据泵是oracle数据备份的一种,可以将数据库的数据以逻辑结构导出做备份或迁移。oracle 10g后才被引入,称为data dump技术,工具是expdp和impdp。

3、为什么要引入数据泵?与exp/imp区别

在10g之前,常用的导入/导出软件是exp/imp,但是它有一些缺点。

(1)exp/imp的缺点

最大的缺点就是速度慢、效率低。当这种方式用于企业级的项目中的时候,缺点就暴露出来了。

(2)数据泵导入导出与传统导入导出的区别

--EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。

--EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。

--IMP只适用于EXP导出文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件。

--expdp/impdp方式导入导出速度快

--expdp/impdp可以跨平台执行(如从linux导出,导入到windows等)

--当数据库在read-only状态时,exp可以导出,expdp无法直接导出表(需要向数据库写入参数,但是可以通过借助其他open模式的库,先写入此库,再导出)

(3)exp/imp与expdp/impdp耗时对比

 4、数据泵导出4中方式:

(1)全库

(2)用户

(3)可传输表空间

(4)表

二、expdp数据导出准备

请自行修改目录路径和自定义的表名,否则出现错误很难查找~

1、一般expdp流程图:

2、新建逻辑目录:

最好以sys或system等管理员创建逻辑目录,登录后sql执行:

create directory backup_PRD as '/backup/expdp';

3、创建物理目录:

[root@yczbora~]# mkdir -p /backup/expdp
[root@yczbora~]# chown -R oracle:oinstall /backup/expdp

4、授权目录给sys或system用户

GRANT READ,WRITE ON DIRECTORY backup_PRD to system;
GRANT READ,WRITE ON DIRECTORY backup_PRD to mes_prd;

5、查看逻辑目录是否创建成功

sql>select * from dba_directories;

三、expdp导出数据语法详解

1、用法及解释:

expdp 用户名/密码@ip地址/实例  [属性]

ip地址不写默认就是本地
userid=test/test                       --导出的用户,本地用户!!
directory=dmpfile                      --导出的逻辑目录,一定要在oracle中创建完成的,并且给用户授权读写权限;供转储文件和日志文件使用的目录对象。
dumpfile=xx.dmp                        --导出的数据文件的名称,如果想在指定的位置的话可以写成dumpfile=/home/oracle/userxx.dmp
logfile=xx.log                         --日志文件,如果不写这个参数的话默认名称就是export.log,可以在本地的文件夹中找到
schemas=userxx                         --使用dblink导出的用户不是本地的用户,需要加上schema来确定导出的用户,类似于exp中的owner,但还有一定的区别
EXCLUDE=TABLE:"IN('T1','T2','T3')"     --exclude 可以指定不导出的东西,table,index等,后面加上不想导出的表名
network_link=db_local                  --这个参数是使用的dblink来远程导出,需要指定dblink的名称

案例:

(1)导全库

[oracle@yczbora expdp]$ expdp system/oracle directory=backup_PRD dumpfile=20210721-2_full_expdp.dmp logfile=20210721-2_full_expdp.log full=y

(2)按用户导

[oracle@yczbora expdp]$ expdp system/oracle directory=backup_PRD dumpfile=20210721_expdp.dmp logfile=20210721_expdp.log schemas=test

2、其他参数

(1)job_name:指定的任务的名称。

(2)content:

指定要导出的数据, 其中有效关键字值为: (ALL), DATA_ONLY 和 METADATA_ONLY,当设置content为ALL 时,将导出对象定义及其所有数据;

DATA_ONLY时,只导出对象数据;为METADATA_ONLY时,只导出对象定义 。

(3)reuse_dumpfiles:

如果导出文件已经存在,是否覆盖。

(4)compression:

压缩导出文件。

(5)estimate:

指定估算被导出表所占用磁盘空间分方法,默认值是BLOCKS

(6)estimate_only:

是否只估算导出占用的磁盘空间,而不进行真正的导出,默认是N。

(7)exclude:

用于指定执行操作时要排除对象类型或相关对象,用法:

EXCLUDE=object_type[:name_clause] [,….]

(8)include:

用于指定执行操作时要包含的对象类型或相关对象,用法:

INCLUDE=object_type[:name_clause] [,….]

(9)query:

导出符合条件的行。

(10)attch:

连接到现有的作业,可以用在中断导出任务后重新启动导出任务。

4、使用场景:

(1)导出用户及其对象

expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp directory=dump_dir logfile=expdp.log;

(2)导出指定表

expdp scott/tiger@orcl tables=emp,dept dumpfile=expdp.dmp directory=dump_dir logfile=expdp.log;

(3)按查询条件导

expdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp tables=emp query='where deptno=20' logfile=expdp.log;

(4)按表空间导

expdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmp tablespaces=temp,example logfile=expdp.log;

(5)导整个数据库

用system,普通用户没有system数据的权限,如果给了普通用户dba权限,也可以可以导出的。

expdp system/123@127.0.0.1/orcl directory=dump_dir dumpfile=ly.dmp full=y  logfile=expdp.log;

5、常用方式:

--全库导

expdp system/1qaz2WSX@mesorcl DIRECTORY=backup_prd DUMPFILE=jshy-20210315_full.dmpdp logfile=172.18.1.49-20210315_full_expdp-3.log full=y compression=all

--单用户导

expdp system/1qaz2WSX@mesorcl DIRECTORY=backup_prd DUMPFILE=jshy-20210315_full.dmpdp logfile=172.18.1.49-20210315_full_expdp-3.log schemas=mes_prd

导出完成后,物理路径下生成了一个 dmp文件;

四、IMPDP数据导入准备

1、IMPDP数据导入,

在正式导入数据前,要先确保要导入的用户已存在,如果没有存在,请先用下述命令进行新建用户

流程:

2、创建表空间

格式: create tablespace 表间名 datafile '数据文件名' size 表空间大小

create tablespace data_test datafile 'e:\oracle\oradata\test\test.dbf' size 2000M;

3、创建用户并授权

格式: create user 用户名 identified by 密码 default tablespace 表空间表;

create user mes_prd identified by study default tablespace data_test;

4、创建逻辑目录,物理目录

(1)新建逻辑目录:

最好以sys或system等管理员创建逻辑目录,登录后sql执行:

create directory backup_PRD as '/backup/expdp';

(2)创建物理目录:

[root@yczbora~]# mkdir -p /backup/expdp
[root@yczbora~]# chown -R oracle:oinstall /backup/expdp

5、#给用户逻辑目录读写权限

sql>grant read,write on directory backup_PRD to mes_prd;

6、#给用户表空间权限

sql>grant dba,resource,unlimited tablespace to mes_prd;

五、impdp详解

1、用法及解释

impdp 用户名/密码@ip地址/实例  [属性]

ip地址不写默认就是本地

userid=test/test                       --导出的用户,本地用户!!
directory=dmpfile                      --导出的逻辑目录,一定要在oracle中创建完成的,并且给用户授权读写权限;供转储文件和日志文件使用的目录对象。
dumpfile=xx.dmp                        --导出的数据文件的名称,如果想在指定的位置的话可以写成dumpfile=/home/oracle/userxx.dmp
logfile=xx.log                         --日志文件,如果不写这个参数的话默认名称就是export.log,可以在本地的文件夹中找到
schemas=userxx                         --使用dblink导出的用户不是本地的用户,需要加上schema来确定导出的用户,类似于exp中的owner,但还有一定的区别
EXCLUDE=TABLE:"IN('T1','T2','T3')"     --exclude 可以指定不导出的东西,table,index等,后面加上不想导出的表名
network_link=db_local                  --这个参数是使用的dblink来远程导出,需要指定dblink的名称

2、导入的重要参数

(1)content:

指定要加载的数据, 其中有效关键字值为: (ALL), DATA_ONLY 和 METADATA_ONLY,

当设置content为ALL 时,将加载对象定义及其所有数据;

DATA_ONLY时,只加载对象数据;为METADATA_ONLY时,只加载对象定义 。

(2)estimate:

估算所占用磁盘空间分方法.默认值是BLOCKS

(3)remap_schema:

用于将对象从一个用户下导入到另一个用户下。

(4)remap_tablespace:

用于将对象从一个表空间下导入到另一个表空间下。

(5)remap_datafile:

用于在不同文件系统的平台间,切换数据文件路径。

3、使用场景

(1)导入用户(从用户scott导入到用户scott)

impdp system/123@orcl directory=dump_dir dumpfile=expdp.dmp schemas=scott logfile=impdp.log;

(2)导入表(从scott用户中把表dept和emp导入到system用户中)

impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmp tables=scott.dept,scott.emp remap_schema=scott:system logfile=impdp.log table_exists_action=replace (表空间已存在则替换);

(3)导入表空间

impdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmp tablespaces=example logfile=impdp.log;

(4)导入整个数据库

impdb system/manager@orcl directory=dump_dir dumpfile=full.dmp full=y logfile=impdp.log;

4、常用方式:

--导入某个用户

impdp system/1qaz2WSX dumpfile=jshy-20210315_full.dmpdp logfile=jshy-20210315_full.dmpdp.log DIRECTORY=backup_mes SCHEMAS=MES_PRD EXCLUDE=STATISTICS

5、数据导入操作举例:

(1)创建备份/恢复目录

mkdir -p /backup/expdp

(2)创建表空间和数据文件

A、创建MES_PRD 永久表空间

create tablespace MES_PRD datafile '/oracle/app/oracle/oradata/mesorcl/MES_PRD_DATA.dbf' size 4000M autoextend on next 500M maxsize unlimited logging extent management local autoallocate segment space management auto;
ALTER TABLESPACE MES_PRD ADD DATAFILE '/oracle/app/oracle/oradata/mesorcl/MES_PRD_DATA01.dbf' SIZE 4000M AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED; 
ALTER TABLESPACE MES_PRD ADD DATAFILE '/oracle/app/oracle/oradata/mesorcl/MES_PRD_DATA02.dbf' SIZE 4000M AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED; 
ALTER TABLESPACE MES_PRD ADD DATAFILE '/oracle/app/oracle/oradata/mesorcl/MES_PRD_DATA03.dbf' SIZE 4000M AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED; 
ALTER TABLESPACE MES_PRD ADD DATAFILE '/oracle/app/oracle/oradata/mesorcl/MES_PRD_DATA04.dbf' SIZE 4000M AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED; 
ALTER TABLESPACE MES_PRD ADD DATAFILE '/oracle/app/oracle/oradata/mesorcl/MES_PRD_DATA05.dbf' SIZE 4000M AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED; 
ALTER TABLESPACE MES_PRD ADD DATAFILE '/oracle/app/oracle/oradata/mesorcl/MES_PRD_DATA06.dbf' SIZE 4000M AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED;

B、创建MES_PRD_TEMP_NEW 临时表空间

create temporary tablespace MES_PRD_TEMP_NEW TEMPFILE '/oracle/app/oracle/oradata/mesorcl/MES_PRD_TEMP_NEW.dbf' size 1000M reuse autoextend on next 200M maxsize unlimited;

C、创建MES_MM 永久表空间文件

create tablespace MES_MM datafile '/oracle/app/oracle/oradata/mesorcl/MES_MM_DATA.dbf' size 4000M autoextend on next 500M maxsize unlimited logging extent management local autoallocate segment space management auto;

D、创建MES_MM_TEMP 临时表空间文件

create temporary tablespace MES_MM_TEMP TEMPFILE '/oracle/app/oracle/oradata/mesorcl/MES_MM_TEMP.dbf' size 500M reuse autoextend on next 20M maxsize unlimited;

E、创建用户

create user MES_PRD identified by mes800 default tablespace MES_PRD temporary tablespace MES_PRD_TEMP_NEW;

F、创建备份/恢复目录变量

create directory backup_PRD as '/backup/expdp';

G、给用户授权

grant connect,dba,resource to MES_PRD ;
GRANT READ,WRITE ON DIRECTORY backup_PRD to MES_PRD;
GRANT READ,WRITE ON DIRECTORY backup_PRD to system;

(3)数据导入:

impdp system/1qaz2WSX dumpfile=jshy-20210315_full.dmpdp logfile=jshy-20210315_full.dmpdp.log DIRECTORY=backup_mes SCHEMAS=MES_PRD EXCLUDE=STATISTICS
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2022年8月26日

admin

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号