天天看點

oracle 9i net基本配置

 伺服器端配置

<b>連接配接Oracle伺服器</b>

用戶端與Oracle伺服器連接配接的三種方法:

•衍生一個伺服器程序并将連接配接傳送給該程序或由其繼承,每個連接配接派生一個子程序

<a target="_blank" href="http://blog.51cto.com/attachment/201005/201224793.png"></a>

注意:在windows早期版本裡(對于隻支援WINSSOCK2)要支援這種方式須修改系統資料庫,USE SHARED_SOCKET值為TRUE.

•将連接配接傳送給Oracle Shared Server 配置中的排程程式,一般在share server模式下使用

<a target="_blank" href="http://blog.51cto.com/attachment/201005/201237320.png"></a>

這種方式必須作業系統支援不同程序間傳遞socket描述符。

•将連接配接重定向到排程程式或伺服器程序

<a target="_blank" href="http://blog.51cto.com/attachment/201005/201251933.png"></a>

<b>服務注冊方式</b>

可以通過兩種方式配置監聽程式:

•動态服務注冊

–無需在listener.ora 檔案中進行配置

–監聽程式依賴PMON 程序。在listener晚于資料庫啟動時POM會周期(一般為60s)檢查并注冊。

•靜态服務配置

–用于Oracle8 及更早版本

–需要配置listener.ora

–對Oracle Enterprise Manager 和其它服務是必需的

<b>靜态服務注冊配置</b>

可以使用一下方法之一:

1、使用netca或netmgr。

<a target="_blank" href="http://blog.51cto.com/attachment/201005/201307414.png"></a>

2、在ORACLE_HOME/network/admin/samples目錄下有listener.ora作為示例檔案。拷貝示例檔案到ORACLE_HOME/network/admin/下作相應修改。

<a target="_blank" href="http://blog.51cto.com/attachment/201005/201328760.png"></a>

<b>動态注冊:</b>

隻需要配置初始化參數檔案,但listener的配置必須和初始化參數檔案裡的參數對應。

動态注冊優先于靜态注冊(Oracle讀取動态注冊資訊優先于讀取listener.ora檔案)。

動态注冊必須配置這兩個參數:

•service_names

•instance_name

預設的service_names等于global database name。instance_name預設等于SID。

Global database name = db_name = db_name + db_domain

SQL&gt; show parameter name

NAME                                 TYPE        VALUE

------------------------------------ ----------- ---------------

db_name                              string      lty

global_names                         boolean     FALSE

instance_name                        string      lty

service_names                        string      lty

SQL&gt; show parameter db_domain

db_domain                            string

•預設情況下,PMON 向TCP/IP 的預設本地位址—端口1521—處的伺服器上的本地監聽程式進行注冊。

•在下列情況下,PMON 将向非預設監聽程式注冊:

–已經定義LOCAL_LISTENER 初始化參數

–已為Oracle Shared Server 定義DISPATCHERS 初始化參數的LISTENER 屬性

<b>lsnrctl</b><b>工具的使用:</b>

• START [listener_name]

• STOP [listener_name]

其他指令:

<a target="_blank" href="http://blog.51cto.com/attachment/201005/201356222.png"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201005/201417475.png"></a>

實驗示範:

1、$ netmgr

2、如圖:

<a target="_blank" href="http://blog.51cto.com/attachment/201005/201603953.png"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201005/201646379.png"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201005/201721670.png"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201005/201745502.png"></a>

3、驗證:

$ pwd

/u01/oracle/network/admin

$ ls

$ cat listener.ora

# LISTENER.ORA Network Configuration File: /u01/oracle/network/admin/listener.ora

# Generated by Oracle configuration tools.

TRACE_LEVEL_LISTENER10 = USER

SID_LIST_LISTENER =

 (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /u01/oracle)

      (PROGRAM = extproc)

    )

      (GLOBAL_DBNAME = lty)

      (SID_NAME = lty)

 )

LISTENER10 =

 (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1523))

LISTENER =

 (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

SID_LIST_LISTENER10 =

啟動listener10:

$ lsnrctl start listener10

用戶端配置(windows為例):

修改“用戶端安裝目錄\network\ADMIN\tnsnames.ora”檔案,在檔案中添加下面語句:

ORACLE10 =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1523))

    (CONNECT_DATA =

      (SERVICE_NAME = lty)

測試:

&gt;sqlplus luo/luo@oracle10

驗證trace功能:

tac –f /u01/oracle/network/trace/listener10.trc

<b>用戶端配置</b>

連接配接伺服器五元組:User Name,IP Address,Port Number,Password,Service Name.

用戶端連結伺服器的方法:

<a href="http://blog.51cto.com/attachment/201005/101550963.png" target="_blank"></a>

<b>Easy Connect Naming Method</b><b>:</b>

CONNECT username@[//]host[:port][/service_name][:server][/instance_name]

Enter password: password

例:

sqlplus luo/[email protected]:1521/lty.suny.com

<b>LOCAL NAMEING:</b>

配置tnsnames.ora與sqlnet.ora,作用和示例如下:

tnsnames.ora(用于指定五元組):

ORACLE =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521))

      (SERVICE_NAME = lty.suny.com)

#     (SID = lty)     #這裡service_name與SID二選一。

)

sqlnet.ora(用于指定連接配接方法):

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

<a href="http://blog.51cto.com/attachment/201005/101648855.png" target="_blank"></a>

排錯:

ping tnsping 檢查連通性。

Tnsping [描述符] [次數]

<a href="http://blog.51cto.com/attachment/201005/101633917.png" target="_blank"></a>

<b>使用netmgr或netca配置</b>

<b>。。。 。。。</b>

本文轉自 d185740815 51CTO部落格,原文連結:http://blog.51cto.com/luotaoyang/311447,如需轉載請自行聯系原作者