Oracle数据迁移

问题描述

        oracle数据库的所有表结构、数据、索引等需要需从测试库迁移到正式库。

解决步骤:

        oracle数据库迁移,主要通过expdp从测试库所在的源服务器将指定的数据表或数据源导出为一个或多个数据文件(.dmp文件),导出的数据可以在正式库中通过impdp数据导入工具进行导入。

        前提:服务器为linux系统。

1、源服务器操作

(1)创建目录

        在源服务器上创建一个目录对象,用于指定导入数据文件的路径。可以使用以下命令创建目录对象:

# su - oracle

# sqlplus / as sysdba

SQL> create or replace directory tmpDir as '/tempFile'

tmpDir是目录对象的名称,/tempFile是导入数据文件的路径。

(2)使用expdp导出数据表

# su - oracle

# expdp username/password@Ip:port/database schemas=dbTest directory=tmpDir dumpfile=export.dmp logfile=export.log

  • username/password@Ip:port/database:指定要导出的数据库用户及其密码、数据库ip、端口、数据库名称;如果执行命令的服务器就是该数据库的服务器,则ip地址和数据库默认端口可以省略。
  •  schemas=dbTest:指定要导出的数据库用户名称;
  •  directory=tmpDir:指定导出的数据文件路径,这里的tmpDir是预先定义的一个目录对象;
  • dumpfile=export.dmp:指定导出的数据文件名称,这里的export.dmp是数据导出时生成的数据文件;
  • logfile=export.log:指定导出日志文件名称。

扩展:

导出单个表的语句:

# expdp username/password@Ip:port/database directory=tmpDir dumpfile=export.dmp tables=student,school,teacher 

其中,tables是要导入的数据表名称,多个数据表之间使用逗号分隔

(3)复制dmp文件到目标服务器

# scp -P 2222 /tempFile/export.dmp name@xxx.xxx.xxx.xxx:/home/tempFile

输入目标服务器密码,按回车,文件就会自动传输到目标服务器中指定的文件夹中。

        其中,name@xxx.xxx.xxx.xxx中name为目标服务器登陆账号,xxx.xxx.xxx.xxx为目标服务器ip地址。2222是目标服务器的端口号。

        如果目标服务器部署22端口或者目标服务器与源服务器端口不一致,则需要用【-P 端口】指定目标服务器端口。

2、目标服务器操作

(1)创建目录

        在目标服务器上创建一个目录对象,用于指定导入数据文件的路径。可以使用以下命令创建目录对象:

# su - oracle

# sqlplus / as sysdba

SQL> create or replace directory tmpDir as '/tempFile'

tmpDir是目录对象的名称,/tempFile是导入数据文件的路径。

(2)使用impdp导入数据表

# su - oracle

# impdp username/password@Ip:port/database schemas=dbTest directory=tmpDir dumpfile=export.dmp job_name=myjob

  • username/password@Ip:port/database:指定要导入的数据库用户及其密码、数据库ip、端口、数据库名称;
  • schemas=dbTest:指定要导入的数据库用户名称;
  • directory=tmpDir:指定导入的数据文件路径,这里的tmpDir是预先定义的一个目录对象;
  • dumpfile=export.dmp:指定导入的数据文件名称,这里的export.dmp是数据导出时生成的数据文件;
  • job_name=myjob:指定导入任务的名称,这里的myjob是自定义的任务名称。

如果源表对象和目标表对象不一致则需要用remap_schema,重新对应迁移原表对象和目标表对象。

# impdp username/password@Ip:port/database remap_schema=dbTest:oprection directory=tmpDir dumpfile=export.dmp job_name=myjob

注意:

remap_schema=dbTest:oprection中格式为dmp文件所在的schema:目标服务器数据库的schema。

扩展

(1)单表导入:

# impdp username/password@Ip:port/database directory=tmpDir dumpfile=export.dmp tables=student,school,teacher

需要注意的是,在导入数据表时,如果目标数据库中已经存在同名的数据表,需要使用REMAP_TABLE选项将数据表重新映射到新的表名或者新的表空间中,例如:

# impdp username/password@database_schema tables=table1,table2 directory=tmpDir dumpfile=export.dmp logfile=import.log REMAP_TABLE=table1:new_table1,table2:new_table2

替换已存在的表需加上:table_exists_action=replace

报错处理:

1、权限问题

导入的dmp文件需要设置下权限,然后重新进行导入操作。

#  chmod 777 /home/tempFile/export.dmp

2、expdp命令导出报错UDE-00010:multiple job modes requested, schema and tables

当使用expdp命令导出单个数据表时,需要指定TABLES选项来指定要导出的表名,同时也需要指定SCHEMAS选项来指定要导出的数据库用户。如果同时指定了TABLES和SCHEMAS选项,可能会出现UDE-00010错误,提示“multiple job modes requested, schema and tables”。

解决这个问题,可以在导出命令中只指定TABLES选项,不指定SCHEMAS选项。例如:

#  expdp username/password@database_schema tables=table_name directory=data_pump_dir dumpfile=export.dmp

如果需要导出多个表,可以在TABLES选项中使用逗号分隔多个表名

3、主键插入失败

导出测试库的时候数据在更新,导致了dmp文件中设备主键的值有重复的,需要删除数据后,手动新建主键。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

信息安全:防火墙技术原理与应用.

信息安全:防火墙技术原理与应用. 防火墙是网络安全区域边界保护的重要技术。为了应对网络威胁,联网的机构或公司将自己的网络与公共的不可信任的网络进行隔离,其方法是根据网络的安全信任程度和需要保护的对象,人为地划分若干安全…

大学生口才培训需求分析

标题:大学生口才培训需求分析 摘要: 本论文旨在分析大学生口才培训的需求,通过对大学生口才培训的重要性、现状和挑战进行研究,并结合相关理论和实践经验,提出相应的培训需求和解决方案。通过本论文的研究&#xff0c…

森海塞尔为 CUPRA 首款纯电轿跑 SUV – CUPRA Tavascan 注入音频魅力

森海塞尔为 CUPRA 首款纯电轿跑 SUV – CUPRA Tavascan 注入音频魅力 音频专家森海塞尔携手富有挑战精神的 CUPRA,雕琢时代新贵车型,打造畅快尽兴的驾驶体验 全球知名音频专家森海塞尔与以颠覆传统、充满激情、不甘现状而闻名的汽车品牌 CUPRA 展开合作…

10人团队如何远程管理数千设备?向日葵赋能连锁行业IT管理

企业数字化转型对于连锁餐饮行业的赋能作用是巨大的,门店和企业总部的各种数字化系统以及智能设备的引入,可以有效的帮助企业实现降本增效。当然另一方面,大量数字化系统和设备的引入,也让连锁企业的IT运维管理工作迎来了更大的挑…

VMware vCenter忘记密码操作,和Linus原理一致

mount -o remount,rw / passwd root ## 修改 root 密码要选择对应账户## 输入新密码,再输入一次新密码 umount / ## 卸载根文件系统 reboot -f ## 重新引导 vCenter

Glide 的超时控制相关处理

作者:newki 前言 Glide 相信大家都不陌生,各种源码分析,使用介绍大家应该都是烂熟于心。但是设置 Glide 的超时问题大家遇到过没有。 我遇到了,并且掉坑里了,情况是这样的。 调用接口从网络拉取用户头像&#xff0c…

SpringBoot复习:(31)Controller中返回的对象是如何转换成json字符串给调用者的?

首先,SpringBoot自动装配了HttpMessageConvertersAutoConfiguration这个自动配置类 而这个自动配置类又通过Import注解导入了JacksonHttpMessageConvertersConfiguration类, 在这个类中配置了一个类型为MappingJackson2HttpMessageConverter类型的bean…

2023年,App运行小游戏,可以玩出什么创意?

疫情过后,一地鸡毛。游戏行业的日子也不好过。来看看移动游戏收入:2022年,移动游戏收入达到920亿美元,同比下降6.4%。这告诉我们,2022年对移动游戏市场来说是一个小挫折。 但不管是下挫还是上升,移动游戏市…

热成像技术创新,助力人工智能炼就黑夜中的火眼金睛

原创 | 文 BFT机器人 普渡大学(Purdue University)的研究人员利用他们正在申请专利的方法来改进传统的机器视觉和感知,从而推动机器人技术和自动控制领域的发展。 埃尔莫尔家族电气与计算机工程学院(Elmore Family School of Ele…

【链表OJ 5】合并两个有序链表

前言: 🎈欢迎大家来到Dream_Chaser~的博客🎈 本文收录于 C--数据结构刷题的专栏中 -->http://t.csdn.cn/n6UEP 首先欢迎大家的来访,其次如有错误,非常欢迎大家的指正!我会及时更正错误! 目录…

【已解决】Java 中使用 ES 高级客户端库 RestHighLevelClient 清理百万级规模历史数据

🎉工作中遇到这样一个需求场景:由于ES数据库中历史数据过多,占用太多的磁盘空间,需要定期地进行清理,在一定程度上可以释放磁盘空间,减轻磁盘空间压力。 🎈在经过调研之后发现,某服务…

git的简单介绍和使用

git学习 1. 概念git和svn的区别和优势1.1 区别1.2 git优势 2. git的三个状态和三个阶段2.1 三个状态:2.2 三个阶段: 3. 常用的git命令3.1 下面是最常用的命令3.2 git命令操作流程图如下: 4. 分支内容学习4.1 项目远程仓库4.2 项目本地仓库4.3…

IPv4编址及子网划分

IPv4编址及子网划分 一、IPv4地址概述1.1、IPv4报文结构1.2、IPv4地址分类1.2.1、A类1.2.2、B类1.2.3、C类1.2.4、D类1.2.5、E类 1.3、私有IP地址1.4、特殊地址 二、子网划分2.1、子网掩码2.2、VLSM 可变长的子网掩码2.3、子网划分2.4、子网划分示例2.4.1、子网划分案例 —— A…

【24择校指南】温州大学计算机考研考情分析

温州大学(C) 考研难度(☆) 内容:23考情概况(拟录取和复试分数人数统计)、院校概况、23专业目录、23复试详情、各科目以及各专业考情分析。 正文1349字,预计阅读:3分钟。 2023考情概况 温州…

IDEA新建类时自动设置类注释信息,署名和日期

IDEA设置路径 File --> Settings --> Editor --> File and Code Templates --> Include --> File Header 官方模板 这里 ${USER} 会读取计算机的用户名 ${DATE}是日期 ${TIME}是时间 /*** Author ${USER}* Date ${DATE} ${TIME}* Version 1.0*/

探索自动化网页交互的魔力:学习 Selenium 之旅【超详细】

"在当今数字化的世界中,网页自动化已经成为了不可或缺的技能。想象一下,您可以通过编写代码,让浏览器自动执行各种操作,从点击按钮到填写表单,从网页抓取数据到进行自动化测试。学习 Selenium,这一功能…

Small Tip: 如何Debug Start Routine

我也不知道咋地,在generated ABAP里面打断点进不去。 我也不晓得怎么弄,今天反正是硬找着去弄。不晓得有没有其他好办法。有知道的小伙伴评论下吧。 1、 在DTP里面选Before Transformation,要去debug start routine选这个就够了。其他的随意…

【Java可执行命令】(十七)JVM运行时信息动态维护工具 jinfo:一个维护 JVM 相关的配置参数和系统属性的工具,辅助故障排除、诊断和优化 ~

Java可执行命令之jinfo 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 语法格式3.2 -flags&#xff1a;查看进程的启动参数3.3 -sysprops&#xff1a;查看进程的系统属性3.4 -flag < name>&#xff1a;查看特定虚拟机参数的值3.5 -flag [/-]< name>&#xff1a;启用或禁…

【在树莓派上安装cpolar内网穿透实战】

文章目录 前言1.在树莓派上安装cpolar2.查询cpolar版本号3.激活本地cpolar客户端4.cpolar记入配置文件 前言 树莓派作为一个超小型的电脑系统&#xff0c;虽然因其自身性能所限&#xff0c;无法如台式机或笔记本等准系统一样&#xff0c;运行大型软件或程序&#xff08;指望用…

VsCode美化 - VsCode自定义 - VsCode自定义背景图

VsCode美化 - VsCode自定义 - VsCode自定义背景图&#xff1a;添加二次元老婆图到VsCode 前言 作为一个二刺螈&#xff0c;VsCode用久了&#xff0c;总觉得少了些什么。是啊&#xff0c;高效的代码生产工具中怎么能没有老婆呢&#xff1f; 那就安装一个VsCode插件把老婆添加…