伺服器端配置
<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> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ---------------
db_name string lty
global_names boolean FALSE
instance_name string lty
service_names string lty
SQL> 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)
測試:
>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,如需轉載請自行聯系原作者