我理解你说的意思是当用ORACLE用户执行某些部分之后,脚本后台再次返回到root用户?
如果我理解的没有错的话,在执行数据库巡检部分你可以用“su - oracle -c”。
截取一段供你参考:
function _dbinfo(){
cd $PWDDIRECTORY
su - oracle -c "cd $LOGDIR/db;export ORACLE_SID=$1;sqlplus -s /nolog <<EOF
conn / as sysdba;
@$LOGDIR/../dailycheck.sql
exit;
EOF"
}