为了保证Oracle在下次系统重启后,能自动启动服务,这里我们可以通过一个Shell脚步来实现这个功能。假定脚步名称为/app/oracle/oraclestart.sh,其内容如下:
#!/bin/sh su - oracle <<EON export ORACLE_SID=ixdba lsnrctl start sqlplus /nolog <<EOF conn / as sysdba startup exit EOF exit EON
注意,此脚本是以root用户身份执行的。
然后给该脚本执行权限
chmod a+x /app/oracle/oraclestart.sh
在上面的这个脚步中,EOF或EON只是一个分界符,这个分界符可以用你喜欢的任意字符代替,只不过大家都习惯了用EOF或EON来表示。当Shell在执行脚步时,发现"<<"后,就把下个词当做分界符,而在分界符后面的内容都被当做输入,直到Shell再次发现此分界符时,才认为输入结束。也就是说分界符都是成对出现的。
1 针对redhat类系统
将此脚步加入到/etc/rc.local文件,以保证系统重启时自动加载。
echo "/app/oracle/oraclestart.sh">>/etc/rc.local
2 针对Suse类系统
echo "/app/oracle/oraclestart.sh">>/etc/rc.d/boot.local