一、脚本化检查Oracle是否能正常登录
# shell定义检查函数
function check(){
VALUE=`sqlplus -S 用户名/$1@数据库网络服务名 <<EOF
set heading off feedback off
select count(1) from dual;
EOF`
if [.$VALUE -eq 1 ];
then
echo "yes"
else
echo "no"
fi
}
# 调用尚书函数,password会被传输到$1位置
check password
二、脚本化修改Oracle密码
# shell定义密码修复函数
function modify password(){
sqlplus 用户名/$1@数据库名 <<EOF
@"/sql文件目录/ss.sql" "/sql日志目录/ss.log"
commit;
EOF
}
# shell脚本调用函数,password会传输到$1的位置
modifypassword password
三、ss.sql的内容如下
spool $1
alter user 用户名 identified by newpassword
spool off
commit;
四、EOF
EOF是(END Of File)的缩写,表示自定义终止符。既然自定义,那么EOF就不是固定的,可以随意设置别名,在linux按ctrl-d 就代表EOF。
EOF一般会配合cat能够多行文本输出。
其用法如下:
<<EOF #开始
.... #输入内容
EOF #结束
还可以自定义,比如自定义:
<<ABC #开始
....
ABC #结束
本小结(四)引自php中文网:
https://www.php.cn/faq/514880.html