閺€鎯版 (0) +1 鐠э拷 (0) +1 闊拷 (0) +1
閺€鎯版閹存劕濮�閺屻儳婀呴弨鎯版>>

正在阅读:Oracle数据库备份与恢复(2):SQL*LoaderOracle数据库备份与恢复(2):SQL*Loader

2009-06-12 09:45 出处:PConline 作者:网页教学网 责任编辑:lizhiyan

  二、高级选项

  1、Conventional Path Load与Direct Path Load

  Conventional-path Load:通过常规通道方式上载。

  特点:commit, always  gen redo logs,  enforce all constraints, fire insert triggers, can load into cluster, other user can make change

  rows:每次提交的记录数

  bindsize:每次提交记录的缓冲区

  readsize:与 bindsize 成对使用,其中较小者会自动调整到较大者

  sqlldr 先计算单条记录长度,乘以 rows,如小于 bindsize,不会试图扩张,rows以填充 bindsize;如超出,则以 bindsize 为准。 命令为:

  $ sqlldr dbuser/oracle control=emp.ctl log=emp.log rows=10000 bindsize=8192000

  Direct-Path Load:

  通过直通方式上载,可以跳过数据库的相关逻辑,不进行  SQL解析,而直接将数 据导入到数据文件中。

  特点:save, conditionly gen redo logs, enforce PK UK NN, not fire triggers, can not load into cluster, other user can not make change命令为:

  $ sqlldr dbuser/oracle control=emp.ctl log=emp.log direct=true

  2、SPOOL导出文本数据方法

  导入的数据文件可以用 SPOOL导出文本数据方法生成。

  SQL*PLUS环境设置

  SET NEWPAGE NONE HEADING OFF SPACE 0

  PAGESIZE 0 SET TRIMOUT ON TRIMSPOOL ON LINESIZE 2500

  注:LINESIZE 要稍微设置大些,免得数据被截断,它应和相应的 TRIMSPOOL结合使用防止导出的文本有太多的尾部空格。

  但是如果 LINESIZE 设置太大,会大大降低导出的速度,另外在 WINDOWS下导 出最好不要用 PLSQL导出,速度比较慢,直接用  COMMEND 下的 SQLPLUS命令最 小化窗口执行。对于字段内包含很多回车换行符的应该给与过滤,形成比较规矩的文本 文件。

  通常情况下,我们使用 SPOOL方法,将数据库中的表导出为文本文件,如下述:

  set trimspool on

  set linesize 120 pagesize 2000 newpage 1 heading off    term off spool  路径+文件名

  select col1||','||col2||','||col3||','||col4||'……' from tablename;

  spool off

键盘也能翻页,试试“← →”键
本文导航
第1页:基本知识
第2页:高级选项
第3页:脚本

关注我们

最新资讯离线随时看 聊天吐槽赢奖品
閹靛婧€鐠佸潡妫�閸ョ偛鍩屾い鍫曞劥