SPOOL+SQLLDR数据导出

转载 2015年11月18日 14:57:54

SPOOL导出:

$cat spool.sql 
set echo off                 
#控制start命令不列出命令文件中的每一命令
set feedback off         #显示由查询返回的记录数 off等价为0
set heading off           #报表中列标题不打印

set verify off               #不显示输入参数的变化过程

set trimspool on         #去掉spool输出时每行末端空格

set pagesize 0           #置从顶部标题至页结束之间的行数
set term off                 #查询结果仅仅显示于假脱机文件中  on:查询结果既显示于假脱机文件中,又在SQLPLUS中显示
set linesize 150         #置一行中显示的字符总数
spool /ocfs/sql/sqlldrdata/test_spool_file.txt
select
 empno||'       '||ename||'     '||job||'       '||mgr||'       '||to_char(hiredate,'yyyy-mm-dd')||'||sal||'        '||comm||'      '||deptno
from emp;
spool off

$cat test_spool.sh 
#!/bin/bash
sqlplus -s yp/yp <<EOF
@/ocfs/sql/sqlldr/spool.sql
exit;
EOF

SQLLDR导入:

sqlldr参数:

userid -- Oracle 的 username/password[@servicename]
control -- 控制文件,可能包含表的数据
log -- 记录导入时的日志文件,默认为 控制文件(去除扩展名).log
bad -- 坏数据文件,默认为 控制文件(去除扩展名).bad
data -- 数据文件,一般在控制文件中指定。用参数控制文件中不指定数据文件更适于自动操作
errors -- 允许的错误记录数,可以用他来控制一条记录都不能错
rows -- 多少条记录提交一次,默认为 64
skip -- 跳过的行数,比如导出的数据文件前面几行是表头或其他描述

$cat test_sqlldr.ctl 
LOAD DATA
infile "/ocfs/sql/sqlldrdata/test_spool_file.txt"
into table emp_test append
fields terminated by X'09' 
(empno,ename,job,mgr,hiredate date 'yyyy-mm-dd',sal,comm,deptno)

//以下是4种装入表的方式 
//APPEND // 原先的表有数据就加在后面 
// INSERT // 装载空表,如果原先的表有数据SQLLOADER会停止默认值 
// REPLACE // 删除旧记录(用 delete from table 语句),替换成新装载的记录
// TRUNCATE // 删除旧记录(用 truncate table 语句),替换成新装载的记录

// TERMINATED BY X'09' // 以十六进制格式'09'表示文本文件用TAB键分隔

 

$sqlldr yp/yp control='/ocfs/sql/sqlldr/test_sqlldr.ctl' log='/ocfs/sql/sqlldr/test_sqlldr.log' bad='/ocfs/sql/sqlldr/test_sqlldr.bad'

从mongo数据库中导出数据的方法

一、Mongodb导出工具mongoexport Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式(类似于表格的形式)的文件。可以通过参数指...
  • djy37010
  • djy37010
  • 2017年04月06日 13:56
  • 4047

大数据量导出到Excel方法总结

最近项目中牵扯到大数据量导出到Excel。传统的jxl,poi等在后端生成excel的方法就不见得有多奏效。 1. JXL后端生成Excel代码(struts2 action方法代码): public...
  • u011728105
  • u011728105
  • 2015年07月30日 11:17
  • 8345

hbase导入导出数据

hbase导入导出数据
  • u012882134
  • u012882134
  • 2016年09月13日 16:57
  • 1819

SQL Server 2008 导出数据与导入数据任务介绍

一、 实例数据库介绍 源数据库Test_Other_DB:存在tb_Class,tb_Student,tb_TestTable三张表。目标数据库TestDB_Output:空库,不含任何表。  ...
  • tiana0
  • tiana0
  • 2013年12月08日 19:39
  • 7877

oracle中sqlplus如何导出数据

对于SPOOL数据的SQL,最好要自己定义格式,以方便程序直接导入,SQL语句如: SQL> select owner||'|'||object_name from all_objects wh...
  • wangqing_12345
  • wangqing_12345
  • 2017年02月09日 11:54
  • 2787

SQLServer2012导出表数据为SQL脚本

SQLServer2008的导出脚本方法: 数据库名-->右键 任务-->生存脚本 之后弹出SQLServer脚本生成向导 选择数据库 把编写数据可脚本这一项改为true,默认是fal...
  • gsls200808
  • gsls200808
  • 2015年10月11日 16:52
  • 10324

redis数据批量导入导出

redis数据批量导入导出 针对工作中可能用到 将某台服务器中的redis数据 导出然后导入到新的服务器中,一种方法是redis-dump工具,但是 他需要安装ruby环境,安装环境的过程中还可...
  • mergerly
  • mergerly
  • 2015年05月30日 16:10
  • 11263

oracle导入导出数据的几种方式

oracle导入导出数据 1.导出dmp格式文件 --备份某几张表 !!!! exp smsc/smsc file=/data/oracle_bak/dmp/bakup0209_2.dmp t...
  • Linzhongyilisha
  • Linzhongyilisha
  • 2016年09月02日 11:42
  • 6691

mysql数据导入导出方法总结

MySQL数据备份还原方式总结: 一、将数据导入到指定的数据库 第一种导入方式: (linux下和Windows 下语法是一样的,只是路劲的书写方式不同而已)  1、创建一个空数据库 ...
  • baochanghong
  • baochanghong
  • 2016年11月03日 09:56
  • 1466

如何在Google Analytics中导出超过500条数据

GA新版提供了CSV,TSV,TSV for Excel,还有Excel这四种数据导出方式。 进入任何一个报告界面,点击导出,选择导出选项,就可以导出你想要的数据并保存为Excel报表文件到本地作数...
  • adparking
  • adparking
  • 2013年01月05日 11:08
  • 1010
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SPOOL+SQLLDR数据导出
举报原因:
原因补充:

(最多只允许输入30个字)