oracle rac常用的命令

oracle rac常用的命令
节点层:olsnodes
网络层: oifcfg
集群层:crsctl,ocrcheck,ocrdump,ocrconfig
应用层:srvctl,onsctl,crs_stat


一.节点层:
olsnodes 用来显示集群点列表。能够混用
[root@rac1 bin]# ./olsnodes -help
Usage: olsnodes [-n] [-p] [-i] [<node> | -l] [-g] [-v]
        where
                -n print node number with the node name
                -p print private interconnect name with the node name
                -i print virtual IP name with the node name
                <node> print information for the specified node
                -l print information for the local node 
                -g turn on logging 
                -v run in verbose mode 
[root@rac1 bin]# ./olsnodes -n -p -i
rac1    1       rac1-priv       rac1-vip
rac2    2       rac2-priv       rac2-vip
[root@rac1 bin]# ./olsnodes -v
prlslms: Initializing LXL global
prlsndmain: Initializing CLSS context
prlsmemberlist: No of cluster members configured = 256
prlsmemberlist: Getting information for nodenum = 1
prlsmemberlist: node_name = rac1
prlsmemberlist: ctx->lsdata->node_num = 1
prls_printdata: Printing the node data
rac1
prlsmemberlist: Getting information for nodenum = 2
prlsmemberlist: node_name = rac2
prlsmemberlist: ctx->lsdata->node_num = 2
prls_printdata: Printing the node data
rac2
prlsndmain: olsnodes executed successfully
prlsndterm: Terminating LSF


二.网络层:
网络层由各个节点的网络组件组成,包含2个物理网卡和3个IP 地址。 也仅仅有一个命令:oifcfg.
 Oifctg 命令用来定义和改动Oracle 集群须要的网卡属性,这些属性包含网卡的网段地址,子网掩码,接口类型等。 要想正确的使用这个命令, 必须先知道Oracle 是怎样定义网络接口的,Oracle的每一个网络接口包含名称,网段地址。接口类型3个属性。
 这些属性中没有IP地址。但接口类型有两种。public和private。前者说明接口用于外部通信。用于Oracle Net和VIP 地址。而后者说明接口用于Interconnect。


接口的配置方式分为两类: global 和node-specific。 前者说明集群全部节点的配置信息同样,也就是说全部节点的配置是对称的。而后者意味着这个节点的配置和其它节点配置不同,是非对称的。




[root@rac1 bin]# ./oifcfg


Name:
        oifcfg - Oracle Interface Configuration Tool.


Usage:  oifcfg iflist [-p [-n]]
        oifcfg setif {-node <nodename> | -global} {<if_name>/<subnet>:<if_type>}...
        oifcfg getif [-node <nodename> | -global] [ -if <if_name>[/<subnet>] [-type <if_type>] ]
        oifcfg delif [-node <nodename> | -global] [<if_name>[/<subnet>]]
        oifcfg [-help]


        <nodename> - name of the host, as known to a communications network
        <if_name>  - name by which the interface is configured in the system
        <subnet>   - subnet address of the interface
        <if_type>  - type of the interface { cluster_interconnect | public | storage }


1.iflist:显示网口列表
[root@rac1 bin]# ./oifcfg iflist -p -n
eth0  192.168.90.0  PRIVATE  255.255.255.0
eth1  192.168.91.0  PRIVATE  255.255.255.0


2.getif: 获得单个网口信息
[root@rac1 bin]# ./oifcfg getif
eth0  192.168.90.0  global  public
eth1  192.168.91.0  global  cluster_interconnect
还能够查看网卡类型
[root@rac1 bin]# ./oifcfg getif -type public
eth0  192.168.90.0  global  public


3.delif:删除接口配置
[root@rac1 bin]# ./oifcfg delif -global
[root@rac1 bin]# ./oifcfg getif 


4.setif:配置单个网口
[root@rac1 bin]# ./oifcfg getif
eth0  192.168.90.2  global  public
eth1  192.168.91.3  global  cluster_interconnect


三.集群层:
集群层是指由Clusterware组成的核心集群, 这一层负责维护集群内的共享设备。并为应用集群提供完整的集群状态视图,应用集群根据这个视图进行调整。 这一层共同拥有4个命令: crsctl, ocrcheck,ocrdump,ocrconfig. 后三个是针对OCR 磁盘的。
3.1 CRSCTL
CRSCTL 命令能够用来检查CRS进程栈,每一个crs进程状态。管理Votedisk,跟踪CRS进程功能。


[oracle@rac1 bin]$ ./crsctl
Usage: crsctl check  crs          - checks the viability of the CRS stack
       crsctl check  cssd         - checks the viability of CSS
       crsctl check  crsd         - checks the viability of CRS
       crsctl check  evmd         - checks the viability of EVM
       crsctl set    css <parameter> <value> - sets a parameter override
       crsctl get    css <parameter> - gets the value of a CSS parameter
       crsctl unset  css <parameter> - sets CSS parameter to its default
       crsctl query  css votedisk    - lists the voting disks used by CSS
       crsctl add    css votedisk <path> - adds a new voting disk
       crsctl delete css votedisk <path> - removes a voting disk
       crsctl enable  crs    - enables startup for all CRS daemons
       crsctl disable crs    - disables startup for all CRS daemons
       crsctl start crs  - starts all CRS daemons.
--     crsctl stop  crs  - stops all CRS daemons. Stops CRS resources in case of cluster.
       crsctl start resources  - starts CRS resources. 
       crsctl stop resources  - stops  CRS resources. 
       crsctl debug statedump evm  - dumps state info for evm objects
       crsctl debug statedump crs  - dumps state info for crs objects
       crsctl debug statedump css  - dumps state info for css objects
       crsctl debug log css [module:level]{,module:level} ... 
                             - Turns on debugging for CSS 
       crsctl debug trace css - dumps CSS in-memory tracing cache
       crsctl debug log crs [module:level]{,module:level} ... 
                             - Turns on debugging for CRS 
       crsctl debug trace crs - dumps CRS in-memory tracing cache
       crsctl debug log evm [module:level]{,module:level} ... 
                             - Turns on debugging for EVM
       crsctl debug trace evm - dumps EVM in-memory tracing cache
       crsctl debug log res <resname:level> turns on debugging for resources
       crsctl query crs softwareversion [<nodename>] - lists the version of CRS software installed
       crsctl query crs activeversion - lists the CRS software operating version
       crsctl lsmodules css - lists the CSS modules that can be used for debugging
       crsctl lsmodules crs - lists the CRS modules that can be used for debugging
       crsctl lsmodules evm - lists the EVM modules that can be used for debugging


 If necesary any of these commands can be run with additional tracing by
 adding a "trace" argument at the very front.
 Example: crsctl trace check css


 1.检測crs状态:
 [oracle@rac1 bin]$ crsctl check  crs
CSS appears healthy
CRS appears healthy
EVM appears healthy
--单个检測cssd,crsd,evmd状态
[oracle@rac1 bin]$ crsctl check  cssd
CSS appears healthy
[oracle@rac1 bin]$ crsctl check  crsd
CRS appears healthy
[oracle@rac1 bin]$ crsctl check  evmd
EVM appears healthy


2.配置CRS栈是否开机自启动   //这个命令须要root用户运行
[oracle@rac1 bin]$ crsctl disable crs
Insufficient user privileges.
[oracle@rac1 bin]$ crsctl enable crs
Insufficient user privileges.
实际改动这个文件里内容
[oracle@rac1 bin]$ cat /etc/oracle/scls_scr/rac1/root/crsstart 
enable


3.启动、停止CRS资源
[root@rac1 bin]# ./crsctl start resources
[root@rac1 bin]# ./crsctl stop resources


4.启动、停止CRS栈
oracle 10.1之前,必须通过重新启动系统重新启动Clusterware,可是从10.2開始,能够通过命令来启动和停止CRS。
[root@rac1 bin]# ./crsctl stop crs
Stopping resources.
Successfully stopped CRS resources 
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued.
[root@rac1 bin]# ./crsctl start crs
Attempting to start CRS stack 
The CRS stack will be started shortly


5.查看Votedisk磁盘位置
[root@rac1 bin]# ./crsctl query css votedisk
 0.     0    /dev/raw/raw2


located 1 votedisk(s).


6.查看和改动CRS參数
[root@rac1 bin]# ./crsctl get css misscount
60
--改动參数:功能慎用
[root@rac1 bin]# ./crsctl set css misscount 60
Configuration parameter misscount is now set to 60.
[root@rac1 bin]# ./crsctl get css misscount
60
--重置CRS參数
[root@rac1 bin]# ./crsctl unset css misscount
Configuration parameter misscount is now undefined.
[root@rac1 bin]# ./crsctl get css misscount
Configuration parameter misscount is not defined.


7。跟踪CRS模块,提供辅助功能
CRS由CRS、CSS、EVM三个服务组成,每一个服务又是由一系列module组成,crsctl同意每一个module进行跟踪,并把跟踪内容记录到日志中。
[root@rac1 bin]# ./crsctl lsmodules css
The following are the CSS modules :: 
    CSSD
    COMMCRS
    COMMNS
[root@rac1 bin]# ./crsctl lsmodules crs
The following are the CRS modules :: 
    CRSUI
    CRSCOMM
    CRSRTI
    CRSMAIN
    CRSPLACE
    CRSAPP
    CRSRES
    CRSCOMM
    CRSOCR
    CRSTIMER
    CRSEVT
    CRSD
    CLUCLS
    CSSCLNT
    COMMCRS
    COMMNS
[root@rac1 bin]# ./crsctl lsmodules evm
The following are the EVM modules :: 
   EVMD
   EVMDMAIN
   EVMCOMM
   EVMEVT
   EVMAPP
   EVMAGENT
   CRSOCR
   CLUCLS
   CSSCLNT
   COMMCRS
   COMMNS


 --跟踪CSSD模块、CRS模块、EVM模块
[root@rac1 bin]# ./crsctl debug log css CSSD:1
Configuration parameter trace is now set to 1.
Set CRSD Debug Module: CSSD  Level: 1
[root@rac1 bin]# ./crsctl debug log crs CRSOCR:1
Set CRSD Debug Module: CRSOCR  Level: 1
[root@rac1 bin]# ./crsctl debug log evm EVMD:1
Set CRSD Debug Module: EVMD  Level: 1


 --转储当前CSS、CRS、EVM状态跟踪
[root@rac1 bin]# ./crsctl debug statedump css
CSS data dump triggered.
[root@rac1 bin]# ./crsctl debug statedump crs
Dumping State for crs objects
[root@rac1 bin]# ./crsctl debug statedump evm
Dumping State for evm objects


能够在文件里查看
[oracle@rac1 cssd]$ pwd
/u01/app/oracle/product/10.2.0/db_1/log/rac1/cssd
[oracle@rac1 cssd]$ more ocssd.log 
...信息量非常大啊。


8.查看当前所在的节点CRS版本号
[root@rac1 bin]# ./crsctl query crs softwareversion
CRS software version on node [rac1] is [10.2.0.1.0]
[root@rac1 bin]# ./crsctl query crs activeversion
CRS active version on the cluster is [10.2.0.1.0]


9.开启资源的跟踪
[root@rac1 bin]# ./crsctl debug log res EVMD:1 
Set Resource Debug Module: EVMD  Level: 1


10.将CSS转储到内存缓存中  眼下不支持
[root@rac1 bin]# ./crsctl debug trace crs
operation presently unsupported.


11.维护Votedisk
以图形化安装Clusterware的过程中。在配置Votedisk时。假设选择External Redundancy策略。则仅仅能填写一个Votedisk。可是即使使用External Redundancy作为冗余策略,也能够加入多个Votedisk,仅仅是必须通过crsctl命令来加入。加入多个Votedisk后。 这些Votedisk互为镜像,能够防止Votedisk单点故障。
/* 图:24-1.图形安装clusterware的votedisk配置 */
须要注意的是,Votedisk使用的是一种“多数可用算法”,假设有多个Votedisk,,则必须一半以上的Votedisk同一时候使用,Clusterware才干正常使用。

比方配置了4个Votedisk,坏一个Votedisk。集群能够正常工作,假设坏了2个,则不能满足半数以上,集群会马上宕掉,全部节点马上重新启动,所以假设加入Votedisk,尽量不要仅仅加入一个,而应该加入2个。

这点和OCR 不一样。

OCR 仅仅需配置一个。


实验:上面的情况我做了实验,我的是用openfiler做的存储,当我取消掉节点votedisk裸设备的mapping时。节点过一分钟就会重新启动。假设取消两个节点的mapping时,两个都会在一分钟左右重新启动。
CSSD日志中报错(我的votedisk是在/dev/raw/raw2)
[    CSSD]2014-08-22 13:43:34.474 [65854352] >ERROR:   clssnmvWriteBlocks: write failed 1 at offset 17 of /dev/raw/raw2
[    CSSD]2014-08-22 13:43:34.474 [65854352] >TRACE:   clssnmDiskStateChange: state from 4 to 3 disk (0//dev/raw/raw2)


加入和删除Votedisk的操作比較危急。必须停止数据库,停止ASM,停止CRS Stack后操作。而且操作时必须使用-force參数。


真的非常危急,我实验环境搞得ASM磁盘组都坏了。


a.查看当前votedisk磁盘
[root@rac1 bin]# ./crsctl query css votedisk
 0.     0    /dev/raw/raw2


located 1 votedisk(s).


b.关闭当前节点的CRS栈
[root@rac1 bin]# ./crsctl stop crs
Stopping resources.
Successfully stopped CRS resources 
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued.


c.添加Votedisk磁盘  (必须加-fore 參数)
[root@rac1 bin]# ./crsctl add css votedisk /dev/raw/raw6
Cluster is not in a ready state for online disk addition
[root@rac1 bin]# ./crsctl add css votedisk /dev/raw/raw6 -force
Now formatting voting disk: /dev/raw/raw6
successful addition of votedisk /dev/raw/raw6.


d.查看加入完毕后votedisk个数
[root@rac1 bin]# ./crsctl query css votedisk
 0.     0    /dev/raw/raw2
 1.     0    /dev/raw/raw6


located 2 votedisk(s).


e.启动crs栈
[root@rac1 bin]# ./crsctl start crs
Attempting to start CRS stack 
The CRS stack will be started shortly


删除votedisk(相同方式,删除命令例如以下)
[root@rac2 bin]# ./crsctl delete css votedisk /dev/raw/raw6 -force
successful deletion of votedisk /dev/raw/raw6.
[root@rac2 bin]# ./crsctl query css votedisk
 0.     0    /dev/raw/raw2


located 1 votedisk(s).


3.2 OCR命令系列
Oracle Clusterware把整个集群的配置信息放在共享存储上,这个存储就是OCR Disk. 在整个集群中,仅仅有一个节点能对OCR Disk 进行读写操作,这个节点叫作Master Node。全部节点都会在内存中保留一份OCR的拷贝,同一时候有一个OCR Process 从这个内存中读取内容。 OCR 内容发生改变时,由Master Node的OCR Process负责同步到其它节点的OCR Process。 
由于OCR的内容如此重要,Oracle 每4个小时对其做一次备份。而且保留最后的3个备份。以及前一天,前一周的最后一个备份。

这个备份由Master Node CRSD进程完毕,备份的默认位置是$CRS_HOME/crs/cdata/<cluster_name>文件夹下。 每次备份后,备份文件名称自己主动更改,以反应备份时间顺序,近期一次的备份叫作backup00.ocr。这些备份文件除了保存在本地,DBA还应该在其它存储设备上保留一份。以防止意外的存储故障。


1.ocrdump 
该命令能以ASCII的方式打印出OCR的内容。可是这个命令不能用作OCR的备份恢复,也就是说产生的文件仅仅能用作阅读。而不能用于恢复。
命令格式: ocrdump [-stdout] [filename] [-keyname name] [-xml]
參数说明:
 -stdout: 把内容打印输出到屏幕上
Filename:内容输出到文件里
-keyname:仅仅打印某个键及其子健内容
-xml:以xml格式打印输出


[root@rac1 bin]# ./ocrdump -stdout -keyname -xml|more
Name:
        ocrdump - Dump contents of Oracle Cluster Registry to a file.


Synopsis:
        ocrdump [<filename>|-stdout] [-backupfile <backupfilename>] [-keyname <k
eyname>] [-xml] [-noheader]


Description:
        Default filename is OCRDUMPFILE. Examples are:


        prompt> ocrdump
        writes cluster registry contents to OCRDUMPFILE in the current directory


        prompt> ocrdump MYFILE
        writes cluster registry contents to MYFILE in the current directory


        prompt> ocrdump -stdout -keyname SYSTEM
        writes the subtree of SYSTEM in the cluster registry to stdout
....


2.ocrcheck
Ocrcheck 命令用于检查OCR内容的一致性。命令运行过程会在$CRS_HOME/log/nodename/client 文件夹下产生ocrcheck_pid.log 日志文件。 这个命令不须要參数。
[root@rac1 bin]# ./ocrcheck 
Status of Oracle Cluster Registry is as follows :
         Version                  :          2
         Total space (kbytes)     :    1048288
         Used space (kbytes)      :       3804
         Available space (kbytes) :    1044484
         ID                       :  887377004
         Device/File Name         : /dev/raw/raw1
                                    Device/File integrity check succeeded


                                    Device/File not configured


         Cluster registry integrity check succeeded


[root@rac1 client]# cat ocrcheck_16964.log 
Oracle Database 10g CRS Release 10.2.0.1.0 Production Copyright 1996, 2005 Oracle.  All rights reserved.
2014-08-25 13:40:10.491: [OCRCHECK][1566928]ocrcheck starts...
2014-08-25 13:40:12.094: [OCRCHECK][1566928]protchcheck: OCR status : total = [1048288], used = [3804], avail = [1044484]


2014-08-25 13:40:12.095: [OCRCHECK][1566928]Exiting [status=success]...


3.ocrconfig
该命令用于维护OCR 磁盘,安装clusterware过程中,假设选择External Redundancy冗余方式。则仅仅能输入一个OCR磁盘位置。 可是Oracle同意配置两个OCR 磁盘互为镜像,以防止OCR 磁盘的单点故障。 OCR 磁盘和Votedisk磁盘不一样,OCR磁盘最多仅仅能有两个,一个Primary OCR 和一个Mirror OCR。
[root@rac1 bin]# ./ocrconfig -help
Name:
        ocrconfig - Configuration tool for Oracle Cluster Registry.


Synopsis:
        ocrconfig [option]
        option:
                -export <filename> [-s online]
                                                    - Export cluster register contents to a file
                -import <filename>                  - Import cluster registry contents from a file
                -upgrade [<user> [<group>]]
                                                    - Upgrade cluster registry from previous version
                -downgrade [-version <version string>]
                                                    - Downgrade cluster registry to the specified version
                -backuploc <dirname>                - Configure periodic backup location
                -showbackup                         - Show backup information
                -restore <filename>                 - Restore from physical backup
                -replace ocr|ocrmirror [<filename>] - Add/replace/remove a OCR device/file
                -overwrite                          - Overwrite OCR configuration on disk
                -repair ocr|ocrmirror <filename>    - Repair local OCR configuration
                -help                               - Print out this help information


Note:
        A log file will be created in
        $ORACLE_HOME/log/<hostname>/client/ocrconfig_<pid>.log. Please ensure
        you have file creation privileges in the above directory before
        running this tool.
[root@rac1 bin]# ./ocrconfig -showbackup
[root@rac1 bin]# ./ocrconfig -export /home/oracle/ocrdump.dmp
[root@rac1 bin]# cat /home/oracle/ocrdump.dmp 
....


4.使用导出、导入进行备份和恢复
oracle推荐在对集群进行调整时,比方添加、删除节点之前,应该对OCR做一个备份。能够使用export备份到指定文件,假设做了replace或者restore等操作,oracle建议使用cluvfy comp ocr -n all命令来做一次全面的检查。

该命令在clusterware的安装软件里。


a.首先关闭全部节点的CRS
节点1:
[root@rac1 bin]# ./crsctl stop crs
Stopping resources.
Successfully stopped CRS resources 
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued.
节点2:
[root@rac2 bin]# ./crsctl stop crs
Stopping resources.
Successfully stopped CRS resources 
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued.


b.用root用户导出OCR内容
[root@rac1 bin]# ./ocrconfig -export /home/oracle/ocr.exp
[root@rac1 bin]# ll /home/oracle/ocr.exp 
-rw-r--r-- 1 root root 84949 Aug 25 13:54 /home/oracle/ocr.exp


c.重新启动CRS
节点1:
[root@rac1 bin]# ./crsctl start crs
Attempting to start CRS stack 
The CRS stack will be started shortly
节点2:
[root@rac2 bin]# ./crsctl start crs
Attempting to start CRS stack 
The CRS stack will be started shortly


d.检查crs状态
[root@rac1 bin]# ./crsctl check crs
CSS appears healthy
CRS appears healthy
EVM appears healthy
[root@rac1 bin]# ./crs_stat -t 
Name           Type           Target    State     Host        
------------------------------------------------------------
ora....B1.inst application    ONLINE    ONLINE    rac1        
ora....B2.inst application    ONLINE    ONLINE    rac2        
ora.RACDB.db   application    ONLINE    ONLINE    rac1        
ora....SM1.asm application    ONLINE    ONLINE    rac1        
ora....C1.lsnr application    ONLINE    ONLINE    rac1        
ora.rac1.gsd   application    ONLINE    ONLINE    rac1        
ora.rac1.ons   application    ONLINE    ONLINE    rac1        
ora.rac1.vip   application    ONLINE    ONLINE    rac1        
ora....SM2.asm application    ONLINE    ONLINE    rac2        
ora....C2.lsnr application    ONLINE    ONLINE    rac2        
ora.rac2.gsd   application    ONLINE    ONLINE    rac2        
ora.rac2.ons   application    ONLINE    ONLINE    rac2        
ora.rac2.vip   application    ONLINE    ONLINE    rac2     

e.破坏OCR内容
[root@rac1 bin]# dd if=/dev/zero of=/dev/raw/raw1 bs=1024 count=10240
10240+0 records in
10240+0 records out
10485760 bytes (10 MB) copied, 12.5641 seconds, 835 kB/s

f.检查OCR的一致性和CRS状态
[root@rac1 bin]# ./crs_stat -t 
CRS-0184: Cannot communicate with the CRS daemon.


[root@rac1 bin]# ./ocrcheck
PROT-601: Failed to initialize ocrcheck


g.使用cluvfy工具检查一致性
[root@rac1 cluvfy]# ./runcluvfy.sh comp ocr -n all


Verifying OCR integrity 
Unable to retrieve nodelist from Oracle clusterware.


Verification cannot proceed.


h.使用import恢复OCR内容
[root@rac1 bin]# ./ocrconfig -import /home/oracle/ocr.exp 


i.再次检查OCR状态
[root@rac1 bin]# ./ocrcheck
Status of Oracle Cluster Registry is as follows :
         Version                  :          2
         Total space (kbytes)     :    1048288
         Used space (kbytes)      :       3812
         Available space (kbytes) :    1044476
         ID                       :   91794367
         Device/File Name         : /dev/raw/raw1
                                    Device/File integrity check succeeded


                                    Device/File not configured


         Cluster registry integrity check succeeded


j.使用cluvfy工具检查一致性
[root@rac1 cluvfy]# ./runcluvfy.sh comp ocr -n all


5.移动OCR文件位置
将OCR从/dev/raw/raw1移动到/dev/raw/raw3
a.查看是否有OCR备份
[root@rac1 bin]# ./ocrconfig -showbackup
b.查看ocr当前位置
[root@rac1 bin]# ./ocrcheck
假设仅仅有一个Primary OCR,在移动前须要有一个Mirror OCR,否则报错。
c.添加mirror OCR
[root@rac1 bin]# ./ocrconfig -replace ocrmirror /dev/raw/raw6
d.确认加入成功
[root@rac1 bin]# ./ocrcheck
e.改变primary OCR的文件位置
[root@rac1 bin]# ./ocrconfig -replace ocr /dev/raw/raw7
f.确认加入成功
[root@rac1 bin]# ./ocrcheck
注意。。!
在使用ocrconfig命令后,全部RAC节点上的/etc/oracle/ocr.loc文件内容也会同步,假设没有同步,能够手动改写:
[root@rac1 bin]# cat /etc/oracle/ocr.loc 
ocrconfig_loc=/dev/raw/raw1
ocrmirrorconfig_loc=/dev/raw/raw6
local_only=FALSE


四.应用层:
应用层就是指RAC数据库了。这一层有若干资源组成。每一个资源都是一个进程或者一组进程组成的完整服务,这一层的管理和维护都是环绕这些资源进行的。

有例如以下命令: srvctl, onsctl, crs_stat 三个命令。


4.1 crs_stat
Crs_stat 这个命令用于查看CRS维护的全部资源的执行状态,假设不带不论什么參数时。显示全部资源的概要信息。

每一个资源显示是各个属性:资源名称,类型。文件夹,资源执行状态等。


[root@rac2 bin]# ./crs_stat -help
Usage:  crs_stat [resource_name [...]] [-v] [-l] [-q] [-c cluster_member]
        crs_stat [resource_name [...]] -t [-v] [-q] [-c cluster_member]
        crs_stat -p [resource_name [...]] [-q]
        crs_stat [-a] application -g
        crs_stat [-a] application -r [-c cluster_member]
        crs_stat -f [resource_name [...]] [-q] [-c cluster_member]
        crs_stat -ls [resource_name [...]] [-q]


[root@rac2 bin]# ./crs_stat
NAME=ora.RACDB.RACDB1.inst
TYPE=application
TARGET=ONLINE
STATE=ONLINE


NAME=ora.RACDB.RACDB2.inst
TYPE=application
TARGET=ONLINE
STATE=ONLINE on rac2
.....


4.1.1 相同能够指定特定的资源名,查看指定资源的状态,使用-V 和 -P选项。 -p比-v更加具体。


[root@rac2 bin]# ./crs_stat ora.rac2.vip
NAME=ora.rac2.vip
TYPE=application
TARGET=ONLINE
STATE=ONLINE on rac2


[root@rac2 bin]# ./crs_stat ora.rac2.vip -v
NAME=ora.rac2.vip
TYPE=application
RESTART_ATTEMPTS=0 //同意重新启动次数
RESTART_COUNT=0 //已经重新启动次数
FAILURE_THRESHOLD=0 //失败阀值
FAILURE_COUNT=0 //失败次数
TARGET=ONLINE
STATE=ONLINE on rac2


[root@rac2 bin]# ./crs_stat -p ora.rac2.vip 
NAME=ora.rac2.vip
TYPE=application
ACTION_SCRIPT=/u01/app/oracle/product/10.2.0/db_1/bin/racgwrap
ACTIVE_PLACEMENT=1
AUTO_START=1
CHECK_INTERVAL=60
DESCRIPTION=CRS application for VIP on a node
FAILOVER_DELAY=0
FAILURE_INTERVAL=0
FAILURE_THRESHOLD=0
HOSTING_MEMBERS=rac2
OPTIONAL_RESOURCES=
PLACEMENT=favored
REQUIRED_RESOURCES=
RESTART_ATTEMPTS=0
SCRIPT_TIMEOUT=60
START_TIMEOUT=0
STOP_TIMEOUT=0
UPTIME_THRESHOLD=7d
USR_ORA_ALERT_NAME=
USR_ORA_CHECK_TIMEOUT=0
USR_ORA_CONNECT_STR=/ as sysdba
USR_ORA_DEBUG=0
USR_ORA_DISCONNECT=false
USR_ORA_FLAGS=
USR_ORA_IF=eth0
USR_ORA_INST_NOT_SHUTDOWN=
USR_ORA_LANG=
USR_ORA_NETMASK=255.255.255.0
USR_ORA_OPEN_MODE=
USR_ORA_OPI=false
USR_ORA_PFILE=
USR_ORA_PRECONNECT=none
USR_ORA_SRV=
USR_ORA_START_TIMEOUT=0
USR_ORA_STOP_MODE=immediate
USR_ORA_STOP_TIMEOUT=0
USR_ORA_VIP=192.168.90.4


4.1.2 使用ls 选项。能够查看每一个资源的权限定义,权限定义格式和Linux一样。


[root@rac2 bin]# ./crs_stat -ls
Name           Owner          Primary PrivGrp          Permission  
-----------------------------------------------------------------
ora....B1.inst oracle         oinstall                 rwxrwxr--
ora....B2.inst oracle         oinstall                 rwxrwxr--
ora.RACDB.db   oracle         oinstall                 rwxrwxr--
ora....SM1.asm oracle         oinstall                 rwxrwxr--
ora....C1.lsnr oracle         oinstall                 rwxrwxr--
ora.rac1.gsd   oracle         oinstall                 rwxr-xr--
ora.rac1.ons   oracle         oinstall                 rwxr-xr--
ora.rac1.vip   root           oinstall                 rwxr-xr--
ora....SM2.asm oracle         oinstall                 rwxrwxr--
ora....C2.lsnr oracle         oinstall                 rwxrwxr--
ora.rac2.gsd   oracle         oinstall                 rwxr-xr--
ora.rac2.ons   oracle         oinstall                 rwxr-xr--
ora.rac2.vip   root           oinstall                 rwxr-xr--


4.2 onsctl
这个命令用于管理配置ONS(Oracle Notification Service). ONS 是Oracle Clusterware 实现FAN Event Push模型的基础。


在传统模型中。client须要定期检查server来推断服务端状态,本质上是一个pull模型。Oracle 10g 引入了一个全新的PUSH 机制--FAN(Fast Application Notification),当服务端发生某些事件时。server会主动的通知client这样的变化。这样client就能尽早得知服务端的变化。 而引入这样的机制就是依赖ONS实现, 在使用onsctl命令之前,须要先配置ONS服务。
4.2.1 ONS配置内容
在RAC环境中,须要使用$CRS_HOME下的ONS。而不是$ORACLE_HOME下的ONS。
[root@rac2 conf]# pwd
/u01/app/oracle/product/10.2.0/db_1/opmn/conf
[root@rac2 conf]# more ons.config 
localport=6113 
remoteport=6200 
loglevel=3
useocr=on
參数:
localport:这个參数代表本地监听端口,这里本地值:127.0.0.1这个回环地址。用来和执行在本地的client进行通信。
remoteport:这个參数代表的是远程监听端口,也就是除了127.0.0.1以外的全部本地IP地址。用来和远程的client进行通信。
loglevel:ORACLE同意跟踪ONS进程的执行,并把日志记录到本地文件里,这个參数用来定义ONS进程要记录的日志级别,从1-9。缺省值是3.
logfile:这个參数和Loglevel參数一起使用,用于定义ONS进程日志文件的位置,缺省值是$CRS_HOME/opmn/logs/opmn.log.
nodes和userocr:这两个參数共同决定了本地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。


4.2.2 配置ONS
能够直接编译ONS的配置文件来改动配置,假设使用了OCR。则能够通过racgons命令进行配置,但必须以root用户来运行,假设用oracle 用户来运行。不会提示不论什么错误。但也不会更改不论什么配置。
[root@rac2 bin]# ./racgons
To add ONS daemons configuration:
./racgons.bin add_config hostname:port [hostname:port] ...
To remove ONS daemons configuration:
./racgons.bin remove_config hostname[:port] [hostname:port] ...


若要加入配置,能够使用以下命令:
Racgons add_config rac1:6200 rac2:6200
若要删除配置。能够用以下命令:
Racgons remove_config rac1:6200 rac2:6200


4.2.3 onsctl命令
使用onsctl命令能够启动、停止、调试ONS,并又一次加载配置文件,其命令格式例如以下:
[root@rac2 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.
ONS进程执行,并不一定代表ONS正常工作,须要使用ping命令来确认。




a.在OS级别查看进程状态
[root@rac2 bin]# ps -ef |grep ons
root      7505 20858  0 15:09 pts/5    00:00:00 grep ons
oracle   10184     1  0 13:28 ?        00:00:00 /u01/app/oracle/product/10.2.0/db_2/perl/bin/perl /u01/app/oracle/product/10.2.0/db_2/bin/emwd.pl dbconsole /u01/app/oracle/product/10.2.0/db_2/rac2_RACDB2/sysman/log/emdb.nohup
oracle   26106     1  0 13:57 ?        00:00:00 /u01/app/oracle/product/10.2.0/db_1/opmn/bin/ons -d
oracle   26107 26106  0 13:57 ?        00:00:00 /u01/app/oracle/product/10.2.0/db_1/opmn/bin/ons -d


b.确认ONS服务的状态
[root@rac2 bin]# ./onsctl ping
Number of onsconfiguration retrieved, numcfg = 2
onscfg[0]
   {node = rac1, port = 6200}
Adding remote host rac1:6200
onscfg[1]
   {node = rac2, port = 6200}
Adding remote host rac2:6200
ons is running ...
c.启动、停止ONS
[root@rac2 bin]# ./onsctl start
[root@rac2 bin]# ./onsctl stop
d.使用debug选项,能够查看具体信息,当中最有意义的就是能显示全部连接。
[root@rac2 bin]# ./onsctl debug
Number of onsconfiguration retrieved, numcfg = 2
onscfg[0]
   {node = rac1, port = 6200}
Adding remote host rac1:6200
onscfg[1]
   {node = rac2, port = 6200}
Adding remote host rac2:6200
HTTP/1.1 200 OK
Content-Length: 1361
Content-Type: text/html
Response: 




======== ONS ========


Listeners:


 NAME    BIND ADDRESS   PORT   FLAGS   SOCKET
------- --------------- ----- -------- ------
Local   127.000.000.001  6113 00000142      7
Remote  192.168.090.005  6200 00000101      8
Request     No listener


Server connections:


    ID           IP        PORT    FLAGS    SENDQ     WORKER   BUSY  SUBS
---------- --------------- ----- -------- ---------- -------- ------ -----
         5 192.168.090.002  6200 00010025          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: 37/37, Idle: 360


   THREAD   FLAGS
  -------- --------
  b7f68b90 00000012
  b6dabb90 00000012
  b63aab90 00000012


Resources:


  Notifications:
    Received: 13, in Receive Q: 0, Processed: 13, in Process Q: 0


  Pools:
    Message: 24/25 (1), Link: 25/25 (1), Subscription: 24/25 (1)


4.3 srvctl 
该命令是RAC维护中最经常使用的命令,也是最复杂的命令。 这个工具能够操作以下的几种资源:Database,Instance,ASM,Service,Listener 和 Node Application,当中Node application又包含GSD,ONS,VIP。 这些资源除了使用srvctl工具统一管理外。某些资源还有自己独立的管理工具,比方ONS能够使用onsctl命令进行管理。Listener 能够通过lsnrctl 管理。


[root@rac2 bin]# ./srvctl 
Usage: srvctl <command> <object> [<options>]
    command: enable|disable|start|stop|relocate|status|add|remove|modify|getenv|setenv|unsetenv|config
    objects: database|instance|service|nodeapps|asm|listener
For detailed help on each command and object and its options use:
    srvctl <command> <object> -h


4.3.1 使用config查看配置
a.查看数据库配置
--不带不论什么參数时。显示OCR中注冊的全部数据库
[root@rac2 bin]# ./srvctl config
RACDB
[root@rac2 bin]# ./srvctl config database
RACDB
--使用-d选项,查看某个数据库配置
[root@rac2 bin]# ./srvctl config database -d racdb
rac1 RACDB1 /u01/app/oracle/product/10.2.0/db_2
rac2 RACDB2 /u01/app/oracle/product/10.2.0/db_2
注:该输出结果显示数据库racdb由2个节点组成。各自实例名交racdb1和racdb2. 两个实例的$ORACLE_HOME是/u01/app/oracle/product/10.2.0/db_2
--使用-a选项,查看配置的具体信息
[root@rac2 bin]# ./srvctl config database -d racdb -a
rac1 RACDB1 /u01/app/oracle/product/10.2.0/db_2
rac2 RACDB2 /u01/app/oracle/product/10.2.0/db_2
DB_NAME: RACDB
ORACLE_HOME: /u01/app/oracle/product/10.2.0/db_2
SPFILE: +ORADATE/RACDB/spfileRACDB.ora
DOMAIN: null
DB_ROLE: null
START_OPTIONS: null
POLICY:  AUTOMATIC
ENABLE FLAG: DB ENABLED


a. 查看Node Application的配置
--不带不论什么參数,返回节点名,实例名和$ORACLE_HOME
[root@rac2 bin]# ./srvctl config nodeapps -n rac2
rac2 RACDB2 /u01/app/oracle/product/10.2.0/db_2


--使用-a选项,查看VIP配置
[root@rac2 bin]# ./srvctl config nodeapps -n rac2 -a
VIP exists.: /rac2-vip/192.168.90.4/255.255.255.0/eth0


--使用-g选项,查看GSD配置
[root@rac2 bin]# ./srvctl config nodeapps -n rac2 -g
GSD exists.


--使用-s选项,查看ONS配置
[root@rac2 bin]# ./srvctl config nodeapps -n rac2 -s
ONS daemon exists.


--使用-l选项,查看LISTENER配置
[root@rac2 bin]# ./srvctl config nodeapps -n rac2 -l
Listener exists.


b. 查看ASM
[root@rac2 bin]# ./srvctl config asm -n rac2
+ASM2 /u01/app/oracle/product/10.2.0/db_2
[root@rac2 bin]# ./srvctl config asm -n rac1
+ASM1 /u01/app/oracle/product/10.2.0/db_2


c. 查看Service
--查看数据库全部service配置
[root@rac2 bin]# ./srvctl config service -d racdb -a
....a


--查看某个service配置
[root@rac2 bin]# ./srvctl config service -d racdb -s a


--使用-a选项。查看TAF策略
[root@rac2 bin]# ./srvctl config service -d racdb -s a -a


4.3.2 使用add加入对象
普通情况下,应用层资源都是在图形界面的帮助下注冊到OCR中的,比方VIP。ONS实在安装最后阶段创建的,而数据库,ASM是运行DBCA的过程中自己主动注冊到OCR中的。Listener是通过netca工具。 可是有些时候须要手工把资源注冊到OCR中。 这时候就须要add 命令了。


a. 加入数据库
[root@rac2 bin]# ./srvctl add database -d db1 -o $ORACLE_HOME


b. 加入实例
[root@rac2 bin]# ./srvctl add instance -d db1 -n rac1 -i db11
[root@rac2 bin]# ./srvctl add instance -d db1 -n rac1 -i db12


c.加入服务,须要使用四个參数
-s:服务名
-r:首选实例名
-a:备选实例名
-P:taf策略。可选值为None(缺省值),Basic,preconnect
[root@rac2 bin]# ./srvctl add service -d db1 -s db1service -r rac1 -a rac2 -P BASIC


d.确认加入成功
[root@rac2 bin]# ./srvctl config service -d db1 -s db1service -a


4.3.3 使用enable/disable启动、禁用对象
缺省情况下数据库,实例,服务。ASM都是随着CRS的启动而自启动的。有时候因为维护的须要,能够先关闭这个特性。
a. 配置数据库随CRS启动而自启动
--启动数据库的自启动:
[root@rac2 bin]# ./srvctl enable database -d racdb
PRKP-1016 : Database racdb already enabled.


--查看配置
[root@rac2 bin]# ./srvctl config database -d racdb -a
rac1 RACDB1 /u01/app/oracle/product/10.2.0/db_2
rac2 RACDB2 /u01/app/oracle/product/10.2.0/db_2
DB_NAME: RACDB
ORACLE_HOME: /u01/app/oracle/product/10.2.0/db_2
SPFILE: +ORADATE/RACDB/spfileRACDB.ora
DOMAIN: null
DB_ROLE: null
START_OPTIONS: null
POLICY:  AUTOMATIC
ENABLE FLAG: DB ENABLED


--禁止自启动,那就须要手动启动
[root@rac2 bin]# ./srvctl disable database -d racdb


b. 关闭某个实例的自启动
[root@rac2 bin]# ./srvctl disable instance -d racdb -i racdb1
[root@rac2 bin]# ./srvctl enable instance -d racdb -i racdb1
--查看信息
[root@rac2 bin]# ./srvctl config database -d racdb -a
rac1 RACDB1 /u01/app/oracle/product/10.2.0/db_2
rac2 RACDB2 /u01/app/oracle/product/10.2.0/db_2
DB_NAME: RACDB
ORACLE_HOME: /u01/app/oracle/product/10.2.0/db_2
SPFILE: +ORADATE/RACDB/spfileRACDB.ora
DOMAIN: null
DB_ROLE: null
START_OPTIONS: null
POLICY:  AUTOMATIC
ENABLE FLAG: DB ENABLED


c. 禁止某个服务在实例上执行
[root@rac2 bin]# ./srvctl disable service -d racdb -s racservice -i rac1
[root@rac2 bin]# ./srvctl enable service -d racdb -s racservice -i rac1


--查看服务名
[root@rac2 bin]# ./srvctl config service -d racdb -a


4.3.4 使用remove删除对象
使用remove命令删除的是对象在OCR中的定义信息,对象本身比方数据库的数据文件等不会被删除,以后随时能够使用add命令又一次加入到OCR中。
a. 删除service 在删除之前命令会给出确定提示
[root@rac2 bin]# ./srvctl remove service -d racdb -s racservice


b.删除实例   //会提示
[root@rac2 bin]# ./srvctl remove instance -d racdb -i racdb1
Remove instance racdb1 from the database racdb?

(y/[n]) 




c.数据数据库 //冒险试了一下  也会给提示
[root@rac2 bin]# ./srvctl remove database -d racdb
Remove the database racdb?

(y/[n]) 




4.3.5 启动、停止对象和查看对象
在RAC 环境下启动,关闭数据库尽管仍然能够使用SQL/PLUS方法,可是更推荐使用srvctl命令来做这些工作,这能够保证即使更新CRS中执行信息,能够使用start/stop 命令启动,停止对象,然后使用status 命令查看对象状态。
a. 启动数据库,默认启动到open状态
[root@rac2 bin]# ./srvctl start database -d racdb


b. 启动指定状态
[root@rac2 bin]# ./srvctl start database -d racdb -i racdb1 -o mount
[root@rac2 bin]# ./srvctl start database -d racdb -i racdb1 -o nomount


c. 关闭对象。并制定关闭方式
[root@rac2 bin]# ./srvctl stop instance -d racdb -i racdb1 -o immediate
[root@rac2 bin]# ./srvctl stop instance -d racdb -i racdb1 -o abort


d.在指定实例上启动服务
[root@rac2 bin]# ./srvctl start service -d racdb -s racservice -i racdb1
--查看服务状态
[root@rac2 bin]# ./srvctl status service -d racdb -v


e. 关闭指定实例上的服务
[root@rac2 bin]# ./srvctl stop service -d racdb -s racservice -i racdb1 
--查看服务状态
[root@rac2 bin]# ./srvctl status service -d racdb -v


4.3.6 跟踪srvctl 
在Oracle 10g中要跟踪srvctl 很easy,仅仅要设置srvm_trace=true 这个OS环境变量就可以,这个命令的全部函数调用都会输出到屏幕上,能够帮助用户进行诊断。
[root@rac2 bin]# export SRVM_TRACE=TRUE
[root@rac2 bin]# ./srvctl config database -d racdb
/u01/app/oracle/product/10.2.0/db_1/jdk/jre/bin/java -classpath /u01/app/oracle/product/10.2.0/db_1/jlib/netcfg.jar:/u01/app/oracle/product/10.2.0/db_1/jdk/jre/lib/rt.jar:/u01/app/oracle/product/10.2.0/db_1/jdk/jre/lib/i18n.jar:/u01/app/oracle/product/10.2.0/db_1/jlib/srvm.jar:/u01/app/oracle/product/10.2.0/db_1/jlib/srvmhas.jar:/u01/app/oracle/product/10.2.0/db_1/jlib/srvmasm.jar:/u01/app/oracle/product/10.2.0/db_1/srvm/jlib/srvctl.jar -DTRACING.ENABLED=true -DTRACING.LEVEL=2 oracle.ops.opsctl.OPSCTLDriver config database -d racdb
[main] [16:1:30:670] [OPSCTLDriver.setInternalDebugLevel:165]  tracing is true at level 2 to file null
[main] [16:1:30:705] [OPSCTLDriver.<init>:95]  Security manager is set
[main] [16:1:30:716] [CommandLineParser.parse:173]  parsing cmdline args
[main] [16:1:30:717] [CommandLineParser.parse2WordCommandOptions:940]  parsing 2-word cmdline
[main] [16:1:30:718] [OPSCTLDriver.execute:174]  executing srvctl command
[main] [16:1:30:718] [OPSCTLDriver.execute:199]  executing 2-word command verb=10 noun=101
[main] [16:1:30:729] [Action.getOPSConfig:162]  get db config for: racdb
[main] [16:1:30:730] [CommandLineParser.obtainOPSConfig:1410]  srvctl: get db config for: racdb
[main] [16:1:30:745] [GetActiveNodes.create:213]  Going into GetActiveNodes constructor...
[main] [16:1:30:750] [HASContext.getInstance:190]  Module init : 16
[main] [16:1:30:751] [HASContext.getInstance:214]  Local Module init : 19
[main] [16:1:30:770] [Library.getInstance:95]  Created instance of Library. 
[main] [16:1:30:771] [Library.load:195]  Loading libsrvmhas10.so...
[main] [16:1:30:771] [Library.load:201]  oracleHome null
E.DATABASES.racdb.INSTANCE.racdb1)


......


4.4 恢复
如果OCR磁盘和Votedisk磁盘所有破坏,而且都没有备份,该怎样恢复, 这时最简单的方法就是又一次初始话OCR和Votedisk。
详细操作例如以下:
4.4.1 停止全部节点的clusterware stack
crsctl stop crs;
4.4.2 分别在每一个节点用root用户运行$CRS_HOME/install/rootdelete.sh脚本
4.4.3 在随意一个节点上用root用户运行$CRS_HOME/install/rootinstall.sh脚本
4.4.4 在和上一步同一个节点上用root运行$CRS_HOME/root.sh脚本
4.4.5 在其它节点上用root运行$CRS_HOME/root.sh脚本
4.4.6 用netca命令又一次配置监听,确认注冊到clusterware中
./crs_stat -t -v
// 眼下为止。仅仅有listener、ONS、GSD、VIP注冊到了OCR中,还须要把ASM,数据库都注冊到OCR中。
4.4.7 向OCR中加入ASM
[root@rac2 bin]# ./srvctl add asm -n racdb1 -i +ASM1 -o /u01/app/oracle/admin/RACDB
[root@rac2 bin]# ./srvctl add asm -n racdb2 -i +ASM2 -o /u01/app/oracle/admin/RACDB
4.4.8 启动ASM
./srvctl start asm -n rac1
./srvctl start asm -n rac2
// 若在启动时报ORA-27550错误,是由于RAC无法确定使用哪个网卡作为PRIVATE INTERCONNECT,解决方法:在两个ASM的pfile文件中增加參数:
+ASM1.cluster_interconnects='192.168.90.3'
+ASM2.cluster_interconnects='192.168.90.6'
/* ORA-27550: Target ID protocol check failed. tid vers=number, type=number, remote instance number=number, local instance number=number
           Cause: The local Oracle Real Application Cluster instance and remote instance are running with incompatible implementation of the inter-instance IPC protocol library. A misconfiguration or installation error occurred.
          Action: Check additional error messages in the alert log and the process trace file. */
 
4.4.9 手工向OCR中加入DATABASE对象。
./srvctl add database -d racdb -o /u01/app/oracle/admin/RACDB
4.4.10 加入2个实例对象
./srvctl add instance -d racdb -i racdb1 -n rac1
./srvctl add instance -d racdb -i racdb2 -n rac2
4.4.11 改动实例和ASM实例的依赖关系
./srvctl modify instance -d racdb -i racdb1 -s +ASM1
./srvctl modify instance -d racdb -i racdb2 -s +ASM2
4.4.12 启动数据库

./srvctl start database -d racdb


本文參考:Oracle RAC 经常使用维护工具和命令  http://blog.csdn.net/tianlesoftware/article/details/5358573

《夸ORACLE RAC》

版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
oracle rac日常基本维护命令 所有实例和服务的状态 $ srvctl status database -d orcl Instance orcl1 is running on node linux1 Instance orcl2 is running on node linux2 单个实例的状态 $ srvctl status instance -d orcl -i orcl2 Instance orcl2 is running on node linux2 在数据库全局命名服务的状态 $ srvctl status service -d orcl -s orcltest Service orcltest is running on instance(s) orcl2, orcl1 特定节点上节点应用程序的状态 $ srvctl status nodeapps -n linux1 VIP is running on node: linux1 GSD is running on node: linux1 Listener is running on node: linux1 ONS daemon is running on node: linux1 ASM 实例的状态 $ srvctl status asm -n linux1 ASM instance +ASM1 is running on node linux1. 列出配置的所有数据库 $ srvctl config database orcl 显示 RAC 数据库的配置 $ srvctl config database -d orcl linux1 orcl1 /u01/app/oracle/product/10.2.0/db_1 linux2 orcl2 /u01/app/oracle/product/10.2.0/db_1 显示指定集群数据库的所有服务 $ srvctl config service -d orcl orcltest PREF: orcl2 orcl1 AVAIL: 显示节点应用程序的配置 —(VIP、GSD、ONS、监听器) $ srvctl config nodeapps -n linux1 -a -g -s -l VIP exists.: /linux1-vip/192.168.1.200/255.255.255.0/eth0:eth1 GSD exists. ONS daemon exists. Listener exists. 显示 ASM 实例的配置 $ srvctl config asm -n linux1 +ASM1 /u01/app/oracle/product/10.2.0/db_1 集群中所有正在运行的实例 SELECT inst_id , instance_number inst_no , instance_name inst_name , parallel , status , database_status db_status , active_state state , host_name host FROM gv$instance ORDER BY inst_id; INST_ID INST_NO INST_NAME PAR STATUS DB_STATUS STATE HOST -------- -------- ---------- --- ------- ------------ --------- ------- 1 1 orcl1 YES OPEN ACTIVE NORMAL rac1 2 2 orcl2 YES OPEN ACTIVE NORMAL rac2 位于磁盘组中的所有数据文件 select name from v$datafile union select member from v$logfile union select name from v$controlfile union select name from v$tempfile; NAME ------------------------------------------- +FLASH_RECOVERY_AREA/orcl/controlfile/current.258.570913191 +FLASH_RECOVERY_AREA/orcl/onlinelog/group_1.257.570913201 +FLASH_RECOVERY_AREA/orcl/onlinelog/group_2.256.570913211 +FLAS

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值