还剩52页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
北极熊2013年34周Oracle11g数据库管理基础三Oracle官方文档翻译张望绪言13启动和关闭数据库
23.1启动数据库
23.
1.1关于数据库启动选项
23.
1.2使用RMAN和SQL*PLUS启动和关闭数据库
23.
1.3使用EnterpriseManager启动和关闭数据库
23.
1.4在启动数据库是指定初始化参数文件
23.
1.5启动数据库和非默认的SPFILE
33.
1.6使用SRVCTL启动数据库和非默认SPFILE
33.
1.7启动实例
33.
1.8启动实例在限制访问模式
33.2改变数据库可用性
43.3关闭数据库
43.4数据库静默
53.
4.1使数据库静默
53.
4.2恢复正常状态
63.5暂停和继续一个数据库64配置数据库自动重新启动
74.1关于OracleRestart
74.
1.1OracleRestart综述
74.
1.2关于Startup的依赖性
74.
1.3关于使用OracleRestart启动和关闭组件
84.
1.4OracleRestart快速的应用通知
94.
1.5使用FastApplicationNotificationCallouts
114.2配置OracleRestart
114.
2.1准备运行SRVCTL
124.
2.2SRVCTL的帮助
124.
2.3添加组件到OracleRestart配置
134.
2.4使用OracleEnterpriseManagerDatabaseControl添加组件
134.
2.5从OracleRestart配置中移除组件
134.
2.6禁用和启动OracleRestart管理组件
144.
2.7查看组件状态
144.
2.8查看组件OracleRestart配置
144.
2.9改变组件OracleRestart配置
154.
2.10OracleRestart配置中管理环境变量
154.
2.11使用srvctl建立或删除数据库服务
164.
2.12在Oraclerestart环境中使能FAN
164.
2.13在主库和备份库之间自动failover
164.
2.14使能每个客户端的fastconnectionfailover
174.3使用OracleRestart管理启动和停止组件
194.
3.1使用srvctl管理Oraclerestart组件的启动与停止
194.
3.2使用OracleEnterpriseManager管理Oraclerestart进行数据库启动
204.4停止或重新启动OracleRestart为了维护操作
204.
4.1在安装补丁是在OracleHome停止并启动组件
214.5OracleRestart的SRVCTL命令参考
224.
5.1add
234.
5.2config
274.
5.3disable
304.
5.4enable
324.
5.5getenv
334.
5.6modify
344.
5.7remove
383.1CRSCTL命令参考39绪言本章描述了数据库启动和关闭的各种选择和相关的知识点,以及配置数据库自动重新启动相关步骤和涉及的概念小故事有一个大师,一直潜心苦练,几十年练就了一身“移山大法”有人虔诚地请教“大师用何神力,才得以移山?我如何才能练出如此神功呢?”大师笑道“练此神功也很简单,只要掌握一点山不过来,我就过去”现实世界中有太多的事情就像“大山”一样,是你无法改变的,或者至少是暂时无法改变的大道理如果事情无法改变,你就改变自己只有改变自己,才会最终改变别人;只有改变自己,才可以最终改变属于自己的世界山,如果不过来,那你就自己过去吧!启动和关闭数据库启动数据库当启动数据库时,你建立一个数据库实例并确定数据库的状态通常步骤是,启动实例、装载和打开数据库使数据库可用于所有有效用户执行数据访问关于数据库启动选项当数据库重新启动在未使用时,可以使用SQL*PLUS,RecoveryManager或EnterpriseManager启动实例如果数据库使用OracleRestart管理,那么推荐使用SRVCTL管理数据库启动使用RMAN和SQL*PLUS启动和关闭数据库startup启动数据库shutdown关闭数据库使用EnterpriseManager启动和关闭数据库EnterpriseManager综合了图形用户接口控制台,代理,通用服务,工具提供了一个集成的,广泛的系统管理平台为了管理Oracle产品使用SRVCTL启动和关闭数据库当为Oracle数据库安装并配置了Oraclerestart时,Oracle推荐使用SRVCTL启动数据库以确保数据库相关的所有组件(如ASM,NetListener)能够首先自动启动,安照特有的顺序;数据库依照Oraclerestart的配置启动,例如设置SPFILE的文件位置;在数据库启动之前,为数据库设置在Oraclerestart配置中的环境变量被存储在启动数据库是指定初始化参数文件当启动数据库实例时,它试图从与平台相关的默认位置读取服务器参数文件或文本参数文件Oracle定位初始化参数文件名按如下顺序spfileORACLE_SID.oraspfile.orainitORACLE_SID.ora如果建立了服务器参数文件,但又想不管它,而使用文件参数文件可以STARTUPPFILE=/u01/oracle/dbs/init.ora启动数据库和非默认的SPFILE建立和编辑文本参数文件,如/u01/oracle/dbs/spf_init.ora,使用如下文本SPFILE=/u01/oracle/dbs/test_spfile.ora启动实例指定此文本参数数文件STARTUPPFILE=/u01/oracle/dbs/spf_init.ora使用SRVCTL启动数据库和非默认SPFILEsrvctlmodifydatabase-ddb_unique_name-pspfile_pathsrvctlstartdatabase-ddb_unique_name[options]启动实例可以用以下几种模式启动数据库NOMOUNT—启动实例不装载数据库此时不允许访问数据库一般仅用于建立数据库或重建控制文件时MOUNT—启动实例并装载数据库此时数据库是关闭的,此状态允许某些DBA活动,但是数据库不允许访问OPEN—启动实例,装载并打开数据库此时可以打开在无限制模式,允许所有用户访问,或在限制模式,仅允许数据库管理员访问FORCE—强制实例启动OPENRECOVER—启动实例并立刻完成介质恢复启动实例在限制访问模式启动实例在限制访问模式可能基于下列考虑执行导出和导入数据;执行数据装载(SQL*Loader);临时阻止特有的用户访问数据;执行某些移植或升级操作限制模式能被用于nomountmount和open模式,可使用下列命令消除禁用会话ALTERSYSTEMDISABLERESTRICTEDSESSION;改变数据库可用性你可以改变数据库的可用性如限制数据库访问处于维护目的或使数据库只读装载数据库alterdatabasemount;打开数据库alterdatabaseopen;打开数据库只读或读写,读写为默认模式alterdatabaseopenreadonlyalterdatabaseopenreadwrite限制已打开的数据库访问在语句完成后仅有RESTRICTEDSESSION权限的用户能够初始化一个新的连接,SYSDBA或DBA具备此权限ALTERSYSTEMENABLERESTRICTEDSESSION使实例运行在限制模式对当前会话有如下影响在单实例数据库,没有会话会被影响,考虑在执行管理任务前KILL所有当前用户会话;在使用Oraclerestart管理的单实例数据库,所有Oraclerestart管理的数据库服务将离线,且使用其数据库服务连接的会话将被KILL使用实例的标准数据库服务的连接会话不受影响,因为它不被Oraclerestart管理;在OracleRealApplicationClusters环境,OracleCluster管理的数据库服务将离线,且使用其数据库服务连接的会话将被KILL标准数据库服务不会离线关闭数据库在发起关闭数据库命令后在关闭数据库期间控制将不能返回,此时连接数据库可能收到如下提示ORA-01090:shutdowninprogress-connectionisnotpermitted关闭数据库有几种模式关闭和正常模式这是默认的关闭选项,此时新的连接将不被允许,数据库等待所有用户断开连接后关闭shutdownnormal关闭和立刻模式此时新的连接不被允许,新的事务不允许开始任何未提交的事务将被回滚数据库将不会等待当前用户断开连接,数据库隐式的回滚活动事务,并断开用户连接shutdownimmediate关闭和事物模式此时新的连接不被允许,新的事务不允许开始在所有事务完成后,所有连接到实例的客户端将被断开此时相当于shutdownimmediateshutdowntranscational关闭和中断模式此时新的连接不被允许,新的事务不允许开始客户端执行的SQL语句被Oracle立刻中udan未提交的事务不会被回滚数据库将不会等待当前用户断开连接,数据库隐式断开所有用户连接shutdownabort关闭超时关闭模式在等待用户断开连接或事务完成时有超时限制如果所有事件阻止关闭操作在一小时内不能完成关闭操作将中断跟随错误ORA-01013:userrequestedcancelofcurrentoperation这是信息也可能发生在你中断关闭进程时,如Ctrl+COracle推荐不要试图中断关闭进程如果发生ORA-01013错误,数据库将处于不可预知的状态此时需要重新执行关闭命令,如果还是不能关闭请执行shutdownabort数据库静默有时可能需要使数据库进入一种状态仅允许DBA的事务,查询或pl/sql语句这样一个状态被称为静默状态非DBA的事务,查询或pl/sql语句不能运行注此处DBA定义指SYS和SYSEM,其它拥有DBA角色的用户且在数据库静默之后不允许执行ALTERSYSTEMQUIESCEDATABASE语句或处理静默状态为了执行那些会被其它操作影响的活动,这些活动包含如果并发用户访问同样的对象将导致失败的活动,如改变或添加表的列;可能影响并发用户操作的中间状态如导出表-删除表-导入表,并发用户在导入之前,删除之后对表进行操作如果没有静默状态,需要关闭数据库在重新打开它在限制模式这在24*7的业务环境可能被限制静默状态可以不需要关闭并启动数据库当数据库处于静默状态时,它实际上通过数据库资源管理阻止非DBA活动因此任何试图改变当前资源计划的活动将被排队,知道接触静默使数据库静默ALTERSYSTEMQUIESCERESTRICTED;非DBA用户会话的活动将继续直到它们成为不活动状态此处活动会话指atransactionaqueryafetch或aPL/SQLstatement;或活动会话被其它任何共享资源阻塞(enqueues)不活动的会话将不会被允许活动例如用户发出SQL语句试图使不活动的会话活动,查询将被挂起当数据库解除静默之后,会话恢复,被阻塞的活动被处理在RAC环境ALTERSYSTEMQUIESCERESTRICTED语句将影响所有实例ALTERSYSTEMQUIESCERESTRICTED语句可能等待很长时间因为等待活动会话到不活动会话你能够通过查询V$BLOCKING_QUIESCE视图确定哪些会话阻塞了静默操作这个视图仅返回一列SID可以关联v$session查询更多的信息selectbl.siduserosusertypeprogramfromv$blocking_quiesceblv$sessionsewherebl.sid=se.sid;恢复正常状态ALTERSYSTEMUNQUIESCE;能够通过查询V$INSTANCE视图的ACTIVE_STATE查看当前实例静默状态暂停和继续一个数据库ALTERSYSTEMSUSPEND语句停止所有的到数据文件(文件头和文件数据),控制文件的I/O暂停状态消除备份数据库时的I/O冲突当数据库挂起时所有已存在的I/O操作允许完成,新的数据库访问进入排队状态挂起命令不用指定实例,在RAC环境挂起命令会传递到所有实例但是如果有人启动新的实例,新的实例将不会挂起使用ALTERSYSTEMRESUME语句恢复正常的数据库操作SUSPEND和RESUME命令能够从不同的实例执行SUSPEND/RESUME不能相当于正常的关闭操作因为暂定的数据库能够包含未提交的更新以下语句执行SUSPEND/RESUME状态,查询V$INSTANCE视图查看数据库状态SQLALTERSYSTEMSUSPEND;SystemalteredSQLSELECTDATABASE_STATUSFROMV$INSTANCE;DATABASE_STATUS---------SUSPENDEDSQLALTERSYSTEMRESUME;SystemalteredSQLSELECTDATABASE_STATUSFROMV$INSTANCE;DATABASE_STATUS---------ACTIVE配置数据库自动重新启动关于OracleRestartOracleRestart综述OracleRestart提高了数据库的可用性当安装了OracleRestart时,各种Oracle组件在硬件和软件失败或主机计算机重新启动后能够自动重新启动OracleRestart周期性的检查这些组件的健康状态,如果组件检查操作失败,此组件将关闭并重启OracleRestart仅拥有单独服务器环境,在RAC环境,这个功能有OracleClusterware提供关于Startup的依赖性OracleRestart确保Oracle组件依照特有的顺序启动,此顺序与组件依赖性一致例如如果数据库存储在ASM中,那么在启动数据库实例之前OracleRestart确保ASM实例已启动并且ASM磁盘组已装载同样,如果此组件必须关闭,Oracle确保相关的组件首先干净的关闭OracleRestart也管理Oracle数据库和OracleNet监听器之间的弱相关性如果Oracle数据库实例启动,OracleRestart将试图启动监听器如果监听器启动失败,Oracle数据库仍将启动如果监听在之后失败,OracleRestart不会关闭重新启动任何数据库实例关于使用OracleRestart启动和关闭组件OracleRestart在需要时自动重新启动各种组件,当手工关闭系统时自动以有序的方式关闭组件然而有时可能你想手工启动或关闭单独的组件OracleRestart工具SRVCTL使你能够手工启动和关闭OracleRestart管理的组件当使用OracleRestart推荐你使用SRVCTL手工启动和关闭组件在你使用SRVCTL停止组件之后如果一个失败产生Oracle不会自动重新开始组件如果你使用SRVCTL启动组件,那么这个组件的自动重新启动再次可用Oracle工具如SQL*Plus,监听控制工具(lsnrctl)和asmcmd被集成到OracleRestart如果你使用SQL*Plus执行shutdown命令OracleRestart不会认为数据库失败,则不会试图重新启动数据库同样,使用SQL*Plus或asmcmd关闭asm实例,OralceRestart也不会尝试重新启动它使用SRVCTL和SQL*Plus启动和关闭组件重要的不同点如下当使用SRVCTL启动组件是任何相关的组件将以特有的次序启动;当使用SQL*Plus启动组件是相关的组件不会自动启动,你必须自己确保相关组件启动另外,OracleRestart能够使用单一命令启动和关闭特定OracleHome下的所有组件关于启动和关闭OracleRestartOracleRestart维护它所有管理的组件的列表,并且维护每个组件的配置信息所有这些的信息集合被称为OracleRestartConfiguration当OracleRestart启动组件时,它启动组件依据这些组件的配置信息例如OracleRestart的配置信息包含数据库SPFILE文件的位置,监听的TCP端口如果你已经安装了OracleRestart并使用DBCA创建数据库那么DBCA将自动把数据库信息加入OracleRestart配置中你能够使用SRVCTL命令手动的从OracleRestart配置中添加和删除组件下表说明了一些能够自动添加组件到OracleRestart的操作下表说明了一些能够从OracleRestart删除组件的操作OracleRestart集成DataGuardOracleRestart能集成DataGuard和DataGuardBroker当数据库关闭或重新启动需要响应角色变化请求时,OracleRestart以有序的方式关闭和重新启动数据库,依据OracleRestart的配置OracleRestart能够确保DataGuard角色转换当新的数据库角色活动时所有数据库服务被配置运行,如果新的角色是停止的所有数据库服务不会被配置另外,OracleRestart配置支持以下DataGuard组件的配置选项Database当增加一个数据库到OracleRestart时,能够指定数据库的当前DataGuard角色PRIMARYPHYSICAL_STANDBYLOGICAL_STANDBY或SNAPSHOT_STANDBY如果这些角色之后使用Broker改变,OracleRestart自动更新数据库配置到新的角色如果没有使用Broker改变角色,必须手工改变OracleRestart配置中的数据库角色到新的角色DatabaseService当增加一个数据库服务到OracleRestart配置中是,能够为服务指定一个或多个DataGuard角色使用此配置选项,OracleRestart仅在当前数据库角色匹配服务设置角色之一时启动服务OracleRestart快速的应用通知在单独的服务器环境,OracleRestart使用OracleNotificationServicesONS和OracleAdvancedQueues发布高可用事件的FastApplicationNotificationFAN集成的OracleClients使用FAN提供快速通知到客户端,在服务或实例停止时客户端自动在主库和备库之间failoverFastApplicationNotification通知概述OracleRestart使用FAN通知机制,通知其他进程关于配置的改变,包括服务状态的改变,如up或down事件FAN在立即失败是能立刻中断正在发生的事务完全的OracleClient接受事件并响应应用用户通过应用响应错误,重新提交或隐藏错误当down事件发生时,完全的Oracle客户端立即清除到被中断客户端的连接当up事件发生时,完全的客户端建立一个新的客户端到新的主数据库实例OracleRestart发布FAN事件,当被管理的实例或服务up或down时在failover之后,DataGuardBroker发布FAN事件这些FAN事件能通过下列途径使用如果使用Oracle完全的数据库客户端应用能够使用这些事件,不需要任何程序改变OracleDatabaseJDBCUniversalConnectionPoolforJavaOracleCallInterface和OracleDatabaseODP.NET这些客户端被配置成FastConnectionFailoverFCF,在failover之后自动连接到新的主数据库实例FANserver-sidecallouts在数据库层配置对于down事件,如主数据库失败,FAN立刻通知客户端以使它们能够尽可能快的连接到新的主数据库客户端不会等待超时,客户端立刻被通知,并且需要配置成failoverFAN高可用性事件事件记录参数与描述FAN参数匹配的数据库签名使用FastApplicationNotificationCalloutsFANcalloutsareserver-sideexecutablesthatOracleRestartexecutesimmediatelywhenhighavailabilityeventsoccur.YoucanuseFANcalloutstoautomatethefollowingactivitieswheneventsoccursuchas:•Openingfaulttrackingtickets•Sendingmessagestopagers•Sendinge-mail•Startingandstoppingserver-sideapplications•MaintaininganuptimelogbyloggingeacheventasitoccursTouseFANcalloutsplaceanexecutableinthedirectorygrid_home/racg/usrcoonboththeprimaryandthestandbydatabaseservers.Ifyouareusingscriptsthensettheshellasthefirstlineoftheexecutable.Thefollowingisanexamplefileforthegrid_home/racg/usrco/callout.shcallout:#!/bin/kshFAN_LOGFILE=[yourpathname]/admin/log/`hostname`_uptime.logecho$*reported=`date`$FAN_LOGFILEThefollowingoutputisfromthepreviousexample:NODEVERSION=
1.0host=sun880-2status=nodedownreason=timestamp=08-Oct-200404:02:14reported=FriOct804:02:14PDT2004AFANrecordmatchesthedatabasesignatureofeachsession.UsethisinformationtotakeactionsonsessionsthatmatchtheFANeventdata.配置OracleRestart如果通过OracleGridInfrastructure安装了OracleRestart在一台单独的服务器并创建了数据库,这个数据库将自动添加到OracleRestart配置中,并且在需要时自动重新启动然后如果安装OracleRestart在一个已经存在数据库的计算机上时,必须手工添加数据库,监听,ASM和其他可能的组件到OracleRestart配置中在配置OracleRestart管理的数据库后,你可能想添加组件到OracleRestart配置中;从OracleRestart中删除配置;临时暂停OracleRestart管理为一个或多个组件;为独立的组件改变OracleRestart配置选项;准备运行SRVCTL本节说明了运行SRVCTL工具所必须完成的任务必须确保SRVCTL从正确的OracleHome运行,与使用正确的用户账号登录决定运行SRVCTL的OracleHome此处假定listener从GIHome启动,如果安装OracleRestart在存在的数据库,listener可能从DatabaseHome启动运行SRVCTL前提依据上表决定srvctl运行的OracleHome;如果使用srvctl命令改变OracleRestart配置(添加,删除,enable,disable等),那么如果在Unix/Linux平台登录服务器使用上表中安装OracleHome的用户,如果Windows平台使用管理员如果是其它操作可使用任何用户;打开命令窗口,运行srvctl命令;SRVCTL的帮助详细帮助srvctl-h命令详细帮助srvctlcommand–h例srvctladd-h命令的组件类型的详细帮助srvctlcommandobject–h例srvctladdservice–h添加组件到OracleRestart配置添加一个数据库srvctladddatabase-ddbcrm-o/u01/app/oracle/product/
11.
2.0/dbhome_1添加一个数据库服务srvctladdservice-ddbcrm-scrmbatch添加一个默认监听srvctladdlistener使用OracleEnterpriseManagerDatabaseControl添加组件访问DATABASEHOMEPAGE在HighAvailability节的OracleRestart标签,点击Disabled链接如果提示认证,进入认证页面输入OracleHome安装的用户,点击登录在配置页面,点击继续添加监听使用DatabaseControl访问想要的数据库实例的DatabaseHomePage在Generalsection的ListenerLabel链接在HighAvailability节的OracleRestart标签,点击Disabled链接在配置页面,点击继续从OracleRestart配置中移除组件移除组件命令srvctlremoveobject[options]例,移除数据库srvctlremovedatabase-ddbcrm禁用和启动OracleRestart管理组件出于组件维护原因,如组件需要修复你可以临时禁止OracleRestart管理某个组件当一个组件被禁用时它将不再自动重新开始;不会由于相关性自动启动;不能使用srvctl启动;所有和此资源相关的组件将不再自动启动或重启禁用和启用组件命令srvctldisableobject[options]srvctlenableobject[options]例禁止DB_UNIQUE_NAME为dbcrm的数据库自动启动srvctldisabledatabase-ddbcrm禁止OracleASM磁盘组recovery自动启动srvctldisablediskgroup-grecovery启用OracleASM磁盘组recovery自动启动srvctlenablediskgroup-grecovery查看组件状态srvctlstatusobject[options]例srvctlstatusdatabase-ddbcrmDatabaseisrunning查看组件OracleRestart配置srvctlconfigobjectoptions例列出OracleRestart管理的数据库srvctlconfigdatabasedbcrmorcl列出数据库orcl的配置srvctlconfigdatabase-dorclDatabaseuniquename:orclDatabasename:orclOraclehome:/u01/app/oracle/product/
11.
2.0/dbhome_1Oracleuser:oracleSpfile:+DATA/orcl/spfileorcl.oraDomain:us.example.comStartoptions:openStopoptions:immediateDatabaserole:Managementpolicy:automaticDiskGroups:DATAServices:mfgsales改变组件OracleRestart配置srvctlmodifyobjectoptions例srvctlmodifydatabase-ddbcrm-yMANUAL-sNOMOUNTOracleRestart配置中管理环境变量OracleRestart可以存储环境变量如果需要为启动Oracle数据库特别设置环境变量(如ORACLE_HOME和ORACLE_SID),可以在OracleRestart中设置这些环境变量你能够给以下组件设置单独的环境变量DatabaseinstanceListenerOracleASMinstance设置环境变量srvctlsetenv{asm|database|listener}options取消设置环境变量srvctlunsetenv{asm|database|listener}options例子为dbcrm数据库设置NLS_LANG和AIXTHREAD_SCOPE环境变量srvctlsetenvdatabase-ddbcrm-tNLS_LANG=AMERICAN_AMERICA.AL32UTF8AIXTHREAD_SCOPE=S查看环境变量srvctlgetenv{database|listener|asm}options例子获取并显示数据库dbcrm的环境变量srvctlgetenvdatabase-ddbcrm例子获取并显示数据库dbcrm的NLS_LANGAIXTHREAD_SCOPE环境变量srvctlgetenvdatabase-ddbcrm-tNLS_LANGAIXTHREAD_SCOPE使用srvctl建立或删除数据库服务当使用srvctl管理数据库时,Oracle推荐使用srvctl建立和删除数据库服务当使用srvctl添加一个数据库服务时,此服务自动添加到Oraclerestart配置中并在服务与数据库之间建立相关性因此如果启动服务,Oraclerestart将首先启动数据库当使用srvctl从删除一个数据库服务时,这个服务也会从Oraclerestart配置中移除建立数据库服务srvctladdservice-ddb_unique_name-sservice_name[options]例子为数据库dbcrm添加一个服务crmbatchsrvctladdservice-ddbcrm-scrmbatch例子为数据库dbcrm添加一个服务crmbatch,当数据库的解释是物理备份库时,服务crmbatch仅在数据库dbcrm的角色是物理备份库时自动启动srvctladdservice-ddbcrm-scrmbatch-lPHYSICAL_STANDBY删除数据库服务srvctlremoveservice-ddb_unique_name-sservice_name[-f]如果使用-f参数时,当服务运行时仍然删除,不加此标志时如果服务在运行将产生一个错误在Oraclerestart环境中使能FAN为使能Oraclerestart的FAN(快速应用通知),必须建立OracleNotificationServices(ONS)网络,在Oraclerestart服务和集成客户端这些客户端能够是OracleConnetctionManager(CMAN),JavaDatabaseConnectivity(JDBC),andUniversalConnectionPool(UCP)如果使用OCI或ODP.NET那么必须为服务使能OracleAdvancedQueuing(AQ)HA通知使能ONS srvctladdons//添加ONS配置srvctlenableons//使能ONSsrvctlstartons//开始ONS添加服务到Oraclerestart配置,对于OCI和ODP.NET客户端,确保-q选项设置为true,以使能databasequeue为每个客户端使能fastconnectionfailover在主库和备份库之间自动failover使用OracleDataGuardBroker配置主库与备份库;准备运行srvctl;添加主库到主服务器的Oraclerestart配置,确保数据库角色为primary;添加备库到备服务器的Oraclerestart配置,确保数据库角色为standby;在主库服务器与备库服务器上使能FAN;在Oraclerestart配置中添加连接到主库和备库的服务,确保-l选项设置每个服务固定的角色,确保-q选项设置为true当使用OCI和ODP.NET时;使能每个客户端的fastconnectionfailover使能每个客户端的fastconnectionfailover在备库配置中,为你的服务添加了ONS服务到Oraclerestart配置和使能了OracleAQHA通知之后,能够使能客户端的fastconnectionfailover客户端收到FAN事件并重新定位连接到当前主服务器,在DGfailover之后如果没有备库,你仍然能配置客户端FAN事件当失败产生时,能够配置客户端重新连接到数据库JDBC客户端配置PoolDataSourcepds=PoolDataSourceFactory.getPoolDataSource;pds.setONSConfigurationnodes=primaryhost:6200standbyhost:6200;pds.setFastConnectionFailoverEnabledtrue;pds.setURLjdbc:oracle:thin:@DESCRIPTION=LOAD_BALANCE=onADDRESS=PROTOCOL=TCPHOST=primaryhostPORT=1521ADDRESS=PROTOCOL=TCPHOST=standbyhostPORT=1521CONNECT_DATA=service_name=service_name;.....在这个例子中primaryhost为主库,standbyhost为备库;应用必须在CLASSPATH中包含ucp.jar和ons.jar开始应用时ons.jar必须在CLASSPATH下,ons.jar是Oracle客户端安装的一部分OCI客户端配置配置AQ通知srvctlmodifyservice-dproddb-sgl.us.example.com-qtrue-lprimary-eselect-mbasic-z5-w180-jlongEnableOCI_EVENTSatenvironmentcreationtimeontheclientasfollows:OCIEnvCreate...Linkclientapplicationswiththeclientthreadoroperatingsystemlibrary.OptionallyregisteraclientEVENTcallbackOraclenet连接配置gl=DESCRIPTION=CONNECT_TIMEOUT=10RETRY_COUNT=3ADDRESS_LIST=ADDRESS=PROTOCOL=TCPHOST=BOSTON1PORT=1521ADDRESS=PROTOCOL=TCPHOST=CHICAGO1PORT=1521LOAD_BALANCE=yesCONNECT_DATA=SERVICE_NAME=gl.us.example.comODP.NET客户端配置配置AQ通知srvctlmodifyservice–ddbname–sgl–qtrue-jlong为.net应用的用户执行下列语句executeDBMS_AQADM.GRANT_QUEUE_PRIVILEGEDEQUEUESYS.SYS$SERVICE_METRICSuser_name;为ODP.NET配置连接池,连接时设置HA连接事件属性//C#usingSystem;usingOracle.DataAccess.Client;classHAEventEnablingSample{staticvoidMain{OracleConnectioncon=newOracleConnection;//OpenaconnectionusingConnectionStringattributes//Alsoenableloadbalancingcon.ConnectionString=UserId=user_name;Password=password;DataSource=oracle;+MinPoolSize=10;ConnectionLifetime=120;ConnectionTimeout=60;+HAEvents=true;IncrPoolSize=5;DecrPoolSize=2;con.Open;//Createmoreconnectionsandcarryoutworkagainstthedatabasehere.//DisposeOracleConnectionobjectcon.Dispose;}}Oraclenet连接配置gl=DESCRIPTION=CONNECT_TIMEOUT=10RETRY_COUNT=3ADDRESS_LIST=ADDRESS=PROTOCOL=TCPHOST=BOSTON1PORT=1521ADDRESS=PROTOCOL=TCPHOST=CHICAGO1PORT=1521LOAD_BALANCE=yesCONNECT_DATA=SERVICE_NAME=gl.us.example.com使用OracleRestart管理启动和停止组件当Oraclerestart使用时,Oracle推荐使用srvctl工具开始或停止组件,由于下列原因使用srvctl可以自动维护组件的相关性;使用srvctl总是能够使组件按照Oraclerestart配置启动;使用srvctl使用存储在Oraclerestart中的环境变量设置可以使用srvctl、GC、DC进行Oraclerestart的数据库管理使用srvctl管理Oraclerestart组件的启动与停止使用下列命令开始组件srvctlstartobject[options]使用下列命令停止组件srvctlstopobject[options]例-1启动一个数据库,使用DB_UNIQUE_NAME为“dbcrm”srvctlstartdatabase-ddbcrm例-2启动一个数据库到nomount状态srvctlstartdatabase-ddbcrm-onomount例-3启动默认监听器srvctlstartlistener例-4启动指定监听器,crmlistenersrvctlstartlistener-lcrmlistener例-5启动DB_UNIQUE_NAME为“dbcrm”的数据库服务bizdevsupport,如果数据库未启动,Oraclerestart将先启动数据库srvctlstartservice-ddbcrm-sbizdevsupport例-6启动(Mounting)OracleASM磁盘组datarecovery,运行此命令的用户必须是OSASM组成员srvctlstartdiskgroup-gdatarecovery例-7关闭数据库,默认关闭选项为immediatesrvctlstopdatabase-ddbcrm例-8关闭数据库,使用选项abortsrvctlstopdatabase-ddbcrm-oabort使用OracleEnterpriseManager管理Oraclerestart进行数据库启动
1.AccesstheDatabaseHomepageforthedesireddatabaseinstance.SeeAccessingtheDatabaseHomePageinOracleDatabase2DayDBAforinstructions.
2.ClickStartup.TheStartup/ShutdownCredentialspageappears.
3.Entercredentialsasfollows:a.EnterthehostcomputercredentialsfortheuserwhoinstalledthedatabaseOraclehome.b.EnterthedatabasecredentialsconsistingoftheusernameSYSandthepasswordthatyouassignedtoSYSduringtheinstallation.c.IntheConnectAslistchoosethevalueSYSOPER.
4.OptionalSelecttheSaveasPreferredCredentialoptionifyouwantthesecredentialstobeautomaticallyfilledinforyouthenexttimethatthispageappears.
5.ClickOK.TheSelectStartupTypepageappears.
6.TostartthedatabasewithOracleRestartselectStartdatabasealongwithdependentresources.ThisensuresthatresourcesonwhichthedatabasedependssuchastheOracleAutomaticStorageManagementinstancearesuccessfullystartedbeforethedatabaseisstarted.
7.ClickOK.Aconfirmationpageappears.
8.ClickYes.TheStartup/Shutdown:ActivityInformationpageappearsindicatingthatthedatabaseisbeingstartedup.WhenstartupiscompletetheLoginpageappears.
9.LogintothedatabaseandtoDatabaseControl.TheDatabaseHomepageappearsindicatingthatthedatabaseinstancestatusisUp.停止或重新启动OracleRestart为了维护操作当几个组件在一个OracleHome下通过Oraclerestart管理时,你能够停止在OracleHome下的这些组件通过Oraclerestart管理你也能禁止Oraclerestart在节点重新引导时启动你可能需要做这些,当执行此Oraclehome的维护工作,例如安装补丁当维护操作完成时,你能够使能并再次启动Oraclerestart,并且能够再次使用Oraclerestart管理此Oralcehome下的组件使用srvctl工具和crsctl工具进行停止和启动操作在指定的ORACLEHOME停止或启动所有组件,此Oraclehome可以是OracleDatabasehome或OracleGridInfrastructurehome当使用-s选项指定一个状态文件时,跟踪每个组件的状态停止和state命令建立在一个state文件使用stopcrsctl命令Oraclerestart,并且disablecrsctl命令来确保Oraclerestart管理组件不被自动启动,并且enablecrsctl命令来确保Oraclerestart管理组件被自动启动在安装补丁是在OracleHome停止并启动组件准备运行svrctl;使用srvctl命令停止一个OracleHome下使用Oraclerestart管理的组件;srvctlstophome-ooracle_home-sstate_file[-tstop_options][-f]oracle_home是一个OracleHome的完全路径,state_file是一个状态文件的完全路径OracleHome的状态信息被记录到指定的状态文件注意这个状态文件的位置,因为步骤7将使用在停止OracleGridInfrastructurehome的组件之前,首先确保停止相关的OracleDatabasehome的组件如果安装补丁的是OracleGridInfrastructurehome,那么禁用并停止Oraclerestart,否则直接到步骤4;crsctldisablehascrsctlstophas执行维护动作使用crsctl命令enableOraclerestartcrsctlenablehas使用crsctl命令startOraclerestartcrsctlstarthas使用srvctl命令开始步骤2停止的组件srvctlstarthome-ooracle_home-sstate_file可选,使用srvctl命令检查OracleHome下Oraclerestart管理组件的状态srvctlstatushome-ooracle_home-sstate_file例-1停止OracleHome下Oraclerestart管理组件srvctlstophome-o/u01/app/oracle/product/
11.
2.0/dbhome_1-s/usr1/or_state例-2启动OracleHome下Oraclerestart管理组件srvctlstarthome-o/u01/app/oracle/product/
11.
2.0/dbhome_1-s/usr1/or_state例-3检查OracleHome下Oraclerestart管理组件状态srvctlstatushome-o/u01/app/oracle/product/
11.
2.0/dbhome_1-s/usr1/or_stateOracleRestart的SRVCTL命令参考srvctl命令语法srvctlcommandobjectoptions其中command是一个动作,如startstop或remove,完整列表见表-1object是SRVCTL执行command操作的组件,例如数据库、监听等也可以使用组件的缩写完整组件列表见表-2option是前述命令的扩展,包含了命令的附加参数例如-d选项指出了跟随的是databaseuniquename,-s选项指出跟随的是逗号间隔的数据库服务名等大小写敏感SRVCTL的command和components是大小写不敏感的,options是大小写敏感的,数据库名和数据库服务名是大小写不敏感的并且casepreserving表-1表-2addsrvctladd命令添加组件到Oraclerestart配置中,并有选择的设置组件的Oraclerestart配置参数执行srvctladd操作必须登录合适的用户账号表-3srvctladd摘要srvctladdasm添加一个OracleASM实例到OracleRestart配置SyntaxandOptionssrvctladdasm[-llistener_name[-pspfile][-dasm_diskstring]]Examplesrvctladdasm-lcrmlistenersrvctladddatabase添加一个数据库到OracleRestart配置在添加数据库到OracleRestart配置后,如果这个数据库访问OracleASMdiskgroup的数据,数据库与磁盘组的相关性被建立OracleRestart确保数据库启动前,磁盘组被装载然而,如果数据库和ASM磁盘组在你添加数据库到OracleRestart配置时没有运行,你必须手动建立它们之间的关系,使用srvctl命令的-a选项重要当你手动添加一个数据库到OracleRestart配置时,你必须也添加Oraclegridinfrastructuresoftwareowner作为此数据库的OSDBA组的成员这是因为gridinfrastructurecomponents必须能够连接到数据库,以sysdba的身份启动和停止数据库例如安装gridinfrastructurehome的主机用户名为grid并且新的数据库的OSDBA组名为dba,那么这个用户grid必须是dba组的成员SyntaxandOptionssrvctladddatabase-ddb_unique_name-ooracle_home[-mdomain_name][-ndb_name][-pspfile][-sstart_options][-tstop_options][-r{PRIMARY|PHYSICAL_STANDBY|LOGICAL_STANDBY|SNAPSHOT_STANDBY}][-y{automatic|manual}][-adisk_group_list]Examples这个例子添加一个数据库DB_UNIQUE_NAMEdbcrm:srvctladddatabase-ddbcrm-o/u01/app/oracle/product/
11.
2.0/dbhome_1这个例子添加的是同样的数据库,并且建立与磁盘组DATA和RECOVERY间的相关性srvctladddatabase-ddbcrm-o/u01/app/oracle/product/
11.
2.0/dbhome_1-aDATARECOVERYsrvctladdlistener添加listener到OracleRestartconfiguration.SyntaxandOptionssrvctladdlistener[-llistener_name][-pendpoints][-s][-oOracle_home]Examplesrvctladdlistener-pTCP:1522-o/u01/app/oracle/product/
11.
2.0/dbhome_1srvctladdons添加ONS到OracleRestartconfigurationONS必须添加到OracleRestartconfiguration使能发送FastApplicationNotificationFANevents,在OracleDataGuardfailover之后当添加ONS到OracleRestartconfiguration时,它初始是disabled你能enable它,使用srvctlenableons命令SyntaxandOptionssrvctladdons[-eem_port][-lons_local_port][-rons_remote_port][-thost[:port][host[:port]...]][-v]srvctladdservice添加数据库服务到OracleRestartconfiguration如果不存在建立此数据库服务使用这个方法建立服务优先于使用DBMS_SERVICEPL/SQL包SyntaxandOptionssrvctladdservice-ddb_unique_name-sservice_name[-l[PRIMARY][PHYSICAL_STANDBY][LOGICAL_STANDBY][SNAPSHOT_STANDBY]][-y{AUTOMATIC|MANUAL}][-e{NONE|SESSION|SELECT}][-m{NONE|BASIC}][-winteger][-zinteger][-j{SHORT|LONG}][-B{SERVICE_TIME|THROUGHPUT|NONE}][-q{TRUE|FALSE}]-tedition_nameExamplesrvctladdservice-ddbcrm-ssales-lPRIMARYconfigsrvctlconfig显示指定组件或组件集的OracleRestartconfiguration表-4config命令摘要srvctlconfigasm显示ASM实例的OracleRestartconfiguration信息SyntaxandOptionssrvctlconfigasm[-a]Examplesrvctlconfigasm-aasmhome:/u01/app/oracle/product/
11.
2.0/gridASMisenabledsrvctlconfigdatabase显示指定数据库的OracleRestartconfiguration信息,或oracleRestart管理的数据库列表SyntaxandOptionssrvctlconfigdatabase[-ddb_unique_name[-a]]Examplessrvctlconfigdatabasedbcrmorclsrvctlconfigdatabase-dorcl-aDatabaseuniquename:orclDatabasename:orclOraclehome:/u01/app/oracle/product/
11.
2.0/dbhome_1Oracleuser:oracleSpfile:+DATA/orcl/spfileorcl.oraDomain:us.example.comStartoptions:openStopoptions:immediateDatabaserole:Managementpolicy:automaticDiskGroups:DATAServices:mfgsalesDatabaseisenabledsrvctlconfiglistener显示所有监听其或指定监听器的OracleRestartconfiguration信息SyntaxandOptionssrvctlconfiglistener[-llistener_name]ExamplesrvctlconfiglistenerName:LISTENERHome:/u01/app/oracle/product/
11.
2.0/dbhome_1Endpoints:TCP:1521Listenerisenabledsrvctlconfigons显示ONS当前配置信息SyntaxandOptionssrvctlconfigonssrvctlconfigservice对指定数据库,显示指定数据库服务或所有数据库服务的OracleRestartconfiguration信息SyntaxandOptionssrvctlconfigservice-ddb_unique_name[-sservice_name][-a]Examplesrvctlconfigservice-ddbcrm-ssalesServicename:salesServiceisenabledCardinality:SINGLETONDisconnect:trueServicerole:PRIMARYManagementpolicy:automaticDTPtransaction:falseAQHAnotifications:falseFailovertype:NONEFailovermethod:NONETAFfailoverretries:0TAFfailoverdelay:0ConnectionLoadBalancingGoal:NONERuntimeLoadBalancingGoal:NONETAFpolicyspecification:NONEdisabledisable组件,暂停Oraclerestart的组件管理srvctldisable命令用于组件由于维护必须修复或停止,并不应该自动启动时当你disable组件不再自动重启;不再由于相关性自动启动;不能使用srvctl启动;表-5disable命令摘要srvctldisableasmDisablesOracleASM实例SyntaxandOptionssrvctldisableasmsrvctldisabledatabaseDisables指定数据库SyntaxandOptionssrvctldisabledatabase-ddb_unique_nameExamplesrvctldisabledatabase-ddbcrmsrvctldisablediskgroupDisablesOracleASM磁盘组SyntaxandOptionssrvctldisablediskgroup-gdiskgroup_nameExamplesrvctldisablediskgroup-gDATAsrvctldisablelistenerDisables指定监听或所有监听SyntaxandOptionssrvctldisablelistener[-llistener_name]Examplesrvctldisablelistener-lcrmlistenersrvctldisableonsDisablesONS.SyntaxandOptionssrvctldisableons-vsrvctldisableservice为指定数据库Disables一个或多个数据库服务SyntaxandOptionssrvctldisableservice-ddb_unique_name-sservice_name_listExamplesrvctldisableservice-ddbcrm-ssalesmfgenableenable组件,重新enable被disable的组件Oraclerestart能够自动重启;能够由于相关性自动启动;能够使用srvctl启动;如果组件是enable的,命令被忽略当添加一个组件到Oraclerestart是默认是enable的表-6enable命令摘要srvctlenableasmEnablesOracleASM实例SyntaxandOptionssrvctlenableasmsrvctlenabledatabaseEnables指定数据库SyntaxandOptionssrvctlenabledatabase-ddb_unique_nameExamplesrvctlenabledatabase-ddbcrmsrvctlenablediskgroupEnablesOracleASM磁盘组SyntaxandOptionssrvctlenablediskgroup-gdiskgroup_nameExamplesrvctlenablediskgroup-gDATAsrvctlenablelistenerEnables指定监听或所有监听SyntaxandOptionssrvctlenablelistener[-llistener_name]Examplesrvctlenablelistener-lcrmlistenersrvctlenableonsEnablesONS.SyntaxandOptionssrvctlenableons-vsrvctlenableservice为指定数据库Enables一个或多个数据库服务SyntaxandOptionssrvctlenableservice-ddb_unique_name-sservice_name_listExamplesrvctlenableservice-ddbcrm-ssalesmfggetenv显示Oraclerestart配置中为数据库,监听器或OracleASM实例指定的环境变量表-7getenv命令摘要srvctlgetenvasm显示OracleASM实例的环境变量配置SyntaxandOptionssrvctlgetenvasm[-tname_list]Examplesrvctlgetenvasmsrvctlgetenvdatabase显示指定数据库的环境变量配置SyntaxandOptionssrvctlgetenvdatabase-ddb_unique_name[-tname_list]Examplesrvctlgetenvdatabase-ddbcrmsrvctlgetenvlistener显示指定监听器的环境变量配置SyntaxandOptionssrvctlgetenvlistener[-llistener_name][-tname_list]Examplesrvctlgetenvlistener-lcrmlistenermodifysrvctlmodify修改指定组件或组件集的OracleRestartconfiguration修改将在下次组件启动时生效表-8modify命令摘要srvctlmodifyasm修改ASM实例的OracleRestartconfiguration信息SyntaxandOptionssrvctlmodifyasm[-llistener_name][-pspfile][-dasm_diskstring]Examplesrvctlmodifyasm-lcrmlistenersrvctlmodifydatabase修改指定数据库的OracleRestartconfiguration信息,或oracleRestart管理的数据库列表SyntaxandOptionssrvctlmodifydatabase-ddb_unique_name[-ooracle_home][-uoracle_user][-mdomain_name][-ndb_name][-pspfile][-sstart_options][-tstop_options][-r{PRIMARY|PHYSICAL_STANDBY|LOGICAL_STANDBY|SNAPSHOT_STANDBY}][-y{automatic|manual}][-adisk_group_list][-z]Examplessrvctlmodifydatabase-ddbcrm-rlogical_standbysrvctlmodifylistener修改指定监听器的OracleRestartconfiguration信息SyntaxandOptionssrvctlmodifylistener[-llistener_name][-pendpoints][-oOracle_home]Examplesrvctlmodifylistener-lcrmlistener-pTCP:1522srvctlmodifyons修改ONS当前配置信息SyntaxandOptionssrvctlmodifyons[-eem_port][-lons_local_port][-rons_remote_port][-thost[:port][host[:port]...]][-v]srvctlmodifyservice修改指定数据库服务的OracleRestartconfiguration信息SyntaxandOptionssrvctlmodifyservice-ddb_unique_name-sservice_name][-l[PRIMARY][PHYSICAL_STANDBY][LOGICAL_STANDBY][SNAPSHOT_STANDBY]][-y{AUTOMATIC|MANUAL}][-e{NONE|SESSION|SELECT}][-m{NONE|BASIC}][-winteger][-zinteger][-j{SHORT|LONG}][-B{SERVICE_TIME|THROUGHPUT|NONE}][-q{TRUE|FALSE}]-tedition_nameExamplesrvctlmodifyservice-ddbcrm-ssupport-lstandbyremoveremove命令从Oraclerestart配置中移除一个组件Oraclerestart不再管理这个组件组件所有的环境变量也被移除在使用srvctl命令移除组件之前,你必须是用srvctl命令停止他Oracle推荐你在移除组件前先disable它表-9remove命令摘要srvctlremoveasmRemovesOracleASM实例SyntaxandOptionssrvctlremoveasm[-f]ExamplesrvctlremoveasmsrvctlremovedatabaseRemoves数据库,首先提示确认SyntaxandOptionssrvctlremovedatabase-ddb_unique_name[-f][-y][-v]Examplesrvctlremovedatabase-ddbcrmsrvctlremovediskgroupRemovesOracleASM磁盘组SyntaxandOptionssrvctlremovediskgroup-gdiskgroup_name[-f]Examplesrvctlremovediskgroup-gDATAsrvctlremovelistenerRemoves指定监听或所有监听SyntaxandOptionssrvctlremovelistener[-llistener_name]Examplesrvctlremovelistener-lcrmlistenersrvctlremoveonsRemovesONS.SyntaxandOptionssrvctlremoveons-v[-f]srvctlremoveservice为指定数据库Removes一个或多个数据库服务SyntaxandOptionssrvctlremoveservice-ddb_unique_name-sservice_name_list[-f]Examplesrvctlremoveservice-ddbcrm-ssalesmfgsetenv设置Oraclerestart配置中的数据库,监听器或OracleASM实例的环境变量表-10setenv命令摘要srvctlsetenvasm设置OracleASM实例的环境变量配置SyntaxandOptionssrvctlsetenvasm[-tname_list]|-Tname=valExamplesrvctlsetenvasm-tAIXTHREAD_SCOPE=SExamplesrvctlsetenvasmsrvctlsetenvdatabase设置指定数据库的环境变量配置SyntaxandOptionssrvctlsetenvdatabase-ddb_unique_name[-tname_list]|-Tname=valExamplesrvctlsetenvdatabase-ddbcrm-tLANG=ensrvctlsetenvlistener设置指定监听器的环境变量配置SyntaxandOptionssrvctlsetenvlistener[-llistener_name][-tname_list]|-Tname=valExamplesrvctlsetenvlistener-lcrmlistener-tAIXTHREAD_SCOPE=Sstart启动指定组件表-11start命令摘要srvctlstartasmStartsOracleASM实例为此命令,SRVCTLconnects/assysasm执行这个命令,执行这个操作,OracleGridInfrastructurehome下的命令程序的所有者必须是OSASM组成员运行这个命令也必须是OSASM组成员SyntaxandOptionssrvctlstartasm[-ostart_options]Examplessrvctlstartasmsrvctlstartasm-onomountsrvctlstartdatabaseStarts指定数据库实例为此命令,SRVCTLconnects/assysasm执行这个命令,执行这个操作,OracleGridInfrastructurehome下的命令程序的所有者必须是OSDBA组成员(例如在UNIX和LINUX下是dba)运行这个命令也必须是OSDBA组成员SyntaxandOptionssrvctlstartdatabase-ddb_unique_name[-ostart_options]Examplesrvctlstartdatabase-ddbcrm-opfile=testparmnomountsrvctlstartdiskgroupStartsmountst指定OracleASM磁盘组SyntaxandOptionssrvctlstartdiskgroup-gdiskgroup_nameExamplesrvctlstartdiskgroup-gDATAsrvctlstarthomeStarts在指定Oraclehome中OracleRestart管理的所有组件这个命令starts那些被srvctlstop命令停止组件这个命令使用指定的状态文件中的信息启动组件注一般用户补丁OracleHome后重启组件SyntaxandOptionssrvctlstarthome-ooracle_home-sstate_filesrvctlstartlistenerStarts指定监听或所有监听SyntaxandOptionssrvctlstartlistener[-llistener_name]Examplesrvctlstartlistener-llistenersrvctlstartonsStartsONS.SyntaxandOptionssrvctlstartons–vsrvctlstartserviceStarts指定的数据库服务或服务SyntaxandOptionssrvctlstartservice-ddb_unique_name[-sservice_name_list][-ostart_options]Examplesrvctlstartservice-ddbcrm-ssalesstatus显示指定组件状态表-11status命令摘要srvctlstatusasm显示OracleASM实例状态SyntaxandOptionssrvctlstatusasm[-a]ExamplesrvctlstatusasmASMisrunningondbhostsrvctlstatusdatabase显示指定数据库实例状态SyntaxandOptionssrvctlstatusdatabase-ddb_unique_name[-f][-v]Examplesrvctlstatusdatabase-ddbcrm-vsrvctlstatusdiskgroup显示指定OracleASM磁盘组状态SyntaxandOptionssrvctlstatusdiskgroup-gdiskgroup_nameExamplesrvctlstatusdiskgroup-gDATAsrvctlstatushome显示指定Oraclehome中OracleRestatus管理的所有组件状态这个命令将当前状态写入statefileSyntaxandOptionssrvctlstatushome-ooracle_home-sstate_filesrvctlstatuslistener显示指定监听或所有监听状态SyntaxandOptionssrvctlstatuslistener[-llistener_name]Examplesrvctlstatuslistener-llistenersrvctlstatusons显示ONS状态SyntaxandOptionssrvctlstatusons–vsrvctlstatusservice显示指定的数据库服务状态SyntaxandOptionssrvctlstatusservice-ddb_unique_name[-sservice_name_list][-ostatus_options]Examplesrvctlstatusservice-ddbcrm-ssalesstop启动指定组件表-11stop命令摘要srvctlstopasmStopsOracleASM实例为此命令,SRVCTLconnects/assysasm执行这个命令,执行这个操作,OracleGridInfrastructurehome下的命令程序的所有者必须是OSASM组成员运行这个命令也必须是OSASM组成员SyntaxandOptionssrvctlstopasm[-ostop_options][-f]Examplessrvctlstopasm-oabort-fsrvctlstopdatabaseStops指定数据库实例SyntaxandOptionssrvctlstopdatabase-ddb_unique_name[-ostop_options][-f]Examplesrvctlstopdatabase-ddbcrmsrvctlstopdiskgroupStopsmountst指定OracleASM磁盘组SyntaxandOptionssrvctlstopdiskgroup-gdiskgroup_name[-f]Examplesrvctlstopdiskgroup-gDATAsrvctlstophomeStops在指定Oraclehome中OracleRestart管理的所有组件这个命令stops那些被srvctlstop命令停止组件这个命令使用指定的状态文件中的信息启动组件注一般用户补丁OracleHome后重启组件SyntaxandOptionssrvctlstophome-ooracle_home-sstate_file[-tstop_options][-f]srvctlstoplistenerStops指定监听或所有监听SyntaxandOptionssrvctlstoplistener[-llistener_name][-f]Examplesrvctlstoplistener-llistenersrvctlstoponsStopsONS.SyntaxandOptionssrvctlstopons–vsrvctlstopserviceStops指定的数据库服务或服务SyntaxandOptionssrvctlstopservice-ddb_unique_name[-sservice_name_list][-ostop_options][-f]Examplesrvctlstopservice-ddbcrm-ssalesunsetenv撤消Oraclerestart配置中的数据库,监听器或OracleASM实例的环境变量表-12setenv命令摘要srvctlunsetenvasm撤销OracleASM实例的环境变量配置SyntaxandOptionssrvctlunsetenvasm[-tname_list]Examplesrvctlunsetenvasm-tAIXTHREAD_SCOPE=SExamplesrvctlunsetenvasm-tAIXTHREAD_SCOPEsrvctlunsetenvdatabase撤销指定数据库的环境变量配置SyntaxandOptionssrvctlunsetenvdatabase-ddb_unique_name[-tname_list]Examplesrvctlunsetenvdatabase-ddbcrm-tAIXTHREAD_SCOPEsrvctlunsetenvlistener撤销指定监听器的环境变量配置SyntaxandOptionssrvctlunsetenvlistener[-llistener_name][-tname_list]Examplesrvctlunsetenvlistener-lcrmlistener-tAIXTHREAD_SCOPECRSCTL命令参考crsctl命令语法综述crsctlcommandhas其中command是一个动作如startstop或enable这里has对象指出Oracle高可用性服务,表-13是command的完全列表check显示OracleRestart状态SyntaxandOptionscrsctlcheckhasconfig显示OracleRestart配置SyntaxandOptionscrsctlconfighasdisableDisables显示OracleRestart配置SyntaxandOptionscrsctldisablehasenableEnables显示OracleRestart配置SyntaxandOptionscrsctlenablehasstart启动OracleRestart.SyntaxandOptionscrsctlstarthasstop停止OracleRestart.SyntaxandOptionscrsctlstophas[-f]组件描述DatabaseInstanceOracleRestart能够容纳一个主机上有多个数据库OracleNetlistener-Databaseservices不包含默认的服务,因为它由Oracle数据库自动管理OracleAutomaticStorageManagementOracleASMinstance-OracleASMdiskgroups重新启动磁盘组并装载它OracleNotificationServicesONS在单机的服务环境,ONS能够拥有OracleDataGuard在主库和备库之间的自动failover,通过FastApplicationNotificationFAN.ONS是一个服务为发送FAN事件到integratedclientsuponfailover.建立操作建立组件是否自动加入OracleRestart配置使用OUI或DBCA建立数据库Yes使用CREATEDATABASE语句建立数据库NoOUIDBCA或ASMCA建立ASM实例Yes建立磁盘组任何方法Yes使用NETCA添加监听器Yes使用SRVCTL建立数据库服务Yes通过SERVICE_NAMES参数建立服务No使用DBMS_SERVICE.CREATE_SERVICE建立服务No建立一个standbydatabaseNo操作从OracleRestartConfiguration中自动删除组件使用DBCA删除数据库Yes使用操作系统命令删除数据库文件No使用NETCA删除监听Yes删除ASM磁盘组任何方法Yes使用SRVCTL删除数据库服务Yes删除数据库服务通过其它方法No参数描述VERSION事件记录版本,表示发布版变化EVENTTYPESERVICESERVICE_MEMBERDATABASEINSTANCENODEASMSRV_PRECONNECT注意database或Instance类型提供给databaseservice如DB_UNIQUE_NAME.DB_DOMAIN.DATABASEUNIQUENAME服务的唯一数据库名与初始化参数DB_UNIQUE_NAME的值匹配,这个参数默认是DB_NAME的值INSTANCE服务的实例名匹配ORACLE_SID值.NODENAME节点或服务的节点名已停用匹配ClusterSynchronizationServicesCSS的节点名SERVICE服务名;匹配在DBA_SERVICES中STATUS状态值包含UPDOWNNOT_RESTARTINGPRECONN_UPPRECONN_DOWN和UNKNOWN.REASONData_Guard_FailoverFailureDependencyUserAutostartRestart.CARDINALITY当前活动的服务成员数;包含UP事件中TIMESTAMPThelocaltimezonetousewhenorderingnotificationevents.FAN参数MatchingOracleDatabaseSignatureSERVICEsys_contextuserenvservice_nameDATABASEUNIQUENAMEsys_contextuserenvdb_unique_nameINSTANCEsys_contextuserenvinstance_nameNODENAMEsys_contextuserenvserver_host配置的组件运行SRVCTL的OracleHomeDatabasedatabaseserviceDatabasehomeOracleASMinstancediskgrouplistenerONSOracleGridInfrastructurehomeCommandDescriptionadd增加一个主键到OracleRestart配置config显示组件的OracleRestart配置disable禁用组件OracleRestart管理enable启用组件OracleRestart管理getenv显示databaseOracleASMinstance或listener组件OracleRestart配置的环境变量modify改变组件OracleRestart配置remove从OracleRestart配置中移除组件.setenv设置databaseOracleASMinstance或listener组件OracleRestart配置的环境变量start启动指定组件.status显示指定组件状态stop停止指定组件unsetenv撤消databaseOracleASMinstance或listener组件OracleRestart配置的环境变量ComponentAbbreviationDescriptionasmasmOracleASMinstancedatabasedbDatabaseinstancediskgroupdgOracleASMdiskgroupfilesystemfilesystemOracleASMfilesystemhomehomeOraclehomeorOracleClusterwarehomelistenerlsnrOracleNetlistenerserviceservDatabaseserviceonsonsOracleNotificationServicesONSCommandDescriptionsrvctladdasmAddsanOracleASMinstance.srvctladddatabaseAddsadatabase.srvctladdlistenerAddsalistener.srvctladdonsAddsanONSusedbyOracleDataGuardconfigurationswithOracleDataGuardBroker.srvctladdserviceAddsadatabaseservicemanagedbyOracleRestart.OptionDescription-llistener_nameOracleASM应注册到的监听名与监听器建立一个弱关系在启动OracleASM实例前,OracleRestart尝试启动监听如果监听没有启动,OracleASM仍然启动如果监听之后失败,OracleRestart不会重启OracleASM.默认注册到默认监听器listener-pspfile数据库服务器参数文件全路径,默认使用spfile-dasm_diskstringOracleASMdiskgroupdiscoverystring.OracleASMdiscoverystring是逗号隔开的字符串,限制OracleASMinstancediscovers的磁盘Thediscoverystrings能够保护通配符仅匹配字符串的磁盘能够被发现SyntaxDescription-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME.-oOracle_home数据库Oraclehome的完全路径-mdomain_name数据库域必须匹配初始化参数DB_DOMAIN-ndb_name如果提供,必须匹配初始化参数DB_NAME你必须包括这个选择,如果DB_NAME和-d选择设置的数据库唯一名不同-pspfile服务器参数文件完全路径如果忽略默认SPFILE-sstart_options数据库启动选项OPENMOUNT或NOMOUNT如果忽略,默认OPEN.-tstop_options数据库关闭选项NORMALIMMEDIATETRANSACTIONAL或ABORT如果忽略默认IMMEDIATE.-r{PRIMARY|PHYSICAL_STANDBY|LOGICAL_STANDBY|SNAPSHOT_STANDBY}当前数据库角色PRIMARYPHYSICAL_STANDBYSNAPSHOT_STANDBY或LOGICAL_STANDBY仅用于OracleDataGuard环境-y{AUTOMATIC|MANUAL}数据库管理策略如果AUTOMATIC默认数据库将自动恢复到数据库主机重启之前运行的状态started或stopped如果手动,将不会自动恢复手动设置不会阻止OracleRestart监视数据库运行和重启,如果数据库失败-adisk_group_list数据库相关磁盘组列表当启动数据库时OracleRestart首先确保磁盘组装载这个选项仅在添加数据库是数据库实例与OracleASM实例没有启动时必须否则将自动添加相关性OptionDescription-llistener_name监听名,默认LISTENER-pendpoints逗号间隔的TCP端口或listenerendpoints默认TCP:1521endpointssyntaxis:[TCP:]port[...][/IPC:key][/NMP:pipe_name][/TCPS:s_port][/SDP:port]-s忽略检查端口冲突-oOracle_home监听的Oraclehome默认假定是OracleGridInfrastructurehomeOptionDescription-eem_portONS监听端口,为OracleEnterpriseManager默认2016-lons_local_portONS监听端口,为localclientconnections默认
6100.-rons_remote_portONS监听端口,为connectionsfromremotehosts默认
6200.-thost[:port][host[:port]...ONSnetwork的远程主机对应的host:port列表注如果远程主机端口没有指定,那么使用ons_remote_port-vVerboseoutputOptionDescription-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME-sservice_name数据库服务名-l[PRIMARY][PHYSICAL_STANDBY][LOGICAL_STANDBY][SNAPSHOT_STANDBY]服务角色,仅用于OracleDataGuard环境当此选项设置时,根据数据库的启动,此服务仅在服务角色匹配数据库角色时启动-y{AUTOMATIC|MANUAL}服务管理策略如果AUTOMATIC默认服务将自动恢复到数据库主机重启之前运行的状态started或stopped如果手动,将不会自动恢复手动设置不会阻止OracleRestart监视服务运行和重启,如果服务失败-e{NONE|SESSION|SELECT}Failover类型对于独立服务器,仅用于OracleDataGuard环境-m{NONE|BASIC}Failover方法,对于独立服务器,仅用于OracleDataGuard环境-wintegerFailover延时,对于独立服务器,仅用于OracleDataGuard环境-zintegerFailover重试次数,对于独立服务器,仅用于OracleDataGuard环境-j{SHORT|LONG}Connectionloadbalancinggoal-B{SERVICE_TIME|THROUGHPUT|NONE}Runtimeloadbalancinggoal-q{TRUE|FALSE}发送OracleAdvancedQueuingAQHA通知,对于独立服务器,仅用于OracleDataGuard环境-tedition_nameTheinitialsessioneditionoftheserviceWhenaneditionisspecifiedforaserviceallsubsequentconnectionsthatspecifytheserviceusethiseditionastheinitialsessionedition.Howeverifasessionconnectionspecifiesadifferenteditionthentheeditionspecifiedinthesessionconnectionisusedfortheinitialsessionedition.SRVCTLdoesnotvalidatethespecifiededitionname.DuringconnectiontheconnectusermusthaveUSEprivilegeonthespecifiededition.IftheeditiondoesnotexistoriftheconnectuserdoesnothaveUSEprivilegeonthespecifiededitionthenanerrorisraised.CommandDescriptionsrvctlconfigasm显示ASM实例的OracleRestartconfiguration信息srvctlconfigdatabase显示指定数据库的OracleRestartconfiguration信息,或oracleRestart管理的数据库列表srvctlconfiglistener显示所有监听其或指定监听器的OracleRestartconfiguration信息srvctlconfigons显示ONS当前配置信息srvctlconfigservice对指定数据库,显示指定数据库服务或所有数据库服务的OracleRestartconfiguration信息OptionDescription-a也显示enabled/disabled状态OptionDescription-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME-a也显示enabled/disabled状态OptionDescription-llistener_name监听名如果忽略,显示OracleRestart管理的所有监听器OptionDescription-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME-sservice_name数据库服务名如果忽略,SRVCTL显示Oraclerestart管理的这个数据库的所有服务-a显示详细配置信息CommandDescriptionsrvctldisableasmDisablesOracleASM实例srvctldisabledatabaseDisables指定数据库srvctldisablediskgroupDisablesOracleASM磁盘组srvctldisablelistenerDisables指定监听或所有监听srvctldisableonsDisablesONSsrvctldisableservice为指定数据库Disables一个或多个数据库服务-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAMEOptionDescription-gdiskgroup_name磁盘组名OptionDescription-llistener_name监听名,如果忽略,所有监听器disabled.OptionDescription-v详细输出OptionDescription-ddb_unique_name如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME-sservice_name_list逗号间隔的数据库服务名列表CommandDescriptionsrvctlenableasmEnablesOracleASM实例srvctlenabledatabaseEnables指定数据库srvctlenablediskgroupEnablesOracleASM磁盘组srvctlenablelistenerEnables指定监听或所有监听srvctlenableonsEnablesONSsrvctlenableservice为指定数据库Enables一个或多个数据库服务-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAMEOptionDescription-gdiskgroup_name磁盘组名OptionDescription-llistener_name监听名,如果忽略,所有监听器enabled.OptionDescription-v详细输出OptionDescription-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME-sservice_name_list逗号间隔的数据库服务名列表CommandDescriptionsrvctlgetenvasm显示OracleASM实例的环境变量配置srvctlgetenvdatabase显示指定数据库的环境变量配置srvctlgetenvlistener显示指定监听器的环境变量配置OptionsDescription-tname_list逗号间隔的环境变量名,默认显示所有配置的变量OptionsDescription-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME-tname_list逗号间隔的环境变量名,默认显示所有配置的变量OptionsDescription-llistener_name监听名,如果忽略,SRVCTL列出所有监听的环境变量-tname_list逗号间隔的环境变量名,默认显示所有配置的变量CommandDescriptionsrvctlmodifyasm修改ASM实例的OracleRestartconfiguration信息srvctlmodifydatabase修改指定数据库的OracleRestartconfiguration信息srvctlmodifylistener修改指定监听器的OracleRestartconfiguration信息srvctlmodifyons修改ONS当前配置信息srvctlmodifyservice对指定数据库,修改指定数据库服务的OracleRestartconfiguration信息OptionDescription-llistener_nameOracleASM应注册到的监听名与监听器建立一个弱关系在启动OracleASM实例前,OracleRestart尝试启动监听如果监听没有启动,OracleASM仍然启动如果监听之后失败,OracleRestart不会重启OracleASM.默认注册到默认监听器listener-pspfile数据库服务器参数文件全路径,默认使用spfile-dasm_diskstringOracleASMdiskgroupdiscoverystring.OracleASMdiscoverystring是逗号隔开的字符串,限制OracleASMinstancediscovers的磁盘Thediscoverystrings能够保护通配符仅匹配字符串的磁盘能够被发现SyntaxDescription-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME.-uoracle_userOraclehome目录所有者的用户名-z移出这个数据库在OracleASM磁盘组的相关性-oOracle_home数据库Oraclehome的完全路径-mdomain_name数据库域必须匹配初始化参数DB_DOMAIN-ndb_name如果提供,必须匹配初始化参数DB_NAME你必须包括这个选择,如果DB_NAME和-d选择设置的数据库唯一名不同-pspfile服务器参数文件完全路径如果忽略默认SPFILE-sstart_options数据库启动选项OPENMOUNT或NOMOUNT如果忽略,默认OPEN.-tstop_options数据库关闭选项NORMALIMMEDIATETRANSACTIONAL或ABORT如果忽略默认IMMEDIATE.-r{PRIMARY|PHYSICAL_STANDBY|LOGICAL_STANDBY|SNAPSHOT_STANDBY}当前数据库角色PRIMARYPHYSICAL_STANDBYSNAPSHOT_STANDBY或LOGICAL_STANDBY仅用于OracleDataGuard环境-y{AUTOMATIC|MANUAL}数据库管理策略如果AUTOMATIC默认数据库将自动恢复到数据库主机重启之前运行的状态started或stopped如果手动,将不会自动恢复手动设置不会阻止OracleRestart监视数据库运行和重启,如果数据库失败-adisk_group_list数据库相关磁盘组列表当启动数据库时OracleRestart首先确保磁盘组装载这个选项仅在添加数据库是数据库实例与OracleASM实例没有启动时必须否则将自动添加相关性OptionDescription-llistener_name监听名,如果忽略,所有监听器被改变-pendpoints逗号间隔的TCP端口或listenerendpoints默认TCP:1521endpointssyntaxis:[TCP:]port[...][/IPC:key][/NMP:pipe_name][/TCPS:s_port][/SDP:port]-oOracle_home监听器新的OracleHome目录OptionDescription-eem_portONS监听端口,为OracleEnterpriseManager默认2016-lons_local_portONS监听端口,为localclientconnections默认
6100.-rons_remote_portONS监听端口,为connectionsfromremotehosts默认
6200.-thost[:port][host[:port]...ONSnetwork的远程主机对应的host:port列表注如果远程主机端口没有指定,那么使用ons_remote_port-vVerboseoutputOptionDescription-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME-sservice_name数据库服务名-l[PRIMARY][PHYSICAL_STANDBY][LOGICAL_STANDBY][SNAPSHOT_STANDBY]服务角色,仅用于OracleDataGuard环境当此选项设置时,根据数据库的启动,此服务仅在服务角色匹配数据库角色时启动-y{AUTOMATIC|MANUAL}服务管理策略如果AUTOMATIC默认服务将自动恢复到数据库主机重启之前运行的状态started或stopped如果手动,将不会自动恢复手动设置不会阻止OracleRestart监视服务运行和重启,如果服务失败-e{NONE|SESSION|SELECT}Failover类型对于独立服务器,仅用于OracleDataGuard环境-m{NONE|BASIC}Failover方法,对于独立服务器,仅用于OracleDataGuard环境-wintegerFailover延时,对于独立服务器,仅用于OracleDataGuard环境-zintegerFailover重试次数,对于独立服务器,仅用于OracleDataGuard环境-j{SHORT|LONG}Connectionloadbalancinggoal-B{SERVICE_TIME|THROUGHPUT|NONE}Runtimeloadbalancinggoal-q{TRUE|FALSE}发送OracleAdvancedQueuingAQHA通知,对于独立服务器,仅用于OracleDataGuard环境-tedition_nameTheinitialsessioneditionoftheserviceWhenaneditionisspecifiedforaserviceallsubsequentconnectionsthatspecifytheserviceusethiseditionastheinitialsessionedition.Howeverifasessionconnectionspecifiesadifferenteditionthentheeditionspecifiedinthesessionconnectionisusedfortheinitialsessionedition.SRVCTLdoesnotvalidatethespecifiededitionname.DuringconnectiontheconnectusermusthaveUSEprivilegeonthespecifiededition.IftheeditiondoesnotexistoriftheconnectuserdoesnothaveUSEprivilegeonthespecifiededitionthenanerrorisraised.CommandDescriptionsrvctlremoveasmRemovesOracleASM实例srvctlremovedatabaseRemoves数据库srvctlremovediskgroupRemovesOracleASM磁盘组srvctlremovelistenerRemoves监听器srvctlremoveonsRemovesanONSsrvctlremoveserviceRemoves一个或多个数据库服务OptionsDescription-f强制remove即使存在磁盘组和数据库在使用Oracle磁盘组,或OracleASM正在运行-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME-f强制,甚至正在运行-y忽略提示,立刻移除-v详细输出OptionDescription-gdiskgroup_name磁盘组名-f强制,甚至磁盘组有文件打开OptionDescription-llistener_name监听名,默认listener-f强制,甚至有数据库在使用它时-a移除所有监听器OptionDescription-v详细输出-f强制,甚至ONSenable时OptionDescription-ddb_unique_name如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME-sservice_name_list逗号间隔的数据库服务名列表-f强制,甚至服务正在运行,连接到服务的的任何活动事务将被回滚,连接的会话将被断开CommandDescriptionsrvctlsetenvasm设置OracleASM实例的环境变量配置srvctlsetenvdatabase设置指定数据库的环境变量配置srvctlsetenvlistener设置指定监听器的环境变量配置OptionsDescription-tname_list逗号间隔的环境变量名,默认设置所有配置的变量-T单个环境变量,当变量中包含逗号或其它特殊字符时OptionsDescription-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME-tname_list逗号间隔的环境变量名,默认设置所有配置的变量-T单个环境变量,当变量中包含逗号或其它特殊字符时OptionsDescription-llistener_name监听名,如果忽略,SRVCTL列出所有监听的环境变量-tname_list逗号间隔的环境变量名,默认设置所有配置的变量-T单个环境变量,当变量中包含逗号或其它特殊字符时CommandDescriptionsrvctlstartasmStartsOracleASM实例srvctlstartdatabaseStarts指定数据库srvctlstartdiskgroupStartsmountst指定OracleASM磁盘组srvctlstarthomeStarts在指定Oraclehome中OracleRestart管理的所有组件srvctlstartlistenerStarts指定监听或所有监听srvctlstartonsStartsONSsrvctlstartserviceStarts指定的数据库服务或服务OptionDescription-ostart_optionsstartupcommandoptionOPENMOUNTNOMOUNTorFORCE.如果忽略,默认openOptionDescription-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME-ostart_optionsstartupcommandoption例如:OPENMOUNTNOMOUNTRESTRICTPFILE=path等等OptionDescription-gdiskgroup_name磁盘组名OptionDescription-oOraclehome完全路径-sstatefile完全此statefile包含OracleHome的当前状态信息,在运行srvctlstophome命令或srvctlstatushome命令时建立OptionDescription-llistener_name监听名,如果忽略,所有监听器started.OptionDescription-v详细输出OptionDescription-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME-sservice_name_list服务名列表,如果没有提供,srvctl停止此数据库的所有服务-ostart_options数据库启动选项option例如:OPENMOUNTNOMOUNT等等,如果数据库必须首先启动CommandDescriptionsrvctlstatusasm显示OracleASM实例状态srvctlstatusdatabase显示指定数据库状态srvctlstatusdiskgroup显示指定OracleASM磁盘组状态srvctlstatushome显示指定Oraclehome中OracleRestart管理的所有组件状态srvctlstatuslistener显示指定监听或所有监听状态srvctlstatusons显示ONS状态srvctlstatusservice显示指定的数据库服务或服务状态OptionDescription-a也显示enabled/disabled状态OptionDescription-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME-f显示消息,如果数据库是disable-v详细输出,列出数据库服务OptionDescription-gdiskgroup_name磁盘组名-a也显示enabled/disabled状态OptionDescription-oOraclehome完全路径-sstatefile完全此statefile包含OracleHome的当前状态信息,在运行srvctlstophome命令或srvctlstatushome命令时建立OptionDescription-llistener_name监听名,如果忽略,所有监听器statused.OptionDescription-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME-sservice_name_list服务名列表,如果没有提供,srvctl停止此数据库的所有服务-f显示消息,如果数据库服务是disable-v详细输出,列出数据库服务CommandDescriptionsrvctlstopasmStopsOracleASM实例srvctlstopdatabaseStops指定数据库srvctlstopdiskgroupStops指定OracleASM磁盘组srvctlstophomeStops在指定Oraclehome中OracleRestart管理的所有组件srvctlstoplistenerStops指定监听或所有监听srvctlstoponsStopsONSsrvctlstopserviceStops指定的数据库服务或服务OptionDescription-ostop_optionsstopoptionNORMALTRANSACTIONALIMMEDIATEorABORT-f强制,如果磁盘组当前状态时mounted时必须此选项使OracleASM实例在停止前先停止磁盘组相关的数据库实例也被停止OptionDescription-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME-ostop_optionsstopoption例如:NORMALTRANSACTIONALIMMEDIATEorABORT等等默认immediate-f执行数据库abortOptionDescription-gdiskgroup_name磁盘组名-fdisable磁盘组,即使文件被打开OptionDescription-oOraclehome完全路径-sstatefile完全此statefile包含OracleHome的当前状态信息,在运行srvctlstophome命令或srvctlstatushome命令时建立-ostop_optionsstopoption例如:NORMALTRANSACTIONALIMMEDIATEorABORT等等默认immediate-f强制停止每个组件OptionDescription-llistener_name监听名,如果忽略,所有监听器stoped.-f强制,clusterware忽略-f选项OptionDescription-v详细输出OptionDescription-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME-sservice_name_list服务名列表,如果没有提供,srvctl停止此数据库的所有服务-f强制这个选项立刻断开连接停止服务,不提交或回滚如果选项忽略,活动会话将保留连接,但是阻止新的连接CommandDescriptionsrvctlunsetenvasm撤销OracleASM实例的环境变量配置srvctlunsetenvdatabase撤销指定数据库的环境变量配置srvctlunsetenvlistener撤销指定监听器的环境变量配置OptionsDescription-tname_list逗号间隔的环境变量名,默认设置所有配置的变量OptionsDescription-ddb_unique_name数据库唯一名,必须匹配初始化参数设置的DB_UNIQUE_NAME,如果DB_UNIQUE_NAME未指定,那么这个选项必须匹配初始化参数设置的DB_NAME默认设置DB_UNIQUE_NAME使用DB_NAME-tname_list逗号间隔的环境变量名,默认设置所有配置的变量OptionsDescription-llistener_name监听名,如果忽略,SRVCTL列出所有监听的环境变量-tname_list逗号间隔的环境变量名,默认设置所有配置的变量CommandDescriptioncheck显示OracleRestart状态config显示OracleRestart配置disableDisablesOracleRestart的自动重启enableEnablesOracleRestart的自动重启start启动OracleRestart.stop停止OracleRestart.OptionsDescription-f强制如果Oraclerestart管理的任何资源仍然在运行,那么尝试友好的停止这些资源如果资源不能友好的停止,那么尝试强制停止这些资源例如如果OracleASM实例正在运行,那么使用SHUTDOWNIMMEDIATE试图停止OracleASM实例,SHUTDOWNABORT试图强制OracleASM实例停止当-f选项没有指定时,这个命令尝试友好的停止Oraclerestart管理的资源,但是不会强制停止它们。