暂无图片
外部表管理
最近更新:2024-03-22 09:20:13

外部表简介

外部表(External Table)特点:

  • 外部表并没有在数据库中创建表,也不会为分配存储空间及存储外部数据。创建外部表只是在数据字典中创建了外部表的元数据,以便对应访问外部表中的数据。
  • 允许以只读方式访问数据库外部的数据资料,如同访问数据库的内部数据表一样。
  • 可以使用SQL 语句(select,join,sort 等)并行直接访问外部表,也可以为之建立view 和synonym。
  • 不能使用DML 操作(update,insert,delete 等),也不能为外部表建立索引index。
  • 不支持ANALYZE 语句采集外部表的统计数据,可以使用DBMS_STATS 包来采集外部表的统计数据。
  • 不支持virtual columns

Oracle 对外部表的两种访问驱动方式(Access Drivers):

  • ORACLE_LOADER
    默认方式。使用了Oracle Loader 技术读取外部文件的数据。这种读取控制方式类似于SQL*Loader工具的控制文件(Control File)的应用。
  • ORACLE_DATAPUMP
    用于读取数据库的内部数据,一次性写入到外部表中,可以生成多个外部文件。然后再读取这些外部表数据。

ORACLE_LOADER External Tables

  • Create the directory needed
mkdir -p /stage/data
mkdir -p /stage/log
mkdir -p /stage/bad
  • Create the 1st data file /u01/stage/data/empxt1.dat
vi /stage/data/empxt1.dat
  • Add the following lines
360,Jane,Janus,ST_CLERK,121,17-MAY-2001,3000,0,50,jjanus
361,Mark,Jasper,SA_REP,145,17-MAY-2001,8000,.1,80,mjasper
362,Brenda,Starr,AD_ASST,200,17-MAY-2001,5500,0,10,bstarr
......