zoukankan      html  css  js  c++  java
  • 【原创】Oracle配置监听和连接,已经一些比较容易混淆的相关概念

    1.配置监听

    配置监听的方法有3种:

    Database 

    PLSExtProc 

    Executable

    Database 模式是标准的配置方式,也是最常用的数据库连接方式。

    PLSExtProc  模式允许PL/SQL程序访问外部程序,并且被大多数实例配置为默认连接方式

    Executable  模式允许外部程序能通过一个tns连接被访问(目前没用到过)

    Database 模式配置方式:

    (SID_DESC =

          (GLOBAL_DBNAME= querymqq)

          (ORACLE_HOME= /data/oracle/product/10.2.0/db_1/)

          (SID_NAME = mqq)

        )

    PLSExtProc模式配置方式:

    (SID_DESC =

          (SID_NAME = PLSExtProc)

          (ORACLE_HOME = /usr/local/oracle/product/10.2.0/db_1)

          (PROGRAM = extproc)

    在我们新oracle和8.155机器上只使用PLSextProc方式配置,并不能建立连接,还得加database配置。

    对PLSextProc的解释,网上也没人能说出个名堂,疑惑的提问倒是一堆一堆的。那个e文档也含糊的很。

    2.监听状态

    命令:lsnrctl status,红色部分为注解

    LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 12-3ÔÂ -2007 21:39:27

     

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

     

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

    STATUS of the LISTENER

    ------------------------

    Alias                     LISTENER

    Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production

    Start Date                12-3ÔÂ -2007 20:53:47

    Uptime                    0 days 0 hr. 45 min. 39 sec

    Trace Level               off /*关闭跟踪*/

    Security                  ON: Local OS Authentication

    SNMP                      OFF

    Listener Parameter File   /usr/local/oracle/product/10.2.0/db_1/network/admin/listener.ora  /*监听配置文件地址*/

    Listener Log File         /usr/local/oracle/product/10.2.0/db_1/network/log/listener.log    /*监听日志文件地址*/

    Listening Endpoints Summary...

      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))

      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.225.158)(PORT=1521)))

    Services Summary...

    Service "MQQ_XPT" has 1 instance(s).

      Instance "mqq", status READY, has 1 handler(s) for this service...

    Service "PLSExtProc" has 1 instance(s).

      Instance "PLSExtProc", status UNKNOWN/*UNKNOWN 表示是在listener.ora文件配置*/, has 1 handler(s) for this service...

    Service "mqq" has 1 instance(s).

      Instance "mqq", status READY/*READY表示是在DB启动PMON(监控进程)之后,自动注册DB到监听,一般在启动实例后1分钟注册监听*/, has 1 handler(s) for this service...

    The command completed successfully

     

    3.比较容易混淆的概念:

    Db_name:对一个数据库(Oracle database)的唯一标识。这种表示对于单个数据库是足够的,但是随着由多个数据库构成的分布式数据库的普及,这种命令数据库的方法给数据库的管理造成一定的负担,因为各个数据库的名字可能一样,造成管理上的混乱。为了解决这种情况,引入了Db_domain参数,这样在数据库的标识是由Db_name和Db_domain两个参数共同决定的,避免了因为数据库重名而造成管理上的混乱。这类似于互连网上的机器名的管理。我们将Db_name和Db_domain两个参数用’.’连接起来,表示一个数据库,并将该数据库的名称称为Global_name,即它扩展了Db_name。Db_name参数只能由字母、数字、’_’、’#’、’$’组成,而且最多8个字符。查看方式:show parameter db_name;

    Db_domain:定义一个数据库所在的域,域只是为了更好的管理分布式oracle系统。查看方式:show parameter db_domain;

    Global_name:对一个数据库(Oracle database)的唯一标识,oracle建议用此种方法命令数据库。该值是在创建数据库是决定的,缺省值为Db_name. Db_domain。在以后对参数文件中Db_name与Db_domain参数的任何修改不影响Global_name的值,如果要修改Global_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO ‘db_name.db_domain’。查看方式:show parameter global_name;

    Service_name:该参数是oracle8i新引进的。在8i以前,我们用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库,而不是一个实例,而且该参数有许多其它的好处。该参数的缺省值为Db_name. Db_domain,即等于Global_name。一个数据库可以对应多个Service_name,以便实现更灵活的配置。该参数与SID没有直接关系,即不必Service name 必须与SID一样。查看方式:show parameter service_name;

    Net service name:网络服务名,又可以称为数据库别名(database alias)。是客户端程序访问数据库时所需要,屏蔽了客户端如何连接到服务器端的细节,实现了数据库的位置透明的特性。查看方式:show parameter Net service name;

     

    4.SQLPLUS运行时,建立连接的方式

    在用户输入sqlplus system/manager@test后,sqlplus程序会自动到sqlnet.ora文件中找NAMES.DEFAULT_DOMAIN参数,假如该参数存在,则将该参数中的值取出,加到网络服务名的后面,即此例中你的输入由sqlplus system/manager@test自动变为sqlplus system/manager@test.server.com ,然后再到tnsnames.ora文件中找test.server.com网络服务名;假如NAMES.DEFAULT_DOMAIN参数不存在,则sqlplus程序会直接到tnsnames.ora文件中找test网络服务名,然后取出其中的host,port,tcp,service_name,利用这些信息将连接请求发送到正确的数据库服务器上。

  • 相关阅读:
    HTML元素解释
    Java命名规范
    HDU 1058 Humble Numbers(DP,数)
    HDU 2845 Beans(DP,最大不连续和)
    HDU 2830 Matrix Swapping II (DP,最大全1矩阵)
    HDU 2870 Largest Submatrix(DP)
    HDU 1421 搬寝室(DP)
    HDU 2844 Coins (组合背包)
    HDU 2577 How to Type(模拟)
    HDU 2159 FATE(二维完全背包)
  • 原文地址:https://www.cnblogs.com/jacktu/p/1083235.html
Copyright © 2011-2022 走看看