• [每日一题] OCP1z0-047 :2013-08-17 EXTERNAL TABLE――加载数据 ............................56



    正确答案:C

     

    一、对答案解释:

    A、       TYPE:有两个选可供选择:

    1、        ORACLE_LOADER:传统方式,与SQLLDR一样,参数从多,应用较多。

    2、        ORACLE_DATADUMP:数据泵(Datapump,这是10gR2中新增的数据访问方式,这种方式的数据源是专用二进制文件,这种二进制文件就目前而言只能用外部表生成,也中能用外部表加载。如果你对Oracle内部格式理解的深入,并有高超的编程能力,自己编写程序处理这种格式也是可行的。

    BREJECT LIMIT

    用来指定查询数据时能够接受的错误数,如果不指定默认值是0,即不允许出现错误,UNLIMITED则是不限制。

     

    CDEFAULT DIRECTORY

    指定数据文件所在路径对应的Directory对象名称。

     

    DACCESS PARAMETERS

    加载参数决定外部表如何访问数据文件,在外部表的创建语法中相当重要。具体都需要指定哪些参数,这得看访问驱动,不同访问驱动拥有不同的加载参数,从10gR2起始支持两种访问驱动:

    1、        ORACLE_LOADER:这是传统的外部表加载数据的方式,支持的参数从多并且复杂,或者说灵活。

    2、        ORACLE_DATADUMP10g版本新增加的数据泵方式加载数据。相对于ORACLE_LOADER加载方式,数据泵方式参数少,调用简单并且效率不新差。但是,使用上受到限制,因为其加载的数据文件必须是Oracle生成的一种使用内部格式的DMP文件,这就是导致其应用范围很有限,并不是想用就能用到的。

      使用SQLLDR命令生成的是ORACLE_LOADER参加载参数(它也只能生城ORACLE_LOADER访问驱动方式)。

    3、        RECORDS:该子句指定记录结束标记,默认是RECORDS DELIMITED BY NEWLINE,即以换行符结束。

    4、        BADFILE:错误文件名称和Directory对象名,与SQLLDR命令中的同名参数个有相同的功能。

    5、        LOGFILE:日志文件名,功能与SQLLDR命令中的同名参数具有相同功能。

    6、        READSIZE:读取日志文件的缓存区大小,默认是1MB,与SQLLDR命令中的同名参数具有相同功能。

    7、        SKIP:跳过的记录数,与SQLLDR命令中的同名参数具有相同功能。

    8、        FIELDS TERMINATEDBY:功能与SQLLDR控制文件中的同名参数具有相同功能。

    9、        REJECT ROWS WITHALL NULL FIELDS:该子句表示如果要加载的行所有字段均为空值,则外部表并不执行加载,如果不指定该子句,而数据文件中存在字段均为空值的行,当访问外部表时显示的结果中,各列也将均为空。

    10、     列定义:与SQLLDR控制文件中的同名参数具有相同功能。

     

     

    二、创建外部表测试:

    1、创建目录

    gyj@MYDB> create directory dir_ext as '/home/oracle';
    
    Directory created.
    

    2、外部表卸载数据

    gyj@MYDB> CREATE TABLE gyj_empdet
      2  ORGANIZATION EXTERNAL
      3  (TYPE ORACLE_DATAPUMP
      4  DEFAULT DIRECTORY dir_ext
      5  LOCATION('emp.dat'))
      6  AS
      7  SELECT employee_id,first_name,department_id
      8  FROM emp;
    
    Table created.
    

    3、外部表加载数据

    gyj@MYDB> CREATE TABLE empdet(
      2  empno     number(6),
      3  ename     varchar(20),
      4  departno  number(4))
      5  ORGANIZATION EXTERNAL
      6  (DEFAULT DIRECTORY dir_ext
      7  LOCATION('emp.dat'));
    
    Table created
    

    从第3步,外部表加载数据,只用了DEFAULT DIRECTORY dir_ext,就可以搞定。

    无须加TYPE ORACLE_DATAPUMP REJECT LIMITACCESS PARAMETERS


  • 相关阅读:
    Linux bash script block comment All In One
    一道有疑问的小学二年级数学题 All In One
    2022 微软飞行模拟器 中文版 All In One
    HTML5 video controlslist All In One
    Oracle 查询出来的数据取第一条
    js 获取select的值 / js动态给select赋值 jQuery获取
    Repeater隔行变色,两个方式
    layui之动态添加下拉菜单
    myeclipse部署多个应用到不同的weblogic domain中
    .net中LAMBDA表达式常用写法
  • 原文地址:https://www.cnblogs.com/pangblog/p/3266540.html
Copyright © 2020-2023  润新知