DBA之Oracle数据库数据移植

一、移动数据的通用体系结构

数据移植:通用体系结构

二、数据泵

1、概览

是一种基于服务器的用于高速移动数据与元数据的工具,Oracle 数据泵具有以下特点:

1)可通过DBMS_DATAPUMP 调用

2)可提供以下工具:

•expdp

•impdp

•基于Web 的界面

3)可提供以下数据访问方法:

•直接路径

•外部表

4)可与长时间运行的作业分离,然后与之重新挂接

5)可重新启动数据泵作业

2、优点

1)细粒度级的对象和数据选择

2)显式指定数据库版本

3)并行执行

4)估计导出作业占用的空间

5)分布式环境中的网络模式

6)导入过程中的重新映射功能

7)数据采样率和元数据压缩

8)在导出期间压缩数据

9)通过加密增强安全性

10)重新映射数据

11)能够将XMLType 数据作为CLOB导出

12)遗留模式支持旧的导入和导出文件

3、目录对象

4、创建目录对象

5、数据泵导出和导入:概览

6、数据泵实用程序:接口与模式

1)数据泵导出和导入接口:

•命令行

•参数文件

•交互式命令行

•Enterprise Manager

2)数据泵导出和导入模式:

•全部

•方案

•表

•表空间

•可移动表空间

7、使用EM执行数据泵操作

8、数据泵导出示例:基本选项

9、数据泵导出示例:高级选项

10、数据泵导出示例:文件

11、数据泵导出示例:调度和运行作业

12、数据泵导出示例:检查

13、数据泵导入示例:impdp

•可以在命令行上调用数据泵允许进一步指定命令行选项

14、数据泵导入:转换

1)使用 REMAP_DATAFILE 重新映射数据文件

2)使用 REMAP_TABLESPACE 重新映射表空间

3)使用 REMAP_SCHEMA 重新映射方案

4)使用 REMAP_TABLE 重新映射表

5)使用 REMAP_DATA 重新映射数据

15、使用Oracle Enterprise Manager 监视数据泵作业

16、迁移数据泵遗留模式

1)遗留模式协助转换imp和exp工具到impdp和expdp工具

2)数据泵遗留模式

•遇到独特的imp或exp参数就会进入遗留模式

•映射旧的语法到新语法

•显示新语法

•退出遗留模式

3)建议: Oracle强烈建议查看新的语法,并在时间允许的时候修改旧语法的脚本

4)数据泵的导入和导出工具

•读写的文件都是数据泵的文件格式

•遗留模式接受exp和imp命令参数

•遗留模式参数包含:

a)与新语法相同: FILESIZE=integer[B | K | M | G]

b)相似: QUERY= query_clause

c)被忽略的参数:

i、BUFFER=integer

ii、COMPRESS=

iii、DIRECT=

•混合使用新旧语法,可能会导致错误

4)遗留模式参数

•以下参数会被映射成数据泵的参数:

a)consistent= -> FLASHBACK_TIME

b)GRANTS=n -> EXCLUDE=CONSTRAINTS

c)INDEXES=n -> EXCLUDE=INDEX –LOG=filename -> LOGFILE=filename

e)FILE=filename -> dumpfile=directory-object:filename

•相似但不完全一样的参数:FEEDBACK=integer -> STATUS

•不被接受的参数: VOLSIZE=integer

17、管理文件位置

1)原始的exp和imp工具需要提供完整路径的文件名

2)数据泵使用目录对象来定位文件位置

•默认 (在之前的版本): DATA_PUMP_DIR

•可选 DATA_PUMP_DIR_schema-name 目录对象

•可以使用 CREATE DIRECTORY 和 GRANT命令管理

•默认位置(独立于遗留模式), 当:

a)命令行未指定DIRECTORY参数

b)用户没有EXP_FULL_DATABASE权限

三、SQL*Loader

1、概览

2、使用SQL*Loader加载数据

3、SQL*Loader控制文件

SQL*Loader 控制文件通知SQL*Loader 以下信息:

1)要加载数据的位置

2)数据格式

3)配置详细资料:

•内存管理

•记录拒绝

•中断的加载处理详细资料

4)数据操纵详细资料

4、加载方法

四、外部表

1、概述

外部表是存储在数据库之外的操作系统上的文件,以只读的方式在数据库中作为表使用。

2、使用外部表

1)可直接使用外部文件中的数据或将数据加载到另一个数据库。

2)外部数据可直接被查询和加入到数据库内部表中

3)复杂的查询结果可以卸载到外部表中

4)可组合来自不同源的已生成文件用于加载

3、使用ORACLE_LOADER填充外部表

4、使用 ORACLE_DATAPUMP 填充外部表

5、使用外部表

1)查询外表部

2)查询外部表并与数据库内部的表进行join

3)使用外部表为内部表加载数据

6、数据字典

可在以下位置查看关于外部表的信息:

1)[DBA| ALL| USER]_EXTERNAL_TABLES

2)[DBA| ALL| USER]_EXTERNAL_LOCATIONS

3)[DBA| ALL| USER]_TABLES

4)[DBA| ALL| USER]_TAB_COLUMNS

5)[DBA| ALL]_DIRECTORIES

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180527A0CXJ000?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券