Oracle的外部表

Oracle 提供两种访问驱动 :

ORACLE_LOADER和ORACLE_DATAPUMP(oracle 10.2 后新增的驱动 )

ORACLE_LOADER : 它利用 oracle loader 技术从外部表读取数据 . 它还具有类似 SQL*Loader 工具控制文件语法的数据映射能力 .

ORACLE_DATAPUMP :它提供卸载数据的能力 , 即把数据从数据库里导入一个外部表 , 再由一个或几个外部表导入到数据库里 . 对于 AS subquery 的子句必须使用 ORACLE_DATAPUMP . 创建用于卸载数据的外部表时,不能制定列名。同时,不支持 badfile 、 discardfile 参数,因为其无效或者丢弃数据将不予以记录为操作系统文件 , 没有 fields terminated by( 或者 missing field values are null) 参数

ORACLE_DATAPUMP 一般使用在进行日志表等大数据表的备份和数据转移上 . 唯一不足的是 Oracle 只能将数据写成二进制格式 , 所以用外部表来生成 Excel 报表之类的是行不通的 . 不过在 web 应用中用外部表加载 Excel 数据却是可以的而且很大程度上提高应用的性能 , 后面会进行相关举例 .


ORACLE_DATAPUMP 使用举例(备份表数据到平面文件):
          CREATE TABLE external_dx_sms_bak0127 (
                    school_id,
                    user_id,
                    object_mobile,
                    stu_sequence
            )
            ORGANIZATION EXTERNAL
            (
                TYPE ORACLE_DATAPUMP
                DEFAULT DIRECTORY temp_dir
                LOCATION('external_dx_sms_bak0127.DMP')
            )
            AS SELECT school_id,user_id,object_mobile,stu_sequence  FROM gz_dx_sms;

          查看平面文件可以用strings
          $strings external_dx_sms_bak0127.DMP

如果此时另一个库需要此份数据,则可以再通过外部表进行加载

处理步骤:

          1.在数据库服务器上建个文件夹存放平面文件,假如路径如下:
       
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值