Oracle外部表的管理和应用

外部表作为oracle的一种表类型,虽然不能像普通库表那么应用方便,但有时在数据迁移或数据加载时,也会带来极大的方便,有时比用sql*loader加载数据来的更为方便,下面就将建立和应用外部表的命令和操作记录如下:

--创建存放文件的directory对象

sqlplus username/[email protected]

create directory ex_data as ‘/home/ex_data/‘;

--创建外部表

CREATE TABLE tab1_ex

(

C1 VARCHAR2(32 BYTE),

C2 VARCHAR2(64 BYTE),

C3 VARCHAR2(32 BYTE),

C4 VARCHAR2(255 BYTE),

C5 VARCHAR2(128 BYTE),

C6 VARCHAR2(36 BYTE),

C7 VARCHAR2(64 BYTE),

C8 VARCHAR2(128 BYTE),

C9 VARCHAR2(64 BYTE),

C10 VARCHAR2(64 BYTE),

C11 VARCHAR2(8 BYTE),

C12 VARCHAR2(8 BYTE),

C13 VARCHAR2(8 BYTE),

C14 VARCHAR2(8 BYTE),

C15 VARCHAR2(8 BYTE),

C16 VARCHAR2(8 BYTE),

C17 VARCHAR2(8 BYTE),

C18 VARCHAR2(8 BYTE),

C19 VARCHAR2(8 BYTE),

C20 VARCHAR2(32 BYTE),

C21 VARCHAR2(8 BYTE),

C22 VARCHAR2(8 BYTE)

)

ORGANIZATION EXTERNAL

(  TYPE ORACLE_LOADER

DEFAULT DIRECTORY ex_data

ACCESS PARAMETERS

( records delimited by newline

fields terminated by ‘|‘

)

LOCATION (ex_data:‘tab1_ex.txt‘)

);

--应用外部表

select count(*) from tab1_ex;

--注:

1.虽然外部表可以和普通库表一样查询,但不可以在上面你的列上建立索引;

2.也不可以insert into数据到外部表内;

3.也不可以update和delete外部表内的数据;

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-31 16:32:42

Oracle外部表的管理和应用的相关文章

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

同事最近在忙数据一致性比对工作,需要对不同文本文件中的数据进行比对,有的文件较大,记录较多,如果用普通的文本编辑器打开的话,很显然,会很卡,甚至打不开. 基于此,可将该文本文件的数据导入到数据库中,在集合的层面进行比对. 那么如何将文本文件的数据导入到数据库中呢?在这里,主要利用了Oracle的外部表特性. Oracle外部表支持两种类型的驱动:一种是ORACLE_LOADER,外部表的数据必须来源于文件文件,另一种则是ORACLE_DATAPUMP,外部表的数据必须是二进制dump文件,该du

第15章 oracle undo表空间管理

2015-10-23 目录 参考资料 [1] 林树泽.Oracle 11g R2 DBA操作指南[M].北京:清华大学出版社,2013 [2] Oracle undo 表空间管理 [3] undo表空间概述 [4] Oracle UNDO表空间的管理 [5] Oracle的UNDO表空间管理总结 [6] UNDO表空间的管理 [7] UNDO表空间的管理 [8] 监控和管理Oracle UNDO表空间的使用 [9] 谈谈undo表空间

ORACLE外部表总结

外部表介绍 ORACLE外部表用来存取数据库以外的文本文件(Text File)或ORACLE专属格式文 件.因此,建立外部表时不会产生段.区.数据块等存储结构,只有与表相关的定义放在数据字典中.外部表,顾名思义,存储在数据库外面的表.当存取时才能从 ORACLE专属格式文件中取得数据,外部表仅供查询,不能对外部表的内容进行修改(INSERT.UPDATE.DELETE操作).不能对外部表建立 索引.因为创建索引就意味着要存在对应的索引记录.而外部表其实在没有存储在数据库中.故在外部是无法建立索

Oracle外部表详解(转载)

(外部表创建主要注意创建目录访问权限问题.目录路径格式无空格等不相关字符,即必须是当前表访问用户可以访问:关于表中行数的限制问题,如果不加限制注意添加reject limit unlimited:表中数据格式与创建表时access parameters中的定义需保持同步,适当用skip=1) 外部表概述 外部表只能在Oracle 9i之后来使用.简单地说,外部表,是指不存在于数据库中的表.通过向Oracle提供描述外部表的元数据,我们可以把一个操作系统文件当成一个只读的数据库表,就像这些数据存储

oracle 外部表

语法: create table 表名( 列名1,列名2,...... ) organization external  ###说明创建外部表 ( type 访问类型            ###一般是 ORACLE_LOADER ,ORACLE_DATAPUMP default directory   路径名   ####指定默认目录对象 access parameter (        ###数据源文件与表中行之间的映射关系 records delimited by 设置分隔符    ##

oracle 外部表查alter日志

--创建文件夹,路径是alter日志的路径 create or replace directory data_dir as '/u01/app/oracle/diag/rdbms/orcl/orcl/trace'; --创建外部表 create table alert_log( text_line varchar2(225) ) organization external ( TYPE ORACLE_LOADER DEFAULT DIRECTORY DATA_DIR ACCESS PARAMET

使用ORACLE外部表装载复杂数据

原文:http://www.oracle.com/technetwork/issue-archive/2013/13-jan/o13asktom-1886639.html I am using SQL Loader to load data into tables from a flat file. Some sample data in the file might be: 我打算使用SQL Loader装载来自平面文件数据.样例数据如下: 12,smith,[email protected]

Oracle外部表

1.外部表简介 外部表是Oracle9i之后来使用的.外部表是一类表的定义存在于数据库而数据不存在于数据库的表. 在数据库操作过程中可以对外部表进行select,join,sort操作也可以对外部表创建视图和同义词.但是不能在外部表上进行DML操作和创建索引. 外部表提供两种访问驱动.一种ORACLE_LOADER另一种ORACLE_DATAPUMP.默认驱动是ORACLE_LOADER. ORACLE_LOADER驱动从外部文件中读数据.ORACLE_LOADER创建外部表的语法和SQL*Lo

oracle 外部表之 sqlldr 生成

oracle的导入工具,速度挺快,这里记一下外部表的使用,通常外部表要记的语法太多例如: CREATE TABLE PROD_MASTER ( "EMPNO" NUMBER, "ENAME" VARCHAR2(50), "HIREDATE" DATE, "DEPTNO" NUMBER ) ORGANIZATION external ( TYPE oracle_loader DEFAULT DIRECTORY ext_table