WEB开发网
开发学院数据库Oracle Oracle数据库备份与恢复(2):SQL*Loader 阅读

Oracle数据库备份与恢复(2):SQL*Loader

 2008-11-05 12:10:50 来源:WEB开发网   
核心提示: 2.1 基本知识 Oracle 的 SQL* LOADER 可以将外部格式化的文本数据加载到数据库表中,通常 与 SPOOL导出文本数据方法配合使用,Oracle数据库备份与恢复(2):SQL*Loader, 1.命令格式 SQLLDR keyword=value [,keyword=value,它就自动建

  2.1 基本知识

   Oracle 的  SQL* LOADER  可以将外部格式化的文本数据加载到数据库表中。通常 与 SPOOL导出文本数据方法配合使用。

   1.命令格式

   SQLLDR keyword=value [,keyword=value,……]

   例:$ sqlldr user/pwd control=emp.ctl data=emp.dat bad=emp.bad log=emp.log

   2.控制文件

   SQL*LOADER  根据控制文件可以找到需要加载的数据。并且分析和解释这些数据。

   控制文件由三个部分组成,具体参数参考帮助文档:1.  全局选件,行,跳过的记录数等;2. INFILE 子句指定的输入数据;3.  数据特性说明。

   comment: ——注释

   例:

   load data infile *

   append   ——除了 append外,还有 insert、replace、truncate等方式

   into table emp fields terminated b y ‘|’

   (

   no       float external, name char(20),

   age      integer external,

   duty     char(1),salary    float external,

   upd_ts   date(14) ‘YYYYMMDDHH24MISS’)

   begindata

   100000000003|Mulder|000020|1|000000005000|20020101000000

   100000000004|Scully|000025|2|000000008000|20020101235959

   控制文件中infile选项跟sqlldr 命令行中data 选项含义相同,如使用infile *则表明数据在本控制文件以 begin data 开头的区域内。 一些选项:FIELDS TERMINATED BY WHITESPACE FIELDS TERMINATED BY x'09' FILLER_1 FILLER, //  指定某一列将不会被装载

   DEPTNO position(1:2), DNAME position(*:16), //  指定列的位置SEQNO RECNUM //载入每行的行号

   SKIP n      //  指定导入时可以跳过多少行数据

   3.数据文件

   按控制文件数据格式定义的数据行集,

   例:

   100000000001|Tom|000020|1|000000005000|20020101000000

   100000000002|Jerry|000025|2|000000008000|20020101235959

   固定格式、可变格式、流记录格式:

   固定格式:

   当数据固定的格式(长度一样)时且是在文件中得到时,要用 INFILE "fix n"

   load data

   infile 'example.dat' "fix 11"

   into table example

   fields terminated b y ',' optionally enclosed by '"'

   (col1 char(5), col2 char(7)) example.dat:

   001, cd, 0002,fghi,

   00003,lmn,

   1, "pqrs",

   0005,uvwx,

   可变格式:

   当数据是可变格式(长度不一样)时且是在文件中得到时,要用 INFILE "var n".如:

   load data

   infile 'example.dat' "var 3"

   into table example

   fields terminated b y ',' optionally enclosed by '"'

   (col1 char(5), col2 char(7)) example.dat:

   009hello,cd,010world,im,

   012my,name is,

   流记录格式: // Stream-recored format:load data infile 'xx.dat' "str '|\n'"

   into table xx field terminated b y ',' optionally enclosed by '"'

   (col1 char(5), col2 char(7))

   example.dat:

   hello, ccd,|

   world, bb,|

   4.  坏文件

   bad=emp.bad坏文件包含那些被 SQL*Loader拒绝的记录。被拒绝的记录可能是不符合要求的记录。

   5.  日志文件及日志信息

   log=emp.log当 SQL*Loader  开始执行后,它就自动建立  日志文件。日志文件包含有加载的总 结,加载中的错误信息等。

1 2 3  下一页

Tags:Oracle 数据库 备份

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接