RAC 資料庫的啟動與關閉

來源:互聯網
上載者:User

 RAC資料庫與單一實例的差異主要表現在多個執行個體通過叢集件來統一管理共用的資源。因此原有的單一實例的管理方式,如資料庫、監聽器等的關閉啟動等可以使用原有的方式進行,也可以通過叢集管理工具,命令列來集中管理,這也是推薦的管理方式。由於叢集件crs位於資料庫之上,即RAC資料庫依賴於叢集件,因此資料庫的啟動與關閉應該結合叢集來考慮,下面以10g RAC來描述資料庫啟動與關閉過程,不涉及叢集層的啟動與關閉。


一、RAC 資料庫啟動與關閉順序

1、關閉順序

 關閉OEM,關閉監聽,關閉 Oracle 執行個體,關閉 ASM 執行個體,關閉節點應用程式

2、啟動順序

 啟動節點應用程式,啟動ASM執行個體,啟動oracle執行個體,啟動監聽,啟動OEM<可選>

 如果未使用ASM,則啟動與關閉過程的有關ASM的操作可忽略

3、主要工具

 srvctl,OEM,sqlplus。本文主要描述的是使用srvctl命令來完成


二、示範環境

1、環境  

   主機名稱      庫名      執行個體名     asm執行個體  

   --------    ------    -------    --------  

   bo2dbp      GOBO4     GOBO4A     +ASM1  

   bo2dbs     GOBO4        GOBO4B     +ASM2  


2、資料庫狀態  

   oracle@bo2dbp:~> ./crs_stat.sh  

    Resource name                                Target     State              

   --------------                                ------     -----              

   ora.GOBO4.GOBO4A.inst                         ONLINE     ONLINE on bo2dbp    

   ora.GOBO4.GOBO4B.inst                         ONLINE     ONLINE on bo2dbs    

   ora.GOBO4.db                                  ONLINE     ONLINE on bo2dbp    

   ora.bo2dbp.ASM1.asm                           ONLINE     ONLINE on bo2dbp    

   ora.bo2dbp.LISTENER_BO2DBP.lsnr               ONLINE     ONLINE on bo2dbp    

   ora.bo2dbp.LISTENER_ORA10G_BO2DBP.lsnr        ONLINE     ONLINE on bo2dbp    

   ora.bo2dbp.gsd                                ONLINE     ONLINE on bo2dbp    

   ora.bo2dbp.ons                                ONLINE     ONLINE on bo2dbp    

   ora.bo2dbp.vip                                ONLINE     ONLINE on bo2dbp    

   ora.bo2dbs.ASM2.asm                           ONLINE     ONLINE on bo2dbs    

   ora.bo2dbs.LISTENER_BO2DBS.lsnr               ONLINE     ONLINE on bo2dbs    

   ora.bo2dbs.LISTENER_ORA10G_BO2DBS.lsnr        ONLINE     ONLINE on bo2dbs    

   ora.bo2dbs.gsd                                ONLINE     ONLINE on bo2dbs    

   ora.bo2dbs.ons                                ONLINE     ONLINE on bo2dbs    

   ora.bo2dbs.vip                                ONLINE     ONLINE on bo2dbs    

   ora.ora10g.db                                 ONLINE     ONLINE on bo2dbs    

   ora.ora10g.hr_ora10g.cs                       ONLINE     ONLINE on bo2dbp    

   ora.ora10g.hr_ora10g.ora10g1.srv              ONLINE     ONLINE on bo2dbp    

   ora.ora10g.ora10g1.inst                       ONLINE     ONLINE on bo2dbp    

   ora.ora10g.ora10g2.inst                       ONLINE     ONLINE on bo2dbs  


   上面的查詢結果表明,當前叢集中存在2個RAC資料庫,一個是GOBO4,一個是ora10g  

   每個節點上配置了兩個監聽器,一個是預設的1521連接埠監聽器,一個是非預設的監聽器(LISTENER_ORA10G_BO2DBP)  

   資料庫ora10g上建立了service為hr_ora10g  


3、srvctl 命令  

   srvctl是管理RAC資料庫使用最頻繁的命令,是service control的縮寫,基本的用法是srvctl <command> <object> [<options>]。  

   直接在命令列下輸入srvctl 則出現該命令的用法說明  

   該命令方式可以操作下列資源  

   database,instance,asm,service,listener,node application(GSD,ONS,VIP)


三、關閉資料庫

1、關閉oem服務(如果啟動了oem,則應首先關閉oem服務,否則跳過)  

   export ORACLE_SID=GOBO4A  

   emctl stop dbconsole  


2、關閉Oracle執行個體  

   srvctl stop instance -d GOBO4 -i GOBO4A  


3、關閉ASM執行個體  

   srvctl stop asm -n bo2dbp  


4、關閉節點服務(此操作將關閉指定節點的所有監聽以及GSD,ONS,VIP)  

   srvctl stop nodeapps -n bo2dbp        


   節點bo2dbp關閉後的結果  

   oracle@bo2dbp:~> ./crs_stat.sh  

    Resource name                                Target     State              

   --------------                                ------     -----              

   ora.GOBO4.GOBO4A.inst                         OFFLINE    OFFLINE            

   ora.GOBO4.GOBO4B.inst                         ONLINE     ONLINE on bo2dbs    

   ora.GOBO4.db                                  ONLINE     ONLINE on bo2dbs    

   ora.bo2dbp.ASM1.asm                           OFFLINE    OFFLINE            

   ora.bo2dbp.LISTENER_BO2DBP.lsnr               OFFLINE    OFFLINE            

   ora.bo2dbp.LISTENER_ORA10G_BO2DBP.lsnr        OFFLINE    OFFLINE            

   ora.bo2dbp.gsd                                OFFLINE    OFFLINE            

   ora.bo2dbp.ons                                OFFLINE    OFFLINE            

   ora.bo2dbp.vip                                OFFLINE    OFFLINE            

   ora.bo2dbs.ASM2.asm                           ONLINE     ONLINE on bo2dbs    

   ora.bo2dbs.LISTENER_BO2DBS.lsnr               ONLINE     ONLINE on bo2dbs    

   ora.bo2dbs.LISTENER_ORA10G_BO2DBS.lsnr        ONLINE     ONLINE on bo2dbs    

   ora.bo2dbs.gsd                                ONLINE     ONLINE on bo2dbs    

   ora.bo2dbs.ons                                ONLINE     ONLINE on bo2dbs    

   ora.bo2dbs.vip                                ONLINE     ONLINE on bo2dbs    

   ora.ora10g.db                                 ONLINE     ONLINE on bo2dbs    

   ora.ora10g.hr_ora10g.cs                       ONLINE     ONLINE on bo2dbs    

   ora.ora10g.hr_ora10g.ora10g1.srv              ONLINE     ONLINE on bo2dbs    

   ora.ora10g.ora10g1.inst                       OFFLINE    OFFLINE    #注,由於bo2dbp上的ASM被關閉,所以執行個體ora10g1也被關閉        

   ora.ora10g.ora10g2.inst                       ONLINE     ONLINE on bo2dbs    


   如果是關閉整個資料庫,則使用如下命令  

   srvctl stop database -d <db_name>  

   上述命令使用後則,所有該資料庫上的執行個體都將被關閉以及對應的.db的服務也會被關閉,如下  

   oracle@bo2dbp:~> ./crs_stat.sh  

    Resource name                                Target     State              

   --------------                                ------     -----              

   ora.GOBO4.GOBO4A.inst                         OFFLINE    OFFLINE            

   ora.GOBO4.GOBO4B.inst                         OFFLINE    OFFLINE            

   ora.GOBO4.db                                  OFFLINE    OFFLINE  


   對於監聽器也可以使用srvctl來完成  

       srvctl stop listener -n bo2dbp #關閉節點上預設連接埠的監聽器  

       srvctl stop listener -n bo2dbp -l LISTENER_ORA10G_BO2DBP #此監聽器為非預設的,因此指定-l 加監聽器的名字  


四、啟動資料庫

1、啟動節點服務

 srvctl start nodeapps -n bo2dbp

2、啟動ASM執行個體

 srvctl start asm -n bo2dbp

3、啟動Oracle執行個體

 srvctl start instance -d GOBO4 -i GOBO4A

4、啟動OEM

 export ORACLE_SID=GOBO4A

 emctl start dbconsole


 如果是啟動整個資料庫,則使用如下命令

 srvctl start database -d <db_name>


五、小結

1、RAC資料庫的啟動需要考慮各個層次之間的依賴關係。叢集資料庫依賴於叢集件上的服務,因此必須先啟動叢集上的相關服務(ONS,GSD,VIP)

2、接下來在叢集件服務之下的為ASM,ASM為共用儲存提供統一管理,因此需要於執行個體先啟動

3、啟動執行個體,將資料庫切換到open 模式

4、RAC資料庫的關閉則正好與之相反,同樣是按逐層遞進的關係來進行


oracle視頻教程請關注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html


相關文章

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.