RAC常用開啟關閉命令 – SRVCTL用法

來源:互聯網
上載者:User

上周又做了一次ASM+RAC的實驗,這次體驗了srvctl這個強大的工具來管理RAC,對srvctl命令使用總結了一下:

SRVCTL是ORACLE RAC叢集組態管理的工具

SRVM   server management:

1. 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 檔案名稱

Eg:

$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

$srvctl  add  instance  -d RAC  -i rac2  -n node2

2.SRVCTL Config命令

顯示儲存在SRVM設定檔中的配置資訊

srvctl config database

顯示資料庫配置列表

srvctl config database -d database_name

資料庫配置資訊顯示的格式:

nodename1 instancename1 oraclehome

nodename2 instancename2 oraclehome

Eg:

$ srvctl config database

RAC

$srvctl config database -d rac

node1 rac1 /u01/oracle/product/10.2.0/db_1

node2 rac2 /u01/oracle/product/10.2.0/db_1

3.SRVCTL Modify命令

修改執行個體的節點配置資訊,這些修改會在程式下次重新啟動後生效,修改後的資訊將永久儲存。

srvctl modify instance -d database_name -i instance_name -n node_name

Eg:

$srvctl modify instance -d rac -n new_node

4.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

5.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 start listener -n node1

$srvctl stop listener -n node2

$ srvctl stop listener -n node [-l listenername]

今天發現一個SRVCTL命令的小bug。(http://yangtingkun.itpub.net/post/468/275571)

如果用srvctl關閉監聽後,再用lsnrctl start開啟監聽。這時srvctl仍然認為監聽已經關閉。因此,再次使用srvctl關閉監聽,似乎srvctl根本沒有去執行。如果希望srvctl可以關閉監聽,那麼需要先用srvctl啟動監聽,然後再關閉。搜尋了一下metalink,沒有發現關於這個問題的說明。而且,這個問題只在關閉監聽時出現,啟動監聽則沒有問題。svrctl顯然只記錄它自己的操作,而不去檢查listener真正的狀態。

##############################################################

6.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

7.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

8.使用SRVCONFIG匯入和匯出RAW裝置配置資訊

你可使用SRVCONFIG匯入和匯出RAW裝置配置資訊,不管設定檔是在叢集檔案系統上還是在RAW裝置上。你可以使用這種方法來備份與恢複SRVM配置資訊。

Eg:

下面的命令用來匯出配置資訊的內容到你指定檔案名稱的文字檔中。

$srvconfig -exp file_name

下面的命令用來從指定文字檔中匯入配置資訊到到你運行命令的RAC環境配置資訊庫。

$srvconfig -imp file_name

9.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

10.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

11.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

Example:In windows, the correct startup/shutdown steps is:

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

-The End-

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.