博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[每日一题] OCP1z0-047 :2013-08-06 外表部――相关描述
阅读量:4986 次
发布时间:2019-06-12

本文共 3235 字,大约阅读时间需要 10 分钟。

 

这道题目的知识点是要你熟悉外部表,怎么建外部表,外部表的数据是怎么存储的等等。请给出正确答案,并解释A B C D每项,最好用实验测试证明!

 

外部表的metadata(元数据)是存在数据库中,但它的数据是存储在数据库外部的操作系统文件,oracle 可以以只读的方式来访问该文件,也就是说,可以在查询语句中将 External Table 与数据库中其他表进行连接(Join),但是不能给 External Table 加上索引,并且不能插入/更新/删除数据,不能添加虚拟列,因为它不是真正的数据库表。

 

A是错误的

The defaultrejection limit is zero
参考:SQL Language Reference
REJECT LIMIT Thisclause lets you specify an integer as an upper limit for the
number of errors tobe logged before the statement terminates and rolls back any
changes made by thestatement. The default rejection limit is zero. For parallel DML
operations, thereject limit is applied to each parallel server.
B是错误的
外部表的元数据是在数据库里面的,数据是存储在外部的
参考:Concept
external table
A read-only tablewhose metadata is stored in the database but whose data in stored in filesoutside the database. The database uses the metadata describing external tablesto expose their data as if they were relational tables.
C是错误的
ORACLE_LOADER是从外部表转载数据入数据库表
ORACLE_DATAPUMP是从数据库表卸载数据入外部表
2个驱动的功能是相反的
参考:Concept
About ExternalTables
Oracle Databaseprovides two access drivers for external tables. The default access driver isORACLE_LOADER, which allows the reading of data from external files using theOracle loader technology. The ORACLE_LOADER access driver provides data mappingcapabilities which are a subset of the control file syntax of SQL*Loaderutility. The second access driver, ORACLE_DATAPUMP, lets you unload data—thatis, read data from the database and insert it into an external table,represented by one or more external files—and then reload it into an OracleDatabase.
D是正确的
外部表可以用CREATE TABLE AS SELECT with the ORACLE_DATAPUMP access driver来创建
参考:Concept
External TableCreation
External tables areread-only unless created with CREATE TABLE AS SELECT with the ORACLE_DATAPUMPaccess driver. Restrictions for external tables include no support for indexedcolumns, virtual columns, and column objects.

 

 

 

创建外部表及卸载、加载数据操作

(1)、Loader生成外部表加载文件:Administrator's Guide 15章结尾 create external table
In the scriptsdirectory, you will find prod_master.dat and prod_master.ctl. Using theinformation found in these files, 
create an externaltable names PROD_MASTER in the SH schema of the PROD database.
[oracle@rptdb1external]$ cat prod_master.ctl
load data
infile'/home/oracle/dir/prod_master.dat'
append
into table costs
fields terminatedby ","
(channel_id,prod_id,promo_id,time_id,unit_cost,unit_price)
[oracle@rptdb1external]$
[oracle@rptdb1external]$ cat prod_master.dat
6,6,6,6,6,600
7,7,7,7,7,700 
create directorydir as '/opt/oracrs/external';
grant read,write ondirectory dir to sh;
create tablecosts(channel_id number,prod_id number,promo_id number,time_id number,unit_costnumber,unit_price number
);
sqlldr gyj/gyjcontrol=prod_master.ctl external_table=GENERATE_ONLY
(2)、Datapump外部表卸载:DatabaseData Warehousing Guide 12章结尾部分Extractinginto Export Files Using External Tables
CREATE TABLE ext_t1
ORGANIZATIONexternal
(
  TYPEORACLE_DATAPUMP
  DEFAULTDIRECTORY dump_file_dir
  location('t1.dat')
)
as SELECT * FROM T1WHERE ID=1;
(3)、Datapump外部表加载
SQL> createtable ext_t1
(id number,
name varchar2(100)
)
organizationexternal
(
type oracle_datapump
default directoryDUMP_FILE_DIR
location ('t1.dat')
);

 

 

转载于:https://www.cnblogs.com/pangblog/p/3243996.html

你可能感兴趣的文章
Combination Sum
查看>>
WCF开发框架形成之旅---结合代码生成工具实现快速开发
查看>>
Spring事务管理
查看>>
JS||JQUERY常用语法
查看>>
talend hive数据导入到mysql中
查看>>
ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected
查看>>
linux下mysql配置文件my.cnf详解
查看>>
获取微信用户列表Openid
查看>>
架构必备词汇
查看>>
SublimeText快捷键操作
查看>>
Python开发 基礎知識 (未完代補)
查看>>
监听器的使用,以及实现, 测试
查看>>
java基础二 分支循环
查看>>
python--002--数据类型(list、tuple)
查看>>
把近期的小错误整理一下
查看>>
动态规划 —— 背包问题一 专项研究学习
查看>>
51nod 1571 最近等对 | 线段树 离线
查看>>
关于parseInt的看法
查看>>
从用户端到后台系统,严选分销教会我这些事
查看>>
数据分析融入至BI工具的新思路
查看>>