OCP1z0-047 : 外部表――不能被DML和建索引

首先看官方文档上的解释:

Managing External Tables

Oracle Database allows you read-only access to data in external tables. External tables are definedas tables that do not reside in the database, and can be in any format forwhich an access driver is provided. By providing the database with metadatadescribing an external table, the database is able to expose the data in theexternal table as if it were data residing in a regular database table. Theexternal data can be queried directly and in parallel using SQL.

You can, for example, select, join, or sort externaltable data. You can also create views and synonyms for external tables.However, no DML operations (UPDATE,INSERT, orDELETE) are possible, and no indexes can be created, on external tables.

External tables also provide a framework to unload theresult of an arbitrary SELECT statement into aplatform-independent Oracle-proprietary format that can be used by Oracle DataPump.

实验测试:

1、 创建一个外部表

(1)元数据:

[oracle@mydb ~]$more prod_master.dat

6,6,6,6,6,600

7,7,7,7,7,700

(2) 建目录

sys@OCM> create directory dir_gyj as '/home/oracle';  

Directory created.  

sys@OCM> grant read,write on directory dir_gyj to gyj;  

Grant succeeded.

(3)创建外部表

gyj@OCM> CREATE TABLE ext_gyj_costs
  2  (
  3    "CHANNEL_ID" NUMBER,
  4    "PROD_ID" NUMBER,
  5    "PROMO_ID" NUMBER,
  6    "TIME_ID" NUMBER,
  7    "UNIT_COST" NUMBER,
  8    "UNIT_PRICE" NUMBER
  9  )
 10  ORGANIZATION external
 11  (
 12    TYPE oracle_loader
 13    DEFAULT DIRECTORY dir_gyj
 14    ACCESS PARAMETERS
 15    (
 16      FIELDS TERMINATED BY "," LDRTRIM
 17      REJECT ROWS WITH ALL NULL FIELDS
 18      (
 19        "CHANNEL_ID" CHAR(255)
 20          TERMINATED BY ",",
 21        "PROD_ID" CHAR(255)
 22          TERMINATED BY ",",
 23        "PROMO_ID" CHAR(255)
 24          TERMINATED BY ",",
 25        "TIME_ID" CHAR(255)
 26          TERMINATED BY ",",
 27        "UNIT_COST" CHAR(255)
 28          TERMINATED BY ",",
 29        "UNIT_PRICE" CHAR(255)
 30          TERMINATED BY ","
 31      )
 32    )
 33    location
 34    (
 35      'prod_master.dat'
 36    )
 37  )REJECT LIMIT UNLIMITED;  

Table created.  

gyj@OCM> select * from ext_gyj_costs;  

CHANNEL_ID    PROD_ID   PROMO_ID    TIME_ID  UNIT_COST UNIT_PRICE
---------- ---------- ---------- ---------- ---------- ----------
         6          6          6          6          6        600
         7          7          7          7          7        700

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索terminal
, database
, char
, number
, data
, tables
external
mysql ocp 1z0 883、1z0 047、ocp 047 解析、ocp047和051的区别、ocp 047,以便于您获取更多的相关知识。

时间: 2024-10-30 09:22:30

OCP1z0-047 : 外部表――不能被DML和建索引的相关文章

Oracle 外部表

--================= -- Oracle 外部表 --=================       外部表只能在Oracle 9i 之后来使用.简单地说,外部表,是指不存在于数据库中的表.通过向Oracle提供描述外部表的元数据,我们 可以把一个操作系统文件当成一个只读的数据库表,就像这些数据存储在一个普通数据库表中一样来进行访问.外部表是对数据库表的延伸.   一.外部表的特性     位于文件系统之中,按一定格式分割,如文本文件或者其他类型的表可以作为外部表.     对

ORACLE9I中外部表的使用

oracle ORACLE9I中外部表的使用 说明: 这个帖子讲述Oracle9I外部表(External Table)的初级使用. 什么是外部表? External table和正规的表很相似,具体的定义可以参见<Oracle概念手册>,以下的几点需要注意:    >创建的语法类似于: "CREATE TABLE ... ORGANIZATION EXTERNAL"    >数据在数据库的外部组织,是操作系统文件.    >操作系统文件在数据库中的标志是

Oracle中如何管理外部表

外部表是表结构被存放在数据字典,而表数据被存放在OS文件的表.通过使用外部表,不仅可以在数据库中查询OS文件的数据,还可以使用INSERT方式将OS文件数据装载到数据库中,从而实现SQL*Loader所提供的功能.建立外部表后,可以查询外部表的数据,在外部表上执行连接查询,或对外部表的数据进行排序.需要注意,外部表上不能执行DML修改,也不能在外部表上建立索引. 1.建立外部表 --准备工作: [oracle@solaris10 ~]$mkdir /export/home/oracle/dat

Oracle中创建临时表、外部表和分区表实例

临时表 在Oracle中,临时表是"静态"的,它与普通的数据表一样只需要一次创建,其结构从创建到删除的整个期间都是有效的.相对于其他类型的表,临时表只有在用户实际向表中添加数据时,才会为其分配空间,并且分配的空间来自临时表空间.这就避免了与永久对象的数据争用存储空间. 创建临时表的语法如下: CREATE GLOBAL TEMPORARY TABLE table_name( column_name data_type,[column_name data_type,...] )ON CO

ORACLE外部表总结

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

Greenplum insert的性能(单步\批量\copy) - 暨推荐使用gpfdist、阿里云oss外部表并行导入

标签 PostgreSQL , Greenplum , HybridDB for PostgreSQL , insert , copy , 外部表 , oss , gpfdist 背景 Greenplum是一款MPP数据库产品,优势是优良的OLAP性能,支持多节点并行计算,实现PB级数据量的实时分析. 除了分析能力,数据写入吞吐也是Greenplum的重要指标,Greenplum支持从master节点写入,也支持从segment节点并行写入. 从segment并行加载的话,性能是线性提升的,因为

如何使用Oracle的外部表访问跟踪文件

前面说过Oracle的外部表可以用来访问警告日志文件,其实Oracle的外部表可以非常灵活的被使用. 通过Create Directory命令创建相应的Directory之后,我们可以将目录的访问权限授予其他用户,这样其他用户就能通过外部表访问很多主机上的文件. 我们看一下使用外部表访问跟踪文件的例子(我的例子是用SYS用户来完成的). 首先创建一个指向跟踪文件的Directory: [oracle@jumper oracle]$ sqlplus "/ as sysdba" SQL*P

Oracle技术:使用Oracle的外部表查询警告日志文件

从Oracle9i开始,Oracle的外部表技术(Oracle External Tables)被极大的增强,通过外部表访问外部数据增强了Oracle数据库和外部数据源进行数据交互的能力,对于数据仓库和ETL来说,这些增强极大的方便了数据访问. 对于DBA来说,最常见一个例子是可以使用外部表来访问警告日志文件或其他跟踪文件. 以下一个例子用来说明外部表的用途. 首先需要创建一个Directory: [oracle@jumper oracle]$ sqlplus "/ as sysdba"

Oracle中利用数据泵导出查询结果(二) 外部表的卸载功能

还是上一篇中的测试环境: SQL> CREATE TABLE T1 2  (ID NUMBER, NAME VARCHAR2(30)); Table created. SQL> INSERT INTO T1 2  SELECT ROWNUM, TNAME 3  FROM TAB; 66 rows created. SQL> CREATE TABLE T2 2  (ID NUMBER, NAME VARCHAR2(30)); Table created. SQL> INSERT IN