当前位置: 首页 > news >正文

Oracle exp和imp命令导出导入dmp文件

目录

  • 一. 安装 instantclient-tools 工具包
  • 二. exp 命令导出数据
  • 三. imp 命令导入数据
  • 四. expdp 和 impdp 命令


一. 安装 instantclient-tools 工具包

⏹官方网站

  • https://www.oracle.com/cn/database/technologies/instant-client/linux-x86-64-downloads.html

⏹因为我们在 Oracle Database 21c Express Edition数据库 和 Sqlplus客户端安装配置 这篇文章中使用的oracle服务器和客户端都是21版本的,因此我们的 instantclient-tools 工具包也使用21版本。

  • 获取安装包 instantclient-tools-linux.x64-21.16.0.0.0dbru.zip
  • https://download.oracle.com/otn_software/linux/instantclient/2116000/instantclient-tools-linux.x64-21.16.0.0.0dbru.zip

⏹将安装包放入Ubuntu服务器后,确认安装目录后,进行解压即可。
💥环境变量的配置已经在之前的文章中写过,此处不再赘述。

  • 注意使用root用户进行解压
root@ubuntu24-01:/home/apluser/work# ls -l /opt/oracle/instantclient
total 8
drwxr-xr-x 3 root root 4096 Dec 15 21:16 instantclient_21_16
drwxr-xr-x 2 root root 4096 Dec 15 21:16 META-INF
root@ubuntu24-01:/home/apluser/work#
root@ubuntu24-01:/home/apluser/work# unzip -l instantclient-tools-linux.x64-21.16.0.0.0dbru.zip
Archive:  instantclient-tools-linux.x64-21.16.0.0.0dbru.zipLength      Date    Time    Name
---------  ---------- -----   ----1061  2024-10-21 04:55   META-INF/MANIFEST.MF1223  2024-10-21 04:55   META-INF/ORACLE_C.SF11501  2024-10-21 04:55   META-INF/ORACLE_C.RSA1009112  2024-10-06 22:42   instantclient_21_16/exp233472  2024-10-06 22:42   instantclient_21_16/expdp501168  2024-10-06 22:42   instantclient_21_16/imp245472  2024-10-06 22:42   instantclient_21_16/impdp69072  2024-10-06 22:42   instantclient_21_16/libnfsodm.so64688  2024-10-06 22:42   instantclient_21_16/libopcodm.so1678760  2024-10-06 22:42   instantclient_21_16/sqlldr5780  2024-10-06 22:42   instantclient_21_16/TOOLS_LICENSE1635  2024-10-06 22:42   instantclient_21_16/TOOLS_README830072  2024-10-06 22:42   instantclient_21_16/wrc
---------                     -------4653016                     13 files
root@ubuntu24-01:/home/apluser/work#
root@ubuntu24-01:/home/apluser/work#
root@ubuntu24-01:/home/apluser/work# unzip instantclient-tools-linux*.zip -d /opt/oracle/instantclient

expimp命令的确认

  • 可以看到oracle的环境变量已经配置
  • expimp 命令的路径都可以正常显示
# 查看oracle的环境遍变量
apluser@ubuntu24-01:~$ echo $PATH
/home/apluser/bin:/opt/oracle/instantclient/instantclient_21_16:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
apluser@ubuntu24-01:~$ echo $ORACLE_HOME
/opt/oracle/instantclient/instantclient_21_16
apluser@ubuntu24-01:~$
# 查看exp系列命令
apluser@ubuntu24-01:~$ which exp{,dp}
/opt/oracle/instantclient/instantclient_21_16/exp
/opt/oracle/instantclient/instantclient_21_16/expdp
apluser@ubuntu24-01:~$
# 查看imp系列命令
apluser@ubuntu24-01:~$ which imp{,dp}
/opt/oracle/instantclient/instantclient_21_16/imp
/opt/oracle/instantclient/instantclient_21_16/impdp

二. exp 命令导出数据

⏹导出db_user用户相关的所有的数据

  • owner=db_user
exp db_user/oracle@192.168.118.137:1521/XEPDB1 \
file=/home/apluser/work/db_user_data1.dmp \
owner=db_user

⏹导出指定的表结构和表数据并附带log

  • tables=fruits,person_table
exp db_user/oracle@192.168.118.137:1521/XEPDB1 \
file=/home/apluser/work/db_user_data2.dmp \
log=/home/apluser/work/db_user_data2.log \
tables=fruits,person_table

⏹仅导出指定的表结构,不导出表数据

  • rows=n
exp db_user/oracle@192.168.118.137:1521/XEPDB1 \
file=/home/apluser/work/db_user_data3.dmp \
tables=fruits,person_table \
rows=n

⏹使用直接路径的方式进行数据导出

  • 默认模式(direct=n
    • 也被称为常规路径模式,数据通过 SQL SELECT 语句从数据库中读取,并经过 Oracle 的缓冲区层写入导出文件。
    • 导出需要兼容所有类型的数据和对象,或对数据一致性要求较高,使用常规模式(默认模式)。
  • 直接路径模式(direct=y
    • 直接从数据库文件中读取数据并写入导出文件,而不经过 Oracle 的 SQL 层处理。这种方式减少了上下文切换和内存拷贝操作,速度更快。
    • 数据量较大,并且表中不包含复杂对象或 LOB(如 CLOB 或 BLOB) 数据,建议使用 direct=y 来提高导出速度。
exp db_user/oracle@192.168.118.137:1521/XEPDB1 \
file=/home/apluser/work/direct_export.dmp \
log=/home/apluser/work/direct_export.log \
tables=person_table \
direct=y

三. imp 命令导入数据

⏹通过system用户,将db_user用户的数据导入到scott用户中

imp system/oracle@192.168.118.137:1521/XE \
file=/home/apluser/work/db_user_data2.dmp \
log=user_import.log \
fromuser=db_user \
touser=scott

⏹将指定的表导入数据库中

imp db_user/oracle@192.168.118.137:1521/XEPDB1 \
file=/home/apluser/work/db_user_data2.dmp \
log=/home/apluser/work/table_import.log \
tables=fruits,person_table

在这里插入图片描述


四. expdp 和 impdp 命令

expdpimpdp 是 Oracle 提供的 数据泵(Data Pump) 工具,用于高效地导出和导入数据。
与传统的 expimp 工具相比,expdpimpdp 更具性能优势,支持并行操作、过滤数据、导入导出元数据等更多功能。

expdpimpdp 的优势

  • 并行处理:通过 parallel 参数,可以在导出或导入时使用多个进程并行处理,大大提升速度。
  • 过滤数据:可以通过 excludeinclude 参数选择性地导出/导入特定的数据。
  • 高级映射功能:可以使用 remap_schemaremap_tableremap_tablespace 等功能,在导入时进行数据的重映射。
  • 性能优化:提供更多的控制选项,如 transform 用于在导入时禁用索引、修改表结构等。
  • 更高的可靠性:支持恢复操作,可以在导入过程中处理失败并进行恢复。

💥注意事项💥

  • 传统的 expimp 命令支持在客户端使用,而 expdpimpdp 命令只支持在服务器端使用,且需要dba进行配置。

相关文章:

Oracle exp和imp命令导出导入dmp文件

目录 一. 安装 instantclient-tools 工具包二. exp 命令导出数据三. imp 命令导入数据四. expdp 和 impdp 命令 一. 安装 instantclient-tools 工具包 ⏹官方网站 https://www.oracle.com/cn/database/technologies/instant-client/linux-x86-64-downloads.html ⏹因为我们在…...

GitLab集成Runner详细版--及注意事项汇总【最佳实践】

一、背景 看到网上很多用户提出的runner问题其实实际都不是问题,不过是因为对runner的一些细节不清楚导致了误解。本文不系统性的介绍GitLab-Runner,因为这类文章写得好的特别多,本文只汇总一些常几的问题/注意事项。旨在让新手少弯路。 二、…...

ARM发布Armv9.5架构:迈向更强性能与灵活性的新时代

2024年11月30日,ARM正式发布了其最新的Armv9.5架构,这是Arm技术发展的又一重要里程碑。从表中信息来看,Armv9.5架构的发布标志着该公司的架构系列在性能、灵活性和可扩展性方面取得了进一步突破。本次发布不仅是技术上的提升,更是…...

网络安全:路由技术

概述 路由技术到底研究什么内容 研究路由器寻找最佳路径的过程 路由器根据最佳路径转发数据包 知识点,重要OSRF,BGP1.静态路由原理 路由技术分类 静态路由和动态路由技术 静态路由:是第一代路由技术,由网络管理员手工静态写路由/路径告知路…...

Vue3 子组件向父组件传递消息(Events)

子组件向父组件传递消息&#xff08;Events&#xff09; 子组件可以通过 $emit 触发事件&#xff0c;父组件可以监听这些事件并作出响应。 子组件&#xff1a; <template><button click"sendMessage">Send Message to Parent</button> </tem…...

如何清理Docker的overlay2目录下的文件

清理 Docker 的 overlay2 目录下的文件需要谨慎操作,因为这些文件通常是容器的存储层,直接删除可能会导致容器无法正常运行或数据丢失。以下是清理 overlay2 目录的步骤和建议: 1. 确认文件是否可以被清理 在清理之前,确认 c7ffc13c49a43f08ef9e234c6ef9fc5a3692deda3c5d4…...

《Vue3实战教程》19:Vue3组件 v-model

如果您有疑问&#xff0c;请观看视频教程《Vue3实战教程》 组件 v-model​ 基本用法​ v-model 可以在组件上使用以实现双向绑定。 从 Vue 3.4 开始&#xff0c;推荐的实现方式是使用 defineModel() 宏&#xff1a; vue <!-- Child.vue --> <script setup> co…...

数字PWM直流调速系统设计(论文+源码)

2.1 系统方案设计 2.2.1开环控制方案 采用开环方案的系统架构如图2.1所示&#xff0c;这种方式不需要对直流电机的转速进行检测&#xff0c;在速度控制时单片机只需要直接发出PWM就可以实现直流电机速度的控制。这种方式整体设计难度较低&#xff0c;但是无法准确得知当前的…...

Spring Boot日志处理

文章目录 Spring Boot日志处理1. 日志存入数据库&#xff08;AOP&#xff09;2. 日志控制台打印与写入文件&#xff08;logback&#xff09; Spring Boot日志处理 1. 日志存入数据库&#xff08;AOP&#xff09; 引入aop依赖 <dependency><groupId>org.springfram…...

vue3+Echarts+ts实现甘特图

项目场景&#xff1a; vue3Echartsts实现甘特图;发布任务 代码实现 封装ganttEcharts.vue <template><!-- Echarts 甘特图 --><div ref"progressChart" class"w100 h100"></div> </template> <script lang"ts&qu…...

OpenCV相机标定与3D重建(41)从 3D 物点和它们对应的 2D 图像点估算初始相机内参矩阵函数initCameraMatrix2D()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 从3D-2D点对应关系中找到一个初始的相机内参矩阵。 cv::initCameraMatrix2D 是 OpenCV 库中的一个函数&#xff0c;用于从 3D 物点和它们对应的…...

ELK日志平台搭建 (最新版)

一、安装 JDK 1. 下载 JDK 21 RPM 包 wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.rpm2. 安装 JDK 21,使用 rpm 命令安装下载的 RPM 包&#xff1a; sudo rpm -ivh jdk-21_linux-x64_bin.rpm3. 配置环境变量 编辑 /etc/profile 文件以配置 JAVA_HO…...

智能化人才招聘系统是怎样的?

随着企业规模的扩大和业务范围的拓展&#xff0c;人才招聘成为了企业发展的关键环节。然而&#xff0c;市面上的人才招聘系统琳琅满目&#xff0c;质量参差不齐&#xff0c;许多企业发现&#xff0c;并非所有系统都能满足他们的需求&#xff0c;特别是智能化的需求。今天&#…...

电脑主机后置音频插孔无声?还得Realtek高清晰音频管理器调教

0 缘起 一台联想电脑&#xff0c;使用Windows 10 专业版32位&#xff0c;电脑主机后置音频插孔一直没有声音&#xff0c;所以音箱是接在机箱前面版的前置音频插孔上的。 一天不小心捱到了音箱的音频线&#xff0c;音频线头断在音频插孔里面了&#xff0c;前置音频插孔因此用不…...

记一次音频无输出的解决方案

啊啊啊&#xff0c;刷个抖音就发现个死电脑死都不出声&#xff0c;捣鼓了一天才解决 打开wav文件时&#xff0c;提示错误找不到音频播放设备 0xc00d36fa 起初以为是声卡坏了&#xff0c;就到官网下载、更新了声卡驱动。无用什么驱动精灵也检测了&#xff0c;但也测不出啥来。…...

初学stm32 --- FSMC驱动LCD屏

目录 FSMC简介 FSMC框图介绍 FSMC通信引脚介绍 FSMC_NWE 的作用 FSMC_NWE 的时序关系 FSMC_NOE 的含义 FSMC_NOE 的典型用途 FSMC_NOE 的时序关系 使用FSMC驱动LCD FSMC时序介绍 时序特性中的 OE ILI9341重点时序&#xff1a; FSMC地址映射 HADDR与FSMC_A关系 LCD的…...

Scala_【4】流程控制

第四章 分支控制if-else单分支双分支多分支返回值嵌套分支 For循环控制包含边界不包含边界循环守卫循环步长嵌套循环循环返回值 While循环Break友情链接 分支控制if-else 单分支 双分支 多分支 返回值 嵌套分支 For循环控制 Scala也为for循环这一常见的控制结构提供了非常多的…...

mysql带自动递增列的表删除数据后如何重置递增值

mysql带自动递增列的表删除数据后如何重置递增值 在 MySQL 中&#xff0c;如果你删除了表中的数据&#xff0c;自动递增列的值 不会自动重置。如果你希望在删除数据后重新设置自动递增列的值&#xff0c;可以使用以下几种方法&#xff1a; 1. 使用 ALTER TABLE 重置自动递增值…...

[CTF/网络安全] 攻防世界 simple_php 解题详析

题目描述&#xff1a;小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。 代码解读 $a$_GET[a]; 从HTTP GET请求参数中获取一个名为a的变量&#xff0c;并将其赋值给变量a。符号用于禁止错误输出&#xff0c;如果不存在参数a则会将变量a设置为NULL。 $b$_GET[b];…...

Android 第三方框架:网络框架:OkHttp:源码分析:缓存

文章目录 概述磁盘缓存 类结构 InternalCache接口DiskLruCahce.Entry内部类DiskLruCahce.Snapshot内部类DiskLruCahce.Editor内部类DiskLruCahce类Cahce.Entry内部类Cahce类总结概述 不存在内存缓存,只存在磁盘缓存 磁盘缓存 磁盘缓存 类结构 主要InternalCache接口、Dis…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号&#xff0c;此时&#xff0c;我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...

Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?

Pod IP 的本质与特性 Pod IP 的定位 纯端点地址&#xff1a;Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址&#xff08;如 10.244.1.2&#xff09;无特殊名称&#xff1a;在 Kubernetes 中&#xff0c;它通常被称为 “Pod IP” 或 “容器 IP”生命周期&#xff1a;与 Pod …...