搁胱 发表于 2025-11-21 11:50:01

Oracle逻辑备份与数据迁移技术详解

一、Oracle逻辑备份概念

1.1 物理备份概述

物理备份是所有物理文件的一个副本,包括数据文件、日志文件、控制文件、归档文件等。这些文件存储在本地磁盘或相应存储设备上,可分为:

[*]冷备份:在非归档模式下进行,需要关闭数据库
[*]热备份:在归档模式下进行,数据库可保持运行状态
1.2 逻辑备份

逻辑备份是通过导出表、索引、存储过程等对象到二进制文件的方式实现。使用Oracle的exp/expdp工具导出,再通过imp/impdp工具导入数据库。逻辑备份主要应用于数据迁移场景,是对物理备份的重要补充。
1.3 Oracle exp/imp工具介绍

作为Oracle最古老的命令行工具,exp/imp在以下场景中发挥重要作用:

[*]小型数据库转储
[*]表空间迁移
[*]表数据抽取
[*]逻辑和物理冲突检测
但随着TB级数据库和数据仓库的普及,exp/imp逐渐被RMAN和第三方工具取代。
1.4 Oracle expdp/impdp工具介绍

Oracle 10g引入的数据泵(expdp/impdp)工具,通过并行处理大幅提升了效率,现已基本替代传统的exp/imp工具。
1.5 数据泵实现功能


[*]逻辑备份和逻辑恢复
[*]数据库用户间对象迁移
[*]数据库间对象迁移
[*]表空间搬移
1.6 数据泵与传统导出导入的区别

特性exp/impexpdp/impdp运行位置客户端/服务端仅服务端文件兼容性不兼容expdp文件不兼容exp文件导出方式导出表、方案、表空间、数据库四种导出方式1.7 数据泵工作流程


[*]命令行执行命令
[*]调用dbms_datapump PL/SQL包
[*]自动选择数据传输机制(direct path或external table)
[*]元数据通过dbms_metadata包以XML格式存储
[*]支持客户端断开后服务端继续执行
1.8 expdp/impdp命令参数详解

主要参数说明:

ATTACH
expdp scott/tiger attach=scott.export_job在客户会话与已存在导出作业间建立关联。
CLUSTER
11gR2后worker进程会在多个instance启动,需确保DIRECTORY在共享磁盘上。
COMPRESSION
COMPRESSION=ALL          # 压缩元数据和对象数据
COMPRESSION=DATA_ONLY    # 仅压缩对象数据
COMPRESSION=METADATA_ONLY # 仅压缩元数据
COMPRESSION=NONE         # 不压缩CONTENT
CONTENT=ALL            # 导出对象定义及数据
CONTENT=DATA_ONLY      # 仅导出数据
CONTENT=METADATA_ONLY    # 仅导出结构DIRECTORY
CREATE OR REPLACE DIRECTORY backup AS '/opt/oracle/utl_file';
GRANT READ,WRITE ON DIRECTORY backup TO system;重要参数列表:

[*]DUMPFILE:指定转储文件名
[*]ENCRYPTION:数据加密选项
[*]ESTIMATE:估算磁盘空间方法
[*]EXCLUDE/INCLUDE:排除/包含特定对象
[*]PARALLEL:并行进程数(通常为CPU的2倍)
[*]QUERY:数据过滤条件
[*]REMAP_DATA:数据转换函数
二、项目案例实践

2.1 按用户迁移数据案例

源端环境分析

表空间信息:
SELECT DISTINCT tablespace_name
FROM dba_segments
WHERE owner IN ('SMP','SMP2','WGSMS');数据量统计:
SELECT owner,tablespace_name,ROUND(SUM(bytes)/1024/1024,0) size_MB
FROM dba_segments
WHERE owner IN ('SMP','SMP2','WGSMS')
GROUP BY owner,tablespace_name
ORDER BY 1,3;对象数量检查:
SELECT owner,COUNT(*)
FROM dba_objects
WHERE owner IN ('SMP','SMP2','WGSMS')
GROUP BY owner;目标端准备

创建表空间示例:
-- 创建TS_EVENT_IDX1表空间
CREATE TABLESPACE TS_EVENT_IDX1
DATAFILE '+DATA/NGS4ADB/DATAFILE/ts_event_idx1001.dbf'
SIZE 30G AUTOEXTEND OFF;

-- 大表空间添加数据文件
ALTER TABLESPACE RA_TBS
ADD DATAFILE '+DATA/NGS4ADB/DATAFILE/ra_tbs002.dbf'
SIZE 30G AUTOEXTEND OFF;数据迁移操作

源端导出:
expdp dw_wl/sweet_0807 directory=dump_dir dumpfile=WGSMS_20201103.dmp \
logfile=WGSMS_20201103.log schemas=wgsms cluster=no

expdp dw_wl/sweet_0807 directory=dump_dir dumpfile=SMP_20201103.dmp \
logfile=SMP_20201103.log schemas=SMP cluster=no parallel=4目标端导入:
impdp dw_wl/sweet_0807 directory=dump_dir dumpfile=WGSMS_20201103.dmp \
logfile=IMWGSMS_20201103.log schemas=wgsms cluster=no2.2 通过DBLINK数据不落地迁移

环境配置

创建DBLINK:
CREATE PUBLIC DATABASE LINK to_100
CONNECT TO VIDEO_MANAGE IDENTIFIED BY qwerasdf
USING 'rzasm';测试连接:
SELECT * FROM tab@to_100 WHERE ROWNUM

嫁蝇 发表于 2025-12-5 16:42:23

感谢分享

甄婉丽 发表于 2025-12-17 03:39:18

谢谢楼主提供!

井晶灵 发表于 2025-12-17 09:52:49

谢谢楼主提供!

扈怀易 发表于 2025-12-20 01:14:11

收藏一下   不知道什么时候能用到

敞撬 发表于 2025-12-22 12:42:24

感谢分享,下载保存了,貌似很强大

嗦或 发表于 2025-12-26 03:05:34

谢谢楼主提供!

何书艺 发表于 2026-1-4 02:01:45

感谢分享,学习下。

缄戈 发表于 2026-1-12 00:03:33

分享、互助 让互联网精神温暖你我

祝安芙 发表于 2026-1-13 19:47:43

感谢分享,下载保存了,貌似很强大

疝镜泛 发表于 2026-1-16 16:32:10

东西不错很实用谢谢分享

匡菲 发表于 2026-1-18 20:48:24

感谢分享,学习下。

任佳湍 发表于 2026-1-19 06:33:31

谢谢分享,辛苦了

讲怔 发表于 2026-1-19 10:04:39

很好很强大我过来先占个楼 待编辑

马璞玉 发表于 2026-1-21 14:20:15

这个好,看起来很实用

兑谓 发表于 2026-1-22 17:29:05

前排留名,哈哈哈

虹姥 发表于 2026-1-26 16:56:05

前排留名,哈哈哈

越蔓蔓 发表于 2026-1-27 02:59:51

鼓励转贴优秀软件安全工具和文档!

煞赶峙 发表于 2026-1-28 05:21:40

谢谢分享,辛苦了

判涔 发表于 2026-1-30 04:08:26

感谢发布原创作品,程序园因你更精彩
页: [1] 2
查看完整版本: Oracle逻辑备份与数据迁移技术详解