• 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)

    在我们新oracle8.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_nameDb_domain两个参数共同决定的,避免了因为数据库重名而造成管理上的混乱。这类似于互连网上的机器名的管理。我们将Db_nameDb_domain两个参数用’.’连接起来,表示一个数据库,并将该数据库的名称称为Global_name,即它扩展了Db_nameDb_name参数只能由字母、数字、’_’、’#’、’$’组成,而且最多8个字符。查看方式:show parameter db_name;

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

    Global_name:对一个数据库(Oracle database)的唯一标识,oracle建议用此种方法命令数据库。该值是在创建数据库是决定的,缺省值为Db_name. Db_domain。在以后对参数文件中Db_nameDb_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;

     

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

    在用户输入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网络服务名,然后取出其中的hostporttcpservice_name,利用这些信息将连接请求发送到正确的数据库服务器上。

     

  • 相关阅读:
    Scala之eq,equals,==的区别
    Spark Streaming流计算特点及代码案例
    刷题50—水壶问题
    刷题49(力扣3道题)
    刷题48——最长回文串
    刷题47——矩形重叠
    刷题46——拼写单词
    刷题45(力扣两道题)
    刷题44——岛屿的最大面积
    刷题43——最长上升子序列
  • 原文地址:https://www.cnblogs.com/jacktu/p/672451.html
Copyright © 2020-2023  润新知