设为首页 收藏本站
查看: 1682|回复: 0

[经验分享] [每日一题] 11gOCP 1z0-052 :2013-09-7 The usage of the SQL*LOAD utility...........

[复制链接]

尚未签到

发表于 2015-11-9 13:12:33 | 显示全部楼层 |阅读模式
  

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


DSC0000.jpg
  
   正确答案:AB
  
  SQL*Loader加载数据从外部文件到Oracle数据库表。它有一个强大的数据解析引擎,用控制文件把数据文件中的数据按一定的格式做限制加载到数据库的表中。以下是使用SQL*Loader特点:
  1、通过网络加载数据。这表示您可以在客户端运行SQL*Loader加载数据到数据库服务器端。
  2、在同一会话下可以从多个数据文件来完成数据加载。
  3、在同一会话下数据可以加载到多个表。
  4、指定字符集的数据。
  5、选择性地加载数据(你可以基于记录的值加载记录)。
  6、使用SQL函数加载数据。
  7、在指定的字段中产生唯一的序列的键值。
  8、把操作系统的文件数据当成数据库中表的数据来访问。
  9、数据可以从磁盘、磁带或命名管道加载。
  10、可以生成详细的错误报告,这大大帮助多们快速找到故障原因。
  11、可以加载任何复杂的对象关系数据。
  12可以使用二次数据文件来完成加载lob和集合。
  无论是常规使用或直接路径加载。而传统的路径加载非常灵活,直接路径加载提供了优越的加载性能。
  
  解析答案:
  答案A正确,同一个数据文件可以加载到多个表,实验如下
  (1)创建两张表

gyj@OCM> create table gyj_test1 (xm varchar2(20),sfzh varchar2(20));
Table created.
gyj@OCM> create table gyj_test2 (xm varchar2(20),sfzh varchar2(20));
Table created.

  (2)文件中的数据

[oracle@mydb ~]$vi /home/oracle/gyj_test.dat
A Joe 433101196303180048
B Tom 432325197810254019

  (3)控制文件

[oracle@mydb ~]$ vi /home/oracle/gyj_test.ctl
load data
infile '/home/oracle/gyj_test.dat'
discardfile gyj_test.dat.dsc
into table  gyj_test1
when tab='A'
(tab filler position(1:1),
xm position(3:5),
sfzh position(*+1:24)
)
into table  gyj_test2
when tab='B'
(tab filler position(1:1),
xm position(3:5),
sfzh position(*+1:24)
)

  (4)加载数据

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

  (5)验证两表的数据

gyj@OCM> select * from gyj_test1;
XM                   SFZH
-------------------- --------------------
Joe                  433101196303180048
gyj@OCM> select * from gyj_test2;
XM                   SFZH
-------------------- --------------------
Tom                  432325197810254019

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

gyj@OCM> create table gyj_test3 (xm varchar2(20),sfzh varchar2(20));
Table created.

  
  (2)文件中的数据

[oracle@mydb ~]$vi /home/oracle/gyj_test1.dat
Joe|433101196303180048
[oracle@mydb ~]$vi /home/oracle/gyj_test2.dat
Tom|432325197810254019

  (3)控制文件

[oracle@mydb ~]$ vi /home/oracle/gyj_test3.ctl
load data
infile '/home/oracle/gyj_test1.dat'
infile '/home/oracle/gyj_test2.dat'
into table  gyj_test3
fields terminated by '|'
(xm,sfzh)

  (4)加载数据

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



  (5)验证这张表的数据

gyj@OCM> select * from gyj_test3;
XM                   SFZH
-------------------- --------------------
Joe                  433101196303180048
Tom                  432325197810254019

  答案C不正确,是可以按记录来导的,比如以下实验,我只导后两条记录
  (1)创建一张表

gyj@OCM> create table gyj_test4 (xm varchar2(20),sfzh varchar2(20));
Table created.

  (2)文件中的数据

[oracle@mydb ~]$ vi /home/oracle/gyj_test4.dat
Tom|432325197810254019|
Joe|433101196303180048|
Rose|433101195709120024|
Jack|43310119691229004x|
Linda|433101196711270050|
Jeny|433101197306101514|

  (3)控制文件

[oracle@mydb ~]$ vi /home/oracle/gyj_test4.ctl
load data
infile '/home/oracle/gyj_test4.dat'
into table  gyj_test4
fields terminated by '|'
(xm,sfzh)

  (4)加载数据

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

  (5)验证这张表的数据

XM                   SFZH
-------------------- --------------------
Jack                 43310119691229004x
Linda                433101196711270050
Jeny                 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.iyunv.com/guoyjoe
  WEIBO:http://weibo.com/guoyJoe0218
  ITPUB: http://www.itpub.net/space-uid-28460966.html
  OCM:   http://education.oracle.com/education/otn/YGuo.HTM



  

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-137067-1-1.html 上篇帖子: OCM实验-备份恢复-控制文件 下篇帖子: 监听中sqlnet.ora的作用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表