当前位置: 代码迷 >> SQL >> [每天一题] 11gOCP 1z0-052 :2013-09-7 The usage of the SQL*LOAD utility.A38
  详细解决方案

[每天一题] 11gOCP 1z0-052 :2013-09-7 The usage of the SQL*LOAD utility.A38

热度:157   发布时间:2016-05-05 12:04:23.0
[每日一题] 11gOCP 1z0-052 :2013-09-7 The usage of the SQL*LOAD utility...........................A38


转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/11358497

 正确答案:AB

 

SQL*Loader加载数据从外部文件到Oracle数据库表。它有一个强大的数据解析引擎,用控制文件把数据文件中的数据按一定的格式做限制加载到数据库的表中。以下是使用SQL*Loader特点:

1、通过网络加载数据。这表示您可以在客户端运行SQL*Loader加载数据到数据库服务器端。

2、在同一会话下可以从多个数据文件来完成数据加载。

3、在同一会话下数据可以加载到多个表。

4、指定字符集的数据。

5、选择性地加载数据(你可以基于记录的值加载记录)。

6、使用SQL函数加载数据。

7、在指定的字段中产生唯一的序列的键值。

8、把操作系统的文件数据当成数据库中表的数据来访问。

9、数据可以从磁盘、磁带或命名管道加载。

10、可以生成详细的错误报告,这大大帮助多们快速找到故障原因。

11、可以加载任何复杂的对象关系数据。

12可以使用二次数据文件来完成加载lob和集合。

无论是常规使用或直接路径加载。而传统的路径加载非常灵活,直接路径加载提供了优越的加载性能。

 

解析答案:

答案A正确,同一个数据文件可以加载到多个表,实验如下

(1)创建两张表

[email protected]> create table gyj_test1 (xm varchar2(20),sfzh varchar2(20));Table created.[email protected]> create table gyj_test2 (xm varchar2(20),sfzh varchar2(20));Table created.

(2)文件中的数据

[[email protected] ~]$vi /home/oracle/gyj_test.datA Joe 433101196303180048B Tom 432325197810254019 

(3)控制文件

[[email protected] ~]$ vi /home/oracle/gyj_test.ctlload data infile '/home/oracle/gyj_test.dat' discardfile gyj_test.dat.dscinto table  gyj_test1when tab='A'(tab filler position(1:1), xm position(3:5), sfzh position(*+1:24) )into table  gyj_test2when tab='B'(tab filler position(1:1), xm position(3:5), sfzh position(*+1:24) )

(4)加载数据

[email protected] ~]$ sqlldr userid=gyj/gyj control=/home/oracle/gyj_test.ctlSQL*Loader: Release 11.2.0.3.0 - Production on Tue Sep 10 13:08:38 2013Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.Commit point reached - logical record count 2

(5)验证两表的数据

[email protected]> select * from gyj_test1;XM                   SFZH-------------------- --------------------Joe                  433101196303180048[email protected]> select * from gyj_test2;XM                   SFZH-------------------- --------------------Tom                  432325197810254019

答案B正确,多个数据文件的数据可以加载到同一张表,实验如下:

(1)创建两张表

[email protected]> create table gyj_test3 (xm varchar2(20),sfzh varchar2(20));Table created.

(2)文件中的数据

[[email protected] ~]$vi /home/oracle/gyj_test1.datJoe|433101196303180048[[email protected] ~]$vi /home/oracle/gyj_test2.datTom|432325197810254019

(3)控制文件

[[email protected] ~]$ vi /home/oracle/gyj_test3.ctlload data infile '/home/oracle/gyj_test1.dat'infile '/home/oracle/gyj_test2.dat' into table  gyj_test3fields terminated by '|' (xm,sfzh)

(4)加载数据

[[email protected] ~]$ sqlldr userid=gyj/gyj control=/home/oracle/gyj_test3.ctlSQL*Loader: Release 11.2.0.3.0 - Production on Tue Sep 10 13:16:13 2013Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.Commit point reached - logical record count 1Commit point reached - logical record count 2


(5)验证这张表的数据

[email protected]> select * from gyj_test3;XM                   SFZH-------------------- --------------------Joe                  433101196303180048Tom                  432325197810254019

答案C不正确,是可以按记录来导的,比如以下实验,我只导后两条记录

(1)创建一张表

[email protected]> create table gyj_test4 (xm varchar2(20),sfzh varchar2(20));Table created.

(2)文件中的数据

[[email protected] ~]$ vi /home/oracle/gyj_test4.datTom|432325197810254019|Joe|433101196303180048|Rose|433101195709120024|Jack|43310119691229004x|Linda|433101196711270050|Jeny|433101197306101514|

(3)控制文件

[[email protected] ~]$ vi /home/oracle/gyj_test4.ctlload data infile '/home/oracle/gyj_test4.dat'into table  gyj_test4fields terminated by '|' (xm,sfzh)

(4)加载数据

[[email protected] ~]$ sqlldr userid=gyj/gyj control=/home/oracle/gyj_test4.ctl skip=3SQL*Loader: Release 11.2.0.3.0 - Production on Tue Sep 10 13:33:25 2013Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.Commit point reached - logical record count 3[email protected]> select * from gyj_test4;

(5)验证这张表的数据

XM                   SFZH-------------------- --------------------Jack                 43310119691229004xLinda                433101196711270050Jeny                 433101197306101514


答案D明显不正确这里不再解释了

答案E不正确: 数据可以从磁盘、磁带或命名管道加载


QQ:252803295

技术交流QQ群:
DSI&Core Search  Ⅰ 群:127149411(2000人技术群:未满)
DSI&Core Search  Ⅱ 群:177089463(1000人技术群:未满)
DSI&Core Search  Ⅲ 群:284596437(500人技术群:未满)
DSI&Core Search  Ⅳ 群:192136702(500人技术群:未满)
DSI&Core Search  Ⅴ 群:285030382(500人闲聊群:未满)



MAIL:dbathink@hotmail.com

BLOG: http://blog.csdn.net/guoyjoe

WEIBO:http://weibo.com/guoyJoe0218

ITPUB: http://www.itpub.net/space-uid-28460966.html

OCM:   http://education.oracle.com/education/otn/YGuo.HTM

  
  相关解决方案