12c OCP題庫解析060-4 後臺程式新成員——LREG程式專門負責註冊例項服務

Hoegh發表於2016-05-16

Which statement is true about Oracle Net Listener?

A. It acts as the listening endpoint for the Oracle database instance for all local and nonlocal user connections.

B. A single listener can service only one database instance and multiple remote client connections.

C. Service registration with the listener is performed by the process monitor (LREG) process of each database instance.

D. The listener.ora configuration file must be configured with one or more listening protocol addresses to allow remote users to connect to a database instance.

E. The listener.ora configuration file must be located in the ORACLE_HOME/network/admin directly.

 

【題意簡述】

考察了Oracle 12c新特性——LREG程式負責監聽器的註冊(Listener Registration)

 

【考點分析】

Oracle監聽器 Net Listener 是一個重要的資料庫伺服器元件,在整個 Oracle 體系結構中,扮演著重要的作用。它負責管理 Oracle 資料庫和客戶端之間的通訊,它在一個特定的網路卡埠 (預設是TCP 1521埠)上監聽連線請求,並將連線轉發給資料庫。

Oracle監聽器主要負責下面的幾方面功能:

l  監聽客戶端請求。

l  為客戶端請求分配 Server Process

l  註冊例項服務

l  錯誤轉移 failover

l  負載均衡

    其中,failover和負載均衡都是RAC架構下的功能。

 

本質上講,Listener是建立例項和客戶端程式之間聯絡的橋樑。 Listener 與例項之間的聯絡,就是透過註冊的過程來實現的。註冊的過程就是例項告訴監聽器,它的資料庫例項名稱instance_name和服務名 service_names。監聽器註冊上這樣的資訊,對客戶端請求根據監聽的註冊資訊,找到正確的服務例項名稱。目前 Oracle提供動態註冊和靜態註冊兩種方式。

靜態註冊就是例項啟動時讀取 listener.ora 檔案的配置,將例項和服務註冊到監聽程式。無論何時啟動一個資料庫,預設地都有兩條資訊註冊到監聽器中:資料庫伺服器對應的例項和服務。

動態註冊的動作是監聽器所在主機上資料庫例項完成。例項的後臺程式每隔一段時間就會將例項的參 數資訊註冊到監聽器上,實現動態註冊。

大家都知道,在Oracle Database 11g以及之前版本,PMON程式負責註冊例項服務。而在Oracle Database 12c中,大量新的後臺程式被引入進來,其中就包括專門負責註冊例項服務的LREG後臺程式。

 

我們節選官方文件中關於PMONLREG的定義,其中專門提到了12c和之前版本的區別:

……

Process Monitor Process (PMON)

The process monitor (PMON) monitors the other background processes and performs process recovery when a server or dispatcher process terminates abnormally.

PMON is responsible for cleaning up the database buffer cache and freeing resources that the client process was using. For example, PMON resets the status of the active , releases locks that are no longer required, and removes the process ID from the list of active processes.

Listener Registration Process (LREG)

The  registers information about the database instance and dispatcher processes with the Oracle Net Listener. When an instance starts, LREG polls the listener to determine whether it is running. If the listener is running, then LREG passes it relevant parameters. If it is not running, then LREG periodically attempts to contact it.

Note:

In releases before Oracle Database 12c, PMON performed the listener registration.

……

 

【答案剖析】

A,監聽器負責監聽非本地使用者的連線請求。例如我們熟知的sqlplus / as sysdba 命令是作業系統使用者驗證登入方式,透過OS本地的IPC可以直接連線到例項,而IPC由本地OS提供,允許各種程式在主機內進行通訊,所以不需要listener也可以連線到例項。所以A錯誤。

B, 監聽器執行在資料庫伺服器之上,可以與一個或多個Oracle 例項相關聯,所以 B 錯誤

C, 本質上講,Listener 是建立例項和客戶端程式之間聯絡的橋樑。 Listener 與例項之間的聯絡,就是透過註冊的過程來實現的。從12c版本開始,LREG後臺程式負責註冊例項服務。所以C正確。

D,在配置listener.ora時會遇到Host引數,該引數作用就是指定連線的主機地址。我們可以選擇IP地址和主機伺服器名稱。兩種方法下,Oracle監聽器是採用不同的策略方法。當使用HOST主機名的時候,Oracle監聽器會對該計算機上所有的IP地址開啟監聽動作;如果使用IP地址,監聽程式只能監聽對應的IP地址。所以D錯誤。

E, 預設情況下,listener.ora 配置檔案存放在ORACLE_HOME/network/admin目錄下,但是我們可以修改配置檔案的存放路徑。以Windows環境為例,我們可以透過定義TNS_ADMIN環境變數來指定listener.ora、tnsnames.ora等配置檔案的預設存放路徑。所以E錯誤。

 

【答案】C


                                                                                                                                                                                            ~~~~~~~ the end~~~~~~~~~

                                                                                                                                                                                                               hoegh
                                                                                                                                                                                                           2016.05.16

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30162081/viewspace-2100754/,如需轉載,請註明出處,否則將追究法律責任。

相關文章