oracle自动启动数据库实例的方法很多,下面就为您介绍最常用的两种oracle自动启动多个数据实例的方法,希望对您能有所帮助。
现有一台机器,需要oracle自动启动多个数据实例,如DB1、DB2
方法一:
- export ORACLE_SID=DB1
- sqlplus ‘/as sysdba' <<!
- startup
- exit
- !
- export ORACLE_SID=DB2
- sqlplus ‘/as sysdba' <<!
- startup
- exit
- !
如果是不同的监听端口,启动监听端口的方法是lsnctl start listener1/linsterner2/
关于listener?的配置可以通过lsnctl status查看配置文件,然后再编辑他就好了。
如果是同一端口,只需启动lsnctl start就好了。
关于web配置的启动,可以更改SID启动
- export ORACLE_SID=DB1
- emctl start dbconsole
方法二:(开机自动启动oracle数据实例)
修改/etc/oratab文件,将需要启动的实例名称后面的N修改为Y,如果要全部都启动,则使用
:g/N/s//Y/g将全部N修改为Y
然后编写个shell脚本
- cd /etc/init.d
- vi oracle.sh
- #!/bin/bash
- case "$1" in
- start)
- date >>/var/log/oracle
- echo -e "\nThe oracle will start\n">/var/log/oracle
- su - oracle -c "lsnrctl start;dbstart;emctl start dbconsole;exit;">>/var/log/oracle
- echo -e "The oracle started">>/var/log/oracle
- ;;
- stop)
- date >>/var/log/oracle
- echo -e "\nThe oracle will stop\n">/var/log/oracle
- su - oracle -c "dbshut;emctl stop dbconsole;lsnrctl stop;exit;">>/var/log/oracle
- echo -e "The oracle stoped">>/var/log/oracle
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- *)
- echo -e "usage $0 {start|stop|restart}"
- exit 1
- esac
保存。
- chmod +x oracle.sh
- ln -s oracle.sh /etc/rc.d/rc3.d/S99oracle
- ln -s oracle.sh /etc/rc.d/rc5.d/S99oracle
- ln -s oracle.sh /etc/rc.d/rc0.d/K01oracle
- ln -s oracle.sh /etc/rc.d/rc6.d/K01oracle
这样就可以实现oracle多实例自动启动了。
【编辑推荐】