注册就是将数据库作为一个服务注册到监听程序。客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库。这个服务名可能与实例名一样,也有可能不一样。

注册分:
1. 静态注册
2. 动态注册

静态注册

为了静态注册一个实例,我们需要在 listener.ora中添加相应监听器条目。

这里我们建立了两个LISTENER(LISTENER — 默认的,LISTENER1 - 自己新建的),服务名(全局数据库名)分别为test,test1。

下面是我的listener.ora文件的内容。位置: C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora

LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = Tough)(PORT = 1521))
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = test)
      (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
      (SID_NAME = ora11g)
    )
  )

LISTENER1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = Tough)(PORT = 1522))
  )

SID_LIST_LISTENER1 =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = test1)
      (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
      (SID_NAME = ora11g)
    )
  )

C:\>lsnrctl

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 07-4月 -2014 12:56:43

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

欢迎来到LSNRCTL, 请键入"help"以获得信息。

//可以查看lsnrctl下可以执行的命令,常用到的是start, stop, status, reload, services
LSNRCTL> help
以下操作可用
星号 (*) 表示修改符或扩展命令:

start               stop                status
services            version             reload
save_config         trace               change_password
quit                exit                set*
show*

//如果只输入start,则启动默认监听器 LISTENER
LSNRCTL> start LISTENER
启动tnslsnr: 请稍候...

TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数文件为c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
写入c:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1521)))

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Tough)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
启动日期                  07-4月 -2014 12:56:49
正常运行时间              0 天 0 小时 0 分 1 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
监听程序日志文件          c:\oracle\product\10.2.0\db_1\network\log\listener.log
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1521)))
服务摘要..
服务 "test" 包含 1 个例程。
  例程 "ora11g", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功

//如果只输入status,则查看默认监听器 LISTENER状态
LSNRCTL> status LISTENER
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Tough)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
启动日期                  07-4月 -2014 12:56:49
正常运行时间              0 天 0 小时 1 分 9 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
监听程序日志文件          c:\oracle\product\10.2.0\db_1\network\log\listener.log
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1521)))
服务摘要..
服务 "ora11g" 包含 1 个例程。
  例程 "ora11g", 状态 READY, 包含此服务的 1 个处理程序...

服务 "ora11gXDB" 包含 1 个例程。
  例程 "ora11g", 状态 READY, 包含此服务的 1 个处理程序...
服务 "ora11g_XPT" 包含 1 个例程。
  例程 "ora11g", 状态 READY, 包含此服务的 1 个处理程序...

服务 "test" 包含 1 个例程。
  例程 "ora11g", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

命令执行成功

蓝色部分是动态注册的监听器的状态。红色部分是我们静态注册的监听器的状态。

//若不是启动默认监听器 LISTENER,则需要指定启动的监听器
LSNRCTL> start LISTENER1
启动tnslsnr: 请稍候...

TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数文件为c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
写入c:\oracle\product\10.2.0\db_1\network\log\listener1.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1522)))

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Tough)(PORT=1522)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER1
版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
启动日期                  07-4月 -2014 12:57:07
正常运行时间              0 天 0 小时 0 分 1 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
监听程序日志文件          c:\oracle\product\10.2.0\db_1\network\log\listener1.log
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1522)))
服务摘要..
服务 "test1" 包含 1 个例程。
  例程 "ora11g", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功

LSNRCTL> status LISTENER1
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Tough)(PORT=1522)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER1
版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
启动日期                  07-4月 -2014 12:57:07
正常运行时间              0 天 0 小时 1 分 13 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
监听程序日志文件          c:\oracle\product\10.2.0\db_1\network\log\listener1.log
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1522)))
服务摘要..
服务 "test1" 包含 1 个例程。
  例程 "ora11g", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功

建立好监听器后,我们还需要在客户端机器上的tnsnames.ora设置相关条目。位置:C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora

A =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = tough)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = test)
    )
  )

A1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = tough)(PORT = 1522))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = test1)
    )
  )

测试静态注册的监听器:

C:\>sqlplus /@a as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 4月 7 13:11:37 2014

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

C:\>sqlplus /@a1 as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 4月 7 13:11:54 2014

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

连接成功!


Oracle监听器—静态注册的更多相关文章

  1. Oracle监听器—动态注册

    注册就是将数据库作为一个服务注册到监听程序.客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库.这个服务名可能与实例名一样,也有可能不一样. 注册分: 1. 静 ...

  2. Oracle监听静态注册和动态注册

    静态注册和动态注册总结 一.什么是注册? 注册就是将数据库作为一个服务注册到监听程序.客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库.这个服务名可能与实例名 ...

  3. oracle监听的动态注册和静态注册

    参考资料: https://blog.csdn.net/tianlesoftware/article/details/5543166 https://www.cnblogs.com/guilingya ...

  4. oracle监听动态注册与静态注册

    client端如果想要连接到远程的数据库服务器,首先数据库服务器必须启动监听器 oracle监听器的配置在$ORACLE_HOME/network/admin/listener.ora,打开这个文件, ...

  5. Oracle监听的静态注册和动态注册

    静态注册:通过解析listene.ora文件 动态注册:由PMON进程动态注册至监听中 在没有listener.ora配置文件的情况下,如果启动监听,则监听为动态注册.用图形化netca创建的监听,默 ...

  6. 【转】oracle 监听静态注册举例解析

    网上有很多关于oracle 监听静态注册的文章,但大多都是简单说说,并没有详细的例子,这里,将结合linux as3 下的oracle 10gR2.0.1 举一个具体的例子 1.在 $ORACLE_H ...

  7. Oracle 监听动态注册与静态注册

    静态注册 静态注册是在启动listener时,listener会从listener.ora文件中获取服务名及相关信息.信息包括:实例名和服务名等. --静态注册时,listener.ora中的内容如下 ...

  8. ORACLE 动态注册和静态注册的区别(转)

    1, oracle 10g 用netca方式建立的都默认为动态注册方式2,如果想改为静态注册的方式则在listener.ora 中加入如下内容即可 SID_LIST_LISTENER = (SID_L ...

  9. oracle 监听静态注册举例解析

    网上有很多关于oracle 监听静态注册的文章,但大多都是简单说说,并没有详细的例子,这里,将结合linux as3 下的oracle 10gR2.0.1 举一个具体的例子 1.在 $ORACLE_H ...

随机推荐

  1. 使用NumberPicker定制自己喜欢的Date&TimePicker

    1.NumberPicker简介: NumberPicker是Android3.0之后引入的一个控件,主要功能是用于选择一组预定义好数字的控件. 该控件主要需要指导一个用于监听当前value变化的li ...

  2. Android客户端token简介和简单应用

    一.什么是Token Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数 ...

  3. Android之ListView常用技巧

    ListView是一个非常常用的列表控件,虽然在5.x时代ListView的风头正在逐渐的被RecyclerView抢去,但是ListView的使用范围依然十分广泛. 接下来的ListView的常用技 ...

  4. git workflows

    https://www.atlassian.com/git/tutorials/comparing-workflows Comparing Workflows The array of possibl ...

  5. Objective-C ,ios,iphone开发基础:多个视图(view)之间的切换,以及视图之间传值。

    所有的视图都继承自 UIViewController,都使用 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nib ...

  6. linux 主机免验证登录

    1.ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub 2.scp -p port  ~/.ssh/id ...

  7. discuze回放提示“抱歉,您的请求来路不正确或表单验证串不符,无法提交”

    不知从哪里看到文章,但是实用: 背景:discuze就单纯的录制一个注册脚本,日志中没有报错,在报告中就提示"抱歉,您的请求来路不正确或表单验证串不符,无法提交"",以下 ...

  8. C# 文件的读取、写入和删除

    class Program { static void Main(string[] args) { EmployeeDAL DAL = new EmployeeDAL(); List<Sys_E ...

  9. codevs4373 窗口==poj2823 Sliding Window

    Sliding Window Time Limit: 12000MS   Memory Limit: 65536K Total Submissions: 53676   Accepted: 15399 ...

  10. 解决c#,wpf程序带环境安装包体积太大问题

    在.net开发客户端的时候,一定会遇到用户没有安装.net环境的问题,特别是现在win7,win8,win10多系统并用的时间段,很多开发者使用的是4.5的目标环境,用户却是使用win7的系统,这样势 ...