【Oracle】Oracle导入导出dmp文件

文章目录

  • 前言
  • 一、什么是dmp?
  • 二、imp/impdp、exp/expdp对比及示例
    • 1.区别
    • 2.imp/impdp对比及示例
      • a. imp
      • b. impbp
    • 3.exp/expdp对比及示例
      • a. exp
      • b.expdp
    • 3.其他事项
  • 三、执行导入导出前置条件
    • 1.创建角色并授权
    • 2.创建目录映射


前言

在工作中,经常会遇到需要备份库,库表迁移的场景,对于oracle会使用dmp文件进行数据迁移和备份。基于一次迁移数据库的经历,整理记录dmp相关知识点,供后续工作参考使用。


一、什么是dmp?

dmp是"Data Pump"的缩写,它是Oracle独有的一种数据导入导出文件格式。.dmp文件是一种数据库导出文件的扩展名,通常用于存储数据库中的表、数据、视图等对象的结构和内容。是一种特定数据库系统的二进制信息,因此不能直接用文本编辑器打开。

●.dmp文件一般包含数据定义语言(DDL)和数据操作语言(DML)。具体来说,DDL是用来定义数据库对象,例如表、视图、用户等等;DML则是用来操作这些对象,例如插入、删除、更新数据等。常用来进行数据库迁移或者备份操作。

●其他数据库也有类似备份文件,比如MySQL数据库使用.sql文件或者.dump文件来表示数据库导出文件,而SQL Server数据库使用.bak文件来表示备份文件。

二、imp/impdp、exp/expdp对比及示例

imp/exp(Oracle导入导出实用程序)是使用传统的导出技术,而impdp/expdp(数据泵导入实用程序)是使用Oracle Data Pump技术。Data Pump是Oracle在10g版本中引入的高性能、可扩展的导入导出工具,即 Oracle 10g 之前的版本不可以使用 impdp/expdp。

1.区别

●imp和exp是传统的导入和导出工具,而impdp和expdp是数据泵工具,采用了新的架构和方法。

●imp和exp是基于基于二进制文件的,而impdp和expdp则是使用数据泵作业来执行数据移动操作,可以提供更高的性能和扩展性。

●imp和exp不支持在分布式环境中执行,而impdp和expdp可以在分布式环境中执行。

●数据泵通常指的是一种高性能的数据导入和导出工具,用于在数据库系统中进行快速的数据迁移和加载操作。数据泵工具能够提供比传统的导入导出工具更快速、更灵活的数据传输方式,通常支持并行处理、大容量数据传输和高性能加载等特点。

2.imp/impdp对比及示例

在这里插入图片描述

a. imp

可通过 imp help=y 命令查询相关参数

  • imp常用参数说明,可以根据需要指定不同的参数来控制导入的方式和内容。
参数使用说明
TOUSER指定要导入数据的用户名。
FROMUSER指定导入数据来自的用户名。
FILE指定要导入的文件路径和名称。例如,FILE=/path/to/import.dmp。
IGNORE指定是否忽略导入过程中遇到的错误。可以是Y或N。
INDEXES指定是否导入索引。可以是Y或N。
ROWS控制是否导入表中的行数据。可以是Y或N。
DATA_ONLY指定只导入数据,不包括对象定义。可以是Y或N。
IGNORECASE指定导入时是否忽略大小写。可以是Y或N。
FULL指定导入前先删除现有对象。可以是Y或N。
LOG指定导入操作的日志文件路径和名称。例如,LOG=/path/to/import.log。
BUFFER指定读取导入文件时的缓冲区大小。
REMAP_SCHEMA指定要将导入的对象映射到的新模式名。
REMAP_TABLESPACE指定要将导入的表空间映射到的新表空间名。
TABLES指定要导入的特定表。举例:IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N(or TABLES=(T1:P1,T1:P2) 表分区可用)
  • 命令格式:
imp 用户名/密码@数据库实例 FILE=导入文件的路径.dmp FROMUSER=源用户名 TOUSER=目标用户名
  • 命令示例:
--windows环境下
imp username/password@SERVICENAME:1521 file=e:\temp.dmp rows=y
log=E:/test/dmp/kf_workflow_0512.log full = y;
-linux环境路径进行替换

b. impbp

可通过 impbp help=y 命令查询相关参数

  • impbp常用参数说明,可以根据需要指定不同的参数来控制导入的方式和内容。
参数使用说明
ATTACH指定是否附加到正在运行的 impdp 作业。
DIRECTORY指定导入和导出文件所在的目录对象。
DUMPFILE指定要导入的数据泵文件名。
REMAP_DATAFILE指定要将源数据文件映射到的目标数据文件。
REMAP_SCHEMA指定要将源模式映射到的目标模式。
REMAP_TABLESPACE指定要将源表空间映射到的目标表空间。
TABLE_EXISTS_ACTION对于已存在的表,指定要采取的操作(SKIP、APPEND、TRUNCATE、REPLACE)。
TRANSFORM指定要应用的数据转换选项。
CONTENT指定要导入的对象类型(ALL、DATA_ONLY、METADATA_ONLY)。
PARALLEL指定并行执行导入作业的程度。
LOGFILE指定导入操作的日志文件名。
INCLUDE/EXCLUDE指定要导入或排除的对象。
QUERY指定导入时使用的查询条件。For example, QUERY=employees:“WHERE department_id > 10”.
  • 命令格式:
--命令参考
impdp 用户名/密码@数据库实例 DIRECTORY=目录名称 DUMPFILE=导入文件的名称.dmp REMAP_SCHEMA=源用户名:目标用户名
--举例
impdp user/password@SID DIRECTORY=DMPDATA DUMPFILE=fileName.dmp remap_tablespace=um_dev:um remap_schema=u_um_dev:u_um

参数说明:

  1. user/password@SID 用户名/用户密码@数据库实例;
  2. directory=dmpdata 导入的目录,DMPDATA为数据库虚拟路径(参考目录三中的目录映射),即导入dmpdata下的文件也就是’/data/u01/dmpdata/';
  3. dumpfile=filename.dmp 导入的文件名,结合上面的 directory=dmpdata 就将’/data/u01/dmpdata/filename.dmp’;导入目标服务器(需要注意大小写);
  4. remap_tablespace=um_dev:um----->um_dev:导出表空间 ,um:导入表空间;
  5. remap_schema=u_um_dev:u_um ----> u_um_dev:导出用户 u_um:导入用户。
  • 命令示例:
impdp kf_gs_workflow_0604/a@gfmisdev directory='DUMP_DIR' DUMPFILE='GSU_WORKFLOW_20240604.dmp' LOGFILE='GSU_WORKFLOW_20240604.log' REMAP_SCHEMA=GSU_WORKFLOW:kf_gs_workflow_0604 REMAP_TABLESPACE=GRP:USERS

3.exp/expdp对比及示例

在这里插入图片描述

a. exp

可通过 exp help=y 命令查询相关参数

  • imp常用参数说明,可以根据需要指定不同的参数来控制导入的方式和内容。
参数使用说明
TABLES指定要导出的表格。例如,TABLES=table1,table2。
FILE指定导出文件的路径和名称。例如,FILE=/path/to/export.dmp。
LOG指定导出过程的日志文件路径和名称。例如,LOG=/path/to/export.log。
QUERY指定要导出数据的查询条件。例如,QUERY=“ SELECT * FROM TABLE WHERE column_name=‘value’”。
ROWS控制是否导入表中的行数据。可以是Y或N。
STATISTICS指定是否导出统计信息。可以是ALL、ESTIMATE或NONE。
GRANTS指定是否导出对象的授权信息。可以是Y、N或FULL。
CONSISTENT指定是否导出一致性视图。可以是Y或N。
INDEXES指定是否导出索引。可以是Y或N。
COMPRESS指定是否压缩导出文件。可以是Y或N。
  • 命令格式:
exp username/password@[database] FILE=[导出文件路径] TABLES=[要导出的表名]
  • 命令示例:
--完全导出:
exp user/password@SID file=E:/test/dmp/kf_workflow_0512.dmp full=y--导出A、B表
exp user/password@SID file= E:/test/dmp/kf_workflow_0512.dmp tables=(A,B)

b.expdp

可通过 expdp help=y 命令查询相关参数

  • imp常用参数说明,可以根据需要指定不同的参数来控制导入的方式和内容。
参数使用说明
SCHEMAS指定要导出的模式名。例如,SCHEMAS=schema1,schema2。
INCLUDE指定要包括的对象类型。例如,INCLUDE=TABLE,VIEW将只导出表和视图。
EXCLUDE指定要排除的对象类型。例如,EXCLUDE=INDEX将排除索引的导出。
DIRECTORY指定导出文件的目录对象。例如,DIRECTORY=datapump_dir。
DUMPFILE指定导出文件的名称。例如,DUMPFILE=export.dmp。
LOGFILE指定导出操作的日志文件名称。例如,LOGFILE=export.log。
PARALLEL指定并行导出的进程数。
DIRECTORY指定导出文件的目录对象。例如,DIRECTORY=datapump_dir。
COMPRESSION指定导出文件是否压缩。可以是ALL、DATA_ONLY、METADATA_ONLY或NONE。
CONTENT指定导出内容。可以是ALL、DATA_ONLY、METADATA_ONLY或METADATA_ONLY_EXCLUDING_DATA。
QUERY指定导出的数据查询条件。例如,QUERY=“WHERE column_name=‘value’”。
FILESIZE指定导出文件的最大文件大小。
JOB_NAME指定导出作业的名称。
VERSION给定系统版本号的对象。例如,VERSION=SCN,SCN为版本号。
  • 命令格式:
expdp 用户名/密码@数据库实例 DIRECTORY=目录名称 DUMPFILE=导出文件名.dmp   EXCLUDE=TABLE:"IN ('table1','table2')"  INCLUDE=TABLE:"IN ('EMPLOYEES', 'DEPARTMENTS')"   FULL=Y
  • 命令示例:
--按用户导
expdp user/password@SID schemas=u_mom_um dumpfile=expdp.dmp directory=dmp logfile=expdlog.log;--按表名导
expdp user/password@SID tables=test1,test2 dumpfile=expdp.dmp directory=dmp logfile=expdlog.log;--按查询条件导
expdp user/password@SID directory=dmp dumpfile=expdp.dmp Tables=test query='WHERE id<20' logfile=expdlog.log;--按表空间导
expdp user/password@SID directory=dmp dumpfile=expdp.dmp TABLESPACES={#表空间1},{#表空间2} logfile=expdlog.log;--导整个库
expdp user/password@SID directory=dmp dumpfile=expdp.dmp FULL=y logfile=expdlog.log;
  • 具体命令示例:
--按照表空间导
expdp user/password@SID directory=DMPDATA dumpfile=tbs2022.dmp TABLESPACES=tbs  logfile=expdlog.log;--用EXCLUDE、INCLUDE时,对应的符号需要进行转译
expdp GSU_ELEMENT/yth2023 schemas=GSU_ELEMENT dumpfile=GSU_ELEMENT_20240604.dmp EXCLUDE=TABLE:\"IN\(\'GFM_TB_RESULT\',\'GAP_PAYEE_ACCOUNT\'\)\" directory=GSZX logfile=GSU_ELEMENT_20240604.log

3.其他事项

  1. 在执行导入导出时需要进入oracle去执行。
--linux 
su oracle ;--到这就可执行导入导出
sqlplus / as sysdba;--windows: 
win + r,cmd,enter; --到这可执行导入导出
sqlplus 用户名/口令@数据库名 as sysdba;
  1. 在执行导入、导出的命令时,可通过nohup来执行,nohup是一个在Unix和类Unix操作系统上用来忽略HUP(挂起)信号并运行命令的实用程序。通过使用nohup,您可以使命令在后台运行,即使当前Shell终端窗口关闭,也能继续运行。
  2. 使用exp 导出文件需要使用imp导入,数据泵类型需要一致。
  3. EXCLUDE、INCLUDE时,对应的符号需要进行转译;

三、执行导入导出前置条件

如果数据库用户已经存在,并有相关目录跳过此步骤。

1.创建角色并授权

--创建角色
create user orcl identified by orclorcl;--授权
grant dba ,connect ,resource ,select any table,create view to orcl;--查看用户创建情况
select * from all_users;

2.创建目录映射

 CREATE DIRECTORY my_dir AS '/path/to/directory';
  1. 查询现有目录是否满足条件
select * from DBA_DIRECTORIES;
  1. 创建文件夹
--linux
mkdir /data/u01/dmpdata--windows下自行创建文件,记下目录
  1. 文件夹创建后给oracle用户授权
chown -R oracle /data/u01/dmpdata
  1. 数据库里执行SQL创建导入/导出目录(目录映射)
--目录对象在数据库中注册,并映射到实际物理目录的路径。
create or replace directory DMPDATA as '/data/u01/dmpdata';
  1. 为建立的目录赋权限,须要以其余用户运行,建议在sys用户下执行
grant read,write on directory DMPDATA to {#用户名};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/25822.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React中的 Scheduler

为什么需要调度 在 React 中&#xff0c;组件最终体现为 Fiber&#xff0c;并形成 FiberTree&#xff0c;Fiber 的目的是提高渲染性能&#xff0c;将原先的 React 渲染任务拆分为多个小的微任务&#xff0c;这样做的目的是可以灵活的让出主线程&#xff0c;可以随时打断渲染&a…

定个小目标之刷LeetCode热题(10)

这道题属于一道中等题&#xff0c;看来又得背题了&#xff0c;直接看题解吧&#xff0c;有两种解法 第一种动态规划法 状态&#xff1a;dp[i][j] 表示字符串s在[i,j]区间的子串是否是一个回文串 状态转移方程&#xff1a;当s[i] s[j] && (j - i < 2 || dp[i 1]…

讨论C++类与对象

讨论C类与对象 C语言结构体和C类的对比类的实例化类对象的大小猜想一猜想二针对上述猜想的实践 this指针不同对象调用成员函数 类的6个默认成员函数构造函数析构函数拷贝构造函数浅拷贝和深拷贝 赋值运算符重载 初始化列表初始化顺序 C语言结构体和C类的对比 在C语言中&#x…

对猫毛过敏?怎么有效的缓解过敏症状,宠物空气净化器有用吗?

猫过敏是一种常见的过敏反应&#xff0c;由猫的皮屑、唾液或尿液中的蛋白质引起。这些蛋白质被称为过敏原&#xff0c;它们可以通过空气传播&#xff0c;被人体吸入后&#xff0c;会触发免疫系统的过度反应。猫过敏是宠物过敏中最常见的类型之一&#xff0c;对许多人来说&#…

xilinx的Aurora8B10B的IP仿真及上板测试(高速收发器十七)

前文讲解了Aurora8B10B协议原理及xilinx相关IP&#xff0c;本文讲解如何设置该IP&#xff0c;并且通过示例工程完成该IP的仿真和上板。 1、生成Aurora8B10B IP 如下图所示&#xff0c;首先在vivado的IP catalog中输入Aurora 8B10B&#xff0c;双击该IP。 图1 查找Aurora 8B10…

基于STM32开发的智能农业监控系统

目录 引言环境准备智能农业监控系统基础代码实现&#xff1a;实现智能农业监控系统 4.1 土壤湿度传感器数据读取4.2 温湿度传感器数据读取4.3 水泵与风扇控制4.4 用户界面与数据可视化应用场景&#xff1a;农业环境监测与管理问题解决方案与优化收尾与总结 1. 引言 随着智能…

Map深度学习

Map Map是一个键值对的集合&#xff0c;和object类似&#xff0c;Map作为构造函数&#xff0c;可以通过全局对象获取到。需要通过new操作创建实例对象&#xff0c;直接调用会报错。Map构造函数接受一个iterable类型的函数&#xff0c;用来初始化Map。 var m new Map([[1, &qu…

央视频官方出品,AI高考智友助你成就高考梦想

大家好&#xff0c;我是小麦。今天分享一款由央视频官方出品的AI工具套件&#xff0c;不仅支持直接使用&#xff0c;同时还具备了开发能力&#xff0c;是一款非常不错的AI产品工具&#xff0c;该软件的名称叫做扣子。 扣子是新一代 AI 应用开发平台。无论你是否有编程基础&…

4000亿薪酬被驳回!马斯克再次讨薪

特斯拉CEO埃隆马斯克的一笔巨额财产&#xff0c;将在数日后的特斯拉股东大会上&#xff0c;由股东投票决定何去何从。 事情是这样的。 3.5研究测试&#xff1a;hujiaoai.cn 4研究测试&#xff1a;askmanyai.cn Claude-3研究测试&#xff1a;hiclaude3.com 2018年&#xff0c;特…

linux的持续性学习

安装php 第一步&#xff1a;配置yum源 第二步&#xff1a;下载php。 yum install php php-gd php-fpm php-mysql -y 第三步&#xff1a;启动php。 systemctl start php-fpm 第四步&#xff1a;检查php是否启动 lsof -i :9000 计划任务 作用&am…

智能水位监测识别报警摄像机:保障水域安全的重要利器

随着城市化进程的加速和气候变化的影响&#xff0c;对水域安全的关注日益增加。为了及时监测水位变化并采取相应措施&#xff0c;智能水位监测识别报警摄像机应运而生。本文将介绍这一创新技术的应用和优势。 传统的水位监测方法通常依赖于传感器&#xff0c;但其存在着安装位置…

java+Vue +Spring boot技术开发的UWB高精度定位技术系统源码 uwb定位系统+基站定位

javaVue Spring boot技术开发的UWB高精度定位技术系统源码 uwb定位系统基站定位 系统采用UWB高精度定位技术&#xff0c;可实现厘米级别定位。UWB作为一种高速率、低功耗、高容量的新兴无线局域定位技术&#xff0c;目前应用主要聚焦在室内高精确定位&#xff0c;例如在工业自动…

MySQL限制登陆失败次数配置

目录 一、限制登陆策略 1、Windows 2、Linux 一、限制登陆策略 1、Windows 1&#xff09;安装插件 登录MySQL数据库 mysql -u root -p 执行命令安装插件 #限制登陆失败次数插件 install plugin CONNECTION_CONTROL soname connection_control.dll;install plugin CO…

【已解决】FileNotFoundError: [Errno 3] No such file or directory: ‘xxx‘

&#x1f60e; 作者介绍&#xff1a;我是程序员行者孙&#xff0c;一个热爱分享技术的制能工人。计算机本硕&#xff0c;人工制能研究生。公众号&#xff1a;AI Sun&#xff0c;视频号&#xff1a;AI-行者Sun &#x1f388; 本文专栏&#xff1a;本文收录于《AI实战中的各种bug…

理财-商业保险

目录&#xff1a; 一、保险查询 1、金事通APP 2、商业保险APP 二、平安寿险 1、智能星 2、智富人生A 3、总结 三、保险中的掩藏项 一、保险查询 1、金事通APP 中国银行保险信息技术管理有限公司发挥金融基础设施作用&#xff0c;以“切实让数据多跑路、百姓少跑腿”为…

④-2单细胞学习-cellchat单数据代码补充版(通讯网络)

目录 通讯网络系统分析 ①社会网络分析 1&#xff0c;计算每个细胞群的网络中心性指标 2&#xff0c;识别细胞的信号流模式 ②非负矩阵分解&#xff08;NMF&#xff09;识别细胞的通讯模式 1&#xff0c;信号输出细胞的模式识别 2&#xff0c;信号输入细胞的模式识别 信…

codeforce round951 div2

A guess the maximum 问题&#xff1a; 翻译一下就是求所有相邻元素中max - 1的最小值 代码&#xff1a; #include <iostream> #include <algorithm>using namespace std;const int N 5e4;int a[N]; int n;void solve() {cin >> n;int ans 0x3f3f3f3f;…

基础数据结构 -- 堆

1. 简介 堆可以看做是一种特殊的完全二叉树&#xff0c;它满足任意节点的值都大于或小于其子节点的值。 2. 功能 插入元素&#xff1a;插入新元素时&#xff0c;先将元素放至数组末尾&#xff0c;然后通过上浮算法自底向上调整&#xff0c;使堆保持性质。删除堆顶元素&#xff…

Node安装配置

一、下载 Node官网下载地址&#xff1a;https://nodejs.org/en/ 二、安装 双击上面的msi扩展安装包开始安装&#xff0c;基本一路Next就行了 推荐安装目录自定义&#xff0c;最好不要放在C盘 检查安装是否成功 Win R 快捷键&#xff0c;输入 cmd 打开命令窗口输…

基于Java的超市进销存管理系统

开头语&#xff1a; 你好呀&#xff0c;我是计算机学长猫哥&#xff01;如果有相关需求&#xff0c;文末可以找到我的联系方式。 开发语言&#xff1a; Java 数据库&#xff1a; MySQL 技术&#xff1a; Java JSP Servlet JavaBean 工具&#xff1a; IDEA/Eclipse、…