关于Oracle 外部表需要知道哪些要点

关于Oracle 外部表需要知道哪些要点,第1张

Oracle

外部外部属性

默认目录:指定外部表的默认目录。

目录:设置外部目录。

位置:设置外部源位置。

访问驱动程序:设定外部表的访问驱动程序,外部表的默认类型是

ORACLE_LOADER。

否决限制:指定在外部数据查询中可以出现错误数的限制。

与度数并行:勾选此项,可在数据源启用并行查询及指定并行访问的度数。

Oracle

外部表访问参数

描述外部数据到 Oracle

数据库数据列的对应。

使用 CLOB:勾选此项,得到返回查询的 CLOB

数据值。

Oracle

索引组织表

索引组织表是一个基本的 B-tree

变体的保存组织,索引组织表的数据保存在用主键排序方式的 B-tree 索引结构。在索引结构中的每一个枝节块保存键和非键列。

索引组织表有完整表的功能,支持的功能有限制、触发器等,额外功能有键压缩。需要注意的是,索引组织表和常规表的表设计器只是“选项”选项卡不同。

什么是外部表?  External table和正规的表很相似 具体的定义可以参见《Oracle概念手册》 以下的几点需要注意 >创建的语法类似于 CREATE TABLE ORGANIZATION EXTERNAL   >数据在数据库的外部组织 是 *** 作系统文件   > *** 作系统文件在数据库中的标志是通过一个逻辑目录来映射的 >数据是只读的 (外部表相当于一个只读的虚表)  >不可以在上面运行任何DML *** 作 不可以创建索引 >可以查询 *** 作和连接 可以并行 *** 作 例子   假定有如下的两个数据文件    平面文件数据的描述   假设如下的两个平面文件   dat  Code: [Copy to clipboard]  SMITH CLERK DEC   ALLEN SALESMAN FEB   WARD SALESMAN FEB JONES MANAGER APRdat  Code: [Copy to clipboard]  MARTIN SALESMAN SEP   BLAKE MANAGER MAY MILLER CLERK JAN   (要有对 *** 作系统中该目录的读写权限 )  创建一个逻辑目录并进行适当授权  Code: [Copy to clipboard]   SQL>CREATE DIRECTORY TESTDIR AS D:\TEMP\  目录已创建 SQL>GRANT READ ON DIRECTORY TESTDIR TO DEMO 授权成功    SQL>GRANT WRITE ON DIRECTORY TESTDIR TO DEMO 授权成功 注意 创建完毕逻辑目录之后要把平面文件拷贝到该目录下 另外还要注意文件名字不要写错    创建外部表 Code: [Copy to clipboard]  SQL>ED 已写入文件 afiedt buf  CREATE TABLE DEMO EXT    (emp_id number( )     ename varchar ( )     job varchar ( )     mgr_id number( )     hiredate date     salary number( )     m number( )     dept_id number( ))   [color=blue] ORGANIZATION EXTERNAL[/color]    ([color=blue]TYPE ORACLE_LOADER[/color]    DEFAULT DIRECTORY TESTDIR    ACCESS PARAMETERS(RECORDS DELIMITED BY NEWLINE    FIELDS TERMINATED BY )   * LOCATION( DAT DAT )) SQL>/  表已创建   进行Select选择 *** 作看看是否正确  Code: [Copy to clipboard]    SQL>select * from DEMO EXT     EMP_ID ENAME  JOB MGR_ID HIREDATESALARY  M DEPT_ID   SMITH  CLERK DEC         ALLEN  SALESMAN  FEB         WARDSALESMAN  FEB         JONES  MANAGER  APR       MARTIN SALESMAN  SEP       BLAKE  MANAGER  MAY       MILLER CLERK JAN     如果要得到外部表的有关信息  Code: [Copy to clipboard]    SQL>DESC DBA_EXTERNAL_TABLES名称   OWNER   TABLE_NAMETYPE_OWNERTYPE_NAME   DEFAULT_DIRECTORY_OWNER  DEFAULT_DIRECTORY_NAMEREJECT_LIMIT ACCESS_TYPE  ACCESS_PARAMETERS   SQL>SELECT OWNER TABLE_NAME DEFAULT_DIRECTORY_NAME ACCESS_PARAMETERS    FROM  DBA_EXTERNAL_TABLES OWNERTABLE_NAMEDEFAULT_DIRECTORY_NAME  ACCESS_PARAMETERS DEMO EXT TESTDIR  RECORDS DELIMITED BY NEWLINE  FIELDS TERMINATED BY 如果DBA想要知道平面文件的位置 使用如下的查询  Code: [Copy to clipboard]  SQL>desc DBA_EXTERNAL_LOCATIONS 名称   OWNER   TABLE_NAMELOCATION DIRECTORY_OWNER  DIRECTORY_NAMESQL> select * from DBA_EXTERNAL_LOCATIONSOWNER TABLE_NAME LOCATIONDIR DIRECTORY_NAME DEMO  EXT DAT SYS TESTDIR DEMO  EXT DAT SYS TESTDIR lishixinzhi/Article/program/Oracle/201311/16715

ORACLE外部表用来存取数据库以外的文本文件(Text File)或ORACLE专属格式文件。

http://www.cnblogs.com/kerrycode/p/3894260.html

详细可以参考这个,有图解教程,希望可以帮到你


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11605886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存