Oracle数据库导入外部数据如何实现(5)_Oracle数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

Oracle 数据库导入外部数据如何实现(5)

作者:黑客防线网安Oracle维护基地 来源:黑客防线网安Oracle维护基地 浏览次数:0

黑客防线网安网讯:  导入多行记录:  可以使用下面两个选项之一来实现将多行数据导入为一个记录:  CONCATENATE: - use when SQL*Loader should combine the same number of physical records together to...

  导入多行记录:

  可以使用下面两个选项之一来实现将多行数据导入为一个记录:


  CONCATENATE: - use when SQL*Loader should combine the same number of physical records together to form one logical record.
  CONTINUEIF - use if a condition indicates that multiple records should be treated as one. Eg. by having a '#' character in column 1.


  SQL*Loader 数据的提交:

  一般情况下是在导入数据文件数据后提交的

  也可以通过指定 ROWS= 参数来指定每次提交记录数

  提高 SQL*Loader 的性能:

  1) 一个简单而容易忽略的问题是没有对导入的表使用任何索引和/或约束(主键)。如果这样做甚至在使用ROWS=参数时,会很明显降低数据库导入性能。

  2) 可以添加 DIRECT=TRUE来提高导入数据的性能。当然,在很多情况下,不能使用此参数。

  3) 通过指定 UNRECOVERABLE选项,可以关闭数据库的日志。这个选项只能和 direct 一起使用。

  4) 可以同时运行多个导入任务.

  常规导入与direct导入方式的区别:

  常规导入可以通过使用 INSERT语句来导入数据。Direct导入可以跳过数据库的相关逻辑(DIRECT=TRUE),而直接将数据导入到数据文件中。

  导入数据时修改数据:

  在导入数据到数据库时,可以修改数据。注意,这仅适合于常规导入,并不适合 direct导入方式.如:


  LOAD DATA
  INFILE *
  INTO TABLE modified_data
  ( rec_no "my_db_sequence.nextval",
  region CONSTANT '31',
  time_loaded "to_char(SYSDATE, 'HH24:MI')",
  data1 POSITION(1:5) ":data1/100",
  data2 POSITION(6:15) "upper(:data2)",
  data3 POSITION(16:22)"to_date(:data3, 'YYMMDD')"
  )
  BEGINDATA
  11111AAAAAAAAAA991201
  22222BBBBBBBBBB990112
  LOAD DATA
  INFILE 'mail_orders.txt'
  BADFILE 'bad_orders.txt'
  APPEND
  INTO TABLE mailing_list
  FIELDS TERMINATED BY ","
  ( addr,
  city,
  state,
  zipcode,
  mailing_addr "decode(:mailing_addr, null, :addr, :mailing_addr)",
  mailing_city "decode(:mailing_city, null, :city, :mailing_city)",
  mailing_state
  )

 

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-12889-1.html
网站维护教程更新时间:2012-03-23 00:47:39  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer