将数据加载到数据库中

上传人:我** 文档编号:117168061 上传时间:2019-11-18 格式:PPT 页数:21 大小:284KB
返回 下载 相关 举报
将数据加载到数据库中_第1页
第1页 / 共21页
将数据加载到数据库中_第2页
第2页 / 共21页
将数据加载到数据库中_第3页
第3页 / 共21页
将数据加载到数据库中_第4页
第4页 / 共21页
将数据加载到数据库中_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《将数据加载到数据库中》由会员分享,可在线阅读,更多相关《将数据加载到数据库中(21页珍藏版)》请在金锄头文库上搜索。

1、19 Copyright Oracle Corporation, 2001. All rights reserved. 将数据加载到数据库中 19-2Copyright Oracle Corporation, 2001. All rights reserved. 目标 完成这一课的学习后,您应该能达到下列目标: 演示直接加载操作的用法 说明 SQL*Loader 的用法 执行基本的 SQL*Loader 操作 列出 SQL*Loader 和直接加载的使用原则 19-3Copyright Oracle Corporation, 2001. All rights reserved. 数据加载方法

2、Oracle 数据库 SQL*Loader 其它应用程序 导出 导入 直接加载 Oracle 数据库 19-4Copyright Oracle Corporation, 2001. All rights reserved. 直接加载 可以使用以下方法执行直接加载插入: 正常(串行)或并行 加载到分区表、非分区表或表的单个分区中 记录或不记录重做数据 19-5Copyright Oracle Corporation, 2001. All rights reserved. 19-6Copyright Oracle Corporation, 2001. All rights reserved. 串行

3、直接加载 删除后得到的空闲空间 插入行所使用的块 高水位标记 已使用的块 EMPLOYEES 表 INSERT /*+ APPEND */ INTO emp NOLOGGING SELECT * FROM t_employees; COMMIT; 服务 器进程 19-7Copyright Oracle Corporation, 2001. All rights reserved. 并行直接加载 临时段 ALTER SESSION ENABLE PARALLEL DML; INSERT /*+PARALLEL(hr.employees,2) */ INTO hr.employees NOLOGG

4、ING SELECT * FROM hr.old_employees; 删除后得到的空闲空间 已使用的块 EMPLOYEES 表 高水位标记 从属进程 从属进程 19-8Copyright Oracle Corporation, 2001. All rights reserved. 19-9Copyright Oracle Corporation, 2001. All rights reserved. SQL*Loader 数据库数据文件 输入数据文件 加载程序控制文件 SQL*Loader 日志文件 被插入 被选定 参数文件 (可选) 被拒绝 坏文件 被拒绝 记录选择 被接受 废弃文件 (可

5、选) 被废弃 字段处理 Oracle 服务器 19-10Copyright Oracle Corporation, 2001. All rights reserved. 19-11Copyright Oracle Corporation, 2001. All rights reserved. 使用 SQL*Loader SQL*Loader case1.log case1.ctl EMPLOYEES 表 $sqlldr hr/hr control=case1.ctl log=case1.log direct=Y 19-12Copyright Oracle Corporation, 2001.

6、All rights reserved. SQL*Loader 控制文件 加载程序控制文件通知 SQL*Loader 以下信息: 加载数据的所在位置 数据格式 配置方面的详细信息 内存管理 记录拒绝情况 与处理被中断的加载有关的详细信息 如何操纵数据 19-13Copyright Oracle Corporation, 2001. All rights reserved. 19-14Copyright Oracle Corporation, 2001. All rights reserved. 19-15Copyright Oracle Corporation, 2001. All right

7、s reserved. 与控制文件的语法有关的注意事项 控制文件的语法在格式方面没有任何限制。 语法不区分大小写。 注释从两个标记注释开始处的连字符 (-) 开始一直 延续到行尾。 保留 CONSTANT 关键字。 19-16Copyright Oracle Corporation, 2001. All rights reserved. 输入数据和数据文件 SQL*Loader 从控制文件所指定的一个或多个文件中读取 数据。 从 SQL*Loader 的角度看,数据文件中的数据是以记录 的形式出现的。 数据文件可以采用以下三种格式之一: 固定记录格式 可变记录格式 流式记录格式 19-17Co

8、pyright Oracle Corporation, 2001. All rights reserved. 19-18Copyright Oracle Corporation, 2001. All rights reserved. 19-19Copyright Oracle Corporation, 2001. All rights reserved. 逻辑记录 以下是两种用来形成逻辑记录的策略。可以指示 SQL*Loader 采用其中一种策略: 将固定数量的物理记录合并为一条逻辑记录。 当某种条件为真时,将物理记录合并为逻辑记录。 19-20Copyright Oracle Corpora

9、tion, 2001. All rights reserved. 加载方法 常规 直接路径 数据 保存 表 高水位标记 仅供常规加载使用的空间 例程 SGA 共享池 数组 插入 19-21Copyright Oracle Corporation, 2001. All rights reserved. 19-22Copyright Oracle Corporation, 2001. All rights reserved. 直接路径加载和常规路径加载的比较 常规路径加载 使用 COMMIT 来使所做的更 改能永久保留 始终生成重做日志条目 执行所有的约束 触发 INSERT 触发器 可以加载到集

10、簇表中 其他用户可以对表进行更改 直接路径加载 使用数据保存 仅在特定条件下才生成重做 日志条目 仅执行主键约束、唯一性约束 和 NOT NULL 约束 不触发 INSERT 触发器 无法加载到集簇表中 其他用户不能对表进行更改 19-23Copyright Oracle Corporation, 2001. All rights reserved. 19-24Copyright Oracle Corporation, 2001. All rights reserved. 并行直接路径加载 临时段 load2.dat load2.ctl load3.dat load3.ctl SQL*Load

11、er SQL*Loader SQL*Loader 表 高水位标记 load1.dat load1.ctl 19-25Copyright Oracle Corporation, 2001. All rights reserved. 数据转换 在常规路径加载过程中,分两步将数据文件中的数据字段转 换为数据库中的列: 控制文件中的字段说明用于解释数据文件的格式,并使用 该数据将数据文件转换为 SQL INSERT 语句。 Oracle 数据库服务器接受该数据,并执行 INSERT 语句 将数据存储到数据库中。 19-26Copyright Oracle Corporation, 2001. All

12、rights reserved. 被废弃或拒绝的记录 坏文件 如果输入格式无效,SQL*Loader 将拒绝记录。 如果 Oracle 数据库发现某行无效,则将拒绝该条记录, 并且 SQL*Loader 将该记录放到坏文件中。 废弃文件 该文件只有在启用之后方能使用。 该文件包含被过滤出来的记录,因为这些记录与控制文件 中指定的任何记录选择标准均不符合。 19-27Copyright Oracle Corporation, 2001. All rights reserved. 19-28Copyright Oracle Corporation, 2001. All rights reserve

13、d. 日志文件的内容 标头信息 全局信息 表信息 数据文件信息 表加载信息 小结统计信息 直接路径加载的其它统计信息和多线程信息 19-29Copyright Oracle Corporation, 2001. All rights reserved. 19-30Copyright Oracle Corporation, 2001. All rights reserved. SQL*Loader 原则 使用参数文件来指定常用的命令行选项。 仅当运行的是小型、一次性加载时才将数据放在控制 文件中。 提高性能的方法: 分配充足的空间 将数据按最大索引排序 (如果运行的是并行加载)为临时段指定不同的文件 19-31Copyright Oracle Corporation, 2001. All rights reserved. 小结 在这一课中,您应该能够掌握: 说明 SQL*Loader 的用法 执行基本的 SQL*Loader 操作 熟练使用直接加载操作 列出 SQL*Loader 操作和直接加载操作的使用原则

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号