第一篇《Oracle 数据泵全解析:高效数据导出与导入》(Data Pump)

《Oracle 数据迁移与备份系列》

第一篇:《Oracle 数据泵全解析:高效数据导出与导入》(Data Pump)

oracle数据泵(Data Pump)是一个用于数据库数据导入导出的工具,由oracle自带,操作比较简单。

此方法适用于数据的逻辑备份和跨版本迁移。

基础

核心组件

  • expdp:导出工具(Data Pump Export)。用于将数据从 Oracle 数据库导出到 .dmp 文件中。

  • impdp:导入工具(Data Pump Import)。用于从 .dmp 文件导入数据到数据库。

实战

数据导出(Export)

1.事前准备
创建目录对象(Directory)
CREATE  DIRECTORY 目录对象名称 AS '操作系统目录路径';
赋予权限

在创建过文件后,用户一般不能直接使用,要为其赋予读写权限。

GRANT read, write ON DIRECTORY 目录对象名称 TO 用户名称;
2.执行导出命令(expdp)
expdp 用户名/密码@数据库服务名 参数1=1 参数2=2 ...
常规参数
常规参数说明
用户名/密码需要导出数据的数据库用户必写
@数据库服务名连接到的 Oracle 数据库必写
directory=目录对象名指定数据泵目录(如 DATA_PUMP_DIR必写
dumpfile=文件名.dmp导出数据文件的名称必写
logfile=日志文件.log记录导出过程的日志文件必写
其他参数可选,用于控制导出内容
特殊参数与场景
1.全库导出
expdp 用户名/密码@数据库 full=y directory=目录对象名 dumpfile=文件名.dmp logfile=日志文件.log
  • 参数:full=y

  • **作用:**导出整个数据库。

2.按模式(用户)导出
expdp 用户名/密码@数据库 schemas=用户1 directory=目录对象名 dumpfile=文件名.dmp logfile=日志文件.log
  • 参数:schemas=用户1
  • 作用: 仅导出 用户1 用户下的所有对象。
3.按表导出
expdp 用户名/密码@数据库 tables=1 directory=目录对象名 dumpfile=文件名.dmp logfile=日志文件.log
  • tables=表1 仅导出 表1。

  • tables=表1,表2...可导出多个表。

4.按条件导出
expdp 用户名/密码@数据库 tables=1 directory=目录对象名 dumpfile=文件名.dmp logfile=日志文件.log query="WHERE id=10"
  • 参数:query="WHERE id=10"

  • 作用: 仅导出 id=10 的数据。

  • 注意:query必须在tables参数后面。

数据导入(Impdp

1.事前准备
确保dump文件的存在

数据导入的基础就是拥有数据导出产生的dump文件。

创建目录对象(Directory)
CREATE DIRECTORY 目录对象名称 AS '操作系统目录路径';
赋予权限

在创建过文件后,用户一般不能直接使用,要为其赋予读写权限。

GRANT read, write ON DIRECTORY 目录对象名称 TO 用户名称;
其他准备
  • 若导入用户与原用户不同,需提前创建目标用户并授权:

    CREATE USER 新用户 IDENTIFIED BY 密码;
    GRANT CONNECT, RESOURCE TO 新用户;
    
  • 检查目标库字符集是否与导出文件兼容:

    SELECT * FROM nls_database_parameters WHERE parameter LIKE '%CHARACTERSET%';
    
2.执行导入命令(Impdp)
impdp 用户名/密码@数据库服务名 参数1=1 参数2=2 ...
常规参数
参数说明
用户名/密码目标库用户(需有 IMP_FULL_DATABASE 权限处理全库导入)必写
@数据库服务名目标 Oracle 数据库实例必写
directory=目录对象名存放导出文件的目录(需与导出时一致,如 DATA_PUMP_DIR必写
dumpfile=文件名.dmp导出文件的名称(支持通配符 %U 多文件导入)必写
logfile=日志文件.log记录导入过程的日志文件必写
table_exists_action表已存在时的处理方式(SKIPAPPENDTRUNCATEREPLACE
特殊参数与场景
1. 全库导入
impdp 用户名/密码@数据库 full=y directory=目录对象名 dumpfile=full_db.dmp logfile=imp_full.log
  • 参数:full=y
  • 要求:用户需有 IMP_FULL_DATABASE 权限。
  • 注意:目标库需与源库字符集兼容。
2. 按模式(用户)导入
  • 导入到同名用户

    impdp 用户名/密码@数据库 schemas=用户1 directory=目录对象名 dumpfile=user1.dmp logfile=imp_user1.log
    
  • 跨用户导入(映射用户):

    impdp 用户名/密码@数据库 directory=目录对象名 dumpfile=user1.dmp remap_schema=用户1:用户2 logfile=imp_user2.log
    
    • remap_schema=原用户:目标用户:将数据从 用户1 映射到 用户2
3. 按表导入
impdp 用户名/密码@数据库 tables=1 directory=目录对象名 dumpfile=tables.dmp logfile=imp_tables.log
  • 支持多表tables=表1,表2,表3
  • 处理表冲突:添加 table_exists_action=replace 覆盖原表。
4. 按条件导入
impdp 用户名/密码@数据库 tables=1 directory=目录对象名 dumpfile=data.dmp query=1:"WHERE id=10" logfile=imp_filter.log
  • 用途:仅导入 表1id=10 的数据。
  • 注意:表必须已存在,否则需先导入表结构(使用 CONTENT=METADATA_ONLY)。

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

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

相关文章

飞机大战lua迷你世界脚本

-- 迷你世界飞机大战 v1.2 -- 星空露珠工作室制作 -- 最后更新:2024年1月 ----------------------------- -- 迷你世界API适配配置 ----------------------------- local UI { BASE_ID 7477478487091949474-22856, -- UI界面ID ELEMENTS { BG 1, -- 背景 BTN_LE…

我的ChatGPT怎么登不上?

近期,不少用户反馈在使用ChatGPT时遇到登录困难、连接超时等问题。本文将从技术角度分析常见原因,并提供合规、安全的解决方案,同时结合开发者实际需求推荐实用工具,助您高效应对登录障碍。 ChatGPT登录失败的常见原因 网络环境限…

【MySQL】用MySQL二进制包构建docker镜像

一、实验背景 【MySQL&docker】基于CentOS7.5 编译制作MySQL5.7.28镜像 https://www.jianshu.com/p/71fd79b69a6b 用MySQL源码编译的docker镜像,体积过大,直奔3G了,你也不清楚,这点编译参数打出的体积怎么就这么大&#xff01…

快速熟悉JavaScript

目录 1.js的基本认知 2.js的基本语法 2.1 变量的声明 三个关键字的区别 2.2数据类型 2.2.1 基本数据类型 2.2.2 复杂数据类型 2.3对象的属性和方法 2.3.1属性 2.3.2访问方式 2.4.3动态操作 2.4.4方法 2.4字符串的常用属性和方法 2.5运算符 2.6逻辑控制语句 2.7函…

在 Windows 上最快速安装 Qt 5

引言 Qt 是一个强大的跨平台 C 开发框架,广泛应用于 GUI 开发、嵌入式系统和工业软件等领域。然而,许多开发者习惯于在 Linux(如 Ubuntu)环境下使用 Qt,而在 Windows 上搭建 Qt 开发环境时可能会遇到许多问题&#xf…

二、QT和驱动模块实现智能家居-----5、通过QT控制LED

在QT界面,我们要实现点击“LED”按钮就可以控制板子上的LED。LED接线图如下: 在Linux 系统里,我们可以使用2种方法去操作上面的LED: ① 使用GPIO SYSFS系统:这需要一定的硬件知识,需要设置引脚的方向、数值…

threejs:用着色器给模型添加光带扫描效果

第一步:给模型添加光带 首先创建一个立方体,不进行任何缩放平移操作,也不要set position。 基础代码如下: 在顶点着色器代码里varying vec3 vPosition;vPosition position;获得threejs自动计算的顶点坐标插值(也就…

高频 SQL 50 题(基础版)_1141. 查询近30天活跃用户数

1141. 查询近30天活跃用户数 select activity_date day,count(distinct user_id) active_users from Activity where (activity_date<2019-07-27 and activity_date>DATE_sub(2019-07-27,INTERVAL 30 DAY)) group by(activity_date)

【Zinx】Day1:初识 Zinx 框架

目录 学习目标初识 Zinx 框架Zinx v0.2 代码实现准备工作创建 Zinx 框架创建 ziface 与 znet 模块 基础的 Server 实现在 ziface 下创建服务模块抽象层 iserver.go在 znet 下实现服务模块 server.go 封装 Connection在 ziface 创建 iconnection.go在 znet 创建 connection.go 回…

音频3A测试--AEC(回声消除)测试

一、测试前期准备 一台录制电脑:用于作为近段音源和收集远端处理后的数据; 一台测试设备B:用于测试AEC的设备; 一个高保真音响:用于播放设备B的讲话; 一台播放电脑:用于模拟设备A讲话,和模拟设备B讲话; 一台音频处理器(调音台):用于录制和播放数据; 测试使用转接线若…

项目准备(flask+pyhon+MachineLearning)- 2

目录 1. 注册页面的渲染 2.邮箱的注册验证 3.登录页面的渲染 1. 注册页面的渲染 使用render_template来渲染&#xff0c;注意这里的前端网页使用jinja2模板 详情大家可以参考jinja2介绍 注意每个网页上方都有导航条&#xff0c;大家可以使用jinja2的继承功能&#xff0c;写一…

unity调用本地部署deepseek全流程

unity调用本地部署deepseek全流程 deepseek本地部署 安装Ollama 搜索并打开Ollama官网[Ollama](https://ollama.com/download) 点击Download下载对应版本 下载后点击直接安装 安装deepseek大语言模型 官网选择Models 选择deepseek-r1&#xff0c;选择对应的模型&#xff0…

跨域问题解释及前后端解决方案(SpringBoot)

一、问题引出 有时,控制台出现如下问题。 二、为什么会有跨域 2.1浏览器同源策略 浏览器的同源策略 &#xff08; Same-origin policy &#xff09;是一种重要的安全机制&#xff0c;用于限制一个源&#xff08; origin &#xff09;的文档或 脚本如何与另一个源的资源进行…

DeepSeek大模型深度解析:架构、技术与应用全景

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。https://www.captainbed.cn/north 文章目录 一、大模型时代与DeepSeek的定位1.1 大模型发展历程回顾大模型发展历程时间轴&#xff08;20…

李宏毅机器学习课程学习笔记04 | 浅谈机器学习-宝可梦、数码宝贝分类器

文章目录 案例&#xff1a;宝可梦、数码宝贝分类器第一步&#xff1a;需要定义一个含有未知数的function第二步&#xff1a;loss of a function如何Sample Training Examples > 如何抽样可以得到一个较好的结果如何权衡模型的复杂程度 Tradeoff of Model Complexity todo 这…

获取Kernel32基地址

暴力搜索 32位在4G内存搜索有一定可行性&#xff0c;但是处理起来其实还是比较麻烦的&#xff0c;因为内存不可读会触发异常&#xff0c;需要对这些异常问题进行处理。 优化思路:缩小范围、增大搜索步长 (1)不优化&#xff0c;原始内存特征匹配&#xff0c;容易出错&#xf…

Spark核心之01:架构部署、sparkshell、程序模板

spark内存计算框架 一、主题 spark核心概念spark集群架构spark集群安装部署spark-shell的使用通过IDEA开发spark程序 二、要点 1. spark是什么 Apache Spark™ is a unified analytics engine for large-scale data processing. spark是针对于大规模数据处理的统一分析引擎…

【算法学习之路】5.贪心算法

贪心算法 前言一.什么是贪心算法二.例题1.合并果子2.跳跳&#xff01;3. 老鼠和奶酪 前言 我会将一些常用的算法以及对应的题单给写完&#xff0c;形成一套完整的算法体系&#xff0c;以及大量的各个难度的题目&#xff0c;目前算法也写了几篇&#xff0c;题单正在更新&#xf…

布隆过滤器原理详解:高效解决大规模数据去重与查询问题

布隆过滤器原理详解&#xff1a;高效解决大规模数据去重与查询问题 一、布隆过滤器的核心概念 布隆过滤器&#xff08;Bloom Filter&#xff09;是一种基于概率的高效数据结构&#xff0c;由Burton Bloom于1970年提出。其核心思想是通过位数组&#xff08;Bit Array&#xff…

2025年渗透测试面试题总结-字某跳动-渗透测试实习生(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 字某跳动-渗透测试实习生 渗透流程信息收集如何处理子域名爆破中的泛解析问题绕过CDN寻找真实IPPHPINFO页面关注…