Oracle啓動和關閉(10g)

查詢數據庫當前的狀態:


>select OPEN_MODE from v$database;
oracle not available   -------  oracle沒啓動實例
oracle not mounted     -------  oracle在nomount階段
oracle mounted         -------  oracle在mount階段
oracle read write      -------  oracle在open階段


1.sqlplus


啓動實例階段  nomount  --------------  >startup [force] [pfile=xxx] nomount;


查參數文件錯誤 spfilesid.ora---spfile.ora---initsid.ora

查看使用的參數文件 >show parameter spfile  不爲空即以spfile啓動,否則是pfile

分配內存

記錄信息到alert文件和跟蹤文件

#tail -f /u01/oracle/admin/orcl/bdump/alert_orcl.log

啓動後臺進程

查看數據庫是否啓動  #ps -ef|grep ora_


【本階段設置參數】
[startup restrict 啓動到受限制會話,不允許別人連接的情況下對數據庫進行操作]



裝載數據庫階段  db mount  ------------------  >alter database mount;

關聯數據庫和當前的實例

定位並打開參數文件中指定的控制文件
控制文件 >show parameter control_file;

讀取控制文件獲取數據文件和重做日誌文件的名稱和狀態,但不進行是否存在的檢查

【本階段可以操作數據庫物理操作:alter database,建庫刪庫,恢復數據庫;命名數據文件,啓用禁用日誌】


打開數據庫階段 ---------------   >alter database open;

判斷數據文件和日誌文件是否存在,是否打開,檢查數據庫的一致性

打開聯機數據文件和日誌文件

【本階段對數據庫數據進行操作】



關閉數據庫階段 ---------------   >shutdown [normal|transactional|immediate|abort]

將緩衝區告訴緩存中的更改及重做日誌緩衝區高速緩存中的條目寫入數據文件和聯機重做日誌文件

關閉數據文件和重做日誌文件

卸載數據庫

關閉控制文件

關閉實例

alter文件和跟蹤文件關閉

sga回收、後臺進程終止


【shutdown [normal|transactional|immediate|abort]】

  a i t n
允許建立新連接 x x x x
等待到當前會話結束 x x x v
等待當前事務處理結束 x x v v
強制執行堅持點操作並關閉文件 x v v v

abort不是一致性關閉


2.dbstart & dbshut


vi /etc/oratab 中數據庫最後的字段是Y,才能通過dbstart和dbshut控制

vi $ORACLE_HOME/bin/dbstart 中ORACLE_HOME_LISTNER的值爲$ORACLE_HOME時,啓動監聽



附:oracle開機啓動

head -n 6 /etc/init.d/network >/etc/init.d/oracle10g

vi /etc/init.d/oracle10g

ORACLE_HOME=/u01/oracle/10g
if [ !-f $ORACLE_HOME/bin/dbstart ]
then
echo "oracle cannot start"
exit
fi

if [ ! -f $ORACLE_HOME/bin/lsnrctl ]
then
echo "lsnrctl cannot start"
exit
fi

case "$1" in
'start')
echo "starting oracle 10g ...."
su - oracle -c "$ORACLE_HOME/bin/dbstart"
#su - oracle -c "$ORACLE_HOME/bin/emctl start dbconsole" ------>start  oem
;;
'stop')
echo "stopping oracle 10g ...."
#su - oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole" ------>stop  oem
su - oracle -c "$ORACLE_HOME/bin/dbshut"
;;
*)
echo "usage $0: start|stop"
;;
esac

chmod a+x /etc/init.d/oracle10g

chkconfig oracle10g on


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章