==【静态注册】==
静态注册可通过图形化的net manager进行配置。
net manager里面的配置选项与相关文件的对应关系:
概要文件 <=> sqlnet.ora
服务命名 <=> tnsnames.ora
监听程序 <=> listener.ora
静态注册在服务器端需要配置【监听程序(listener.ora)】,包括:
监听位置(协议、主机、端口);
数据库服务(全局数据库名:此处的全局数据库名对应于客户机端【服务命名(tnsnames.ora)】的服务名、Oracle主目录、SID);
其它服务(我测试的时候发现不能留空,不过此处的程序名和SID随便填一些字符即可);
追加一个监听程序需要通过netca进行配置,win下netca会创建一个服务。
- listener.ora(服务器端)
- SID_LIST_SL01 =
- (SID_LIST =
- (SID_DESC =
- (PROGRAM = xx)
- (SID_NAME = xx)
- )
- (SID_DESC =
- (GLOBAL_DBNAME = gdbn01)
- (ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
- (SID_NAME = ORCL)
- )
- )
- SL01 =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = duzz)(PORT = 8899))
- )
- tnsnames.ora(客户机端)
- S01 =
- (DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = TCP)(HOST = duzz)(PORT = 8899))
- )
- (CONNECT_DATA =
- (SERVICE_NAME = d01)
- )
- )
- ==【动态注册】==
- 要想PMON能动态注册非1521的端口,需要先将连接信息(protocal,host,port - 该连接信息须在【监听程序(listener.ora)】的监听位置中存在)www.linuxidc.com配置到服务器端的tnsnames.ora,然后修改local_listener参数指向tnsnames.ora中的配置选项。
- listener.ora(服务器端,SL01为通过netca新建的监听程序)
- SL01 =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = duzz)(PORT = 8899))
- )
- tnsnames.ora(服务器端)
- DL01 = (ADDRESS = (PROTOCOL = TCP)(HOST = duzz)(PORT = 8899))
- alter system set local_listener='DL01';
- alter system set service_names='d01,d02,d03';
- 客户端只需在tnsnames.ora中填入相应的SERVICE_NAME即可:
- tnsnames.ora(客户机端)
- S01 =
- (DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = TCP)(HOST = duzz)(PORT = 8899))
- )
- (CONNECT_DATA =
- (SERVICE_NAME = d01)
- )
- )
要想PMON动态注册默认1521的端口则相对比较简单,不需要设置local_listener参数,www.linuxidc.com自然也就不需要修改服务器端的tnsnames.ora文件,其它与动态注册非1521的端口步骤一样。
==【验证注册】==
- sqlplus /@s01 as sysdba
- select distinct sid from v$mystat;
- select service_name from v$session where sid=:sid;
- 查看当前session的服务名,
- 如果返回的是SYS$USERS则表示当前session通过静态注册的服务名连接,
- 否则返回动态注册的服务名。
时间:2011-10-27 22:49
来源:LinuxIDC.com
作者:LinuxIDC.com
原文链接