SRVCTL 命令參考
SRVCTL是ORACLEi RAC叢集配置管理的工具。本文是對SRVCTL的所有命令進行詳細說明的一篇參考文件。
SRVCTL Add
新增資料庫或例項的配置資訊。在增加例項中,與-i一起指定的名字應該與INSTANCE_NAME 和 ORACLE_SID引數匹配。
srvctl add database -d database_name [-m domain_name] -o oracle_home [-s spfile]
srvctl add instance -d database_name -i instance_name -n node_name
表- SRVCTL Add命令詳細選項
命令 選項
-m 資料庫域名 格式如"us.mydomain.com"
-m 選項指定的資料庫域名必須匹配資料庫INIT.ORA或者SPFILE中DB_DOMAIN 和DB_NAME引數。在增加資料庫時,-d指定的資料庫名必須與DB_NAME引數匹配
-n 例項節點名
-o $ORACLE_HOME(用來確定lsnrctl和Oracle等命令路徑)
-s SPFILE 檔名
例項:新增一個新的資料庫
srvctl add database -d mydb -o /ora/ora
例項:向資料庫新增例項
srvctl add instance -d mydb -i mydb0 -n gm0
srvctl add instance -d mydb -i mydb0 -n gm0
srvctl add instance -d mydb -i mydb0 -n gm0
SRVCTL Config
顯示儲存在SRVM配置檔案中的配置資訊
srvctl config database
顯示資料庫配置列表
srvctl config database -d database_name
資料庫配置資訊顯示的格式:
nodename instancename oraclehome
nodename instancename oraclehome
例項:顯示資料庫配置資訊
srvctl config database -d mydb
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,……]]
例項:列出資料庫的所有環境變數
srvctl getenv database -d mydb
SRVCTL Modify
修改例項的節點配置資訊。這些修改會在程式下次重新啟動後生效。修改後的資訊將永久儲存。
srvctl modify instance -d database_name -i instance_name -n node_name
例項:修改例項到另一個節點
srvctl modify instance -d mydb -n my_new_node
SRVCTL Remove
這是用來刪除SRVM庫中配置資訊的命令。物件相關的環境設定也同樣刪除。如果你未使用強制標誌(-f),ORACLE將提示你確認是否刪除。
使用強制選項(-f),刪除操作將不進行提示
srvctl remove database -d database_name [-f]
srvctl remove instance -d database_name -i instance_name [-f]
SRVCTL Remove命令詳細選項
-f 強制刪除應用時不進行確認提示
例項:刪除資料庫
srvctl remove database -d mydb
例項:刪除資料庫例項
srvctl remove instance -d mydb -i mydb0
srvctl remove instance -d mydb -i mydb0
srvctl remove instance -d mydb -i mydb0
SRVCTL Setenv
設定SRVM配置檔案中的環境變數值。
srvctl setenv database -d database_name -t name=value [,name=value,……]
srvctl setenv instance -d database_name [-i instance_name] -t name=value [,name=value,……]
例項:設定資料庫環境變數
srvctl setenv database -d mydb -t LANG=en
SRVCTL Start
啟動資料庫,所有例項或指定的例項,及啟動所有相關未啟動的監聽。
注:
對於start命令和其它一些可以使用連線字串的操作,如果你不提供連線字串,那麼ORACLE會使用"/ as sysdba"在例項上執行相關的操作。另外,要執行類似的操作,你必須是OSDBA組的成員。關於更多的OSDBA組許可權資訊,請參考ORACLEi的 安裝指南。
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]
表- SRVCTL Start命令詳細選項
命令 選項
-o 在SQL*Plus直接傳遞的startup命令選項,可以包括PFILE
-c 使用SQL*Plus連線資料庫例項的連線字串
例項:啟動資料庫及所有的例項
srvctl start database -d mydb
例項:啟動指定的例項
srvctl start instance -d mydb -i mydb,mydb
SRVCTL Status
顯示指定資料庫的當前狀態
srvctl status database -d database_name
srvctl status instance -d database_name -i instance_name [,instance_name-list]
例項:顯示資料和所有例項狀態
srvctl status database -d mydb
例項:顯示指定例項的狀態
srvctl status instance -d mydb -i mydb,mydb
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]
表- SRVCTL Stop命令詳細選項
命令 選項
-c 使用SQL*Plus連線資料庫例項的連線字串
-o 在SQL*Plus直接傳遞的shutdown命令選項
例項:停止資料庫所有的例項
srvctl stop database -d mydb
例項:停止指定例項
srvctl stop instance -d mydb -i mydb
SRVCTL Unsetenv
取消SRVM配置檔案中環境變數定義值
srvctl unsetenv database -d database_name-t name[,name,……]
srvctl unsetenv instance -d database_name[-i instance_name] -t name[,name,……]
例項:取消環境變數,回到預設值
srvctl unsetenv database -d mydb -t CLASSPATH
使用SRVCONFIG匯入和匯出RAW裝置配置資訊
你可使用SRVCONFIG匯入和匯出RAW裝置配置資訊,不管配置檔案是在叢集檔案系統上還是在RAW裝置上。你可以使用這種方法來備份與恢復SRVM配置資訊。
例如:
下面的命令用來匯出配置資訊的內容到你指定檔名的文字檔案中。
srvconfig -exp file_name
下面的命令用來從指定文字檔案中匯入配置資訊到到你執行命令的RAC環境配置資訊庫。
srvconfig -imp file_name
核實 RAC 叢集/資料庫配置
應在叢集的所有節點上執行以下 RAC 核實檢查!對於本指南,我將只從 linux1 中執行這些檢查。
本節提供了幾個可用於驗證 Oracle RAC 10g 配置的 srvctl 命令和 SQL 查詢。
有五個為 SRVCTL 定義的節點級任務:
- 新增和刪除節點級應用程式
- 設定和取消設定節點級應用程式的環境
- 管理節點應用程式
- 管理 ASM 例項
- 啟動和停止一組包含虛擬 IP 地址、監聽器、Oracle 通知服務和 Oracle 企業管理器代理的程式(出於維護目的)。
所有例項和服務的狀態
$ srvctl status database -d orcl
Instance orcl1 is running on node linux1
Instance orcl2 is running on node linux2
單個例項的狀態
$ srvctl status instance -d orcl -i orcl2
Instance orcl2 is running on node linux2
在資料庫全域性命名服務的狀態
$ srvctl status service -d orcl -s orcltest
Service orcltest is running on instance(s) orcl2, orcl1
特定節點上節點應用程式的狀態
$ srvctl status nodeapps -n linux1
VIP is running on node:linux1
GSD is running on node:linux1
Listener is running on node:linux1
ONS daemon is running on node:linux1
ASM 例項的狀態
$ srvctl status asm -n linux1
ASM instance +ASM1 is running on node linux1.
列出配置的所有資料庫
$ srvctl config database
orcl
顯示 RAC 資料庫的配置
$ srvctl config database -d orcl
linux1 orcl1 /u01/app/oracle/product/10.1.0/db_1
linux2 orcl2 /u01/app/oracle/product/10.1.0/db_1
顯示指定叢集資料庫的所有服務
$ srvctl config service -d orcl
orcltest PREF:orcl2 orcl1 AVAIL:
顯示節點應用程式的配置 -(VIP、GSD、ONS、監聽器)
$ srvctl config nodeapps -n linux1 -a -g -s -l
VIP exists.:/vip-linux1/192.168.1.200/255.255.255.0/eth0:eth1
GSD exists.
ONS daemon exists.
Listener exists.
顯示 ASM 例項的配置
$ srvctl config asm -n linux1
+ASM1 /u01/app/oracle/product/10.1.0/db_1
叢集中所有正在執行的例項
SELECT
inst_id
, instance_number inst_no
, instance_name inst_name
, parallel
, status
, database_status db_status
, active_state state
, host_name host
FROM gv$instance
ORDER BY inst_id;
INST_ID INST_NO INST_NAME PAR STATUS DB_STATUS STATE HOST
-------- -------- ---------- --- ------- ------------ --------- -------
1 1 orcl1 YES OPEN ACTIVE NORMAL linux1
2 2 orcl2 YES OPEN ACTIVE NORMAL linux2
位於磁碟組中的所有資料檔案
select name from v$datafile
union
select member from v$logfile
union
select name from v$controlfile
union
select name from v$tempfile;
NAME
-------------------------------------------
+ORCL_DATA1/orcl/controlfile/current.256.1
+ORCL_DATA1/orcl/datafile/indx.269.1
+ORCL_DATA1/orcl/datafile/sysaux.261.1
+ORCL_DATA1/orcl/datafile/system.259.1
+ORCL_DATA1/orcl/datafile/undotbs1.260.1
+ORCL_DATA1/orcl/datafile/undotbs1.270.1
+ORCL_DATA1/orcl/datafile/undotbs2.263.1
+ORCL_DATA1/orcl/datafile/undotbs2.271.1
+ORCL_DATA1/orcl/datafile/users.264.1
+ORCL_DATA1/orcl/datafile/users.268.1
+ORCL_DATA1/orcl/onlinelog/group_1.257.1
+ORCL_DATA1/orcl/onlinelog/group_2.258.1
+ORCL_DATA1/orcl/onlinelog/group_3.265.1
+ORCL_DATA1/orcl/onlinelog/group_4.266.1
+ORCL_DATA1/orcl/tempfile/temp.262.1
15 rows selected.
屬於“ORCL_DATA1”磁碟組的所有 ASM 磁碟
SELECT path
FROM v$asm_disk
WHERE group_number IN (select group_number
from v$asm_diskgroup
where name = 'ORCL_DATA1');
PATH
----------------------------------
ORCL:VOL1
ORCL:VOL2
ORCL:VOL3
26. 啟動和停止叢集
此時,我們已經完全安裝並配置了 Oracle RAC 10g 並擁有了一個功能完善的叢集化資料庫。
至此完成所有工作後,您可能會問“那我又怎樣啟動和停止服務呢?”如果您遵循了本指南中的說明,則所有服務(包括 CRS、所有 Oracle 例項、企業管理器資料庫控制檯等)應在 Linux 節點每次重新引導時自動啟動。
但有時您可能想要關閉某個節點,然後手動重新啟動它。或者,您可能發現企業管理器沒有而需要啟動它。本節提供了啟動和停止叢集環境的命令(使用 SRVCTL)。
確保您是以 oracle UNIX 使用者登入的。我們將從 linux1 執行本節中的所有命令:
# su - oracle
$ hostname
linux1
停止 Oracle RAC 10g 環境
第一步是停止 Oracle 例項。當此例項(和相關服務)關閉後,關閉 ASM 例項。最後,關閉節點應用程式(虛擬 IP、GSD、TNS 監聽器和 ONS)。
$ export ORACLE_SID=orcl1
$ emctl stop dbconsole
$ srvctl stop instance -d orcl -i orcl1
$ srvctl stop asm -n linux1
$ srvctl stop nodeapps -n linux1
啟動 Oracle RAC 10g 環境
第一步是啟動節點應用程式(虛擬 IP、GSD、TNS 監聽器和 ONS)。當成功啟動節點應用程式後,啟動 ASM 例項。最後,啟動 Oracle 例項(和相關服務)以及企業管理器資料庫控制檯。
$ export ORACLE_SID=orcl1
$ srvctl start nodeapps -n linux1
$ srvctl start asm -n linux1
$ srvctl start instance -d orcl -i orcl1
$ emctl start dbconsole
使用 SRVCTL 啟動/停止所有例項
啟動/停止所有例項及其啟用的服務。我只是覺得有意思就把此步驟作為關閉所有例項的一種方法加進來了!
$ srvctl start database -d orcl
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199859/viewspace-366147/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle ASMCMD命令參考OracleASM
- linux/unix命令參考Linux
- Redis命令參考之INFO命令詳解Redis
- 7 Oracle DataGuard 命令列參考Oracle命令列
- Redis(四)--- Redis的命令參考Redis
- 【XTTS】 xttdriver.pl命令參考TTS
- Git命令參考手冊(轉)Git
- Oracle DBA命令參考——alter databaseOracleDatabase
- linux命令集及vim命令參考Linux
- 2.13 靜默模式DBCA命令參考模式
- 【SCN】Oracle推薦scn命令參考Oracle
- SRVCTL命令介紹
- 【BLOCK】Oracle壞塊處理命令參考BloCOracle
- 【BBED】Oracle bbed常用命令參考Oracle
- 【RMAN】Oracle rman 常用命令參考Oracle
- JDK11的工具的命令參考JDK
- [Ext JS] Sencha Cmd命令參考之一JS
- LVS - ipvsadm命令參考
- 可執行命令——全文索引參考索引
- Oracle: srvctl 命令小結Oracle
- rac 命令 srvctl 報錯
- Oracle DataGuard 常用維護命令參考手冊Oracle
- 執行srvctl命令報錯
- CRSCTL和SRVCTL的命令用法
- 【SHRINK】Oracle收縮表的詳細命令參考Oracle
- AIX5.2命令參考大全中文版AI
- OSI參考模型和TCP/IP參考模型模型TCP
- javamail參考JavaAI
- SQLAlchemy參考SQL
- 參考地址
- DOM參考手冊及事件參考手冊事件
- RAC中的srvctl和crs命令
- oracle11gRAC之srvctl命令:Oracle
- 【RAC】Oracle rac修改IP地址及埠號命令參考Oracle
- 【SQL*Plus】常用列格式化命令實驗參考SQL
- WebApiClient效能參考WebAPIclient
- OSI參考模型模型
- Git教程參考Git