zoukankan      html  css  js  c++  java
  • 第六课 3. 外部表

    三 外部表

    官方文档:Administrator’s Guide -> 15 Managing Tables -> Managing External Tables

    Utilities->Part III External Tables –> 14 The ORACLE_DATAPUMP Access Driver

    外部表:把数据保存在操作系统层面上,并不保存在表空间上,即可以把数据写入外部表又可以读取外部表到数据库(只读到内存里)。外部表就是操作系统上的一个二进制文件不是纯文本文件。可用strings查看

    场合:导出的数据可用于二次开发。数据迁移

    要求使用oracle数据泵导出外部表并跨库加载

    过程:JCH111卸载数据,传输到JCH112加载数据

    创建directory

    sqlplus / as sysdba@JCH111

    create user ext identified by ext;

    grant dba to ext;

    conn ext/ext

    create directory dir_dmp as '/home/oracle';

    grant read,write on directory dir_dmp to public; 授予读/写权限给目录对象,把目录对象给所有用户

    SQL> sqlplus / as sysdba@JCH111

    create user ext identified by ext;

    grant dba to ext;

    conn ext/ext

    create directory dir_dmp as '/oracle/dmp';

    SQL>

    User created.

    SQL>

    Grant succeeded.

    SQL> Connected.

    SQL>

    Directory created.

    SQL> grant read,write on directory dir_dmp to public;

    Grant succeeded.

    SQL>

    创建外部表,使用数据泵工具卸载数据,使用2个cup并行卸载,加快速度

    create table t2

    organization external

    (type oracle_datapump

    default directory dir_dmp

    location ('t2_part1.dat','t2_part2.dat')

    )

    parallel 2

    as

    select owner,object_id,object_name from dba_objects where owner='SYSTEM';

    clipboard

    SQL> select count(*) from t2;

      COUNT(*)

    ----------

           447

    SQL>

    strings命令可以读取卸载得到的二进制文件内容

    strings t2_part1.dat

    clipboard[1]

    在JCH112创建外部表t3读取t2_part1.dat和t2_part2.dat

    scp t2_part1.dat t2_part2.dat ocm2:~/

    clipboard[2]

    看JCH112是否传送成功:

    clipboard[3]

    创建的外部表加载的数据,可以放到内存中,介质存放在外部表里,不是存放在数据文件中?

    sqlplus / as sysdba@JCH112

    create user ext identified by ext;

    grant dba to ext;

    conn ext/ext

    create directory dir_dmp as '/oracle';

    grant read,write on directory dir_dmp to public;

    clipboard[4]加载数据到t3

    create table t3 (owner varchar2(100),object_id varchar2(100),object_name varchar2(100))

    organization external

    (type oracle_datapump

    default directory dir_dmp

    location ('t2_part1.dat','t2_part2.dat'));

    select count(*) from t3;

    clipboard[5]

    查看生成的日志文件:

    clipboard[6]

  • 相关阅读:
    Java分享笔记:关于Java反射机制
    Java分享笔记:自定义枚举类 & 使用enum关键字定义枚举类
    Java分享笔记:RandomAccessFile流 & 在文件指定位置插入内容
    Spark-源码-SparkContext的初始化
    Spark-源码-Spark-StartAll Master Worler启动流程
    Spark-源码-Spark-Submit 任务提交
    Hadoop2学习路程-HDFS
    JavaSE 第二次学习随笔(五)
    JavaSE 第二次学习随笔(四)
    JavaSE 第二次学习随笔(三)
  • 原文地址:https://www.cnblogs.com/oraclesea/p/3529107.html
Copyright © 2011-2022 走看看