ORACLE RAC叢集配置管理工具-SRVCTL
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命令的資訊,需設定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中所有註冊的資料庫
$ srvctl config database
czmmiao
-d選項可以檢視特定資料庫配置,下面的配置顯示,rac1節點上執行有czmmmiao1例項,$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選項檢視詳細資訊
$ 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/eth1
檢視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例項的$ORACLE_HOME
$ srvctl config asm -n czmmiao1
+ASM2 /u01/app/oracle/product/10.2.0/crs
檢視資料庫所有Service配置
$ srvctl config service -d czmmiao -a
olap PREF: czmmiao2 AVAIL: czmmiao1 TAF: basic
檢視某個Service的配置
$ srvctl config service -d czmmiao -s olap
olap PREF: czmmiao2 AVAIL: czmmiao1
檢視某個Service的配置,包括TAF策略
$ srvctl config service -d czmmiao -s olap -a
olap PREF: czmmiao2 AVAIL: czmmiao1 TAF: basic
關於TAF策略配置,可以參見筆者的如下部落格
http://czmmiao.iteye.com/blog/1735773
2、SRVCTL Add命令
新增資料庫或例項的配置資訊。在增加例項中,與-i一起指定的名字應該與INSTANCE_NAME 和 ORACLE_SID引數匹配。
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 >
命令引數:
-m 資料庫域名 格式如”us.oracle.com”
指定的資料庫域名必須匹配資料庫INIT.ORA或者SPFILE中DB_DOMAIN 和DB_NAME引數。在增加資料庫時,-d指定的資料庫名必須與DB_NAME引數匹配
-n 例項節點名
-o $ORACLE_HOME(用來確定lsnrctl和Oracle等命令路徑)
-p SPFILE 檔名
-S 服務名
-r 首選例項名
-a 備選例項名
-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命令
預設情況下資料庫、例項、服務、ASM都是隨著CRS的啟動而自動啟動的,有時由於維護需要,可以先關閉這個特性
$srvctl enable database -d czmmiao
$srvctl disable database -d czmmiao
4、SRVCTL Modify命令
修改例項的節點配置資訊,這些修改會在程式下次重新啟動後生效,修改後的資訊將永久儲存。
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庫中配置資訊的命令,物件相關的環境設定也同樣刪除,如果你未使用強制標誌(-f),ORACLE將提示你確認是否刪除。
使用強制選項(-f),刪除操作將不進行提示
srvctl remove database -d database_name [-f]
srvctl remove instance -d database_name -i instance_name [-f]
命令引數:
-f 強制刪除應用時不進行確認提示
Eg:
$srvctl remove database -d rac
$srvctl remove instance -d rac -i rac1
$srvctl remove instance -d rac -i rac2
6、SRVCTL Start命令
啟動資料庫,所有例項或指定的例項,及啟動所有相關未啟動的監聽。
注:對於start命令和其它一些可以使用連線字串的操作,如果你不提供連線字串,那麼ORACLE會使用”/ as sysdba”在例項上執行相關的操作。另外,要執行類似的操作,你必須是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]
命令引數:
-o 在SQL*Plus直接傳遞的startup命令選項,可以包括PFILE
-c 使用SQL*Plus連線資料庫例項的連線字串
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
啟停監聽
$ 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關閉監聽後,再用lsnrctl start開啟監聽。這時srvctl仍然認為監聽已經關閉。因此,再次使用srvctl關閉監聽,似乎srvctl根本沒有去執行。如果希望srvctl可以關閉監聽,那麼需要先用srvctl啟動監聽,然後再關閉。搜尋了一下metalink,沒有發現關於這個問題的說明。而且,這個問題只在關閉監聽時出現,啟動監聽則沒有問題。svrctl顯然只記錄它自己的操作,而不去檢查listener真正的狀態。
7、SRVCTL Status命令
顯示指定資料庫的當前狀態
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命令
停止資料庫所有例項可者指定例項
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]
命令引數:
-c 使用SQL*Plus連線資料庫例項的連線字串
-o 在SQL*Plus直接傳遞的shutdown命令選項
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匯入和匯出RAW裝置配置資訊
可使用SRVCONFIG匯入和匯出RAW裝置配置資訊,不管配置檔案是在叢集檔案系統上還是在RAW裝置上。你可以使用這種方法來備份與恢復SRVM配置資訊。
Eg:
下面的命令用來匯出配置資訊的內容到你指定檔名的文字檔案中。
$srvconfig -exp file_name
下面的命令用來從指定文字檔案中匯入配置資訊到到你執行命令的RAC環境配置資訊庫。
$srvconfig -imp file_name
10、SRVCTL Getenv命令
getenv操作用來從SRVM配置檔案中獲取與顯示環境變數
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命令
設定SRVM配置檔案中的環境變數值。
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配置檔案中環境變數定義值
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
啟停資料庫
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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29757574/viewspace-2148395/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle RAC 診斷叢集狀態命令Oracle
- oracle 11.2.0.4 rac叢集等待事件enq: TM - contentionOracle事件ENQ
- Oracle叢集(RAC)時間同步(ntp和CTSS)Oracle
- Oracle RAC日常運維-NetworkManager導致叢集故障Oracle運維
- 【ASK_ORACLE】Relink RAC叢集詳細步驟Oracle
- Oracle Linux 6.7中 Oracle 11.2.0.4 RAC叢集CRS異常處理OracleLinux
- 沃趣微講堂 | Oracle叢集技術(二):GI與Oracle RACOracle
- 【RAC】Oracle RAC12c+ srvctl操作命令變化(引數更嚴謹了)Oracle
- oracle 12C RAC 12.1.0.2 叢集日誌(cluster log)目錄Oracle
- RAC 管理(crs_stat、crsctl、srvctl)
- Oracle:srvctl 簡介Oracle
- rac叢集日常維護命令
- ORACLE RAC 11.2.0.4 FOR RHEL6叢集無法啟動的處理Oracle
- oracle RAC手動配置互信Oracle
- Oracle 例項和RAC叢集下資料庫日誌目錄合集Oracle資料庫
- redis偽叢集配置Cluster叢集模式Redis模式
- Kafka叢集配置Kafka
- Oracle RAC叢集解除安裝步驟Oracle
- redis叢集管理工具HHDBCSRedis
- Oracle 11G RAC叢集安裝(3)——安裝OracleOracle
- 小知識:使用oracle使用者檢視RAC叢集資源狀態Oracle
- 私有IP丟失造成Oracle 12C RAC叢集節點不能啟動Oracle
- Oracle 11gR2 RAC 叢集服務啟動與關閉總結Oracle
- Oracle叢集時間同步Oracle
- 叢集管理工具C3
- Docker Elasticsearch 叢集配置DockerElasticsearch
- 【NETWORK】Oracle RAC 心跳地址配置說明Oracle
- Oracle叢集技術 | 叢集的自啟動系列(一)Oracle
- 4.5 通過SRVCTL 呼叫Oracle RestartOracleREST
- 紅色警報 ORACLE RAC 11.2.0.4 FOR SOLARIS 10 ASM 和DB因叢集心跳丟失重啟OracleASM
- ORACLE RAC 11.2.0.4 ASM加盤導致叢集重啟之ASM sga設定過小OracleASM
- Oracle叢集軟體管理-新增和刪除叢集節點Oracle
- 39_配置redis叢集Redis
- dubbo&nacos叢集配置
- linux 怎麼配置叢集Linux
- es 叢集配置推薦
- vCenter6.7 叢集配置
- Etcd叢集靜態配置
- Oracle 11gr2修改RAC叢集的scan ip,並處理ORA-12514問題Oracle