『ORACLE』 创建监听(11g)

创建监听

1)静态注册LISTENER 1521
2)动态注册LSNR2 1526


LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = enmo)(PORT = 1521))
    )
  )


SID_LIST_LISTENER=
  (SID_LIST=
    (SID_DESC=
      (GLOBAL_DBNAME=ENMOEDU)
      (ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME=ENMOEDU))
  )



LSNR2 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = enmo)(PORT = 1526))
    )
  )

  


创建enmoedu连接串,利用1526端口可连接到数据库
--用于动态注册LSNR2监听
LSNR2 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = enmo)(PORT = 1526))
    )
  )




ENMOEDU =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = enmo)(PORT = 1526))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ENMOEDU)
    )
  )
  
  
sqlnet.ora
在SQLNET.ora文件中设置以下参数可以实现IP访问限制:


$ pwd
/u01/app/oracle/product/10.2.0/db_1/network/admin
$ vi sqlnet.ora
tcp.validnode_checking=yes #确定是否对客户机IP地址进行检查
tcp.invited_nodes=(ip1,ip2......) #列举允许连接的客户机的IP地址,以逗号分隔
tcp.excluded_nodes=(ip1,ip2......) #列举不允许连接的客户机的IP地址,以逗号分隔


设置后需要重启监听:
$ lsnrctl reload


在设置这些参数前后可以通过“tnsping 网络连接串”来测试是否可连:
$ tnsping orcldb


通过监听器的限制,通常属于轻量级,比在数据库内部通过触发器进行限制效率要高。


需要注意的地方:
1、tcp.invited_nodes与tcp.excluded_nodes都存在,以tcp.invited_nodes为主。
2、一定要许可或不要禁止服务器本机的IP地址,否则通过lsnrctl将不能启动或停止监听,因为该过程监听程序会通过本机的IP访问监听器,而该IP被禁止了,但是通过服务启动或关闭则不影响。
3、修改之后,一定要重起监听才能生效,而不需要重新启动数据库。
4、任何平台都可以,但是只适用于TCP/IP协议。


我机子上的sqlnet.ora内容如下:
$ cat sqlnet.ora
# sqlnet.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.


NAMES.DIRECTORY_PATH= (TNSNAMES)


# wangnc added, 20080925
tcp.validnode_checking=yes
tcp.invited_nodes=(172.18.1.171,172.18.1.164,192.168.41.42)




2.禁用操作系统认证方式登录数据库
禁用的方法很简单,仅需在sqlnet.ora配置文件中添加一条“SQLNET.AUTHENTICATION_SERVICES=(NONE)”即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章