读书笔记-ORACLE数据迁移

来源:互联网 发布:深圳云和数据招聘 编辑:程序博客网 时间:2024/04/30 06:25
移动数据体系结构:
DBMS_DATAPUMP

ORACLE LOADER API;
ORACLE数据泵,
直接路径API:减少数据转换和语法分析
元数据API:数据库对象使用XML存储

直接加载较常规加载的优势:
使用数据保存,只在特定条件下生成重做项。只强制PK,UK,NOT NULL。不触发INSERT,在加载结束后合并索引。
注,直接加载 不能加载到聚簇表中,在加载过程中会阻止其他用户改表。

直接加载会格式化ORACLE数据块,不与其他用户竞争数据库资源,速度接近磁盘写速度。
数据保存与 COMMIT:
整块写入,写在HWM之后,完成后不释放内部资源,也不结束事务处理,不更新索引。

直接路径加载不生成REDO的条件:
数据库是NOARCHIVELOG模式,或ARCHIVELOG模式下,但禁用事件记录。

直接路径加载与约束:
先CHECK NOT NULL
FK,和其他CHECK处于禁用状态。(大表中插入少量数据,使用常规加载)
PK,NK结束时检查,如果违反则禁用它们。。。。

触发器,加载前被禁用,加载结束后重新启用。启用只是个动作,不保证结果。

直接加载支持并行。
外部表
SQL_LOADER,ORACLE_DATAPUMP

数据泵:
直接加载
外部表(有聚簇表,加密列等会使用外部表)
EXCLUDE,INCLUDE ,CONTENT用于细粒度对象,数据选择。
VERSION,做版本兼容。
PARALLEL 指定并行度
SAMPLE做采样,卸载 数据的百分比。对网络模式无效
可采用网络模式。
导入时可更改数据文件名,方案,表空间。
默认目录DATA_PUMP_DIR

INCLUDE=OBJECT_TYPE[:"NAME_EXPR"]
CONTENT= ALL|METADATA_ONLY|DATA_ONLY
QUERY 可限制表级别的导入导出
指定%U,生成的导出文件数等于PARALLEL参数。
覆盖重名的文件(二进制格式)使用REUSE_DUMPFILES=Y
TRANSFORM 更改创建对象的DDL
并行度一般设置为CPU数的两倍。至少一个并行度要对应一个文件

对数据泵性能有影响的参数:
DISK_ASYNCH_IO:
DB_BLOCK_CHECKING
DB_BLOCK_CHECKSUM
增大
PROCESSES
SESSIONS
PARALLEL_MAX_SERVERS

增加SHARED_POOL_SIZE和UNDO_TABLESPACE初始化参数大小。

使用外部表:
有细粒度访问的表,LOB列有域索引
定义了活动触发器的表
分区表有全局索引
BFILE/不透明类型的列
引用完整性约束



REMAP_DATAFILE
REMAP_TABLESPACE
REMAP_SCHEMA
REMAP_TABLE
REMAP_DATA
0 0