w200916-gmail 发表于 2011-12-23 01:04

Oracle RAC 常用维护工具和命令

Oracle 的管理可以通过OEM或者命令行接口。 Oracle Clusterware的命令集可以分为以下4种:<br><br>节点层:osnodes<br><br>网络层:oifcfg<br><br>集群层:crsctl, ocrcheck,ocrdump,ocrconfig<br><br>应用层:srvctl,onsctl,crs_stat<br><br>下面分别来介绍这些命令。 <br><br><br>一. 节点层<br><br>只有一个命令: osnodes, 这个命令用来显示集群点列表,可用的参数如下,这些参数可以混合使用。<br><br><br># ./olsnodes --help<br><br>Usage: olsnodes [-n] [-p] [-i] [&lt;node&gt; | -l] [-g] [-v]<br><br>      where<br><br>                -n print node number with the node name<br><br>                -p print private interconnect name with the node name<br><br>                -i print virtual IP name with the node name<br><br>                &lt;node&gt; print information for the specified node<br><br>                -l print information for the local node<br><br>                -g turn on logging<br><br>                -v run in verbose mode<br><br># ./olsnodes -n -p -i<br><br>raw1    1       raw1-priv       raw1-vip<br><br>raw2    2       raw2-priv       raw2-vip<br><br><br><br>二. 网络层<br><br> 网络层由各个节点的网络组件组成,包括2个物理网卡和3个IP 地址。 也只有一个命令:oifcfg.<br><br> Oifctg 命令用来定义和修改Oracle 集群需要的网卡属性,这些属性包括网卡的网段地址,子网掩码,接口类型等。 要想正确的使用这个命令, 必须先知道Oracle 是如何定义网络接口的,Oracle的每个网络接口包括名称,网段地址,接口类型3个属性。<br><br>Oifcfg 命令的格式如下: interface_name/subnet:interface_type<br><br>这些属性中没有IP地址,但接口类型有两种,public和private,前者说明接口用于外部通信,用于Oracle Net和VIP 地址,而后者说明接口用于Interconnect。<br><br>接口的配置方式分为两类: global 和node-specific。 前者说明集群所有节点的配置信息相同,也就是说所有节点的配置是对称的;而后者意味着这个节点的配置和其他节点配置不同,是非对称的。<br><br>Iflist:显示网口列表<br><br>Getif: 获得单个网口信息<br><br>Setif:配置单个网口<br><br>Delif:删除网口<br><br># ./oifcfg --help<br><br>PRIF-9: incorrect usage<br><br><br>Name:<br><br>      oifcfg - Oracle Interface Configuration Tool.<br><br><br>Usage:oifcfg iflist [-p [-n]]<br><br>      oifcfg setif {-node &lt;nodename&gt; | -global} {&lt;if_name&gt;/&lt;subnet&gt;:&lt;if_type&gt;}...<br><br>      oifcfg getif [-node &lt;nodename&gt; | -global] [ -if &lt;if_name&gt;[/&lt;subnet&gt;] [-type &lt;if_type&gt;] ]<br><br>      oifcfg delif [-node &lt;nodename&gt; | -global] [&lt;if_name&gt;[/&lt;subnet&gt;]]<br><br>      oifcfg [-help]<br><br><br>      &lt;nodename&gt; - name of the host, as known to a communications network<br><br>      &lt;if_name&gt;- name by which the interface is configured in the system<br><br>      &lt;subnet&gt;   - subnet address of the interface<br><br>      &lt;if_type&gt;- type of the interface { cluster_interconnect | public | storage }<br><br><br><br># ./oifcfg iflist<br><br>eth010.85.10.0<br><br>eth1192.168.1.0<br><br># ./oifcfg getif<br><br>eth010.85.10.119globalpublic<br><br>eth010.85.10.121globalpublic<br><br>eth010.85.10.0globalpublic<br><br>eth1192.168.1.119globalcluster_interconnect<br><br>eth1192.168.1.121globalcluster_interconnect<br><br>eth1192.168.1.0globalcluster_interconnect<br><br>-- 查看public 类型的网卡<br><br># ./oifcfg getif -type public<br><br>eth010.85.10.119globalpublic<br><br>eth010.85.10.121globalpublic<br><br>eth010.85.10.0globalpublic<br><br>-- 删除接口配置<br><br># ./oifcfg delif -global<br><br>-- 添加接口配置<br><br># ./oifcfg setif -global eth0/192.168.1.119:public<br><br># ./oifcfg setif -global eth1/10.85.10.119:cluster_interconnect<br><br><br><br>三. 集群层<br><br>集群层是指由Clusterware组成的核心集群, 这一层负责维护集群内的共享设备,并为应用集群提供完整的集群状态视图,应用集群依据这个视图进行调整。 这一层共有4个命令: crsctl, ocrcheck,ocrdump,ocrconfig. 后三个是针对OCR 磁盘的。<br><br>3.1 CRSCTL<br><br>Crsctl 命令可以用来检查CRS 进程栈,每个crs 进程状态,管理Votedisk,跟踪CRS进程功能。<br><br># ./crsctl<br><br>Usage: crsctl checkcrs          - checks the viability of the CRS stack<br><br>       crsctl checkcssd         - checks the viability of CSS<br><br>       crsctl checkcrsd         - checks the viability of CRS<br><br>       crsctl checkevmd         - checks the viability of EVM<br><br>       crsctl set    css &lt;parameter&gt; &lt;value&gt; - sets a parameter override<br><br>       crsctl get    css &lt;parameter&gt; - gets the value of a CSS parameter<br><br>       crsctl unsetcss &lt;parameter&gt; - sets CSS parameter to its default<br><br>       crsctl querycss votedisk    - lists the voting disks used by CSS<br><br>       crsctl add    css votedisk &lt;path&gt; - adds a new voting disk<br><br>       crsctl delete css votedisk &lt;path&gt; - removes a voting disk<br><br>       crsctl enablecrs    - enables startup for all CRS daemons<br><br>       crsctl disable crs    - disables startup for all CRS daemons<br><br>       crsctl start crs- starts all CRS daemons.<br><br>       crsctl stopcrs- stops all CRS daemons. Stops CRS resources in case of cluster.<br><br>       crsctl start resources- starts CRS resources.<br><br>       crsctl stop resources- stopsCRS resources.<br><br>       crsctl debug statedump evm- dumps state info for evm objects<br><br>       crsctl debug statedump crs- dumps state info for crs objects<br><br>       crsctl debug statedump css- dumps state info for css objects<br><br>       crsctl debug log css {,module:level} ...<br><br>                           - Turns on debugging for CSS<br><br>       crsctl debug trace css - dumps CSS in-memory tracing cache<br><br>       crsctl debug log crs {,module:level} ...<br><br>                           - Turns on debugging for CRS<br><br>       crsctl debug trace crs - dumps CRS in-memory tracing cache<br><br>       crsctl debug log evm {,module:level} ...<br><br>                           - Turns on debugging for EVM<br><br>       crsctl debug trace evm - dumps EVM in-memory tracing cache<br><br>       crsctl debug log res &lt;resname:level&gt; turns on debugging for resources<br><br>       crsctl query crs softwareversion [&lt;nodename&gt;] - lists the version of CRS software installed<br><br>       crsctl query crs activeversion - lists the CRS software operating version<br><br>       crsctl lsmodules css - lists the CSS modules that can be used for debugging<br><br>       crsctl lsmodules crs - lists the CRS modules that can be used for debugging<br><br>       crsctl lsmodules evm - lists the EVM modules that can be used for debugging<br><br><br> If necesary any of these commands can be run with additional tracing by<br><br> adding a "trace" argument at the very front.<br><br> Example: crsctl trace check css<br><br><br>3.1.1 检查CRS 状态<br><br># ./crsctl check crs<br><br>CSS appears healthy<br><br>CRS appears healthy<br><br>EVM appears healthy<br><br><br>-- 检查单个状态<br><br># ./crsctl check cssd<br><br>CSS appears healthy<br><br># ./crsctl check crsd<br><br>CRS appears healthy<br><br># ./crsctl check evmd<br><br>EVM appears healthy<br><br><br>3.1.2 配置CRS 栈是否自启动<br><br>   CRS 进程栈默认随着操作系统的启动而自启动,有时出于维护目的需要关闭这个特性,可以用root 用户执行下面命令。 <br><br># ./crsctl disable crs<br><br># ./crsctl enable crs<br><br>这个命令实际是修改了/etc/oracle/scls_scr/raw/root/crsstart 这个文件里的内容。<br><br><br>3.1.3 启动,停止CRS 栈。<br><br><br>Oracle 在10.1时,必须通过重新启动系统重启Clusterware,但是从Oracle 10.2 开始,可以通过命令来启动和停止CRS.<br><br>-- 启动CRS:<br><br># ./crsctl start crs<br><br>Attempting to start CRS stack<br><br>The CRS stack will be started shortly<br><br>-- 关闭CRS:<br><br># ./crsctl stop crs<br><br>Stopping resources.<br><br>Successfully stopped CRS resources<br><br>Stopping CSSD.<br><br>Shutting down CSS daemon.<br><br>Shutdown request successfully issued.<br><br><br>3.1.4 查看Votedisk 磁盘位置<br><br># ./crsctl query css votedisk<br><br> 0.   0    /dev/raw/raw2<br><br>located 1 votedisk(s).<br><br><br>3.1.5 查看和修改CRS 参数<br><br>-- 查看参数:用get<br><br># ./crsctl get css misscount<br><br>60<br><br>-- 修改参数: 用set, 但是这个功能要慎用<br><br># ./crsctl set css miscount 60<br><br><br>3.1.6 跟踪CRS 模块,提供辅助功能<br><br>CRS由CRS,CSS,EVM 三个服务组成,每个服务又是由一系列module组成,crsctl 允许对每个module进行跟踪,并把跟踪内容记录到日志中。<br><br># ./crsctl lsmodules css<br><br>The following are the CSS modules ::<br><br>    CSSD<br><br>    COMMCRS<br><br>COMMNS<br><br># ./crsctl lsmodules crs<br><br>The following are the CRS modules ::<br><br>    CRSUI<br><br>    CRSCOMM<br><br>    CRSRTI<br><br>    CRSMAIN<br><br>    CRSPLACE<br><br>    CRSAPP<br><br>    CRSRES<br><br>    CRSCOMM<br><br>    CRSOCR<br><br>    CRSTIMER<br><br>    CRSEVT<br><br>    CRSD<br><br>    CLUCLS<br><br>    CSSCLNT<br><br>    COMMCRS<br><br>    COMMNS<br><br># ./crsctl lsmodules evm<br><br>The following are the EVM modules ::<br><br>   EVMD<br><br>   EVMDMAIN<br><br>   EVMCOMM<br><br>   EVMEVT<br><br>   EVMAPP<br><br>   EVMAGENT<br><br>   CRSOCR<br><br>   CLUCLS<br><br>   CSSCLNT<br><br>   COMMCRS<br><br>   COMMNS<br><br><br>--跟踪CSSD模块,需要root 用户执行:<br><br># ./crsctl debug log css "CSSD:1"<br><br>Configuration parameter trace is now set to 1.<br><br>Set CRSD Debug Module: CSSDLevel: 1<br><br><br>-- 查看跟踪日志<br><br># pwd<br><br>/u01/app/oracle/product/crs/log/raw1/cssd<br><br># more ocssd.log<br><br>...<br><br>[    CSSD]2010-03-08 00:19:27.160 &gt;TRACE:   clssscSetDebugLevel: The logging level is set to 1 ,the cache level is set to 2<br><br>[    CSSD]2010-03-08 00:19:52.139 &gt;TRACE:   clssgmClientConnectMsg: Connect from con(0x834fd18) proc(0x8354c70) pid() proto(10:2:1:1)<br><br>...<br><br><br>3.1.7 维护Votedisk<br><br>以图新方式安装Clusterware的过程中,在配置Votedisk时,如果选择External Redundancy策略。则只能填写一个Votedisk。但是即使使用External Redundancy作为冗余策略,也可以添加多个Vodedisk,只是必须通过crsctl 命令来添加,添加多个Votedisk后,这些Votedisk 互为镜像,可以防止Votedisk的单点故障。<br><br>需要注意的是,Votedisk使用的是一种“多数可用算法”,如果有多个Votedisk,,则必须一半以上的Votedisk同时使用,Clusterware才能正常使用。 比如配置了4个Votedisk,坏一个Votedisk,集群可以正常工作,如果坏了2个,则不能满足半数以上,集群会立即宕掉,所有节点立即重启,所以如果添加Votedisk,尽量不要只添加一个,而应该添加2个。这点和OCR 不一样。OCR 只需配置一个。<br><br>添加和删除Votedisk的操作比较危险,必须停止数据库,停止ASM,停止CRS Stack后操作,并且操作时必须使用-force参数。<br><br>1) 查看当前配置<br><br># ./crsctl query css votedisk<br><br>2)停止所有节点的CRS:<br><br># ./crsctl stop crs<br><br>3) 添加Votedisk<br><br>   # ./crsctl add css votedisk /dev/raw/raw1 -force<br><br>注意:即使在CRS 关闭后,也必须通过-force 参数来添加和删除Votedisk,并且-force 参数只有在CRS关闭的场合下使用才安全。 否则会报:Cluter is not a ready state for online disk addition.<br><br>4)确认添加后的情况:<br><br># ./crsctl query css votedisk<br><br>5) 启动CRS<br><br># ./crsctl start crs<br><br><br>3.2OCR命令系列<br><br>Oracle Clusterware把整个集群的配置信息放在共享存储上,这个存储就是OCR Disk. 在整个集群中,只有一个节点能对OCR Disk 进行读写操作,这个节点叫作Master Node,所有节点都会在内存中保留一份OCR的拷贝,同时哟一个OCR Process 从这个内存中读取内容。 OCR 内容发生改变时,由Master Node的OCR Process负责同步到其他节点的OCR Process。 <br><br>因为OCR的内容如此重要,Oracle 每4个小时对其做一次备份,并且保留最后的3个备份,以及前一天,前一周的最后一个备份。 这个备份由Master Node CRSD进程完成,备份的默认位置是$CRS_HOME/crs/cdata/&lt;cluster_name&gt;目录下。 每次备份后,备份文件名自动更改,以反应备份时间顺序,最近一次的备份叫作backup00.ocr。这些备份文件除了保存在本地,DBA还应该在其他存储设备上保留一份,以防止意外的存储故障。<br><br><br>3.2.1 ocrdump<br><br>该命令能以ASCII的方式打印出OCR的内容,但是这个命令不能用作OCR的备份恢复,也就是说产生的文件只能用作阅读,而不能用于恢复。 <br><br>命令格式: ocrdump [-stdout] [-keyname name] [-xml]<br><br>参数说明:<br><br>      -stdout: 把内容打印输出到屏幕上<br><br>Filename:内容输出到文件中<br><br>-keyname:只打印某个键及其子健内容<br><br>-xml:以xml格式打印输出<br><br>   示例:把system.css键的内容以.xml格式打印输出到屏幕<br><br># ./ocrdump -stdout -keyname system.css -xml|more<br><br>&lt;OCRDUMP&gt;<br><br><br>&lt;TIMESTAMP&gt;03/08/2010 04:28:41&lt;/TIMESTAMP&gt;<br><br>&lt;DEVICE&gt;/dev/raw/raw1&lt;/DEVICE&gt;<br><br>&lt;COMMAND&gt;./ocrdump.bin -stdout -keyname system.css -xml &lt;/COMMAND&gt;<br><br>......<br><br><br>这个命令在执行过程中,会在$CRS_HOME/log/&lt;node_name&gt;/client 目录下产生日志文件,文件名ocrdump_&lt;pid&gt;.log,如果命令执行出现问题,可以从这个日志查看问题原因。<br><br><br>3.2.2 ocrcheck<br><br>Ocrcheck 命令用于检查OCR内容的一致性,命令执行过程会在$CRS_HOME/log/nodename/client 目录下产生ocrcheck_pid.log 日志文件。 这个命令不需要参数。<br><br># ./ocrcheck<br><br>Status of Oracle Cluster Registry is as follows :<br><br>         Version                  :          2<br><br>         Total space (kbytes)   :   147352<br><br>         Used space (kbytes)      :       4360<br><br>         Available space (kbytes) :   142992<br><br>         ID                     : 1599790592<br><br>         Device/File Name         : /dev/raw/raw1<br><br>                                    Device/File integrity check succeeded<br><br>                                    Device/File not configured<br><br>         Cluster registry integrity check succeeded<br><br><br>3.2.3 ocrconfig<br><br>该命令用于维护OCR 磁盘,安装clusterware过程中,如果选择External Redundancy冗余方式,则只能输入一个OCR磁盘位置。 但是Oracle允许配置两个OCR 磁盘互为镜像,以防止OCR 磁盘的单点故障。 OCR 磁盘和Votedisk磁盘不一样,OCR磁盘最多只能有两个,一个Primary OCR 和一个Mirror OCR。<br><br># ./ocrconfig --help<br><br>Name:<br><br>      ocrconfig - Configuration tool for Oracle Cluster Registry.<br><br>Synopsis:<br><br>      ocrconfig <br><br>      option:<br><br>                -export &lt;filename&gt; [-s online]<br><br>                                                    - Export cluster register contents to a file<br><br>                -import &lt;filename&gt;                  - Import cluster registry contents from a file<br><br>                -upgrade [&lt;user&gt; [&lt;group&gt;]]<br><br>                                                    - Upgrade cluster registry from previous version<br><br>                -downgrade [-version &lt;version string&gt;]<br><br>                                                    - Downgrade cluster registry to the specified version<br><br>                -backuploc &lt;dirname&gt;                - Configure periodic backup location<br><br>                -showbackup                         - Show backup information<br><br>                -restore &lt;filename&gt;               - Restore from physical backup<br><br>                -replace ocr|ocrmirror [&lt;filename&gt;] - Add/replace/remove a OCR device/file<br><br>                -overwrite                        - Overwrite OCR configuration on disk<br><br>                -repair ocr|ocrmirror &lt;filename&gt;    - Repair local OCR configuration<br><br>                -help                               - Print out this help information<br><br>Note:<br><br>      A log file will be created in<br><br>      $ORACLE_HOME/log/&lt;hostname&gt;/client/ocrconfig_&lt;pid&gt;.log. Please ensure<br><br>      you have file creation privileges in the above directory before<br><br>      running this tool.<br><br><br>-- 查看自助备份<br><br># ./ocrconfig -showbackup<br><br><br>在缺省情况下,OCR自动备份在$CRS_HOME/CRS/CDATA/cluster_name 目录下,可以通过ocrconfig -backuploc &lt;directory_name&gt; 命令修改到新的目录<br><br><br>3.2.4 使用导出,导入进行备份和恢复<br><br>Oracle 推荐在对集群做调整时,比如增加,删除节点之前,应该对OCR做一个备份,可以使用export 备份到指定文件,如果做了replace或者restore 等操作,Oracle 建议使用 cluvfy comp ocr -n all 命令来做一次全面的检查。该命令在clusterware 的安装软件里。<br><br>1) 首先关闭所有节点的CRS<br><br># ./crsctl stop crs<br><br>Stopping resources.<br><br>Successfully stopped CRS resources<br><br>Stopping CSSD.<br><br>Shutting down CSS daemon.<br><br>Shutdown request successfully issued.<br><br>   2) 用root 用户导出OCR内容<br><br># ./ocrconfig -export /u01/ocr.exp<br><br>   3) 重启CRS<br><br># ./crsctl start crs<br><br>Attempting to start CRS stack<br><br>The CRS stack will be started shortly<br><br>   4) 检查CRS 状态<br><br># ./crsctl check crs<br><br>CSS appears healthy<br><br>CRS appears healthy<br><br>EVM appears healthy<br><br>    5)破坏OCR内容<br><br># dd if=/dev/zero of=/dev/raw/raw1 bs=1024 count=102400<br><br>102400+0 records in<br><br>102400+0 records out<br><br>6) 检查OCR一致性<br><br># ./ocrcheck<br><br>PROT-601: Failed to initialize ocrcheck<br><br>    7)使用cluvfy 工具检查一致性<br><br># ./runcluvfy.sh comp ocr -n all<br><br>Verifying OCR integrity<br><br>Unable to retrieve nodelist from Oracle clusterware.<br><br>Verification cannot proceed.<br><br>8) 使用Import 恢复OCR 内容<br><br># ./ocrconfig -import /u01/ocr.exp<br><br>9)再次检查OCR<br><br># ./ocrcheck<br><br>Status of Oracle Cluster Registry is as follows :<br><br>         Version                  :          2<br><br>         Total space (kbytes)   :   147352<br><br>         Used space (kbytes)      :       4364<br><br>         Available space (kbytes) :   142988<br><br>         ID                     :610419116<br><br>         Device/File Name         : /dev/raw/raw1<br><br>                                    Device/File integrity check succeeded<br><br>                                    Device/File not configured<br><br>         Cluster registry integrity check succeeded<br><br>10) 使用cluvfy工具检查<br><br># ./runcluvfy.sh comp ocr -n all<br><br>Verifying OCR integrity<br><br>WARNING:<br><br>These nodes cannot be reached:<br><br>      raw2<br><br>Verification will proceed with nodes:<br><br>      raw1<br><br><br>ERROR:<br><br>User equivalence unavailable on all the nodes.<br><br>Verification cannot proceed.<br><br>Verification of OCR integrity was unsuccessful on all the nodes.<br><br>注:此处不成功是因为我的机器卡,故raw2节点没有启动<br><br><br>3.2.5 移动OCR 文件位置<br><br>实例演示将OCR从/dev/raw/raw1 移动到/dev/raw/raw3上。<br><br>1) 查看是否有OCR备份<br><br># ./ocrconfig -showbackup<br><br>如果没有备份,可以立即执行一次导出作为备份:<br><br># ./ocrconfig -export /u01/ocrbackup -s online<br><br>2) 查看当前OCR配置<br><br># ./ocrcheck<br><br>Status of Oracle Cluster Registry is as follows :<br><br>         Version                  :          2<br><br>         Total space (kbytes)   :   147352<br><br>         Used space (kbytes)      :       4364<br><br>         Available space (kbytes) :   142988<br><br>         ID                     :610419116<br><br>         Device/File Name         : /dev/raw/raw1<br><br>                                    Device/File integrity check succeeded<br><br>                                    Device/File not configured<br><br>         Cluster registry integrity check succeeded<br><br>输出显示当前只有一个Primary OCR,在/dev/raw/raw1。 没有Mirror OCR。 因为现在只有一个OCR文件,所以不能直接改变这个OCR的位置,必须先添加镜像后在修改,否则会报:Failed to initialize ocrconfig.<br><br>3) 添加一个Mirror OCR<br><br># ./ocrconfig -replace ocrmirror /dev/raw/raw4<br><br>4) 确认添加成功<br><br># ./ocrcheck<br><br>5)改变primary OCR 位置<br><br># ./ocrconfig -replace ocr /dev/raw/raw3<br><br>确认修改成功:<br><br># ./ocrcheck<br><br>    6)使用ocrconfig命令修改后,所有RAC节点上的/etc/oracle/ocr.loc 文件内容也会自动同步了,如果没有自动同步,可以手工的改成以下内容。<br><br># more /etc/oracle/ocr.loc<br><br>ocrconfig_loc=/dev/raw/raw1<br><br>Ocrmirrorconfig_loc=/dev/raw/raw3<br><br>local_only=FALSE<br><br><br><br>四. 应用层<br><br>应用层就是指RAC数据库了,这一层有若干资源组成,每个资源都是一个进程或者一组进程组成的完整服务,这一层的管理和维护都是围绕这些资源进行的。 有如下命令: srvctl, onsctl, crs_stat 三个命令。<br><br>4.1 crs_stat <br><br><br>Crs_stat 这个命令用于查看CRS维护的所有资源的运行状态,如果不带任何参数时,显示所有资源的概要信息。每个资源显示是各个属性:资源名称,类型,目录,资源运行状态等。 <br><br># ./crs_stat<br><br>NAME=ora.raw.db<br><br>TYPE=application<br><br>TARGET=ONLINE<br><br>STATE=OFFLINE<br><br>......<br><br><br>也可以指定资源名,查看指定资源的状态,并可以使用-V 和-P 选项,以查看详细信息,其中-p 参数显示的内容比-V 更详细。<br><br>1) 查看制定资源状态<br><br># ./crs_stat ora.raw2.vip<br><br>NAME=ora.raw2.vip<br><br>TYPE=application<br><br>TARGET=ONLINE<br><br>STATE=OFFLINE<br><br>2) 使用-v 选项,查看详细内容,这时输出多出4项内容,分别是允许重启次数,已执行重启次数,失败阀值,失败次数。<br><br># ./crs_stat -v ora.raw2.vip<br><br>NAME=ora.raw2.vip<br><br>TYPE=application<br><br>RESTART_ATTEMPTS=0<br><br>RESTART_COUNT=0<br><br>FAILURE_THRESHOLD=0<br><br>FAILURE_COUNT=0<br><br>TARGET=ONLINE<br><br>STATE=OFFLINE<br><br>3) 使用-p 选项查看更详细内容<br><br># ./crs_stat -p ora.raw2.vip<br><br>NAME=ora.raw2.vip<br><br>TYPE=application<br><br>ACTION_SCRIPT=/u01/app/oracle/product/crs/bin/racgwrap<br><br>ACTIVE_PLACEMENT=1<br><br>AUTO_START=1<br><br>CHECK_INTERVAL=60<br><br>DESCRIPTION=CRS application for VIP on a node<br><br>FAILOVER_DELAY=0<br><br>FAILURE_INTERVAL=0<br><br>FAILURE_THRESHOLD=0<br><br>HOSTING_MEMBERS=raw2<br><br>OPTIONAL_RESOURCES=<br><br>PLACEMENT=favored<br><br>REQUIRED_RESOURCES=<br><br>RESTART_ATTEMPTS=0<br><br>SCRIPT_TIMEOUT=60<br><br>START_TIMEOUT=0<br><br>STOP_TIMEOUT=0<br><br>UPTIME_THRESHOLD=7d<br><br>USR_ORA_ALERT_NAME=<br><br>USR_ORA_CHECK_TIMEOUT=0<br><br>USR_ORA_CONNECT_STR=/ as sysdba<br><br>USR_ORA_DEBUG=0<br><br>USR_ORA_DISCONNECT=false<br><br>USR_ORA_FLAGS=<br><br>USR_ORA_IF=eth0<br><br>USR_ORA_INST_NOT_SHUTDOWN=<br><br>USR_ORA_LANG=<br><br>USR_ORA_NETMASK=255.255.255.0<br><br>USR_ORA_OPEN_MODE=<br><br>USR_ORA_OPI=false<br><br>USR_ORA_PFILE=<br><br>USR_ORA_PRECONNECT=none<br><br>USR_ORA_SRV=<br><br>USR_ORA_START_TIMEOUT=0<br><br>USR_ORA_STOP_MODE=immediate<br><br>USR_ORA_STOP_TIMEOUT=0<br><br>USR_ORA_VIP=10.85.10.123<br><br><br>这些字段是所有资源共有的,但是根据资源类型不同,某些字段可以空值。 <br><br>4) 使用-ls 选项,可以查看每个资源的权限定义,权限定义格式和Linux 一样。<br><br># ./crs_stat -ls<br><br>Name         Owner          Primary PrivGrp          Permission<br><br>-----------------------------------------------------------------<br><br>ora.raw.db   oracle         oinstall               rwxrwxr--<br><br>ora.raw.dmm.cs oracle         oinstall               rwxrwxr--<br><br>ora....aw2.srv   oracle         oinstall               rwxrwxr--<br><br>ora....w1.inst   oracle         oinstall               rwxrwxr--<br><br>ora....w2.inst    oracle         oinstall               rwxrwxr--<br><br>ora....SM1.asmoracle         oinstall               rwxrwxr--<br><br>ora....W1.lsnr   oracle         oinstall               rwxrwxr--<br><br>ora.raw1.gsd   oracle         oinstall               rwxr-xr--<br><br>ora.raw1.ons   oracle         oinstall               rwxr-xr--<br><br>ora.raw1.vip   root         oinstall               rwxr-xr--<br><br>ora....SM2.asmoracle         oinstall               rwxrwxr--<br><br>ora....W2.lsnr   oracle         oinstall               rwxrwxr--<br><br>ora.raw2.gsd   oracle         oinstall               rwxr-xr--<br><br>ora.raw2.ons   oracle         oinstall               rwxr-xr--<br><br>ora.raw2.vip   root         oinstall               rwxr-xr--<br><br><br>4.2 onsctl <br><br>这个命令用于管理配置ONS(Oracle Notification Service). ONS 是Oracle Clusterware 实现FAN Event Push模型的基础。<br><br>在传统模型中,客户端需要定期检查服务器来判断服务端状态,本质上是一个pull模型,Oracle 10g 引入了一个全新的PUSH 机制--FAN(Fast Application Notification),当服务端发生某些事件时,服务器会主动的通知客户端这种变化,这样客户端就能尽早得知服务端的变化。 而引入这种机制就是依赖ONS实现, 在使用onsctl命令之前,需要先配置ONS服务。<br><br>4.2.1 ONS 配置内容<br><br>在RAC 环境中,需要使用$CRS_HOME下的ONS,而不是$ORACLE_HOME下面的ONS, 这点需要注意。 配置文件在$CRS_HOME/opmn/conf/ons.config. <br><br># pwd<br><br>/u01/app/oracle/product/crs/opmn/conf<br><br># more ons.config<br><br>localport=6100<br><br>remoteport=6200<br><br>loglevel=3<br><br>useocr=on<br><br><br>参数说明:<br><br>Localport: 这个参数代表本地监听端口,这里本地特指:127.0.0.1 这个回环地址,用来和运行在本地的客户端进行通信<br><br>Remoteport:这个参数代表的是远程监听端口,也就是除了127.0.0.1 以外的所有本地IP地址,用来和远程的客户端进行通信。<br><br>Loglevel: Oracle 允许跟踪ONS进程的运行,并把日志记录到本地文件中,这个参数用来定义ONS进程要记录的日志级别,从1-9,缺省值是3. <br><br>Logfile: 这个参数和loglevel参数一起使用,用于定义ONS进程日志文件的位置,缺省值是$CRS_HOME/opmn/logs/opmn.log<br><br>nodes和useocr: 这两个参数共同决定饿了本地的ONS daemon要和哪些远程节点上的ONS daemon进行通信。<br><br>Nodes 参数值格式如下:Hostname/IP:port<br><br>如:useoce=off<br><br>Nodes=rac1:6200,rac2:6200<br><br>而useocr 参数值为on/off, 如果useocr 是ON, 说明信息保存在OCR中,如果是OFF,说明信息取nodes中的配置。对于单实例而言,要把useocr设置为off。<br><br><br>4.2.2 配置ONS<br><br>可以直接编译ONS的配置文件来修改配置,如果使用了OCR,则可以通过racgons命令进行配置,但必须以root用户来执行,如果用oracle 用户来执行,不会提示任何错误,但也不会更改任何配置。<br><br>若要添加配置,可以使用下面命令:<br><br>Racgons add_config rac1:6200 rac2:6200<br><br>若要删除配置,可以用下面命令:<br><br>Racgons remove_config rac1:6200 rac2:6200<br><br><br>4.2.3 onsctl 命令<br><br>使用onsctl命令可以启动,停止,调试ONS,并重新载入配置文件,其命令格式如下:<br><br># ./onsctl<br><br>usage: ./onsctl start|stop|ping|reconfig|debug<br><br>start                            - Start opmn only.<br><br>stop                           - Stop ons daemon<br><br>ping                           - Test to see if ons daemon is running<br><br>debug                            - Display debug information for the ons daemon<br><br>reconfig                         - Reload the ons configuration<br><br>help                           - Print a short syntax description (this).<br><br>detailed                         - Print a verbose syntax description.<br><br><br>ONS 进程运行,并不一定代表ONS 正常工作,需要使用ping命令来确认。 <br><br><br>1) 在OS级别查看进程状态。 <br><br># ps -aef|grep ons<br><br>root      192469530 03:17 pts/1    00:00:00 grep ons<br><br>oracle   30723   10 Mar08 ?      00:00:00 /u01/app/oracle/product/crs/opmn/bin/ons -d<br><br>oracle   30724 307230 Mar08 ?      00:00:04 /u01/app/oracle/product/crs/opmn/bin/ons -d<br><br>2) 确认ONS服务的状态<br><br># ./onsctl ping<br><br>Number of onsconfiguration retrieved, numcfg = 2<br><br>onscfg<br><br>   {node = raw1, port = 6200}<br><br>Adding remote host raw1:6200<br><br>onscfg<br><br>   {node = raw2, port = 6200}<br><br>Adding remote host raw2:6200<br><br>ons is running ...<br><br>3) 启动ONS服务<br><br># ./onsctl start<br><br>4) 使用debug 选项,可以查看详细信息,其中最有意义的就是能显示所有连接。<br><br># ./onsctl debug<br><br>Number of onsconfiguration retrieved, numcfg = 2<br><br>onscfg<br><br>   {node = raw1, port = 6200}<br><br>Adding remote host raw1:6200<br><br>onscfg<br><br>   {node = raw2, port = 6200}<br><br>Adding remote host raw2:6200<br><br>HTTP/1.1 200 OK<br><br>Content-Length: 1357<br><br>Content-Type: text/html<br><br>Response:<br><br>======== ONS ========<br><br>Listeners:<br><br> NAME    BIND ADDRESS   PORT   FLAGS   SOCKET<br><br>------- --------------- ----- -------- ------<br><br>Local   127.000.000.0016100 00000142      7<br><br>Remote010.085.010.1196200 00000101      8<br><br>Request   No listener<br><br>Server connections:<br><br>    ID         IP      PORT    FLAGS    SENDQ   WORKER   BUSYSUBS<br><br>---------- --------------- ----- -------- ---------- -------- ------ -----<br><br>         1 010.085.010.1216200 00104205          0               1   0<br><br>Client connections:<br><br><br>    ID         IP      PORT    FLAGS    SENDQ   WORKER   BUSYSUBS<br><br>---------- --------------- ----- -------- ---------- -------- ------ -----<br><br>         3 127.000.000.0016100 0001001a          0               1   0<br><br>         4 127.000.000.0016100 0001001a          0               1   1<br><br>Pending connections:<br><br>    ID         IP      PORT    FLAGS    SENDQ   WORKER   BUSYSUBS<br><br>---------- --------------- ----- -------- ---------- -------- ------ -----<br><br>         0 127.000.000.0016100 00020812          0               1   0<br><br>Worker Ticket: 3/3, Idle: 180<br><br>   THREAD   FLAGS<br><br>-------- --------<br><br>   17faba0 00000012<br><br>   67f6ba0 00000012<br><br>   32d6ba0 00000012<br><br>Resources:<br><br>Notifications:<br><br>    Received: 1, in Receive Q: 0, Processed: 1, in Process Q: 0<br><br>Pools:<br><br>    Message: 24/25 (1), Link: 25/25 (1), Subscription: 24/25 (1)<br><br>#<br><br><br>4.3 srvctl <br><br>         该命令是RAC维护中最常用的命令,也是最复杂的命令。 这个工具可以操作下面的几种资源:Database,Instance,ASM,Service,Listener 和 Node Application,其中Node application又包括GSD,ONS,VIP。 这些资源除了使用srvctl工具统一管理外,某些资源还有自己独立的管理工具,比如ONS可以使用onsctl命令进行管理;Listener 可以通过lsnrctl 管理。<br><br># ./srvctl --help<br><br>Usage: srvctl &lt;command&gt; &lt;object&gt; [&lt;options&gt;]<br><br>    command: enable|disable|start|stop|relocate|status|add|remove|modify|getenv|setenv|unsetenv|config<br><br>    objects: database|instance|service|nodeapps|asm|listener<br><br>For detailed help on each command and object and its options use:<br><br>    srvctl &lt;command&gt; &lt;object&gt; -h<br><br>4.3.1 使用config查看配置<br><br>1)查看数据库配置<br><br>-- 不带任何参数时,显示OCR中注册的所有数据库<br><br># ./srvctl config database<br><br>raw<br><br>-- 使用-d 选项,查看某个数据库配置<br><br># ./srvctl config database -d raw<br><br>raw1 raw1 /u01/app/oracle/product/10.2.0/db_1<br><br>raw2 raw2 /u01/app/oracle/product/10.2.0/db_1<br><br>注: 该输出结果显示数据库raw由2个节点组成,各自实例名交raw1和raw2. 两个实例的$ORACLE_HOME是/u01/app/oracle/product/10.2.0/db_1<br><br>-- 使用-a 选项查看配置的详细信息<br><br># ./srvctl config database -d raw<br><br>raw1 raw1 /u01/app/oracle/product/10.2.0/db_1<br><br>raw2 raw2 /u01/app/oracle/product/10.2.0/db_1<br><br># ./srvctl config database -d raw -a<br><br>raw1 raw1 /u01/app/oracle/product/10.2.0/db_1<br><br>raw2 raw2 /u01/app/oracle/product/10.2.0/db_1<br><br>DB_NAME: raw<br><br>ORACLE_HOME: /u01/app/oracle/product/10.2.0/db_1<br><br>SPFILE: +DATA/raw/spfileraw.ora<br><br>DOMAIN: null<br><br>DB_ROLE: null<br><br>START_OPTIONS: null<br><br>POLICY:AUTOMATIC<br><br>ENABLE FLAG: DB ENABLED<br><br><br>2)查看Node Application的配置<br><br>-- 不带任何参数,返回节点名,实例名和$ORACLE_HOME<br><br># ./srvctl config nodeapps -n raw1<br><br>raw1 raw1 /u01/app/oracle/product/10.2.0/db_1<br><br>               -- 使用-a 选项,查看VIP 配置<br><br># ./srvctl config nodeapps -n raw1 -a<br><br>VIP exists.: /raw1-vip/10.85.10.122/255.255.255.0/eth0<br><br>               -- 使用-g 选项, 查看GSD:<br><br># ./srvctl config nodeapps -n raw1 -g<br><br>GSD exists.<br><br>-- 使用-s 选项,查看ONS:<br><br># ./srvctl config nodeapps -n raw1 -s<br><br>ONS daemon exists.<br><br>-- 使用-l 选项,查看Listener:<br><br># ./srvctl config nodeapps -n raw1 -l<br><br>Listener exists.<br><br><br>3) 查看 Listener.<br><br># ./srvctl config listener -n raw1<br><br>raw1 LISTENER_RAW1<br><br># ./srvctl config listener -n raw2<br><br>raw2 LISTENER_RAW2<br><br><br>4) 查看ASM<br><br># ./srvctl config asm -n raw1<br><br>+ASM1 /u01/app/oracle/product/10.2.0/db_1<br><br># ./srvctl config asm -n raw2<br><br>+ASM2 /u01/app/oracle/product/10.2.0/db_1<br><br><br>5) 查看Service<br><br>-- 查看数据库所有service配置<br><br># ./srvctl config service -d raw -a<br><br>dmm PREF: raw2 AVAIL: raw1 TAF: basic<br><br>-- 查看某个Service 配置<br><br># ./srvctl config service -d raw -s dmm<br><br>dmm PREF: raw2 AVAIL: raw1<br><br>-- 使用-a 选项,查看TAF 策略<br><br># ./srvctl config service -d raw -s dmm -a<br><br>dmm PREF: raw2 AVAIL: raw1 TAF: basic<br><br><br>4.3.2 使用add 添加对象<br><br>一般情况下,应用层资源都是在图形界面的帮助下注册到OCR中的,比如VIP,ONS实在安装最后阶段创建的,而数据库,ASM是执行DBCA的过程中自动注册到OCR中的,Listener是通过netca工具。 但是有些时候需要手工把资源注册到OCR中。 这时候就需要add 命令了。<br><br>1) 添加数据库<br><br># ./srvctl add database -d dmm -o $ORACLE_HOME<br><br>2)添加实例<br><br># ./srvctl add instance -d dmm -n rac1 -i dmm1<br><br># ./srvctl add instance -d dmm -n rac2 -i dmm2<br><br>3) 添加服务,需要使用4个参数<br><br>-s : 服务名<br><br>-r:首选实例名<br><br>-a:备选实例名<br><br>-P:TAF策略,可选值为None(缺省值),Basic,preconnect。<br><br># ./srvctl add service -d dmm -s dmmservice -r rac1 -a rac2 -P BASIC<br><br>4) 确认添加成功<br><br># ./srvctl config service -d dmm -s dmmservice -a<br><br><br>4.3.3 使用enable/disable 启动,禁用对象<br><br>缺省情况下数据库,实例,服务,ASM都是随着CRS的启动而自启动的,有时候由于维护的需要,可以先关闭这个特性。<br><br>1) 配置数据库随CRS的启动而自动启动<br><br>-- 启用数据库的自启动:<br><br># ./srvctl enable database -d raw<br><br>--查看配置<br><br># ./srvctl config database -d raw -a<br><br>raw1 raw1 /u01/app/oracle/product/10.2.0/db_1<br><br>raw2 raw2 /u01/app/oracle/product/10.2.0/db_1<br><br>DB_NAME: raw<br><br>ORACLE_HOME: /u01/app/oracle/product/10.2.0/db_1<br><br>SPFILE: +DATA/raw/spfileraw.ora<br><br>DOMAIN: null<br><br>DB_ROLE: null<br><br>START_OPTIONS: null<br><br>POLICY:AUTOMATIC<br><br>ENABLE FLAG: DB ENABLED<br><br>-- 禁止数据库在CRS启动后自启动,这时需要手动启动<br><br># ./srvctl disable database -d raw<br><br><br>2) 关闭某个实例的自动启动<br><br># ./srvctl disable instance -d raw -i raw1<br><br># ./srvctl enable instance -d raw -i raw1<br><br>-- 查看信息<br><br># ./srvctl config database -d raw -a<br><br>raw1 raw1 /u01/app/oracle/product/10.2.0/db_1<br><br>raw2 raw2 /u01/app/oracle/product/10.2.0/db_1<br><br>DB_NAME: raw<br><br>ORACLE_HOME: /u01/app/oracle/product/10.2.0/db_1<br><br>SPFILE: +DATA/raw/spfileraw.ora<br><br>DOMAIN: null<br><br>DB_ROLE: null<br><br>START_OPTIONS: null<br><br>POLICY:AUTOMATIC<br><br>ENABLE FLAG: DB ENABLED<br><br>3) 禁止某个服务在实例上运行<br><br># ./srvctl enable service -d raw -s rawservice -i raw1<br><br># ./srvctl disable service -d raw -s rawservice -i raw1<br><br>-- 查看<br><br># ./srvctl config service -d raw -a<br><br>dmm PREF: raw2 AVAIL: raw1 TAF: basic<br><br><br>4.3.4 使用remove 删除对象<br><br>使用remove命令删除的是对象在OCR中的定义信息,对象本省比如数据库的数据文件等不会被删除,以后随时可以使用add命令重新添加到OCR中。<br><br>1) 删除Service,在删除之前,命令会给出确定提示<br><br># ./srvctl remove service -d raw -s rawservice<br><br>2)删除实例,删除之前同样会给出提示<br><br># ./srvctl remove instance -d raw -i raw1<br><br>3)删除数据库<br><br># ./srvctl remove database -d raw<br><br><br>4.3.5 启动,停止对象与查看对象<br><br>在RAC 环境下启动,关闭数据库虽然仍然可以使用SQL/PLUS方法,但是更推荐使用srvctl命令来做这些工作,这可以保证即使更新CRS中运行信息,可以使用start/stop 命令启动,停止对象,然后使用status 命令查看对象状态。<br><br>1) 启动数据库,默认启动到open状态<br><br># ./srvctl start database -d raw<br><br>2) 指定启动状态<br><br># ./srvctl start database -d raw -i raw1 -o mount<br><br># ./srvctl start database -d raw -i raw1 -o nomount<br><br>3) 关闭对象,并指定关闭方式<br><br># ./srvctl stop instance -d raw -i raw1 -o immediate<br><br># ./srvctl stop instance -d raw -i raw1 -o abort<br><br>4)在指定实例上启动服务:<br><br># ./srvctl start service -d raw -s rawservice -i raw1<br><br>-- 查看服务状态<br><br># ./srvctl status service -d raw -v<br><br>5) 关闭指定实例上的服务<br><br># ./srvctl stop service -d raw -s rawservice -i raw1<br><br>-- 查看服务状态<br><br># ./srvctl status service -d raw -v<br><br><br>4.3.6 跟踪srvctl<br><br>在Oracle 10g中要跟踪srvctl 非常简单,只要设置srvm_trace=true 这个OS环境变量即可,这个命令的所有函数调用都会输出到屏幕上,可以帮助用户进行诊断。<br><br># export SRVM_TRACE=TRUE<br><br># ./srvctl config database -d raw<br><br>/u01/app/oracle/product/crs/jdk/jre/bin/java -classpath /u01/app/oracle/product/crs/jlib/netcfg.jar:/u01/app/oracle/product/crs/jdk/jre/lib/rt.jar:/u01/app/oracle/product/crs/jdk/jre/lib/i18n.jar:/u01/app/oracle/product/crs/jlib/srvm.jar:/u01/app/oracle/product/crs/jlib/srvmhas.jar:/u01/app/oracle/product/crs/jlib/srvmasm.jar:/u01/app/oracle/product/crs/srvm/jlib/srvctl.jar -DTRACING.ENABLED=true -DTRACING.LEVEL=2 oracle.ops.opsctl.OPSCTLDriver config database -d raw<br><br> tracing is true at level 2 to file null<br><br> Security manager is set<br><br> parsing cmdline args<br><br> parsing 2-word cmdline<br><br> executing srvctl command<br><br> executing 2-word command verb=10 noun=101<br><br> get db config for: raw<br><br> srvctl: get db config for: raw<br><br> Going into GetActiveNodes constructor...<br><br>... ...<br><br><br>4.4 恢复<br><br>假设OCR磁盘和Votedisk磁盘全部破坏,并且都没有备份,该如何恢复, 这时最简单的方法就是重新初始话OCR和Votedisk, 具体操作如下:<br><br>4.4.1 停止所有节点的Clusterware Stack<br><br>Crsctl stop crs;<br><br><br>4.4.2 分别在每个节点用root用户执行$CRS_HOME/install/rootdelete.sh脚本<br><br><br>4.4.3 在任意一个节点上用root用户执行$CRS_HOME/install/rootinstall.sh 脚本<br><br><br>4.4.4 在和上一步同一个节点上用root执行$CRS_HOME/root.sh脚本<br><br><br>4.4.5 在其他节点用root执行行$CRS_HOME/root.sh脚本<br><br><br>4.4.6 用netca 命令重新配置监听,确认注册到Clusterware中<br><br>#crs_stat -t -v<br><br><br>到目前为止,只有Listener,ONS,GSD,VIP 注册到OCR中,还需要把ASM, 数据库都注册到OCR中。 <br><br>4.4.7向OCR中添加ASM<br><br> #srvctl add asm -n rac1 -i +ASM1 -o /u01/app/product/database<br><br> #srvctl add asm -n rac2 -i +ASM2 -o /u01/app/product/database<br><br><br>4.4.8 启动ASM<br><br>#srvctl start asm -n rac1<br><br>#srvctl start asm -n rac2<br><br><br>若在启动时报ORA-27550错误。是因为RAC无法确定使用哪个网卡作为Private Interconnect,解决方法:在两个ASM的pfile文件里添加如下参数:<br><br>+ASM1.cluster_interconnects='10.85.10.119'<br><br>+ASM2.cluster_interconnects='10.85.10.121'<br><br><br>4.4.9 手工向OCR中添加Database对象。<br><br>#srvctl add database -d raw -o /u01/app/product/database<br><br><br>4.4.10 添加2个实例对象<br><br>#srvctl add instance -d raw -i raw1 -n raw1<br><br>#srvctl add instance -d raw -i raw2 -n raw2<br><br><br>4.4.11 修改实例和ASM实例的依赖关系<br><br>#srvctl modify instance -d raw -i raw1 -s +ASM1<br><br>#srvctl modify instance -d raw -i raw2 -s +ASM2<br><br><br>4.4.12 启动数据库<br><br>#srvctl start database-d raw<br><br>若也出现ORA-27550错误。也是因为RAC无法确定使用哪个网卡作为Private Interconnect,修改pfile参数在重启动即可解决。<br><br>SQL&gt;alter system set cluster_interconnects='10.85.10.119' scope=spfile sid='raw1';<br><br>SQL&gt;alter system set cluster_interconnects='10.85.10.121' scope=spfile sid='raw2';<br><br><br>Srvctl 命令的用法还有很多,下面是在线文档的一个目录,感兴趣的可以自己研究下。 <br><br> <br><br> http://download-west.oracle.com/docs/cd/B19306_01/rac.102/b14197/toc.htm<br><br> <br><br> srvctl add <br><br> srvctl add database<br><br> srvctl add instance<br><br> srvctl add service<br><br> srvctl add nodeapps<br><br> srvctl add asm<br><br> <br><br> srvctl config <br><br> srvctl config database<br><br> srvctl config service<br><br> srvctl config nodeapps<br><br> srvctl config asm<br><br> srvctl config listener<br><br> <br><br> srvctl enable <br><br> srvctl enable database<br><br> srvctl enable instance<br><br> srvctl enable service<br><br> srvctl enable asm<br><br> <br><br> srvctl disable <br><br> srvctl disable database<br><br> srvctl disable instance<br><br> srvctl disable service<br><br> srvctl disable asm<br><br> <br><br> srvctl start <br><br> srvctl start database<br><br> srvctl start instance<br><br> srvctl start service<br><br> srvctl start nodeapps<br><br> srvctl start asm<br><br> srvctl start listener<br><br> <br><br> srvctl stop <br><br> srvctl stop database<br><br> srvctl stop instance<br><br> srvctl stop service<br><br> srvctl stop nodeapps<br><br> srvctl stop asm<br><br> srvctl stop listener<br><br> <br><br> srvctl modify <br><br> srvctl modify database<br><br> srvctl modify instance<br><br> srvctl modify service<br><br> srvctl modify nodeapps<br><br> <br><br> srvctl relocate <br><br> srvctl relocate service<br><br> <br><br> srvctl status <br><br> srvctl status database<br><br> srvctl status instance<br><br> srvctl status service<br><br> srvctl status nodeapps<br><br> srvctl status asm<br><br> <br><br> srvctl getenv <br><br> srvctl getenv database<br><br> srvctl getenv instance<br><br> srvctl getenv service<br><br> srvctl getenv nodeapps<br><br> <br><br> srvctl setenv and unsetenv <br><br> srvctl setenv database<br><br> srvctl setenv instance<br><br> srvctl setenv service<br><br> srvctl setenv nodeapps<br><br> srvctl unsetenv database<br><br> srvctl unsetenv instance<br><br> srvctl unsetenv service<br><br> srvctl unsetenv nodeapps<br><br> <br><br> srvctl remove <br><br> srvctl remove database<br><br> srvctl remove instance<br><br> srvctl remove service<br><br> srvctl remove nodeapps<br><br> srvctl remove asm<br><br>
页: [1]
查看完整版本: Oracle RAC 常用维护工具和命令