`
yanghuidang
  • 浏览: 978322 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

ORACLE9I中外部表的使用

阅读更多
ORACLE9I中外部表的使用

说明: 这个帖子讲述Oracle9I外部表(External Table)的初级使用。


什么是外部表?

External table和正规的表很相似,具体的定义可以参见《Oracle概念手册》,以下的几点需要注意:

>创建的语法类似于: "CREATE TABLE ... ORGANIZATION EXTERNAL"
>数据在数据库的外部组织,是操作系统文件。
>操作系统文件在数据库中的标志是通过一个逻辑目录来映射的。
>数据是只读的。(外部表相当于一个只读的虚表)
>不可以在上面运行任何DML操作,不可以创建索引。
>可以查询操作和连接。可以并行操作。

例子:

假定有如下的两个数据文件:

1 平面文件数据的描述
假设如下的两个平面文件
1.dat:
 
7369,SMITH,CLERK,7902,17-DEC-80,100,0,20
7499,ALLEN,SALESMAN,7698,20-FEB-81,250,0,30
7521,WARD,SALESMAN,7698,22-FEB-81,450,0,30
7566,JONES,MANAGER,7839,02-APR-81,1150,0,20


2.dat:
                                 
7654,MARTIN,SALESMAN,7698,28-SEP-81,1250,0,30
7698,BLAKE,MANAGER,7839,01-MAY-81,1550,0,30
7934,MILLER,CLERK,7782,23-JAN-82,3500,0,10


(要有对操作系统中该目录的读写权限。)

2 创建一个逻辑目录并进行适当授权:
 
SQL> CREATE DIRECTORY TESTDIR AS 'D:\TEMP\';
目录已创建。

SQL> GRANT READ ON DIRECTORY TESTDIR TO DEMO;
授权成功。

SQL> GRANT WRITE ON DIRECTORY TESTDIR TO DEMO;
授权成功。


注意:创建完毕逻辑目录之后要把平面文件拷贝到该目录下,另外还要注意文件名字不要写错。

3 创建外部表
 
SQL> ED
已写入文件 afiedt.buf

1 CREATE TABLE DEMO.EXT
2 (emp_id number(4),
3 ename varchar2(12),
4 job varchar2(12) ,
5 mgr_id number(4) ,
6 hiredate date,
7 salary number(8),
8 comm number(8),
9 dept_id number(2))
10 ORGANIZATION EXTERNAL
11 (TYPE ORACLE_LOADER
12 DEFAULT DIRECTORY TESTDIR
13 ACCESS PARAMETERS(RECORDS DELIMITED BY NEWLINE
14 FIELDS TERMINATED BY ',')
15* LOCATION('1.DAT','2.DAT'))
SQL> /

表已创建。


4 进行Select选择操作看看是否正确:
 
SQL> select * from DEMO.EXT;

EMP_ID ENAME JOB MGR_ID HIREDATE SALARY COMM DEPT_ID
------ ------- ---------- ------- --------- -------- ---------- -------
7369 SMITH CLERK 7902 17-DEC-80 100 0 20
7499 ALLEN SALESMAN 7698 20-FEB-81 250 0 30
7521 WARD SALESMAN 7698 22-FEB-81 450 0 30
7566 JONES MANAGER 7839 02-APR-81 1150 0 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 0 30
7698 BLAKE MANAGER 7839 01-MAY-81 1550 0 30
7934 MILLER CLERK 7782 23-JAN-82 3500 0 10



如果要得到外部表的有关信息:
 

SQL> DESC DBA_EXTERNAL_TABLES;

名称
-----------------------------------------------------------------
OWNER
TABLE_NAME
TYPE_OWNER
TYPE_NAME
DEFAULT_DIRECTORY_OWNER
DEFAULT_DIRECTORY_NAME
REJECT_LIMIT
ACCESS_TYPE
ACCESS_PARAMETERS

SQL> SELECT OWNER,TABLE_NAME,DEFAULT_DIRECTORY_NAME,ACCESS_PARAMETERS
2 FROM
3 DBA_EXTERNAL_TABLES;

OWNER TABLE_NAME DEFAULT_DIRECTORY_NAME ACCESS_PARAMETERS
------------------ ------------------------------ ------------------------------
DEMO EXT TESTDIR RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY ','

如果DBA想要知道平面文件的位置,使用如下的查询:
 

SQL> desc DBA_EXTERNAL_LOCATIONS;
名称
-----------------------------------------
OWNER
TABLE_NAME
LOCATION
DIRECTORY_OWNER
DIRECTORY_NAME

SQL> select * from DBA_EXTERNAL_LOCATIONS;

OWNER TABLE_NAME LOCATION DIR DIRECTORY_NAME
------------------------------------------------------------------------
DEMO EXT 1.DAT SYS TESTDIR
DEMO EXT 2.DAT SYS TESTDIR


参考文档:Oracle9i Database Administration Guide


分享到:
评论

相关推荐

    Oracle 9i Client (Oracle 9i 客户端) 简化版 (不安装Oracle客户端,也可以使用PLSQL Developer)

    1、本软件可作为简单的Oracle9i客户端使用,如用户对Oracle有更高的使用要求,请正式安装Oracle客户端或服务器。 2、本软件安装后,可使用自带的SQL Plus连接Oracle服务器,支持EXP、IMP命令。用户可以配合PLSQL ...

    oracle9i经典测试用表

    该测试用表为Oracle9i的一个经典测试用表,雇员表;该表可以用来进行对数据库的增删查改的联系操作;请在MySQL中使用"SOURCE /路径"的方式进行使用

    oracle 9i 全部下载链接

    - [ship_9204_linux_disk1.cpio.gz](http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk1.cpio.gz) - [ship_9204_linux_disk2.cpio.gz]...

    windows server 2003 Oracle9i 安装

    在本文档中,我们介绍了在 Windows Server 2003 上安装 Oracle9i 数据库的过程,包括安装 Windows Server 2003、安装 Oracle9i、使用 DBCA 创建数据库、配置监听及服务名、测试数据库连通等步骤。通过这些步骤,读者...

    oracle9i客户端精简版.zip

    在“oracle9i310.msi”这个文件中,包含了Oracle 9i客户端的安装程序,用户只需运行此文件即可开始安装。 4. **使用说明.htm**:这个文件提供了关于如何使用客户端的指导,可能包括安装步骤、连接配置、基本操作等...

    Oracle9i客户端精简版

    Oracle9i客户端精简版。 Oracle9i客户端精简版Oracle9i客户端精简版Oracle9i客户端精简版Oracle9i客户端精简版Oracle9i客户端精简版Oracle9i客户端精简版Oracle9i客户端精简版

    oracle9i310.rar

    "oracle9i310.rar" 是一个压缩包,其中包含了Oracle 9i的简化客户端版本,适用于在虚拟机、老旧计算机或Windows XP系统上运行。由于其资源占用较小,因此特别适合这些环境下使用,同时也能连接到更高版本的Oracle...

    oracle9i教程

    Oracle9i基于SQL语言,其数据库概念包括实体(如表、视图)、数据类型(如数值、字符串、日期等)、索引、约束(如唯一性、非空约束)等。中英文对照的《Conceptes.chm》文件提供了详细的数据库概念解释,便于学习者...

    oracle9i客户端精简免安装.rar

    本压缩包“oracle9i客户端精简免安装.rar”是专为Windows操作系统设计的Oracle9i客户端版本,旨在简化Oracle数据库的管理和操作,让用户无需进行复杂的安装过程即可快速使用。 Oracle9i客户端主要包括以下几个关键...

    Oracle 9i 参考手册

    "游侠下载站使用说明.txt"可能是对获取和安装Oracle 9i的辅助指南,而"Oracle(CHM)"可能是一个包含Oracle 9i详细技术文档的离线帮助文件,用户可以通过查阅这个文件来学习和解决具体问题。 总的来说,Oracle 9i参考...

    oracle9i物理结构,oracle9i物理结构

    除了上述核心组件,Oracle 9i 物理结构还包括其他重要部分,如表空间(Tablespaces)和段(Segments),它们是逻辑结构与物理存储之间的桥梁。表空间由一个或多个数据文件组成,是数据库对象的逻辑容器,而段则代表...

    oracle9i全备份导入到11g说明

    ### Oracle 9i 全备份导入到 11g 的处理方法 #### 一、问题背景 当将Oracle 9i的数据全备份导入到Oracle 11g版本时,经常会遇到由于`db_block_size`参数不一致导致的导入失败问题。这种情况下,如果直接进行导入...

    Oracle9i 数据库安装

    使用Database Configuration Assistant (DBCA)来创建新的Oracle9i数据库是推荐的方法。首先,你需要以具有相应权限的用户(如"oracle")登录到Linux系统,然后运行dbca命令启动DBCA工具。DBCA提供了友好的图形界面,...

    oracle9i的EXP和IMP

    在Oracle 9i中,EXP提供了不同的模式,如全库导出、用户模式导出、表模式导出等,以满足不同场景的需求。此外,用户还可以选择导出特定的表空间、数据块或者时间范围的数据。 **IMP(Import)**则是Oracle数据库的...

    oracle9i下载地址

    oracle9i下载地址, 分三个IOS文件, 加压即可安装.

    Oracle9i数据库管理实务讲座pdf+Oracle9i数据库管理员指南+Oracle培训教材

    通过阅读“Oracle9i数据库管理员指南”、“Oracle9i数据库管理实务讲座”以及“Oracle培训教材”,学习者可以系统地掌握Oracle 9i数据库的各个方面,为成为合格的数据库管理员打下坚实的基础。这些资料不仅涵盖理论...

    Oracle 9i初学者指南

    在Oracle 9i中,创建数据库需要规划数据表结构,定义字段类型、长度和约束条件,如主键、外键、唯一性等。 安装Oracle 9i是一个复杂的过程,涉及服务器硬件需求、操作系统兼容性、网络配置等。初学者应了解安装前的...

    Oracle 9i 10g 11g odbc driver数据库连接驱动

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其ODBC(Open Database Connectivity)驱动程序是连接不同应用程序与Oracle数据库的关键组件。ODBC提供了一种标准化的方法,使得开发者可以通过SQL来...

    Oracle9i客户端精简版与PLSQL工具

    Oracle9i客户端精简版与PLSQL工具是针对Oracle数据库管理的一种高效便捷的解决方案,尤其适合于对系统资源有限但需要进行Oracle数据库操作的环境。这个压缩包包含了Oracle客户端的精简版本,以及PL/SQL Developer...

    Oracle9i中文版基础培训教程

    本教程“Oracle9i中文版基础培训教程”由赵松涛制作,旨在帮助初学者掌握Oracle 9i的基本操作和概念,对于那些从其他数据库系统(如MySQL)转而学习Oracle的人来说,这是一个宝贵的资源。 Oracle数据库系统的核心...

Global site tag (gtag.js) - Google Analytics