需求:
对于oracle grid环境,无法是RAC还是单机+ASM,无论是主库还是ADG备库,grid都非常友好的自动启动数据库实例。
但对于单机环境,必须自己写脚本或依赖dbstart脚本。如果是单机的ADG备库,我们还有更多功能需求:
1、OS关闭前能自动关闭数据库和监听
2、OS启动后能自动启动数据库和监听。如果是主库能直接open,如果是ADG备库,能先mount,然后启动MRP应用一段时间(防止数据文件不平无法直接open),再open和启动实时同步。
实现方法:
1、要使这个脚本生效,必须修改/etc/oratab这个文件,最后一行N改为Y
[root@hisdb_dg ~]# vi /etc/oratab
csk11g:/home/oracle/app/11.2.0/db_1:Y <== 主库
test11g:/home/oracle/app/11.2.0/db_1:Y <== 主库
hisdbdg:/home/oracle/app/11.2.0/db_1:Y <== 将dg库放最后面,让前面普通库先启动
2、修改$ORACLE_HOME/bin/dbstart和dbshut脚本
将ORACLE_HOME_LISTNER=$1注释掉,在其后面加:
ORACLE_HOME_LISTNER=$ORACLE_HOME
从而保证脚本自动启动或关闭监听器LISTENER
3、 修改$ORACLE_HOME/bin/dbstart脚本,添加dataguard的判断
主库则直接启动,