接下来就讲讲关于ORACLE  监听的配置:  要求配置一个静态监听,和动态监听。

静态监听:就是默认的端口(1521)

动态监听就是非默认的端口

 

监听的文档在10g 文档中的

NET  中  Net Services Reference  中找:

sqlnet.ora   那tnsname 和listener 就在他下面。




静态监听就是整个文件都搞下来:

需要改的就是 Host 这里最好不要用ip  因为可能重启ip改变就麻烦了。就写成主机名。

再就是GLobal_DBNAME

还有ORACLE_HOME    

LISTENER=
  (DESCRIPTION=
    (ADDRESS_LIST=
      (ADDRESS=(PROTOCOL=tcp)(HOST=oracel)(PORT=1521))
      (ADDRESS=(PROTOCOL=ipc)(KEY=extproc))))
SID_LIST_LISTENER=
  (SID_LIST=
    (SID_DESC=
      (GLOBAL_DBNAME=jesn)
      (ORACLE_HOME=/u01/app/oracle/data)
      (SID_NAME=jesn))
    (SID_DESC=
      (SID_NAME=plsextproc)
      (ORACLE_HOME=/u01/app/oracle)
      (PROGRAM=extproc)))

动态监听呢:


只要上面的这个就行了。

port 更改了。

然后就是要改一下KEY这个值不然你是启动不成功的。

接下来就是  $ lsnrctl   start LSN2


LSN2=
  (DESCRIPTION=
    (ADDRESS_LIST=
      (ADDRESS=(PROTOCOL=tcp)(HOST=oracel)(PORT=1526))
      (ADDRESS=(PROTOCOL=ipc)(KEY=extprocjesn))))



那这之后就是配置个tnsname了:




针对静态注册的

JESN= 
 (DESCRIPTION= 
   (ADDRESS=((PROTOCOL=tcp)(HOST=oracle)(PORT=1521))
   (CONNECT_DATA= 
     (SERVICE_NAME=jesn)))


那这里的SERVICE_NAME  不管配成什么只要和 listener 中的GLOBAL_DBNAME一样就行,不如可以叫个abc。这样做的目的就是为了可以对外隐藏数据库名
SID_DESC=
      (GLOBAL_DBNAME=jesn)
之后可以conn system/oracle@JESN    进行测试

针对动态注册的:

 
  
JESN= 
 (DESCRIPTION= 
   (ADDRESS=((PROTOCOL=tcp)(HOST=oracle)(PORT=1526))
   (CONNECT_DATA= 
     (SERVICE_NAME=h1)))
这里的SERVICE_NAME 要和  数据库里面$ show parameter name  中的  service_name 一样才行。
service_name 可以更改的但是不要覆盖掉最初的那个: