Oracle啟動三階段(二)
mount階段
mount階段是啟動的第二個階段。此處,我們說mount的是什麼?mount的是資料檔案和控制檔案,同時對應的日誌檔案資訊也已經獲取到。mount階段下,所有的系統引數已經載入完成,透過引數找到的控制檔案幫助例項定位載入了資料檔案。同時,針對上次關閉系統中的問題,比如未完成事務和恢復等,都要進行處理。
//進入mount狀態
SQL> alter database mount;
Database altered.
此時,監聽器狀態,從block變為了ready。
[oracle@oracle11g ~]$ lsnrctl status;
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 22-JAN-2011 15:59:22
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle11g)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 22-JAN-2011 15:46:51
Uptime 0 days 0 hr. 12 min. 31 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/oracle/network/admin/listener.ora
Listener Log File /u01/diag/tnslsnr/oracle11g/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle11g)(PORT=1521)))
Services Summary...
Service "wilson" has 1 instance(s).
Instance "wilson", status READY, has 1 handler(s) for this service...
The command completed successfully
此時的sqlplus命令提示符下,我們可以看到查詢專案。
SQL> select count(*) from v$datafile;
COUNT(*)
----------
7
SQL> select count(*) from v$controlfile;
COUNT(*)
----------
2
SQL> select count(*) from v$logfile;
COUNT(*)
----------
6
SQL> select count(*) from dba_objects;
select count(*) from dba_objects
*
ERROR at line 1:
ORA-01219: database not open: queries allowed on fixed tables/views only
SQL> select * from v$tablespace;
TS# NAME INC BIG FLA ENC
---------- ------------------------------ --- --- --- ---
0 SYSTEM YES NO YES
1 SYSAUX YES NO YES
2 UNDOTBS1 YES NO YES
4 USERS YES NO YES
3 TEMP NO NO YES
6 EXAMPLE YES NO YES
7 PERFSTAT YES NO YES
8 PERFSTATTEMP NO NO YES
9 MYTEST YES NO YES
9 rows selected.
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 78
Current log sequence 80
上面的結果,可以看出。在mount狀態下,一些基礎檢視已經可以查詢,比如從控制檔案中指定的物件資訊,如表空間、日誌等內容。但是涉及到物件資料型別的資料,還是不支援。說明,雖然將資料檔案mount上了,但是並沒有讀取資料檔案資訊的操作。
此時,筆者在實驗中發現了一個差異。在mount狀態下,如果使用sqlplus查詢引數,大部分引數是可以查詢到的。但是轉移到pl/sql developer開發工具上,大部分就會以報錯結束。如:
--sqlplus
SQL> show parameter tablespace;
NAME TYPE VALUE
------------------------------------ ----------- ----------
undo_tablespace string UNDOTBS1
SQL>
--pl/sql developer
SQL> show parameter tablespace;
ORA-01219: 資料庫未開啟: 僅允許在固定表/檢視中查詢
筆者猜想:從一些開發工具的角度,可能對於這種維護模式下的查詢還是有限制的。
相對於nomount階段,mount階段是比較常用的。我們在這個階段可以在不受到干擾的情況下進行資料庫備份和還原工作。
開啟資料庫
該操作就是直接將資料檔案的讀取開啟了。
SQL> alter database open;
Database altered.
此時監聽器狀態:
[oracle@oracle11g ~]$ lsnrctl status;
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 22-JAN-2011 16:04:21
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle11g)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 22-JAN-2011 15:46:51
Uptime 0 days 0 hr. 17 min. 29 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/oracle/network/admin/listener.ora
Listener Log File /u01/diag/tnslsnr/oracle11g/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle11g)(PORT=1521)))
Services Summary...
Service "wilson" has 1 instance(s).
Instance "wilson", status READY, has 1 handler(s) for this service...
Service "wilsonXDB" has 1 instance(s).
Instance "wilson", status READY, has 1 handler(s) for this service...
The command completed successfully
注意:和剛才的監聽器程式相比,多出了一個
說道XDB服務,有一個問題需要注意到。這個服務關聯的系統引數是
dispatchers='(PROTOCOL=TCP) (SERVICE=XDB)'
熟悉共享模式的朋友們就會意識到,dispatchers引數不是共享模式的設定嗎?沒錯,在全域性是專用模式支援連線的情況下,預設的XDB是使用共享模式的。我們在啟動的程式列表中,也可以看到對應的d00和s00/s01程式。
[oracle@oracle11g ~]$ ps -ef | grep oracle
root 5529 5497 0 15:39 pts/0 00:00:00 su oracle
oracle 5530 5529 0 15:39 pts/0 00:00:00 bash
oracle 5559 1 0 15:46 ? 00:00:00 /u01/oracle/bin/tnslsnr LISTENER -inherit
oracle 5565 5530 0 15:49 pts/0 00:00:00 sqlplus
(篇幅原因,略)
oracle 5645 1 0 15:50 ? 00:00:00 ora_mmnl_wilson
oracle 5647 1 0 15:50 ? 00:00:00 ora_d000_wilson //1
oracle 5649 1 0 15:50 ? 00:00:00 ora_s000_wilson //2
oracle 5651 1 0 15:50 ? 00:00:00 ora_s001_wilson //3
oracle 5653 5565 0 15:50 ? 00:00:03 oraclewilson (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) //4
root 5712 5680 0 15:53 pts/1 00:00:00 su oracle
(篇幅原因,略)
oracle 5796 5713 0 16:05 pts/1 00:00:00 grep oracle
其中,//4為對應的專用連線模式。//1、//2、//3為對應XDB的共享模式。也可以看出,在Oracle中,共享連線和專用連線在一定程度上是可以並存在一個例項下的。
此時,所有的資料資訊已經開始支援訪問。
SQL> select count(*) from dba_objects;
COUNT(*)
----------
72516
同時,一些檢視的結構也發生變化,更多的資訊被載入。
SQL> select * from v$tablespace;
TS# NAME INCLUDED_IN_DATABASE_BACKUP BIGFILE FLASHBACK_ON ENCRYPT_IN_BACKUP
---------- ------------------------------ --------------------------- -------
0 SYSTEM YES NO YES
1 SYSAUX YES NO YES
2 UNDOTBS1 YES NO YES
4 USERS YES NO YES
3 TEMP NO NO YES
6 EXAMPLE YES NO YES
7 PERFSTAT YES NO YES
8 PERFSTATTEMP NO NO YES
9 MYTEST YES NO YES
9 rows selected
結論:Oracle的啟動階段每個階段都有相應的特點和功能。理解這些對於我們瞭解體系結構有很大幫助。同時,當我們啟動遇到故障的時候,是可以分階段啟動進行調整調錯。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17203031/viewspace-684504/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 分散式事務(二)之三階段提交分散式
- 我國5G第三階段測試年底將啟動
- 關於2PC(二階段提交)和3PC(三階段提交)的理解
- 人生的二階段。
- 第二階段-cssCSS
- mtk相機冷啟動階段劃分
- 專案啟動階段有哪些管理技巧?
- 第二階段三次PTA作業總結
- 嵌入式之uboot原始碼分析-啟動第二階段學習筆記(上篇)boot原始碼筆記
- 最新拓薪Java高階階段及ERP實戰專案(階段三)Java
- 兩階段提交2PC 和 三階段提交3pc
- 分散式:分散式事務(CAP、兩階段提交、三階段提交)分散式
- 統一過程(UP)定義了初啟階段、精化階段、構建階段、移交階段和產生階段,每個階段以達到某個里程碑時結束,其中()的里程碑是生命週期架構。 A.初啟階段 B.精化階段 C.構建階段 D.移交階段架構
- 第二階段複習——組合
- 三階段提交(Three-phase commit)MIT
- 三階段分佈(3PC)
- OOP課第三階段總結OOP
- Android 系統開發_啟動階段篇 — 深入鑽研 SystemServerAndroidServer
- Android 系統開發_啟動階段篇 — 深入鑽研 initAndroid
- 基礎設施自動化的三個必經階段
- Guava 原始碼分析(Cache 原理【二階段】)Guava原始碼
- OOP第二階段題集總結OOP
- java第三階段作業總結Java
- mysql階段04 連線工具, 連線方式, 啟動關閉mysqlMySql
- 二階段提交協議(Two Phase Commitment Protocol)協議MITProtocol
- 遊戲直播第二階段怎麼打?遊戲
- 團隊里程碑階段二總結
- 分散式事務(二)之兩階段提交分散式
- 無線多作業系統啟動之uInitrd階段NFS掛載篇作業系統UINFS
- 客服系統的三個發展階段
- Oracle日常問題-資料庫無法啟動(案例二)Oracle資料庫
- java二階段總結(電路模擬程式)Java
- Oracle RAC自啟動Oracle
- MySQL事務提交的三個階段介紹MySql
- linux學習的基本分為三個階段Linux
- 第三階段兩次PTA作業總結
- 感悟:工程師所必經的三個階段工程師
- 分散式事務的兩階段提交和三階段提交分別有什麼優缺點?分散式
- 資料驅動最佳化調優 遊戲軟啟動階段的5項A/B Test遊戲