实用脚本--遍历oratab,批量执行数据库命令
来源:互联网 发布:手机淘宝怎么清理缓存 编辑:程序博客网 时间:2024/04/30 18:07
#!/bin/bash#Init env#DBTMP=/tmp/db_stat#mkdir -p $DBTMPASMDISK=+RECO1ORATAB=/var/opt/oracle/oratabget() {$ORACLE_HOME/bin/rman target / <<EOFCONFIGURE SNAPSHOT CONTROLFILE NAME TO '$ASMDISK/$DBNAME/snapcf_$DBNAME.f';quitEOF}#From dbstartcat $ORATAB | while read LINEdocase $LINE in \#*) ;; #comment-line in oratab *) ORACLE_SID=`echo $LINE | awk -F: '{print $1}' -` #Incorrent info , then skip .LINE=null,SID=null,+ASM if [ -z "`echo $LINE`" ] ; then continue fi if [ "$ORACLE_SID" = '*' ] ; then ORACLE_SID="" continue fi DBNAME=$ORACLE_SID ORACLE_SID=$ORACLE_SID"1" export ORACLE_SID if [ `echo $ORACLE_SID | cut -b 1` = '+' ]; then continue fi ORACLE_HOME=`echo $LINE | awk -F: '{print $2}' -` export ORACLE_HOME # Called scripts#echo $DBNAME#echo $ORACLE_SID#echo $ASMDISK get echo DONE with $ORACLE_SID ;;esacdone##Direct by renfengjun
上面的脚本遍历后执行rman命令。使用时可以自行修改。下面的另一个例子,执行sql语句。生成log文件。snapshot.sql大家可以自行书写。
#!/bin/bash#Init envDBTMP=/tmp/db_statmkdir -p $DBTMPORATAB=/var/opt/oracle/oratabget() {$ORACLE_HOME/bin/sqlplus -S / as sysdba <<EOF create pfile='$DBTMP/pfile_$ORACLE_SID.ora' from spfile ; spool $DBTMP/$ORACLE_SID.log @snapshot.sql prompt **********DB $ORACLE_SID spool offEOF}#From dbstartcat $ORATAB | while read LINEdocase $LINE in \#*) ;; #comment-line in oratab *) ORACLE_SID=`echo $LINE | awk -F: '{print $1}' -` #Incorrent info , then skip .LINE=null,SID=null,+ASM if [ -z "`echo $LINE`" ] ; then continue fi if [ "$ORACLE_SID" = '*' ] ; then ORACLE_SID="" continue fi ORACLE_SID=$ORACLE_SID"1" export ORACLE_SID if [ `echo $ORACLE_SID | cut -b 1` = '+' ]; then continue fi ORACLE_HOME=`echo $LINE | awk -F: '{print $2}' -` export ORACLE_HOME # Called scripts get echo DONE with $ORACLE_SID ;;esacdone##Direct by renfengjun
遍历后执行
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '$ASMDISK/$DBNAME/snapcf_$DBNAME.f';
命令。使用时可以自行修改此命令。
0 0
- 实用脚本--遍历oratab,批量执行数据库命令
- 批量执行数据库对象脚本
- 用脚本批量执行redis命令
- 使用脚本批量执行GOGO命令
- 用脚本批量执行redis命令
- hbase-shell批量命令执行脚本
- Spark-shell批量命令执行脚本
- hive-shell批量命令执行脚本
- HGDB批量执行psql命令的脚本
- 分布式集群批量执行命令sh脚本
- 很实用的sh脚本,【批量文件替换】【ssh远程命令执行】【统计某一目录下面所有文档总行数】等
- Linux 集群上批量执行同一命令 shell 脚本
- master..xp_cmdshell(osql命令)批量执行SQL脚本
- linux远程批量执行命令的shell脚本
- 批量执行SQL脚本
- 批量执行SQL脚本
- Android数据库更新,批量执行大量的sql脚本
- Linux实用脚本命令
- 2017年伊始,你需要尝试的25个Android第三方库
- 放苹果问题
- opencv之CvMat,Mat和IplImage之间的转化和拷贝
- 普通table表格样式及代码大全(全)
- 初中生的学习方法和技巧
- 实用脚本--遍历oratab,批量执行数据库命令
- 系统时间
- 前后端分离:前端人员做页面与渲染,后端做接口
- logcat没有输出的解决方法
- lintcode 下一个排列(52)
- mysql 锁
- PowerDesigner跟表的字段加注释
- CCNA知识点3 子网划分、变长子网掩码(VLSM)和TCP/IP排错
- View controller-based status bar appearance