使用数据泵(Data Pump)迁移Oracle数据库数据

目的

将一个oracle数据库实例数据复制给另一个实例

注意事项

sqlplus(即在本机linux环境下执行sql)、expdp、impdp等命令一般需要切换到oracle用户才能执行
如果你当前是linux的root用户,请切换用户

su - oracle
//一般在oracle账号下才能显示echo $ORACLE_HOME的结果

正式迁移步骤

1.确定导出数据的目录
不仅要创建文件夹,而且要创建对应数据库对象
路径可以随意,比如我打算放在$ORACLE_HOME+/dbs/old这样一个路径下

mkdir /u01/app/oracle/product/19.3.0/dbhome_1/dbs/old

2.登录sqlplus去创建export_dir对象

sqlplus 账号/密码@你的SID

注意如果密码中带有@符号,请改成如下方式
巨坑! Oracle TNSPING 正常但sqlplus报错ORA-12154: TNS:could not resolve the connect identifier specified

sqlplus '账号/"密码"'@你的SID
SQL> CREATE DIRECTORY export_dir AS '/u01/app/oracle/product/19.3.0/dbhome_1/dbs/old';Directory created.

export_dir命名随意
产生结果可以通过如下sql查找

SELECT * FROM dba_directories

3. 使用expdp 命令导出数据
请务必在操作系统的命令行界面中执行 expdp 命令,而不是在 SQL*Plus 环境中执行。注意别用sys,用其它有dba角色的账号。

expdp '账号/"密码"'@你的SID schemas=用户1,用户2,用户3 directory=export_dir dumpfile=export.dmp logfile=export.log
  • username/password@old_instance 是连接到旧实例的用户名和密码。
  • schemas=user1,user2 指定要导出的用户列表,用逗号分隔。
  • directory=export_dir 指定导出文件的目录。
  • dumpfile=export.dmp 指定导出文件的名称。
  • logfile=export.log 指定导出过程的日志文件。

4.在新机器或者新实例上创建import_dir对象和对应目录
记得切换oracle用户后登录sqlplus

SQL> CREATE DIRECTORY import_dir AS '/u01/app/oracle/product/19.3.0/dbhome_1/dbs/new';
Directory created.

import_dir名字随意

mkdir /u01/app/oracle/product/19.3.0/dbhome_1/dbs/new

5.将export.dmp复制到new目录下
6.使用impdp命令导入数据

impdp username/password@new_instance directory=import_dir dumpfile=export.dmp logfile=import.log remap_schema=user1:new_user1 remap_schema=user2:new_user2
  • username/password@new_instance 是连接到新实例的用户名和密码。
  • directory=import_dir 指定导入文件的目录。
  • dumpfile=export.dmp 指定要导入的导出文件。
  • logfile=import.log 指定导入过程的日志文件。
  • remap_schema=user1:new_user1 和 remap_schema=user2:new_user2 可选,用于重新映射用户,如果在新实例中用户名称不同于旧实例。

7.可能出现的问题
ORA-39087: directory name IMPORT_DIR is invalid
可能是权限问题,确保执行导入操作的用户对 IMPORT_DIR 目录有读写权限。可以登录高权限账号使用以下命令授予权限:

GRANT READ, WRITE ON DIRECTORY IMPORT_DIR TO 执行导入的用户;

ORA-31631: privileges are required
。ORA-39122: Unprivileged users may not perform REMAP_SCHEMA remappings.

表明当前用户没有执行 REMAP_SCHEMA 操作所需的权限。

GRANT IMP_FULL_DATABASE TO 执行导入的用户;

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

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

相关文章

node节点使用:

节点: 1.返回父节点 parentNode let par li1.parentNodepar.style.border 1px solid red 2.获取所有子节点的集合 childNodes let nodes par.childNodes 3.第一个子节点 firstChild let frist par.firstChild 4.最后一个 lastChild let last par.lastC…

AlDente Pro for Mac电池健康保护工具

AlDente Pro for Mac 是一款适用于 Mac 的实用电池健康保护工具。以下是它的主要特点和优势: 软件下载地址 一、保护电池寿命的原理 锂离子和聚合物电池(如 Mac 笔记本中的电池)在 30% 到 80% 之间运行时使用寿命最长。始终将电池电量保持…

service 命令:管理系统服务

一、命令简介 ​service​ 命令是 Linux 系统中用于管理服务的工具,它通过调用位于 /etc/init.d/ ​目录下的服务脚本,来启动、停止、重启、查询状态等操作系统服务(守护进程)。service ​命令是一个便捷的 shell 脚本&#xff0…

Windows 10 on ARM, version 22H2 (updated Aug 2024) ARM64 AArch64 中文版、英文版下载

Windows 10 on ARM, version 22H2 (updated Aug 2024) ARM64 AArch64 中文版、英文版下载 基于 ARM 的 Windows 10 请访问原文链接:https://sysin.org/blog/windows-10-arm/,查看最新版。原创作品,转载请保留出处。 作者主页:s…

【VUE3.0】动手做一套像素风的前端UI组件库---Message

目录 引言自己整一个UI设计稿代码编写1. 设计信息窗口基础样式2. 设置打开和关闭的方法3. 编写实例化组件的js文件4. 看下最终效果5. 组件完整代码6. 组件调用方式 总结 引言 本教程基于前端UI样式库 NES.css 的UI设计,自行研究复现。欢迎大家交流优化实现方法~ 此次…

深度学习(3):Tensor和Optimizer

文章目录 是什么Tensor1. Tensor 的基本概念2. 自动求导(Autograd)机制3. requires_grad 属性4. .data 和 .item()5. 梯度清零 Optimizer 是什么 Tensor(张量):在 PyTorch 中,Tensor 是一种多维数组&#…

《线性代数》学渣笔记

文章目录 1 行列式1.1 克拉默法则1.2 基本性质1.3 余子式 M i j M_{ij} Mij​1.4 代数余子式 A i j ( − 1 ) i j ⋅ M i j A_{ij} (-1)^{ij} \cdot M_{ij} Aij​(−1)ij⋅Mij​1.5 具体型行列式计算(化为基本型)1.5.1 主对角线行列式:主…

基于数据挖掘的航空客户满意度分析预测系统

温馨提示:文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 航空公司致力于提供多样化的服务以满足乘客需求,包括但不限于提供免费无线网络、免费食物饮品、提供网上预约服务、飞机出口位置、座椅舒适度、卫生状况等,并希望以此提升乘…

SQL面试常见题目

SQL面试常见题目涉及多个方面,包括数据查询、数据操作、表的设计与优化等。以下列举一些经典的SQL面试题目,并附上解析答案: 1. 查询一张表中重复的数据 题目: 给定一个表 employees,包含 id, name, salary 列。如何…

python基础题练习

1.可否定义一个sum函数呢?返回指定区间的值的和?例如,区间[1,4]的和为123410返回指定区间值的平方的和呢?立方呢? 代码: # 计算从start到end(包括end)的所有整数的和。 def sum_ra…

AutoX.js向后端传输二进制数据

android的JavaScript自动化软件用过Hamibot和AutoX.js 不过在向后端传输二进制数据时都有些限制,不如浏览器前端那么自由。Hamibot的http按文档应该时能支持传字节数组,但是实际上应该还没有支持。AutoX.js的http也是这样,但是AutoX.js还支持…

P7557 [USACO21OPEN] Acowdemia S题解

[USACO21OPEN] Acowdemia S 题目描述 由于对计算机科学的热爱,以及有朝一日成为 「Bessie 博士」的诱惑,奶牛 Bessie 开始攻读计算机科学博士学位。经过一段时间的学术研究,她已经发表了 N N N 篇论文( 1 ≤ N ≤ 1 0 5 1 \leq…

SpringBoot框架之KOB项目 - 配置Mysql与注册登录模块(中)

修改Spring Security 登录验证模式 传统的验证登录模式 公开页面:输入url就可以直接访问授权页面:登录之后才可以访问 Jwt验证模式 容易实现跨域不需要在服务器端存储 对比于传统模式将所有的sessionId换成jwt token access token refresh token 过…

分发饼干00

题目链接 分发饼干 题目描述 注意点 1 < g[i], s[j] < 2^31 - 1目标是满足尽可能多的孩子&#xff0c;并输出这个最大数值 解答思路 可以先将饼干和孩子的胃口都按升序进行排序&#xff0c;随后根据双指针 贪心&#xff0c;将当前满足孩子胃口的最小饼干分配给该孩…

Android开发高频面试题之——Android篇

Android开发高频面试题之——Android篇 Android开发高频面试题之——Java基础篇 Android开发高频面试题之——Kotlin基础篇 Android开发高频面试题之——Android基础篇 1. Activity启动模式 standard 标准模式,每次都是新建Activity实例。singleTop 栈顶复用。如果要启动的A…

关于预处理的一系列问题

1. 预定义符号 C语⾔设置了⼀些预定义符号&#xff0c;可以直接使⽤&#xff0c;预定义符号也是在预处理期间处理的。 2. #define定义常量 #define name stuff 如果定义的 stuff过⻓&#xff0c;可以分成⼏⾏写&#xff0c;除了最后⼀⾏外&#xff0c;每⾏的后⾯都加⼀个反…

基于深度学习的可再生能源的效率优化

基于深度学习的可再生能源效率优化是一种应用先进人工智能技术来提升太阳能、风能、水能等可再生能源的生产和利用效率的策略。可再生能源的生产效率通常受限于不稳定的自然条件&#xff08;如日照、风速等&#xff09;&#xff0c;深度学习能够通过分析历史数据和实时环境信息…

win10下使用docker、k8s部署java应用

在上一篇文章 Windows10上Docker和Kubernetes的安装 中&#xff0c;已经介绍了在 Windows10上安装Docker和Kubernetes &#xff0c;有了这个环境基础之后&#xff0c;就可以用来部署服务了 在项目目录下新建Dockfile文件&#xff0c;内容如下&#xff08;请根据实际情况调整&am…

linux-网络管理-网络配置

Linux 网络管理与网络配置 在Linux系统中&#xff0c;网络管理是系统管理员的重要职责之一。网络配置包括如何配置网络接口、管理IP地址、网关、DNS等核心网络设置。现代Linux系统提供了多种工具用于网络管理&#xff0c;既包括传统的命令行工具&#xff0c;也包括现代的网络管…

前端——阿里图标的使用

阿里图标 将小图标定义成字体&#xff0c;通过引入字体的方式来展示这些图标 1.打开阿里图标库 https://www.iconfont.cn/ 2.登录 / 注册一个账号 3.选中你需要使用的图标 并且把它加入购物车 4.全部选择完之后 点击右上角 购物车 然后下载代码 5.解压后你下载的文…