`
xiangwiang
  • 浏览: 26506 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

oracle 外部文件

阅读更多
2008-12-31
Oracle外部表 External Table


参考

http://www.blogjava.net/wxqxs/archive/2008/10/13/237180.html?opt=admin

http://hi.baidu.com/ray315/blog/item/153c97a33cd26caacbefd0de.html

http://arvinnan.iteye.com/blog/308638



定义
External tables access data in external sources as if it were in a table in the database.


You can connect to the database and create metadata for the external table using DDL.
The DDL for an external table consists of two parts: one part that describes the Oracle
column types, and another part (the access parameters) that describes the mapping of
the external data to the Oracle data columns.

u 创建的语法类似于: "CREATE TABLE ... ORGANIZATION EXTERNAL"

u 数据在数据库的外部组织,是操作系统文件。

u 操作系统文件在数据库中的标志是通过一个逻辑目录来映射的。       

u 数据是只读的。(外部表相当于一个只读的虚表)

u 不可以在上面运行任何 DML 操作,不可以创建索引。    

u 可以查询操作和连接。可以并行操作。





建立外部表的步骤:
    1、创建以“,”分隔的文件“TestTable.csv”至“D:\Test”
    2、创建一个Directory:
    create directory TestTable_diras 'D:\Test' ;
    3、创建一个外部表:
   create table TestTable(
      ID varchar2 ( 10 ),
      NAME varchar2 ( 20 ),
      TYPE varchar2 ( 20 ),
      AGEvarchar2 ( 20 ))
   organization external (
      type oracle_loader
      default directory TestTable_dir
      access parameters (fields terminatedby ',' )
      location ( 'TestTable.csv' )
      );

各类参数说明
    1、type oracle_loader
      数据转换驱动器,oracle_loader为默认,也可以改换其他
    2、defaultdirectory TestTable_dir
       location ('TestTable.csv')
      指定外部表所在文件夹以及指定文件
    3、accessparameters
     设置转换参数,例如(fields terminatedby',')表示以','为字段间的分隔符
      ● 参数由访问驱动程序定义

外部表的错误处理
    1、REJECT LIMIT子句
      在创建外部表时最后加入LIMIT子句,表示可以允许错误的发生个数。
      * 默认的REJECT LIMIT值为0
      * REJECT LIMIT UNLIMITED则不会报错
    2、BADFILE 和 NOBADFILE 子句
      在accessparameters中加入BADFILE'BAD_FILE.txt'子句,则所有数据转换错误的值会被放入'BAD_FILE.txt'中
      使用NOBADFILE子句则表示忽略转换错误的数据
      ● 如果不写BADFILE或NOBADFILE,则系统自动在源目录下生成与外部表同名的.BAD文件
      ● BADFILE只能记录前1次操作的结果,他会被第2次操作所覆盖。
    3、LOGFILE 和 NOLOGFILE 子句
      在accessparameters中加入LOGFILE'LOG_FILE.log'子句,则所有Oracle的错误信息放入'LOG_FILE.log'中
      使用NOLOGFILE子句则表示不记录错误信息到log中
      ● 如果不写LOGFILE或NOLOGFILE,则系统自动在源目录下生成与外部表同名的.LOG文件

修改外部表语句
    外部表与堆表一样可以之用ALTER TABLE命令修改表属性
    * REJECT LIMIT        --错误数
    * DEFAULT DIRECTORY   --默认目录
    * ACCESS PARAMETERS   --参数
    * LOCATION            --数据文件
    * ADD COLUMN          --增加列
    * MODIFY COLUMN       --列定义
    * DROP COLUMN         --删除列
    * RENAME TO           --外部表更名

其他约束
    ● 外部表无法使用insert、update、delete等操作,要修改其数据只能通过修改数据文件。
    ● 外部表不能建立索引,如要建立,则需要先create table XX as select * from TestTable




PS:
     1.外部表可以加载和卸载数据泵格式的数据,只需把organization external里的参数type设置为oracle_datapump。
            create table all_objects_unload
            organization external
                   (
                   type oracle_datapump
                  default directory testdir
                  location('allobjects.dat')
                  )
            as
            select * from all_objects
分享到:
评论

相关推荐

    \Oracle 外部表

    外部表只能在Oracle 9i之后来使用。...通过向Oracle提供描述外部表的元数据,我们可以把一个操作系统文件当成一个只读的数据库表,就像这些数据存储在一个普通数据库表中一样来进行访问。外部表是对数据库表的延伸。

    Oracle 主要配置文件介绍

    Oracle 应 用进行文件 I/O操作的目录为任意目录 因此 只要空间允许 可以将备份数 据存放到任意目录下 <br>1.2.4 监听配置文件 为了使得外部进程 如 CAMS后台程序 能够访问 Oracle 数据库 必须配 ...

    oracle数据库配置用户连接ora文件

    对于添加数据用户连接的配置文件,常用于外部工具对与oracle的操作比如plsql工具等等

    oracle监听配置文件介绍

    为了使得外部进程 如 CAMS后台程序 能够访问 Oracle 数据库 必须配 置 Oracle 网络服务器环境 配置 Oracle 网络服务器环境是通过配置 listener.ora sqlnet.ora 和 tnsnames.ora 共三个文件来进行的 listener.ora ...

    Oracle外部表特性深入浅出

    外部表只能在Oracle 9i之后来使用。...通过向Oracle提供描述外部表的元数据,我们可以把一个操作系统文件当成一个只读的数据库表,就像这些数据存储在一个普通数据库表中一样来进行访问。外部表是对数据库表的延伸。

    如何利用Oracle外部表导入文本文件的数据

     Oracle外部表支持两种类型的驱动:一种是ORACLE_LOADER,外部表的数据必须来源于文件文件,另一种则是ORACLE_DATAPUMP,外部表的数据必须是二进制dump文件,该dump文件是先前将Oracle内部表的数据导入到外部表中...

    oracle 10g创建外部表

    一个在oracle 10g(windows平台)版本下创建外部表的实例,亲自实践,100%可行! 里面有txt文件,有操作步骤,以txt的文档存在! 爱技术者不可错过!

    动手实验 Hadoop Oracle HDFS直接连接器

    动手实验: Oracle HDFS直接连接器 ...步骤2: 创建外部表,包含多个位置文件 步骤3: 在HDFS生成一组文件 步骤4: 创建指向一组文件的位置文件 步骤5: 检查结果 步骤6: 删除部分文件,从数据库中检查结果

    oracle11g无需客户端连接的DLL

    oracle11g,无需安装oralce客户端.只需要引用此DLL,就能连接.net

    从一个“普通”的Oracle DBA(Oracle数据库管理员)转变为Oracle Applications DBA(Oracle应用程序数据库管理员)

    Oracle E-Business Suite还有一些特性需要DBA去完成,比如从外部资源里灌数据到Apps database里,或支持开发人员从已有数据中提取数据。 接着工作内容的转变 作为一个Oracle Applications DBA(Oracle应用程序...

    Oracle数据库学习指南

    35.外部联接的用法 36.性能调试的一般问题 37.优化 38.优化调整Oracle 8i数据库(从操作系统) 39.在Internet上运作公司是一项艰苦的任务--关键任务 40.在oracle中限制返回结果集的大小 41.在远端如何...

    Oracle WareHouse Builder指南

    1. 安装 3 1.1. 安装ORACLE9I数据库 3 1.2. 安装ORACLE WORKFLOW 3 1.3. 安装OWB 5 2. 初始化OWB 6 2.1. OVERVIEW 6 ...9.1.2. 外部表 66 9.2. 如何处理远程文件 67 9.3. 如何处理名称不定的文件 69

    Oracle四大宝典之二:Oracle基本管理 中文版

    ORACLE数据库和数据库的物理结构,就如同人的身体结构一样,展现了一个人的外部特征,ORACLE实例如同人的神经,展现了一个人对事务的内部反应,ORACLE的逻辑结构,如同人的不同的内部组织,执行着人生存的基本功能。...

    oracle和mysql的区别

    在ORACLE(db2也一样)中表空间是文件系统中的物理容器的逻辑表示,视图、触发器和存储过程也可以保存在表空间中。而MYSQL并没有使用表空间来进行管理。 2.查询当前所有的表。ORACLE: select * from tab,MYSQL:...

    Oracle自学(学习)材料 (共18章 偏理论一点)

    2 Oracle 服务器入门 目标 2-2 数据库管理工具 2-3 Oracle 通用安装程序 2-4 交互式安装 2-5 使用反应文件的非交互式安装 2-6 Oracle 数据库配置助手 2-8 最优灵活体系结构(OFA) 2-9 Oracle 软件和文件位置 2-10 ...

    Oracle 10g应用指导

    第2章 Oracle体系结构,包括Oracle数据库逻辑结构和数据库物理结构以及Oracle文件的目录结构等。在案例精讲中对数据块校验、表的移动、数据文件丢失或损坏、丢失控制文件、数据文件更名以及数据库内文件的复制传输等...

    ORACLE9i_优化设计与系统调整

    §1.2 Oracle文件 26 §1.2.1 数据文件 26 §1.2.2 控制文件 26 §1.2.3 重做日志文件 26 §1.2.4 其它支持文件 26 §1.3 数据块、区间和段 28 §1.3.1 数据块(data block) 28 §1.3.2 区间(extent) 28 §1.3.3 ...

    oracle iops测试脚本.txt

    Oracle数据库的I/O校准功能,可以评估...不像其他外部的I/O校准工具发出的是顺序I/O读写,Oracle 的I/O随机读写是使用Oracle数据文件来访问存储介质的。因此,Oracle的I/O校准功能,产生的结果更接近实际数据库性能。

    Oracle11gPLSQLProgramming

     ·处理外部例程、对象类型、大对象和安全文件;  ·使用DBMS_ALERT 和DBMS_PIPE 在并行会话间通信;  ·通过Oracle Net Services 和PL/SQL 包装器调用外部过程;  ·使用Oracle JVM 集成内部和服务器端Java ...

    SQLProgress for Windows(Oracle Only)

    将数据库的BLOB栏位直接导出,或者将外部文件直接导入到BLOB栏位中。 可以根据文件内容修改数据库数据,或者把数据库中的数据作为新的栏位添加到文件中而形成新的文件 将SQL的执行结果导出为Excel格式,TEXT格式,...

Global site tag (gtag.js) - Google Analytics