OCM培訓課程- Server config 之網(wǎng)絡配置
最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯(lián)系在線老師,甲骨文官方認證,報名從速!
我要咨詢OCM培訓課程- Server config 之網(wǎng)絡配置
OCM考試大綱關于network配置的要求
一 Server Configuration
﹡ Create and manage multiple network configuration files
﹡ Create and configure a listener
﹡ Set up network tracing
oracle網(wǎng)絡配置主要包括對listener、本地命名服務的配置,下述內容概括了網(wǎng)絡配置的主要知識點:
1、 怎么創(chuàng)建第一個listener
創(chuàng)建數(shù)據(jù)庫之前,最好先創(chuàng)建listener。可以通過oui、netca、netmgr等oracle提供圖形化工具,也可以通過編輯listener.ora文件來創(chuàng)建listener(使用圖形化工具也是對listener.ora文件作了修改)。創(chuàng)建第一個listener后(采用默認1521端口),listener.ora內容如下:
LISTENER=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.155.2)(PORT=1521))
(ADDRESS=(PROTOCOL=ipc)(KEY=extproc))))
# 上面部分定義listener名稱、服務器地址和端口
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=plsextproc)
(ORACLE_HOME=/oracle10g)
(PROGRAM=extproc)))
# 上面部分定義需要靜態(tài)注冊的服務,靜態(tài)注冊和動態(tài)注冊的區(qū)別見后面,這里是提供給C、C++等程序訪問數(shù)據(jù)庫的外部程序接口進行靜態(tài)注冊,這類接口不能采用動態(tài)注冊。
2、怎么為listener增加IP
為了滿足網(wǎng)絡冗余功能,如在服務器具有多塊網(wǎng)卡的情況下,可以為一個listener綁定多個ip。同樣可以通過netca、netmgr等圖形化工具,或直接通過編輯listener.ora來實現(xiàn)。增加ip后的listener.ora文件內容為:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.155.2)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.155.10)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
# 192.168.155.10是為listener新增加的ip
SID_LIST_LISTENER =
(SID_LIST =
4 (SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
)
3、怎么為listener配置多個監(jiān)聽端口(同一IP)
在同一IP地址上為listener增加端口1525:
修改listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.155.100)(PORT = 1525)) - 增加新的監(jiān)聽端口
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.155.100)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
修改tnsnames.ora
OA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.155.100)(PORT = 1525)) - 服務能解析到新端口
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.155.100)(PORT = 1521))
)
(LOAD_BALANCE = YES) - 可選
(FAILOVER = YES) - 可選
(CONNECT_DATA =
(SERVICE_NAME = oa.oracle.com)
)
)
由于采用了非默認端口(1525),如果要實現(xiàn)動態(tài)注冊設置local_listener參數(shù),先在tnsnames.ora中配置(如果采用靜態(tài)注冊,則只需要在listener.ora中修改SID_LIST_LISTENERNAME,加入service配置):
LOCAL_LISTENER =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.155.100)(PORT = 1525))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.155.100)(PORT = 1521))
)
)
然后修改local_listener參數(shù):
Sql> alter system set local_listener=LOCAL_LISTENER scope=both;
4、 增加新的listener
可以通過創(chuàng)建多個listener,實現(xiàn)listener冗余?梢酝ㄟ^圖形化工具或編輯listener.ora實現(xiàn),增加后listener.ora內容為:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.155.2)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
LISTENER1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.155.10)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
#新增listener1,ip為192.168.155.10
SID_LIST_LISTENER =
(SID_LIST =
4 (SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
)
5、 管理遠程服務器上的listener
注:這個知識點ocm應該不會考,但最近安全檢查時,常碰到關于給listner設置密碼,防止遠程非法關掉listener的情況。通過下面的例子說明如何遠程關閉listener。oracle 10g已經(jīng)從產(chǎn)品層面防止了該隱患。
要求:在主機host1上,遠程關閉主機host2上的listner。
1) 在host1上的listener.ora文件中定義host2上的listener: LISTENER_HOST2 = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = host2)(PORT = 1521)(IP = FIRST)) ) )
2) 在host1上的tnsnames.ora文件對前面定義的host2上的listener做命名解析: Listener_host2 = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = host2)(PORT = 1521)) )
3) 在host1上關閉host2上的listener 在host1上: Lsnrctl > set curr listener_host2 Lsnrctl> status Lsnrctl> stop 如果在listener上沒有設置密碼,將會被直接關閉。在host2上為listener設置密碼:
lsnrctl> set curr listener
lsnrctl> set password
lsnrctl> save_config
1.5 開啟listener trace功能
1) 開啟trace
lsnrctl> trace admin listener_name
在$ORACLE_HOME/network/trace/listener_name.trc將產(chǎn)生,記錄listener對遠程連接的處理情況。
2) 關閉trace
lsnrctl> trace off;
6、 動態(tài)注冊與靜態(tài)注冊
oracle實例啟動后需要把service通知listener,這個過程稱為注冊。注冊分為兩種方式:動態(tài)注冊和靜態(tài)注冊。
1) 動態(tài)注冊
實例通過PMON進程,自動將service注冊到listener,service定義在service_names參數(shù)中。PMON進程每隔一分鐘自動檢查是否新的service需要注冊,如果希望手工立即注冊,可以執(zhí)行如下命令:
sql> alter system register;
采用動態(tài)注冊,則不再需要listener.ora文件。
下面是配置service動態(tài)注冊的例子:
修改service_names參數(shù):
sql> alter system set service_names='orcl,erp'; -- 新增加service的名稱為erp
修改tnsnames.ora,對service做解析,增加以下部分:
ERP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = erp)
)
)
將erp服務注冊到listener:
sql> alter system register;
查看注冊到listener的service:
$ lsnrctl status
Service "erp" has 1 instance(s).
Instance "orcl", status READY, has 4 handler(s) for this service...
#狀態(tài)READY代表是采用了動態(tài)注冊方式。
2)靜態(tài)注冊
將要注冊的service增加到listener.ora中,listener啟動時讀取listener.ora中定義的service并將其注冊。
如listener.ora增加erp服務:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = erp) -- global_dbname這里代表service名稱
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(SID = orcl)
)
)
在tnsnames.ora解析erp服務,方法同動態(tài)注冊。
啟動listener:
$ lsnrctl stop;
當前注冊到listener的服務狀態(tài):
Service "erp" has 1 instance(s).
Instance "erp", status UNKNOWN, has 1 handler(s) for this service...
服務狀態(tài)unknonw,代表服務是靜態(tài)注冊到listener。
- 陳衛(wèi)星-老師CUUG金牌講師
- 陳老師 CUUG金牌講師 精通Oracle管理、備份恢復、性能優(yōu)化 11年Ora...[詳細了解老師]
