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多實例自動啟動了。