啟動數據庫實例,分為兩步:第一步,啟動監聽;第二步,啟動數據庫實例。
一、如何啟動數據庫實例
1.進入到sqlplus啟動實例
--“切換到oracle用戶”
su - oracle
--“打開監聽”
lsnrctl start
--“進入到sqlplus”
sqlplus /nolog
--“連接到sysdba”
conn /as sysdba
--“啟動數據庫實例”
startup
--“關閉數據庫實例”
shutdown immediate
--“關閉監聽”
lsnrctl stop
2.用dbstart和dbshut啟動和關閉數據庫實例
先啟動監聽
lsnrctl start
啟動實例
dbstart
使用dbstart命令啟動數據庫比較方便,但是在linux上安裝好oracle之后,第一次使用dbstart命令可能會報如下錯誤:
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
Usage: /u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbstart ORACLE_HOME
原因:
dbstart和dbshut腳本文件中ORACLE_HOME_LISTNER的設置有問題,分別打開兩個文件找到:用vi編輯dbstart,ORACLE_HOME_LISTNER=$1,修改為
ORACLE_HOME_LISTNER=$ORACLE_HOME
然后保存退出,此時再運行dbstart,已經不報錯了,但是沒有任何反應,ps一下進程,沒有oracle的進程,說明oracle實例沒有正常啟動。
此時的原因是在/etc/oratab的設置問題,我們vi一下,發現
zgz:/home/oracle/product/10g:N
最后設置的是"N"(我的環境中只有一個實例,因此只有一行配置語句),我們需要把“N”修改為“Y”。
以上的工作做好之后,dbstart就可以正常使用了:
--“啟動監聽”
lsnrctl start
--“啟動數據庫實例”
dbstart
--“關閉數據庫實例”
dbshut
--“關閉監聽”
lsnrctl stop
二、如何使數據庫實例和linux系統一起啟動
在/etc/rc.d/rc.local中加入如下語句即可實現同系統啟動實例:
su - oracle -c "lsnrctl start"
su - oracle -c "dbstart"