Oracle数据迁移

article/2025/8/19 0:49:58

本文主要提及使用exp,imp以及Oracle数据泵等工具如何进行数据迁移:

一、数据迁移工具

1、数据迁移工具

(1)数据泵

(2)外部表:external table

(3)数据加载工具:sqlloader可以将非ORACLE数据库的数据加载到ORACLE数据库中

(4)数据库备份工具:rman,recover manager恢复管理器

2、逻辑导入导出工具

(1)exp:逻辑导出工具

(2)imp:逻辑导入工具

3、数据泵

(1)expdp:数据泵逻辑导出工具export data pump

(2)impdp:数据泵逻辑导入工具import data pump

4、数据库导出模式

(1)全库导出

(2)导出用户

(3)导出表空间

(4)导出表(数据泵)

二、数据迁移实例

使用exp,imp导入导出数据

1、全库导出

mkdir -p /home/oracle/backup/exp创建导出目录

exp system/oracle file=all.dmp log=all_exp.log full=y

2、导出用户

select username from dba_users;先查看当前数据库拥有哪些用户

(1)单用户hr导出

单用户hr导入,在目标库中进行,导入库中需要提前创建用户hr,并赋予相应权限

(2)多用户导出

多用户导入

3、导出表

(1)单表导出

导入

(2)多表导出,导入

使用数据泵导入导出数据

通过调用dbms_datapump系统包来完成导入导出操作

1、需要数据库创建目录对象,要把目录对象的读写权限授予相应的用户。

(1)在操作系统中创建目录

mkdir -p /home/oracle/backup/dir

(2)在数据库中创建目录对象,指向上一步创建的目录

create directory dbpump_dir as ‘/home/oracle/backup/dir’;

(3)给相应用户读写权限,用到什么用户就赋予它读写权限

grant read,write on directory dbpump_dir to system;

(4)开始导入导出

2、普通导入导出

3、通过参数文件导入导出数据

创建pfile.txt

PARALLEL=1

CLUSTER=NO

COMPRESSION=ALL

DUMPFILE=EXPORT_exp.DMP  

DIRECTORY=DBPUMP_DIR   

LOGFILE=EXPORT.LOG

TABLES=

(

 HR.EMPLOYEES,HR.DEPARTMENTS

 )

QUERY=

(

 "EMPLOYEES:WHERE DEPARTMENT_ID > 10",

 "DEPARTMENTS:WHERE DEPARTMENT_NAME LIKE '%IT%'"

)

导入同样需要在目标库建立数据库目录对象

create directory dbpump_dir as ‘/home/oracle/backup/dir1’;

4、通过参数文件导入导出用户

pfile_user.txt

PARALLEL=1

CLUSTER=NO

COMPRESSION=ALL

DUMPFILE=EXPORT_USER.DMP  

DIRECTORY=DBPUMP_DIR   

LOGFILE=EXPORT_USER.LOG

SCHEMAS=U2,U1

导入用户

5、通过参数文件导入导出表空间

pfile_tbs.txt

PARALLEL=1

CLUSTER=NO

COMPRESSION=ALL

DUMPFILE=EXPORT_TBS.DMP  

DIRECTORY=DBPUMP_DIR   

LOGFILE=EXPORT_TBS.LOG

TABLESPACES=TBS1,TBS2,TBS3

(1)要把目标库的表空间创建好

(2)把表空间所属对象创建好

(3)赋予相应对象权限

导入

三、外部表

ORACLE外部表用来存取数据库以外的文本文件(test file)或ORACLE专属格式文件。因此,建立外部表时不会产生段,区,块等数据结构,只有与表相关的定义放在数据字典中,外部表,就是存储在数据库外的表,当存取时才能从ORACLE专属格式文件中取得数据,外部表仅供查询,不能对外部表的内容修改。

1、创建目录对象并授权,从9i开始,ORACLE数据库若要存取文件系统,就必须使用目录对象,以相对路径方式存取路径,强化数据库的安全性。

2、从数据库导出数据到外部表

create table ext_emp_query

(first_name,last_name,department_name)

organization external

(type oracle_datapump

default directory tab_dir

location('emp1.exp','emp2.exp','emp3.exp')

)

parallel

as

select e.first_name,e.last_name,d.department_name

from employees e,departments d

where e.department_id=d.department_id and

d.department_name in ('Marketing','Purchaing')

3、外部插入数据

create table hr.ext_tab2

(id number,name varchar2(20))

organization external

(type oracle_loader

default directory tab_dir

location

(tab_dir:'ext_tab1',

tab_dir:'ext_tab2')

);

创建完成后需要自己到指定目录创建文件,如果文件提前存在,那么将无法查询到文件内容

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1


http://chatgpt.dhexx.cn/article/EHIXf0PR.shtml

相关文章

MySQL数据库- 几种数据迁移的方法详解都在这了!看完必懂

数据迁移的几种方式 - MySQL数据库 本文关键字:MySQL、数据库、数据迁移、导入、导出 文章目录 数据迁移的几种方式 - MySQL数据库 一、数据迁移 1. 数据的生命周期2. 数据迁移的发生二、数据导出 1. 命令方式2. 软件方式三、数据导入 1. 命令方式2. 软件方式四、…

数据迁移方法

在我的《高并发系统设计目标之可扩展性》博文中提到,随着业务的发展,我们会沿着AKF的Y轴进行微服务化的改造。但是沿着Y轴的重构过程中往往涉及到分库分表。那么这时就需要进行数据库的迁移了。沿着AKF的Z轴也类似,那么迁移有什么原则呢&…

如何高效地进行大规模数据迁移?

导读 我们在做一次系统业务模型重构的时候,往往会遇到把旧模型表中的数据迁移到新模型表中,如果这时候,我们旧表中的数据规模已达到千万级以上,那么,这个从旧表迁移到新表的过程会非常漫长,而业务仍需快速推…

电脑数据怎么迁移?

“最近我的电脑越来越卡,运行程序时还会出现卡死奔溃的现象,陪伴我多年的电脑到了退休的时候了。购买了一台新款的笔记本电脑,打开软件运行多么的流畅,别提多高兴了!可是,我想把旧电脑的数据导入到新电脑怎…

数据库整体迁移

1.迁移方法概述: 使用Navicat Premium 分别与源数据库和目标数据库建立连接,然后借助Navicat Premium自带的数据传输功能,实现Oracle数据库的迁移.其实跟从MySQL数据库迁移到oracle数据库是一个套路. O(∩_∩)O~ 听起来,是不是很简单,其实就是很简单!下边我就讲一下具体实现的细…

数据库迁移的方法

数据库迁移的方法 我们今天以mysql为例,讲讲数据库迁移的四种方法。 1、将数据库倒出为sql文件,再重新导入(推荐)。 首先将mysql数据库锁定,并将内存中的数据写入磁盘。 flush tables with read lock ; 用mysqldump将t…

数据迁移——技术选型

日常我们在开发中,随着业务需求的变更,重构系统是很常见的事情。重构系统常见的一个场景是变更底层数据模型与存储结构。这种情况下就要对数据进行迁移,从而使业务能正常运行。 背景如下:老系统中使用了mongo数据库,由…

Oracle数据迁移MySQL

前言: 现今,Oracle数据迁移MySQL的需求已经越来越普遍,主要的迁移场景大致可以分为三类,第一类是涉及小表以及少量表的一次性迁移,无需进行增量同步,第二类是涉及大表以及多表的一次性迁移,第三类是涉及增…

电脑之间如何迁移数据?数据迁移方法描述

电脑之间如何迁移数据?当更换电脑时,很多人需要做的第一件事,就是将旧电脑的数据通过外置存储设备等拷贝到新电脑上,并且还要在新电脑上重新安装应用程序,步骤繁琐,耗费了大量的时间和精力不说,…

DB数据迁移方案

互联网系统,经常会有数据迁移的需求。系统从机房迁移到云平台,从一个云平台迁移到另一个云平台,系统重构后表结构发生了变化,分库分表,更换数据库选型等等,很多场景都需要迁移数据。 在互联网行业&#xf…

【OceanBase】四种不同的数据迁移方式

前言 OceanBase 已连续 9 年稳定支撑双 11,创新推出“三地五中心”城市级容灾新标准,在被誉为“数据库世界杯”的 TPC-C 和 TPC-H 测试上都刷新了世界纪录。自研一体化架构,兼顾分布式架构的扩展性与集中式架构的性能优势,用一套…

数据迁移介绍

数据迁移方案 数据迁移框架有几个比较有名应用比较广泛的开源项目:阿里datax,apache sqoop以及Pentaho kettle。这三个框架整体上工作原理类似,下面介绍阿里datax数据迁移框架。 对旧系统进行了重构,就需要把原来的数据迁移到新数…

代码技巧——数据迁移方案【建议收藏】

开发工作中,可能会遇到如"大表拆分"、"跨库数据迁移"等场景,本文介绍互联网常见架构下的数据迁移方案及实现; 1. 数据迁移的业务场景 以下是需要数据迁移的场景业务场景; 1.1 大表拆分 由于历史原因&…

【Pytorch】Label Smoothing

理论介绍可以参考 【Inception-v3】《Rethinking the Inception Architecture for Computer Vision》 中的 4.5 Model Regularization via Label Smoothing 本质就是用右边(意会下就行)的标签替换左边的 one-hot 编码形式,让网络别那么愤青&…

关于label smoothing(标签平滑)

目的: label smoothing常用于分类任务,防止模型在训练中过拟合,提高模型的泛化能力。 意义: 对于分类问题,我们通常使用one-hot编码,“非黑即白”,标签向量的目标类别概率为1,非目标…

【AI面试】hard label与soft label,Label Smoothing Loss 和 Smooth L1 Loss

往期文章: AI/CV面试,直达目录汇总【AI面试】NMS 与 Soft NMS 的辨析【AI面试】L1 loss、L2 loss和Smooth L1 Loss,L1正则化和L2正则化在一次询问chatGPT时候,在他的回答中,由smooth L1联想提到了Label Smoothing Loss 。我把问题贴到下面,和chatGPT的回答,供你参考。不…

标签平滑(label smoothing)

目录 1.标签平滑主要解决什么问题? 2.标签平滑是怎么操作的? 3.标签平滑公式 4.代码实现 标签平滑(label smoothing)出自GoogleNet v3 关于one-hot编码的详细知识请见:One-hot编码 1.标签平滑主要解决什么问题&…

指数平滑法 Exponential Smoothing

指数平滑法 Exponential Smoothing 指数平滑法,用于中短期经济发展趋势预测。 1 时间序列分析基础知识 1.1 时间序列分析前提假设 时间序列分析一般假设我们获得的数据在时域上具有一定的相互依赖关系,例如股票价格在t时刻很高,那么在t1时…

label smoothing(标签平滑)

label smoothing是一种在分类问题中,防止过拟合的方法。 label smoothing(标签平滑) 交叉熵损失函数在多分类任务中存在的问题label smoothing(标签平滑)参考资料 交叉熵损失函数在多分类任务中存在的问题 多分类任务…

When Does Label Smoothing Help?

原文链接:When Does Label Smoothing Help? Hinton老师的这篇paper,解释了标签平滑策略在什么情况下是有效的? 摘要 通过从hard targets加权平均得到的soft targets,可以显著提升多分类神经网络的泛化性和训练速度。这种标签平…