• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

更新oracle数据库的shell脚本

mysql 搞代码 4年前 (2022-01-09) 15次浏览 已收录 0个评论

这是一个使用脚本更新数据库的一个例子.运行环境是bash shell,shell的第一个参数是go,第二个参数是sql文件的一个列表. 第一个参数实际上没有什么意义,但是它最好还是存在,本文来源gao@!dai!ma.com搞$$代^@码网*它存在的目的是:不知道这个shell执行效果的人万一要运行这个脚本,在不添加go参数的时

这是一个使用脚本更新数据库的一个例子.运行环境是bash shell,shell的第一个参数是go,第二个参数是sql文件的一个列表.

第一个参数实际上没有什么意义,但是它最好还是存在,它存在的目的是:不知道这个shell执行效果的人万一要运行这个脚本,在不添加go参数的时候是不会执行的.从而保证数据库的安全.第二个参数是一个文件列表,格式如下:

tablename1,table1_sql.txttablename2,table2_sql.txttablename是用来更新的表的名字,table2_sql.txt得文件的内容是一些插入,更新,删除的sql语句。

具体的shell如下:

#! /bin/sh#下面是一个环境设定TS_SYSTEM_DATE=`date ‘+%m%d%H%M%S’`TS_ZHIXING_DATE=`date ‘+%Y%m%d’`ORA_USR=${userid}/${password}@${instance}

TS_LOG_PATH=${LOG_DIR}/setupif test -d ${TS_LOG_PATH}thenTS_RCODE=0elsemkdir -m 777 ${TS_LOG_PATH}fiTS_DBBACKUP_PATH=${DBBACKUP_DIR}/${TS_ZHIXING_DATE}_DBBACKUPif test -d ${TS_DBBACKUP_PATH}thenTS_RCODE=0elsemkdir -m 777 -p ${TS_DBBACKUP_PATH}fi

TS_LOGFILE=${TS_LOG_PATH}/SQL_EXEC_${TS_SYSTEM_DATE}.logTS_QIAN=”QIAN”TS_HOU=”HOU”#SQL执行的LOGTS_SQL_JIKKOU=./SQLJIKKOU_${TS_SYSTEM_DATE}.dat

TS_RCODE=0

#下面3个函数是抽取出来的公共函数。重复用到多次,所以从shell主函数中提出来了。#这个是检查表是否存在table_exist_check(){#下面的这个语句是得到一个表存在的个数。一般为0,或1,表存在为1,没有表为0TMPSTR=`echo $(sqlplus -s ${ora_userid}/${ora_password}@${instance} << sql_endselect count(tablename) from tab where tablename=upper(‘$1′);exitsql_end)`TABLE_NUM=`echo ${TMPSTR}|awk ‘{print $3}’`

if [[ “${TABLE_NUM}” == “0” ]]; then#echo “表${1}的个数是0个`date`”| tee -a ${TS_LOGFILE}TS_RCODE=1rm -r ${TS_INPUT_FILE}exit ${TS_RCODE}elseecho “”echo “++所处理TABLE,$1存在”return 0fi}

#表更新前后的数据,分别取出来,然后diff,看是否达到预期效果.table_QIAN_HOU(){

sqlplus -s ${ora_userid}/${ora_password}@${instance} </dev/nullset colsep’,’;set echo off;set […]


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:更新oracle数据库的shell脚本

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址