■監聽程式
#lsnrctl start ---> 啟動
#lsnrctl stop ---> 停止
#lsnrctl status ---> 狀態
#lsnrctl help ---> 協助
■一個常式只能訪問一個資料庫,而一個資料庫可以由多個常式同時訪問.
常式由一組邏輯記憶體結構和一系列後台服務進程組成.
在啟動資料庫的過程中,檔案的使用順序是:參數檔案、控制檔案、資料檔案和重做記錄檔.
■啟動模式
nomount模式 啟動常式,但不裝載資料庫,即只完成啟動步驟的第1步。(讀取參數檔案)
mount模式 啟動常式,並裝載資料庫,但不開啟資料庫。即,只完成啟動步驟的第1和第2步。
open模式 啟動常式,裝載資料、開啟資料庫、即完成全部3個啟動步驟.
啟動文法
startup [nomount|mount|open|force] [restrict] [PFILE=filename];
■NOMOUNT選項
只建立常式,不裝資料庫,讀取參數檔案,為常式建立各種記憶體結構和後台服務進程,使用者能與資料庫進行通訊,
但不能使用資料庫中的任何檔案.
如果要執行下列維護工作,就必須用NOMOUNT選項啟動資料庫
◆ 運行一個建立新資料的指令碼
◆ 重建控制檔案
在NOMOUNT啟動模式下,只能訪問那些與SGA區相關的資料庫字典視圖,如V$PARAMETER,V$SGA,V$OPTION,
V$PROCESS,V$VERSION,V$INSTANCE等.這些視圖中的資訊都是從SGA區中擷取的,與資料庫無關.
■MOUNT選項
MOUNT選項不僅建立常式,還裝載資料庫,但卻不開啟資料庫.讀取控制檔案.管理員可以通過部分命令修改資料庫,
使用者還無法與資料庫建立串連或會話.
如果要執行下列維護工作,就必須用MOUNT選項啟動資料庫
◆ 重新命名資料檔案
◆ 添加、刪除或重新命名重做記錄檔
◆ 執行資料庫完全恢複操作
◆ 改變資料庫的歸檔模式
在MOUNT啟動模式下,除了可以訪問那些與SGA區相關的資料字典視圖之外,還可以訪問到那些與控制檔案相關的資料字典
視圖,如V$THREAD,V$CONTROLFILE,V$DATABASE,V$DATAFILE,V$LOGFILE等,這些視圖中的資訊是從控制檔案中擷取的.
■OPEN選項
OPEN選項不僅建立常式,還裝載資料庫,並且開啟資料庫.這是正常啟動模式.如果startup命令列上沒有指定任何
模式,預設就是start open選項啟動資料庫.
■FORCE選項
如果在正常啟動資料庫遇到困難,可以使用force啟動選項.例如伺服器突然斷電.
FORCE選項與正常啟動選項之間的差別還在於,無論資料庫處於什麼模式,都是先異常關閉資料庫,然後再重新啟動.
而不需要事先用SHUTDOWN語句關閉資料庫.
■RESTRICT選項
RESTRICT選項啟動資料庫並把它置入OPEN模式,但些時只有擁有RESTRICTED SESSION許可權的使用者才能訪問資料庫.
如果需要在資料庫處於OPEN模式下執行維護任何,又要保證此時其他使用者不能在資料庫上建立串連和執行任何,則應該
使用RESTRICT選項來開啟資料庫,以便完成如下任務:
◆ 執行資料庫資料的匯出或匯入操作.
◆ 執行資料裝載操作(用SQL*Loader)
◆ 暫時阻止一般的使用者使用資料.
◆ 進行資料庫移植或升級
當工作完成後,可以用如下語句禁用RESTRICT SESSION許可權,即:
alter system disable restricted session
■關閉選項
■NORMAL選項
按NORMAL選項關閉資料庫時,Oracle將執行如下操作:
◆ 阻止任何使用者建立新的串連
◆ 等待當前所有正在串連的使用者主動中斷連線.正在串連的使用者能夠繼續他們當前的工作,甚至能夠提交新的事務.
◆ 一旦所有的使用者都中斷連線,才進行關閉、制裁資料庫,並終止常式。
注意:
按NORMAL選項關閉資料庫時,Oracle並不會斷開目前使用者的串連,而是等待目前使用者主動中斷連線。在這個過程中,串連的用
戶甚至可以建立新的事務。此選項關閉資料庫,在下次啟動資料庫時不需要任何恢複操作。關閉資料庫所耗費的時間完全取決
於使用者主動中斷連線的時間.
■TRANSACTIONAL選項
TRANSACTIONAL選項比NORMAL選項稍微主動些。它能在儘可能短的時間內關閉資料庫。
按NORMAL選項關閉資料庫時,Oracle將執行如下操作:
◆ 阻止任何使用者建立新的串連,同時阻止當前串連的使用者開始任何新的事務
◆ 等待所有當前未提交的活動事務提交完後,然後立即斷開使用者的串連
◆ 一旦所有的使用者都中斷連線,立即進行關閉、制裁資料庫,並終止常式
注意:
按TRANSACTIONAL選項關閉資料庫,既能保證使用者不會丟失當前工作的資訊,又可以儘可能快地關閉資料庫,此選項關閉資料庫,在下次
啟動資料庫時不需要任何恢複操作。
■IMMEDIATE選項
IMMEDIATE選項關閉資料庫,就能夠在儘可能短的時間內關閉資料庫。
按IMMEDIATE選項關閉資料庫時,Oracle將執行如下操作:
◆ 阻止任何使用者建立新的串連,同時阻止當前串連的使用者開始任何新的事務
◆ 任何當前未提交的事務均被回退
◆ Oracle不再等待使用者主動中斷連線,而是直接關閉、制裁資料庫,並終止常式
注意:
如果存在很多未提交的事務,則按IMMEDIATE選項關閉資料庫仍然會耗費很長時間。此選項關閉資料庫,在下次啟動資料庫時不需要任何
恢複操作。
■ABORT選項
如果上述三種選項都無法成功關閉資料庫,就說明資料庫存在嚴重錯誤。這時只能使用ABORT選項來關閉資料庫。
在下面幾種特殊情況中,可以考慮按ABORT選項來關閉資料庫。
◆ 資料庫本身或某個資料庫應用程式發生異常,並且使用其他選項均無效
◆ 出現緊急情況,需要立刻關閉資料庫(比如得到通知將在一分鐘內發生停電)
◆ 在啟動資料庫常式的過程中產生錯誤。
按IMMEDIATE選項關閉資料庫時,Oracle將執行如下操作:
◆ 阻止任何使用者建立新的串連,同時阻止當前串連的使用者開始任何新的事務
◆ 立即結束當前正在執行的SQL語句
◆ 任何未提交的事務均不被回退
◆ 立即斷開所有使用者的串連,關閉、缺氧資料庫,並終止全程.
注意:
按ABORT選項關閉資料庫時,由於當前未完成的事務並不會被回退,所以可能會丟失一部分資料資訊。這樣資料庫的完整性遭到損害,在下一次啟動時需要
進行恢複。因此建議盡量避免按ABORT選項來關閉資料庫.
■在WINDOWS中啟動和關閉資料庫所使用的服務名稱及說明
Oracle<ORACLE_HOME_NAME>TNSListener 對應於資料庫監聽程式
OracleService<SID> 對應於資料庫常式
OracleDBConsole<sid> 對應於Oracle Enterprise Manager 或 OEM
Oracle<ORACLE_HOME_NAME>iSQL*Plus 對應於iSQL*Plus
這幾個服務之間的關係是:
◆ 首先啟動Oracle<ORACLE_HOME_NAME>TNSListener服務,然後再啟動其他服務。
◆ 如果不啟動Oracle<ORACLE_HOME_NAME>TNSListener,則可以使用SQL*Plus,但不能使用OEM和iSQL*Plus。
◆ 因為OracleDBConsole<sid>依賴於OracleService<SID>,所以必須先啟動OracleService<SID>,之後再啟動
OracleDBConsole<sid>.關閉反之。
============================
■提示:全域資料庫名是資料庫的預設服務名,由初始化參數檔案中的SERVICE_NAMES參數指定.
■Oracle網路設定分為伺服器端配置和客戶機端配置,伺服器端配置的目的就是配置監聽程式的設定檔(listener.ora).
客戶機端配置的目的就是配置網路服務名的設定檔(tnsnames.ora).伺服器端本身也有一個網路服務名的設定檔(
tnsnames.ora),在伺服器端,一般不需要配置tnsnames.ora檔案,但如果伺服器要與其他伺服器串連時(如在分布式網
絡環境中),同樣需要配置tnsnames.ora檔案。根據網路連接的實際情況,每個listener.ora和tnsnames.ora內容都可能
不同,以便監聽不同的串連請求資訊或串連到不同的資料庫.