ORACLE RAC 中 SRVCTL 命令詳細說明文檔

來源:互聯網
上載者:User

ORACLE RAC 中 SRVCTL 命令詳細說明文檔
簡介:

SRVCTL是ORACLE9i RAC叢集組態管理的工具。本文是對SRVCTL的所有命令進行詳細說明的一篇參考文檔。
讀者對象:ORACLE9i RAC資料庫叢集管理員。
註:
RAC:     Real Application Clusters
SRVM:   Server Management
-------------------------------------------------------------------------------
l         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
表4-5 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/ora9
執行個體:向資料庫添加執行個體
srvctl add instance -d mydb -i  mydb01 -n gm01
srvctl add instance -d mydb -i  mydb02 -n gm02
srvctl add instance -d mydb -i  mydb03 -n gm03
        SRVCTL Config
顯示儲存在SRVM設定檔中的配置資訊
srvctl config database
顯示資料庫配置列表
srvctl config database -d database_name
資料庫配置資訊顯示的格式:
nodename1 instancename1 oraclehome
nodename2 instancename2 oraclehome
執行個體:顯示資料庫配置資訊
srvctl config database -d mydb
l         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
l         SRVCTL Modify
修改執行個體的節點配置資訊。這些修改會在程式下次重新啟動後生效。修改後的資訊將永久儲存。
srvctl modify instance -d database_name -i instance_name -n node_name
執行個體:修改執行個體到另一個節點
srvctl modify  instance  -d mydb  -n my_new_node
l         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  mydb01
srvctl remove instance -d mydb -i  mydb02
srvctl remove instance -d mydb -i  mydb03
l         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
l         SRVCTL Start
啟動資料庫,所有執行個體或指定的執行個體,及啟動所有相關未啟動的監聽。
-------------------------------------------------------------------------------
註:
對於start命令和其它一些可以使用連接字串的操作,如果你不提供連接字串,那麼ORACLE會使用"/ as sysdba"在執行個體上執行相關的操作。另外,要執行類似的操作,你必須是OSDBA組的成員。關於更多的OSDBA組許可權資訊,請參考ORACLE9i的安裝指南。
-------------------------------------------------------------------------------
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]
表4-6 SRVCTL Start命令詳細選項
-------------------------------------------------------------------------------
命令   選項
-------------------------------------------------------------------------------
-o     在SQL*Plus直接傳遞的startup命令選項,可以包括PFILE
-c     使用SQL*Plus串連資料庫執行個體的連接字串
-------------------------------------------------------------------------------
執行個體:啟動資料庫及所有的執行個體
srvctl start database -d mydb
執行個體:啟動指定的執行個體
srvctl start instance  -d mydb -i mydb1,mydb4
l         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 mydb1,mydb2
l         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]
表4-7 SRVCTL Stop命令詳細選
-------------------------------------------------------------------------------
命令   選項
-------------------------------------------------------------------------------
-c     使用SQL*Plus串連資料庫執行個體的連接字串
-o     在SQL*Plus直接傳遞的shutdown命令選項
-------------------------------------------------------------------------------
執行個體:停止資料庫所有的執行個體
srvctl stop database -d mydb
執行個體:停止指定執行個體
srvctl stop instance  -d mydb -i mydb1
l         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
l         使用SRVCONFIG匯入和匯出RAW裝置配置資訊
你可使用SRVCONFIG匯入和匯出RAW裝置配置資訊,不管設定檔是在叢集檔案系統上還是在RAW裝置上。你可以使用這種方法來備份與恢複SRVM配置資訊。
例如:
下面的命令用來匯出配置資訊的內容到你指定檔案名稱的文字檔中。
srvconfig -exp file_name
下面的命令用來從指定文字檔中匯入配置資訊到到你運行命令的RAC環境配置資訊庫。
srvconfig -imp file_name
使用SRVCTL添加資料庫資訊
如果使用DBCA建庫,在建立好RAC資料庫後,DBCA自動將資料庫資訊添加到SRVCTL管理器中。
但是如果手工建立資料庫,或者通過備份恢複的資料庫,就需要手工添加資料庫資訊了。
當前伺服器上安裝了兩套RAC資料庫,分別是rac11g和ractest,其中ractest是通過dbca建立的,而rac11g是通過備份恢複的。
$ srvctl status database -d rac11g
PRKR-1001 : cluster database rac11gdoes not exist
PRKO-2005 : Application error: Failure in getting Cluster Database Configuration for: rac11g
$ srvctl status database -d ractest
Instance ractest1 is running on node ser1
Instance ractest2 is running on node ser2
對於dbca建立的資料庫,srvctl中包含了資料庫和執行個體的資訊,而對於備份恢複的資料庫rac11g來說,srvctl中不包含資料庫和執行個體資訊。
下面通過srvctl add命令來添加資料庫和執行個體資訊:
$ srvctl add database -d rac11g-o /data/oracle/product/11.1/database -m us.oracle.com -p +DATA/RAC11G/spfilerac11g.ora
$ srvctl add instance -d rac11g-i rac11g1 -n ser1
$ srvctl add instance -d rac11g-i rac11g2 -n ser2
檢查資料庫狀態:
$ srvctl status database -d rac11g
Instance rac11g1 is not running on node ser1
Instance rac11g2 is not running on node ser2
資料庫目前沒有啟動,利用srvctl start命令啟動資料庫:
$ srvctl start db -d rac11g
$ srvctl status db -d rac11g
$p82786Instance rac11g1 is running on node ser1
Instance rac11g2 is running on node ser2
現在RAC資料庫RAC11G已經可以通過SRVCTL命令來維護了。
利用srvctl config命令可以看到現有資料庫的配置資訊:
bash-3.00$ srvctl config database -d rac11g-a
ser1 rac11g1 /data/oracle/product/11.1/database
ser2 rac11g2 /data/oracle/product/11.1/database
DB_UNIQUE_NAME: rac11g
DB_NAME: null
ORACLE_HOME: /data/oracle/product/11.1/database
SPFILE: +DATA/RAC11G/spfilerac11g.ora
DOMAIN: us.oracle.com
DB_ROLE: null
$R r82786START_OPTIONS: null
POLICY:  AUTOMATIC
ENABLE FLAG: DB ENABLED 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.