您好,登錄后才能下訂單哦!
SRVCTL概述
SRVCTL是ORACLE RAC集群配置管理的工具,可以管理Database、Instance、ASM、Service、Listener和Node Application,Node Application包括GSD,ONS,VIP。srvctl的命令格式為
srvctl <command> <target> [options]
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
如果需要跟蹤srvctl命令的信息,需設(shè)置OS的SRVM_TRACE=true
$export SRVM_TRACE=true
$ srvctl config database -d czmmiao|more
/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/ora
cle/product/10.2.0/db_1/srvm/jlib/srvctl.jar -DTRACING.ENABLED=true -DTRACING.LEVEL=2 oracle.ops.opsctl.OPSCTLDriver config database
-d czmmiao
[main] [21:18:59:903] [OPSCTLDriver.setInternalDebugLevel:165] tracing is true at level 2 to file null
[main] [21:19:0:36] [OPSCTLDriver.<init>:95] Security manager is set
..................................................................
1、SRVCTL Config命令
顯示OCR中所有注冊(cè)的數(shù)據(jù)庫
$ srvctl config database
czmmiao
-d選項(xiàng)可以查看特定數(shù)據(jù)庫配置,下面的配置顯示,rac1節(jié)點(diǎn)上運(yùn)行有czmmmiao1實(shí)例,$ORACLE_HOME為/u01/app/oracle/product/10.2.0/crs
$ srvctl config database -d czmmiao
rac1 czmmiao1 /u01/app/oracle/product/10.2.0/crs
rac2 czmmiao2 /u01/app/oracle/product/10.2.0/crs
-a選項(xiàng)查看詳細(xì)信息
$ srvctl config database -d czmmiao -a
czmmiao2 czmmiao1 /u01/app/oracle/product/10.2.0/crs
czmmiao1 czmmiao2 /u01/app/oracle/product/10.2.0/crs
DB_NAME: czmmiao
ORACLE_HOME: /u01/app/oracle/product/10.2.0/crs
SPFILE: +DATA/czmmiao/spfileczmmiao.ora
DOMAIN: null
DB_ROLE: null
START_OPTIONS: null
POLICY: AUTOMATIC
ENABLE FLAG: DB ENABLED
查看Node Application的配置
$ srvctl config nodeapps -n czmmiao1
rac1 czmmiao2 /u01/app/oracle/product/10.2.0/crs
查看VIP配置
$ srvctl config nodeapps -n czmmiao1 -a
VIP exists.: /czmmiao1-vip/192.168.2.113/255.255.255.0/eth2
查看GSD配置
$ srvctl config nodeapps -n czmmiao1 -g
GSD exists.
查看ONS配置
$ srvctl config nodeapps -n czmmiao1 -s
ONS daemon exists.
查看listener配置
$ srvctl config nodeapps -n czmmiao1 -l
Listener exists.
查看listener配置
$ srvctl config listener -n czmmiao1
czmmiao1 LISTENER_CZMMIAO1
查看ASM,輸出的為ASM實(shí)例的$ORACLE_HOME
$ srvctl config asm -n czmmiao1
+ASM2 /u01/app/oracle/product/10.2.0/crs
查看數(shù)據(jù)庫所有Service配置
$ srvctl config service -d czmmiao -a
olap PREF: czmmiao2 AVAIL: czmmiao1 TAF: basic
查看某個(gè)Service的配置
$ srvctl config service -d czmmiao -s olap
olap PREF: czmmiao2 AVAIL: czmmiao1
查看某個(gè)Service的配置,包括TAF策略
$ srvctl config service -d czmmiao -s olap -a
olap PREF: czmmiao2 AVAIL: czmmiao1 TAF: basic
關(guān)于TAF策略配置,可以參見筆者的如下博客
http://czmmiao.iteye.com/blog/1735773
2、SRVCTL Add命令
添加數(shù)據(jù)庫或?qū)嵗呐渲眯畔?。在增加?shí)例中,與-i一起指定的名字應(yīng)該與INSTANCE_NAME 和 ORACLE_SID參數(shù)匹配。
srvctl add database -d <database name> [-m domain_name] -o <ORACLE_HOME path> -p <spfile location and name>
srvctl add instance -d <database name> -i <instance 1 name> -n <node 1 name >
srvctl add instance -d <database name> -i <instance 2 name> -n <node 2 name >
命令參數(shù):
-m 數(shù)據(jù)庫域名 格式如”us.oracle.com”
指定的數(shù)據(jù)庫域名必須匹配數(shù)據(jù)庫INIT.ORA或者SPFILE中DB_DOMAIN 和DB_NAME參數(shù)。在增加數(shù)據(jù)庫時(shí),-d指定的數(shù)據(jù)庫名必須與DB_NAME參數(shù)匹配
-n 實(shí)例節(jié)點(diǎn)名
-o $ORACLE_HOME(用來確定lsnrctl和Oracle等命令路徑)
-p SPFILE 文件名
-S 服務(wù)名
-r 首選實(shí)例名
-a 備選實(shí)例名
-P TAF策略
$srvctl add database -d RAC -o /u01/oracle/product/10.2.0/db_1 -p +RAC_DISK/rac/spfilerac.ora
$srvctl add instance -d RAC -i rac1 -n node1 -o$ORACLE_HOME
$srvctl add service -d RAC -s Service2 -r "RAC1,RAC2" -a "RAC3,RAC4" -P basic
3、SRVCTL enable/disable命令
缺省情況下數(shù)據(jù)庫、實(shí)例、服務(wù)、ASM都是隨著CRS的啟動(dòng)而自動(dòng)啟動(dòng)的,有時(shí)由于維護(hù)需要,可以先關(guān)閉這個(gè)特性
$srvctl enable database -d czmmiao
$srvctl disable database -d czmmiao
4、SRVCTL Modify命令
修改實(shí)例的節(jié)點(diǎn)配置信息,這些修改會(huì)在程序下次重新啟動(dòng)后生效,修改后的信息將永久保存。
srvctl modify instance -d database_name -i instance_name -n node_name
Eg:
$srvctl modify instance -d rac -n new_node
5、SRVCTL Remove命令
這是用來刪除SRVM庫中配置信息的命令,對(duì)象相關(guān)的環(huán)境設(shè)置也同樣刪除,如果你未使用強(qiáng)制標(biāo)志(-f),ORACLE將提示你確認(rèn)是否刪除。
使用強(qiáng)制選項(xiàng)(-f),刪除操作將不進(jìn)行提示
srvctl remove database -d database_name [-f]
srvctl remove instance -d database_name -i instance_name [-f]
命令參數(shù):
-f 強(qiáng)制刪除應(yīng)用時(shí)不進(jìn)行確認(rèn)提示
Eg:
$srvctl remove database -d rac
$srvctl remove instance -d rac -i rac1
$srvctl remove instance -d rac -i rac2
6、SRVCTL Start命令
啟動(dòng)數(shù)據(jù)庫,所有實(shí)例或指定的實(shí)例,及啟動(dòng)所有相關(guān)未啟動(dòng)的監(jiān)聽。
注:對(duì)于start命令和其它一些可以使用連接字符串的操作,如果你不提供連接字符串,那么ORACLE會(huì)使用”/ as sysdba”在實(shí)例上執(zhí)行相關(guān)的操作。另外,要執(zhí)行類似的操作,你必須是OSDBA組的成員。
srvctl start database -d database_name [-o start_options] [-c connect_string]
srvctl start instance -d database_name -i instance_name [,instance_name-list] [-o start_options][-c connect_string]
命令參數(shù):
-o 在SQL*Plus直接傳遞的startup命令選項(xiàng),可以包括PFILE
-c 使用SQL*Plus連接數(shù)據(jù)庫實(shí)例的連接字符串
Eg:
$srvctl start database -d rac
$ srvctl stop database -d rac -c “SYS/SYS_password as SYSDBA”
$srvctl start instance -d rac -i rac1,rac2
啟停監(jiān)聽
$ srvctl stop listener -n node [-l listenername]
$srvctl start listener -n node1
$srvctl stop listener -n node2
SRVCTL命令的小bug具體參見
http://yangtingkun.itpub.net/post/468/275571
如果用srvctl關(guān)閉監(jiān)聽后,再用lsnrctl start打開監(jiān)聽。這時(shí)srvctl仍然認(rèn)為監(jiān)聽已經(jīng)關(guān)閉。因此,再次使用srvctl關(guān)閉監(jiān)聽,似乎srvctl根本沒有去執(zhí)行。如果希望srvctl可以關(guān)閉監(jiān)聽,那么需要先用srvctl啟動(dòng)監(jiān)聽,然后再關(guān)閉。搜索了一下metalink,沒有發(fā)現(xiàn)關(guān)于這個(gè)問題的說明。而且,這個(gè)問題只在關(guān)閉監(jiān)聽時(shí)出現(xiàn),啟動(dòng)監(jiān)聽則沒有問題。svrctl顯然只記錄它自己的操作,而不去檢查listener真正的狀態(tài)。
7、SRVCTL Status命令
顯示指定數(shù)據(jù)庫的當(dāng)前狀態(tài)
srvctl status database -d database_name
srvctl status instance -d database_name -i instance_name [,instance_name-list]
Eg:
$srvctl status database -d rac
$srvctl status instance -d rac -i rac1,rac2
8、SRVCTL Stop命令
停止數(shù)據(jù)庫所有實(shí)例可者指定實(shí)例
srvctl stop database -d database_name [-o stop_options] [-c connect_string]
srvctl stop instance -d database_name -i instance_name [,instance_name_list] [-o stop_options][-c connect_string]
命令參數(shù):
-c 使用SQL*Plus連接數(shù)據(jù)庫實(shí)例的連接字符串
-o 在SQL*Plus直接傳遞的shutdown命令選項(xiàng)
Eg:
$srvctl stop database -d rac
$srvctl stop instance -d rac -i rac2
$ srvctl stop service -d db_name [-s service_name_list [-i inst_name]]
$ srvctl stop asm -n node
9、使用SRVCONFIG導(dǎo)入和導(dǎo)出RAW設(shè)備配置信息
可使用SRVCONFIG導(dǎo)入和導(dǎo)出RAW設(shè)備配置信息,不管配置文件是在集群文件系統(tǒng)上還是在RAW設(shè)備上。你可以使用這種方法來備份與恢復(fù)SRVM配置信息。
Eg:
下面的命令用來導(dǎo)出配置信息的內(nèi)容到你指定文件名的文本文件中。
$srvconfig -exp file_name
下面的命令用來從指定文本文件中導(dǎo)入配置信息到到你運(yùn)行命令的RAC環(huán)境配置信息庫。
$srvconfig -imp file_name
10、SRVCTL Getenv命令
getenv操作用來從SRVM配置文件中獲取與顯示環(huán)境變量
srvctl getenv database -d database_name [-t name[,name,……]]
srvctl getenv instance -d database_name -i instance_name [-t name[,name,……]]
Eg:
$srvctl getenv database -d rac
11、SRVCTL Setenv命令
設(shè)置SRVM配置文件中的環(huán)境變量值。
srvctl setenv database -d database_name -t [,name=value,……]
srvctl setenv instance -d database_name [-i instance_name] -t [,name=value,……]
Eg:
$srvctl setenv database -d rac -t LANG=en
12、SRVCTL Unsetenv命令
取消SRVM配置文件中環(huán)境變量定義值
srvctl unsetenv database -d database_name-t name[,name,……]
srvctl unsetenv instance -d database_name[-i instance_name] -t name[,name,……]
Eg:
$srvctl unsetenv database -d rac -t CLASSPATH
Updated @ 11-12-09 11:43
啟停數(shù)據(jù)庫
STARTUP:
node1$srvctl start nodeapps -n rac1
node1$srvctl start nodeapps -n rac2
node1$srvctl start asm -n rac1
node1$srvctl start asm -n rac2
node1$srvctl start database -d rac
node1$srvctl start service -d rac
node1$crs_stat -t
SHUTDOWN:
node1$srvctl stop service -d rac
node1$srvctl stop database -d rac
node1$srvctl stop asm -n rac2
node1$srvctl stop asm -n rac1
node1$srvctl stop nodeapps -n rac2
node1$srvctl stop nodeapps -n rac1
node1$crs_stat -t
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。