sqloader 数据导出怎么写-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

sqloader 数据导出怎么写

2016-07-15 18:39:30 2065 0

在数据库中有79张表 将其全部导出为txt格式的文本 该如何实现
导入语句如下:#!/bin/sh

 start_time=date +"%Y-%m-%d %H:%M:%S"
 start=date +%s
#set -x
 user=fina
 password=fina
 base_dir=/home/oracle/eastloader
 ctl_dir=${base_dir}/ctl_dir
 log_dir=${base_dir}/log

###########################################################
 ##get data_date,default the last day of last month##
 if [ $# -ne 1 ];then
 data_date=date +%Y%m%d
 yy=echo ${data_date}|cut -c 1-4
 mm=echo ${data_date}|cut -c 5-6
 dd=echo ${data_date}|cut -c 7-8
 if [ ${mm} -ne 1 ];then
 mm=expr ${mm} - 1
 aa=cal ${mm} ${yy}
 dd=echo ${aa}|awk '{print $NF}'
 if [ ${mm} -lt 10 ];then
 data_date=${yy}0${mm}${dd}
 else
 data_date=${yy}${mm}${dd}
 fi
 else
 yy=expr ${yy} - 1
 mm=12
 bb=31
 data_date=${yy}${mm}${bb}
 fi
 else
 data_date=${1}
 fi

##create ctl files##

if [ -d ${base_dir}/ctl_dir/${data_date} ];then
 rm -rf ${base_dir}/ctl_dir/${data_date}
 fi
 ##create ctl files##

if [ -d ${base_dir}/ctl_dir/${data_date} ];then
 rm -rf ${base_dir}/ctl_dir/${data_date}
 fi

if [ ! -d ${base_dir}/ctl_dir/${data_date} ];then
 mkdir -p ${base_dir}/ctl_dir/${data_date}
 fi

#cp ${base_dir}/ctl_dir/${data_date}/* ${base_dir}/ctl_dir/stand/
 cd ${base_dir}/ctl_dir/${data_date}
 #chmod 755 *

cat ${base_dir}/config.ini | while read line
 do
 touch B1068H215030001-${line}-${data_date}.ctl
 chmod 755 ${base_dir}/ctl_dir/${data_date}/B1068H215030001-${line}-${data_date}.ctl
 echo "load data CHARACTERSET ZHS16GBK">>${base_dir}/ctl_dir/${data_date}/B1068H215030001-${line}-${data_date}.ctl
 echo "infile '${base_dir}/data_dir/${data_date}/B1068H215030001-${line}-${data_date}.txt'">>${base_dir}/ctl_dir/${data_date}/B1068H215030001-${line}-${data_date}.ctl
 cat ${base_dir}/ctl_dir/stand/${line}.ctl >>${base_dir}/ctl_dir/${data_date}/B1068H215030001-${line}-${data_date}.ctl
 done

###########################################################
 ##main sqlloader##
 if [ -d ${base_dir}/log/${data_date} ];then
 rm -rf ${base_dir}/log/${data_date}
 fi

if [ ! -d ${base_dir}/log/${data_date} ];then
 mkdir -p ${base_dir}/log/${data_date}
 fi

if [ -f ${base_dir}/${data_date}_load_main.log ];then
 rm -rf ${base_dir}/${data_date}_load_main.log
 fi

cd ${base_dir}

cat ${base_dir}/config.ini | while read line
 do
 echo "${base_dir}/data_dir/${data_date}/B1068H215030001-${line}-${data_date}.txt"
 if [ -f ${base_dir}/data_dir/${data_date}/B1068H215030001-${line}-${data_date}.txt ];then
 sqlldr userid=${user}/${password} direct=true control=${base_dir}/ctl_dir/${data_date}/B1068H215030001-${line}-${data_date}.ctl log=${base_dir}/log/${data_date}/B1068H215030001-${line}-${data_date}.log rows=100000 readsize=25800000 bindsize=25800000

echo "<<<<<<<<<<<<<<<<<<<<date +%Y%m%d-%H:%M:%S start to load ${line}">>${data_date}_load_main.log
 cat ${base_dir}/log/${data_date}/B1068H215030001-${line}-${data_date}.log|grep "Total logical records skipped">>${data_date}_load_main.log
 cat ${base_dir}/log/${data_date}/B1068H215030001-${line}-${data_date}.log|grep "Total logical records read">>${data_date}_load_main.log
 cat ${base_dir}/log/${data_date}/B1068H215030001-${line}-${data_date}.log|grep "Total logical records rejected">>${data_date}_load_main.log
 cat ${base_dir}/log/${data_date}/B1068H215030001-${line}-${data_date}.log|grep "Total logical records discarded">>${data_date}_load_main.log
 else
 echo ">>>>>>>>>>>>>>>THE DATA FILE IS NOT READY!! ${line}">>${data_date}_load_main.log
 fi
 done

end_time=date +"%Y-%m-%d %H:%M:%S"
 end=date +%s
 echo "中间表数据结转成功,时间总计:"expr $end - $start

导出语句我该如何去写

取消 提交回答
全部回答(0)
相关问答

20

回答

【大咖问答】对话PostgreSQL 中国社区发起人之一,阿里云数据库高级专家 德哥

阿里ACE 彭飞 2019-07-10 09:36:10 1224844浏览量 回答数 20

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 159419浏览量 回答数 145

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 340480浏览量 回答数 8

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 148522浏览量 回答数 22

2

回答

mySQL数据库报错You have an error in your SQL syntax

落地花开啦 2016-02-14 16:09:24 133151浏览量 回答数 2

39

回答

安全组详解,新手必看教程

我的中国 2017-11-30 15:23:46 262892浏览量 回答数 39

295

回答

Linux Bash严重漏洞修复紧急通知(已全部给出最终修复方案)

qilu 2014-09-25 13:26:50 437703浏览量 回答数 295

21

回答

请教一下数据量有100万条左右要什么配置?

易网网络 2013-03-27 15:18:02 193544浏览量 回答数 21

251

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 309352浏览量 回答数 251

2

回答

区域选择帮助

fanyue88888 2012-12-07 15:54:30 205418浏览量 回答数 2
+关注
杨冬芳
IT从业
1
文章
9167
问答
问答排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载