zoukankan      html  css  js  c++  java
  • Oracle Clusterware工具4

    应用层:

      应用层就是指RAC数据库了,这一层有若干资源组成,每个资源都是一个进程或者一组进程组成的完整服务,这一层的管理和维护都是
    围绕这些资源进行的。有如下命令: onsctl,srvctl,crs_stat三个命令。

    命令:onsctl

      这个命令用于管理配置ONS(Oracle Notification Service). ONS是Oracle Clusterware实现FAN Event Push模型的基础。在传统模型
    中,客户端需要定期检查服务器来判断服务端状态,本质上是一个pull模型,Oracle 10g引入了一个全新的PUSH机制--FAN(Fast
    Application Notification),当服务端发生某些事件时,服务器会主动的通知客户端这种变化,这样客户端就能尽早得知服务端的变化。而引入这种机制就是依赖ONS实现, 在使用onsctl命令之前,需要先配置ONS服务。

    ons配置内容

      在RAC环境中,需要使用$CRS_HOME下的ONS,而不是$ORACLE_HOME下面的ONS, 这点需要注意。 配置文件在$CRS_HOME/opmn/conf/ons.config.

    [root@rac1 conf]#pwd
    /opt/ora10g/product/10.2.0/crs_1/opmn/conf
    [oracle@node1 conf]$ more ons.config
    localport=6113 
    remoteport=6200 
    loglevel=3
    useocr=on
    
    参数说明:
    Localport:  这个参数代表本地监听端口,这里本地特指:127.0.0.1这个回环地址,用来和运行在本地的客户端进行通信
    Remoteport:这个参数代表的是远程监听端口,也就是除了127.0.0.1以外的所有本地IP地址,用来和远程的客户端进行通信。
    Loglevel:   Oracle允许跟踪ONS进程的运行,并把日志记录到本地文件中,这个参数用来定义ONS进程要记录的日志级别,从1-9,缺省值是3.
    Logfile:    这个参数和loglevel参数一起使用,用于定义ONS进程日志文件的位置,缺省值是$CRS_HOME/opmn/logs/opmn.log
    
    nodes和useocr:这两个参数共同决定了本地的ONS daemon要和哪些远程节点上的ONS daemon进行通信。
    Nodes参数值格式如下:Hostname/IP:port[hostname/ip:port]
    如:useoce=off
    Nodes=rac1:6200,rac2:6200
    useocr参数值为on/off,如果useocr是ON, 说明信息保存在OCR中;如果是OFF,说明信息取nodes中的配置。对于单实例而言,要把useocr设置为off。

    当useocr=on时,信息保存在DATABASE.ONS_HOSTS键中。如下:

    [oracle@node1 bin]$ ./ocrdump -stdout -keyname DATABASE.ONS_HOSTS -xml|more
    
    <NAME>DATABASE.ONS_HOSTS.node1</NAME>
    <VALUE_TYPE>ORATEXT</VALUE_TYPE>
    <VALUE><![CDATA[node1]]></VALUE>
    <USER_PERMISSION>PROCR_ALL_ACCESS</USER_PERMISSION>
    <GROUP_PERMISSION>PROCR_READ</GROUP_PERMISSION>
    <OTHER_PERMISSION>PROCR_READ</OTHER_PERMISSION>
    <USER_NAME>oracle</USER_NAME>
    <GROUP_NAME>oinstall</GROUP_NAME>
    
    <NAME>DATABASE.ONS_HOSTS.node1.PORT</NAME>
    <VALUE_TYPE>ORATEXT</VALUE_TYPE>
    <VALUE><![CDATA[6200]]></VALUE>
    <USER_PERMISSION>PROCR_ALL_ACCESS</USER_PERMISSION>
    <GROUP_PERMISSION>PROCR_READ</GROUP_PERMISSION>
    <OTHER_PERMISSION>PROCR_READ</OTHER_PERMISSION>
    <USER_NAME>oracle</USER_NAME>
    <GROUP_NAME>oinstall</GROUP_NAME>
    ..........
    
    <NAME>DATABASE.ONS_HOSTS.node2</NAME>
    <VALUE_TYPE>ORATEXT</VALUE_TYPE>
    <VALUE><![CDATA[node2]]></VALUE>
    <USER_PERMISSION>PROCR_ALL_ACCESS</USER_PERMISSION>
    <GROUP_PERMISSION>PROCR_READ</GROUP_PERMISSION>
    <OTHER_PERMISSION>PROCR_READ</OTHER_PERMISSION>
    <USER_NAME>oracle</USER_NAME>
    <GROUP_NAME>oinstall</GROUP_NAME>
    
    <NAME>DATABASE.ONS_HOSTS.node2.PORT</NAME>
    <VALUE_TYPE>ORATEXT</VALUE_TYPE>
    <VALUE><![CDATA[6200]]></VALUE>
    <USER_PERMISSION>PROCR_ALL_ACCESS</USER_PERMISSION>
    <GROUP_PERMISSION>PROCR_READ</GROUP_PERMISSION>
    <OTHER_PERMISSION>PROCR_READ</OTHER_PERMISSION>
    <USER_NAME>oracle</USER_NAME>
    <GROUP_NAME>oinstall</GROUP_NAME>
    .....
    [oracle@node1 bin]$ 

    配置ons:

      可以直接编译ONS的配置文件来修改配置。如果使用了OCR,则可以通过racgons命令进行配置,但必须以root用户来执行,如果用oracle用户来执行,不会提示任何错误,但也不会更改任何配置。

    若要添加配置,可以使用下面命令:
    Racgons add_config rac1:6200 rac2:6200
    若要删除配置,可以用下面命令:
    Racgons remove_config rac1:6200 rac2:6200

    onsctl命令:

      使用onsctl命令可以启动,停止,调试ONS,并重新载入配置文件,其命令格式如下:

    [oracle@node1 bin]$ ./onsctl
    usage: ./onsctl start|stop|ping|reconfig|debug
    
    start                            - Start opmn only.
    stop                             - Stop ons daemon
    ping                             - Test to see if ons daemon is running
    debug                            - Display debug information for the ons daemon
    reconfig                         - Reload the ons configuration
    help                             - Print a short syntax description (this).
    detailed                         - Print a verbose syntax description.
    
    [oracle@node1 bin]$

    示例:

    1.在OS级别查看进程状态。
    [oracle@node1 bin]$ ps -ef|grep -v grep |grep ons
    oracle    5909     1  0 21:59 ?        00:00:00 /opt/ora10g/product/10.2.0/crs_1/opmn/bin/ons -d
    oracle    5910  5909  0 21:59 ?        00:00:00 /opt/ora10g/product/10.2.0/crs_1/opmn/bin/ons -d
    [oracle@node1 bin]$
    
    2.确认ONS服务的状态
    [oracle@node1 bin]$ ./onsctl ping
    Number of onsconfiguration retrieved, numcfg = 2
    onscfg[0]
       {node = node1, port = 6200}
    Adding remote host node1:6200
    onscfg[1]
       {node = node2, port = 6200}
    Adding remote host node2:6200
    ons is running ...
    [oracle@node1 bin]$ 
    
    3.启动ONS服务
    [root@rac1 bin]#./onsctl start

    4.使用debug选项,可以查看详细信息,其中最有意义的就是能显示所有连接:

    [oracle@node1 bin]$ ./onsctl debug
    Number of onsconfiguration retrieved, numcfg = 2
    onscfg[0]
       {node = node1, port = 6200}
    Adding remote host node1:6200
    onscfg[1]
       {node = node2, port = 6200}
    Adding remote host node2:6200
    HTTP/1.1 200 OK
    Content-Length: 1357
    Content-Type: text/html
    Response: 
    
    
    ======== ONS ========
    
    Listeners:
    
     NAME    BIND ADDRESS   PORT   FLAGS   SOCKET
    ------- --------------- ----- -------- ------
    Local   127.000.000.001  6113 00000142      7
    Remote  192.168.002.100  6200 00000101      8
    Request     No listener
    
    Server connections:
    
        ID           IP        PORT    FLAGS    SENDQ     WORKER   BUSY  SUBS
    ---------- --------------- ----- -------- ---------- -------- ------ -----
             1 192.168.002.101  6200 00104205          0               1     0
    
    Client connections:
    
        ID           IP        PORT    FLAGS    SENDQ     WORKER   BUSY  SUBS
    ---------- --------------- ----- -------- ---------- -------- ------ -----
             3 127.000.000.001  6113 0001001a          0               1     0
             4 127.000.000.001  6113 0001001a          0               1     1
    
    Pending connections:
    
        ID           IP        PORT    FLAGS    SENDQ     WORKER   BUSY  SUBS
    ---------- --------------- ----- -------- ---------- -------- ------ -----
             0 127.000.000.001  6113 00020812          0               1     0
    
    Worker Ticket: 7/7, Idle: 208
    
       THREAD   FLAGS
      -------- --------
      b7ec0b90 00000012
      b6d03b90 00000012
      b6302b90 00000012
    
    Resources:
    
      Notifications:
        Received: 3, in Receive Q: 0, Processed: 3, in Process Q: 0
    
      Pools:
        Message: 24/25 (1), Link: 25/25 (1), Subscription: 24/25 (1)
    [oracle@node1 bin]$ 

    --整理自《大话 oracle rac》

  • 相关阅读:
    std thread
    windows更新包发布地址
    How to set up logging level for Spark application in IntelliJ IDEA?
    spark 错误 How to set heap size in spark within the Eclipse environment?
    hadoop 常用命令
    windows 安装hadoop 3.2.1
    windows JAVA_HOME 路径有空格,执行软连接
    day01MyBatisPlus条件构造器(04)
    day01MyBatisPlus的CRUD 接口(03)
    day01MyBatisPlus入门(02)
  • 原文地址:https://www.cnblogs.com/polestar/p/3137994.html
Copyright © 2011-2022 走看看