定时调度oracle存储过程的shell脚本
时间: 2023-10-14 11:25:48 浏览: 169
以下是一个定时调度oracle存储过程的shell脚本示例:
```
#!/bin/bash
# 设置环境变量
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/bin
export PATH
# 设置数据库连接信息
DB_USER=username
DB_PASS=password
DB_HOST=hostname
DB_PORT=1521
DB_SID=ORCL
# 设置存储过程名称
PROCEDURE_NAME=my_procedure
# 获取当前时间
DATE=$(date +"%Y-%m-%d %H:%M:%S")
# 执行存储过程并将结果保存到日志文件中
echo "[$DATE] 开始执行存储过程 $PROCEDURE_NAME" >> /var/log/procedure.log
sqlplus -s $DB_USER/$DB_PASS@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=$DB_HOST)(PORT=$DB_PORT)))(CONNECT_DATA=(SID=$DB_SID))) <<EOF >> /var/log/procedure.log
set serveroutput on
exec $PROCEDURE_NAME;
EOF
# 输出执行结果
echo "[$DATE] 存储过程执行完成" >> /var/log/procedure.log
```
该脚本首先设置了oracle的环境变量和数据库连接信息。然后,它执行存储过程并将结果保存到日志文件中。最后,它输出执行结果。可以使用crontab等工具将该脚本定时执行。
阅读全文