将数据加载到数据库中_第1页
将数据加载到数据库中_第2页
将数据加载到数据库中_第3页
将数据加载到数据库中_第4页
将数据加载到数据库中_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、 记录或不记录重做数据记录或不记录重做数据 19-5Copyright Oracle Corporation, 2001. All rights reserved.19-6Copyright Oracle Corporation, 2001. All rights reserved.串行直接加载串行直接加载删除后得到的空闲空间删除后得到的空闲空间插入行所使用的块插入行所使用的块 高水位标记高水位标记已使用的块已使用的块EMPLOYEES 表表INSERT /*+ APPEND */ INTO empNOLOGGINGSELECT * FROM t_employees;COMMIT;服务服务器进

4、程器进程 19-7Copyright Oracle Corporation, 2001. All rights reserved.并行直接加载并行直接加载临时段临时段ALTER SESSION ENABLE PARALLEL DML;INSERT /*+PARALLEL(hr.employees,2) */ INTO hr.employees NOLOGGINGSELECT * FROM hr.old_employees;删除后得到的空闲空间删除后得到的空闲空间已使用的块已使用的块EMPLOYEES 表表高水位标记高水位标记从属进程从属进程 从属进程从属进程 19-8Copyright Ora

5、cle Corporation, 2001. All rights reserved.19-9Copyright Oracle Corporation, 2001. All rights reserved.SQL*Loader数据库数据文件数据库数据文件输入数据文件输入数据文件 加载程序控制文件加载程序控制文件SQL*Loader日志文件日志文件 被插入被插入 被选定被选定 参数文件参数文件(可选)(可选) 被拒绝被拒绝 坏文件坏文件 被拒绝被拒绝 记录选择记录选择 被接受被接受 废弃文件废弃文件(可选)(可选) 被废弃被废弃 字段处理字段处理 Oracle 服务器服务器 19-10Copyr

6、ight Oracle Corporation, 2001. All rights reserved.19-11Copyright Oracle Corporation, 2001. All rights reserved.使用使用 SQL*LoaderSQL*Loadercase1.logcase1.ctlEMPLOYEES 表表$sqlldr hr/hr control=case1.ctl log=case1.log direct=Y 19-12Copyright Oracle Corporation, 2001. All rights reserved.SQL*Loader 控制文件控制

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

8、acle Corporation, 2001. All rights reserved.与控制文件的语法有关的注意事项与控制文件的语法有关的注意事项 控制文件的语法在格式方面没有任何限制。控制文件的语法在格式方面没有任何限制。 语法不区分大小写。语法不区分大小写。 注释从两个标记注释开始处的连字符注释从两个标记注释开始处的连字符 (-) 开始一直开始一直延续到行尾。延续到行尾。 保留保留 CONSTANT 关键字。关键字。19-16Copyright Oracle Corporation, 2001. All rights reserved.输入数据和数据文件输入数据和数据文件 SQL*Loa

9、der 从控制文件所指定的一个或多个文件中读从控制文件所指定的一个或多个文件中读取数据。取数据。 从从 SQL*Loader 的角度看,数据文件中的数据是以记录的角度看,数据文件中的数据是以记录的形式出现的。的形式出现的。 数据文件可以采用以下三种格式之一:数据文件可以采用以下三种格式之一: 固定记录格式固定记录格式 可变记录格式可变记录格式 流式记录格式流式记录格式 19-17Copyright Oracle Corporation, 2001. All rights reserved.19-18Copyright Oracle Corporation, 2001. All rights r

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

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

12、目始终生成重做日志条目 执行所有的约束执行所有的约束触发触发 INSERT 触发器触发器可以加载到集簇表中可以加载到集簇表中其他用户可以对表进行更改其他用户可以对表进行更改 直接路径加载直接路径加载使用数据保存使用数据保存仅在特定条件下才生成重做仅在特定条件下才生成重做日志条目日志条目 仅执行主键约束、唯一性约束仅执行主键约束、唯一性约束和和 NOT NULL 约束约束 不触发不触发 INSERT 触发器触发器无法加载到集簇表中无法加载到集簇表中其他用户不能对表进行更改其他用户不能对表进行更改19-23Copyright Oracle Corporation, 2001. All rights

13、 reserved.19-24Copyright Oracle Corporation, 2001. All rights reserved.并行直接路径加载并行直接路径加载临时段临时段 load2.datload2.ctlload3.datload3.ctlSQL*LoaderSQL*LoaderSQL*Loader表表高水位标记高水位标记 load1.datload1.ctl19-25Copyright Oracle Corporation, 2001. All rights reserved.数据转换数据转换在常规路径加载过程中,分两步将数据文件中的数据字段转在常规路径加载过程中,分两步

14、将数据文件中的数据字段转换为数据库中的列:换为数据库中的列: 控制文件中的字段说明用于解释数据文件的格式,并使控制文件中的字段说明用于解释数据文件的格式,并使用该数据将数据文件转换为用该数据将数据文件转换为 SQL INSERT 语句。语句。 Oracle 数据库服务器接受该数据,并执行数据库服务器接受该数据,并执行 INSERT 语句语句将数据存储到数据库中。将数据存储到数据库中。19-26Copyright Oracle Corporation, 2001. All rights reserved.被废弃或拒绝的记录被废弃或拒绝的记录 坏文件坏文件 如果输入格式无效,如果输入格式无效,SQ

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

16、8Copyright Oracle Corporation, 2001. All rights reserved.日志文件的内容日志文件的内容 标头信息标头信息 全局信息全局信息 表信息表信息 数据文件信息数据文件信息 表加载信息表加载信息 小结统计信息小结统计信息 直接路径加载的其它统计信息和多线程信息直接路径加载的其它统计信息和多线程信息19-29Copyright Oracle Corporation, 2001. All rights reserved.19-30Copyright Oracle Corporation, 2001. All rights reserved.SQL*Loader 原则原则 使用参数文件来指定常用的命令行选项。使用参数文件来指定常用的命令行选项。 仅当运行的是小型、一次性加载时才将数据放在控制仅当运行的是小型、一次性加载时才将数据放在控制文件中。文件中。 提高性能的方法:提高性能的方法: 分配充足的空间分配充足的空间 将数据按最大索引排序将数据按最大索引

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论