溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

oracle 11g中的 oracle restart特性

發(fā)布時間:2020-08-17 12:31:03 來源:ITPUB博客 閱讀:174 作者:波仔strong 欄目:關(guān)系型數(shù)據(jù)庫
oracle restart性特
在oracle 11g r2 以前對于單實例一般都是寫腳本為自動啟動oracle,在oracle 11g r2中使用oracle restart功能來配置在硬件或軟件出現(xiàn)故障或者數(shù)據(jù)庫所在主機重啟之后自動重新啟動數(shù)據(jù)庫,監(jiān)聽和其它oracle組件對于非集群環(huán)境,只需要安裝OracleGrid Infrastructure,在安裝的時候選擇“僅安裝網(wǎng)格基礎(chǔ)結(jié)構(gòu)軟件”,然后運行如下腳本
來安裝Oracle Restart:$GRID_HOME/crs/install/roothas.pl
<pre>
[root@jyrac1 install]# ./roothas.pl
2014-05-28 12:11:54: Checking for super user privileges
2014-05-28 12:11:54: User has super user privileges
2014-05-28 12:11:54: Parsing the host name
Using configuration parameter file: ./crsconfig_params
Creating trace directory
LOCAL ADD MODE
Creating OCR keys for user 'grid', privgrp 'oinstall'..
Operation successful.
CRS-4664: Node jyrac1 successfully pinned.
Adding daemon to inittab
CRS-4123: Oracle High Availability Services has been started.
ohasd is starting


jyrac1     2014/05/28 12:12:47     /grid/11.2.0/grid/cdata/jyrac1/backup_20140528_121247.olr
Successfully configured Oracle Grid Infrastructure for a Standalone Server
[root@jyrac1 install]# srvctl
-bash: srvctl: command not found
[root@jyrac1 install]# su - grid
[grid@jyrac1 ~]$ srvctl
Usage: srvctl <command /> <object> [<options>]
    commands: enable|disable|start|stop|status|add|remove|modify|getenv|setenv|unsetenv|config
    objects: database|service|asm|diskgroup|listener|home|ons|eons
For detailed help on each command and object and its options use:
  srvctl <command /> -h or
  srvctl <command /> <object> -h
</object></options></object></pre>
oracel restart提高了數(shù)據(jù)庫的可用性.當你安裝oracle restart之后在硬件或軟件出現(xiàn)故障或者數(shù)據(jù)庫所在主機重啟之后各種
oracle組件能夠自動重啟.
表:  通過oracle restart自動重啟的oracle組件
<pre>
------------------------------------------------------------------------------------------------------------
組件                           說明
------------------------------------------------------------------------------------------------------------
實例                           oracle restart能夠用于單主機上的多個數(shù)據(jù)庫實例


監(jiān)聽程序


數(shù)據(jù)庫服務(wù)                     不包括默認創(chuàng)建的缺省服務(wù)因為它是由oracle數(shù)據(jù)庫來管理的且不包括在數(shù)據(jù)庫創(chuàng)建時
                               所創(chuàng)建的缺省服務(wù)


oracle asm實例


oracle asm磁盤組               重新啟動磁盤組并加載磁盤組


oracle ONS通知服務(wù)             在單獨的環(huán)境中,ONS在data guard安裝中被用來在主庫和備庫之間通過
                               fast application notification(fan)來自動進行故障切換.ONS是一個服務(wù)用來發(fā)送
                               FAN事件被集成到客戶端的故障轉(zhuǎn)移功能中.


-------------------------------------------------------------------------------------------------------------
</pre>
oracle restart會定期運行檢查操作來監(jiān)控這些組件的健康.如果對一個組件的檢查操作失敗,那么這個組件會被關(guān)閉然后再重新啟動.


oracle restart只能用于獨立的服務(wù)器環(huán)境(非集群).對于oracle rac來說是由oracle clusterware來提供自動重啟組件的功能.


oracle restart是在oracle grid 架構(gòu)目錄之外的目錄運行的它的安裝目錄是與oracle數(shù)據(jù)庫的home目錄分開的.


關(guān)于啟動的依賴性
oracle restart能確保oracle組件根據(jù)組件之間的依賴性以合適的順序被啟動.例如,如果數(shù)據(jù)文件被存儲在oracle asm磁盤組中,那么在啟動數(shù)據(jù)庫實例之前,oracle restart會確保oracle asm實例被啟動且被要求的磁盤組會被加載.同樣的如果一個組件必須被關(guān)閉,oracle restart會確保依賴組件首先會被關(guān)閉.


oracle restart也管理數(shù)據(jù)庫實例和oracle監(jiān)聽之間的弱依賴:當一個數(shù)據(jù)庫實例被啟動時,oracle restart會試圖啟動監(jiān)聽.如果監(jiān)聽啟動失敗,數(shù)據(jù)庫仍然處于啟動狀態(tài).如果監(jiān)聽后啟動失敗,oracle restart不會關(guān)閉實例然后再重啟實例.




并于使用oracle restart啟動和停止組件
當有需要時oracle restart會自動重啟各種oracle組件,當你手動關(guān)閉你的操作系統(tǒng)時oracle restart會以合理的順序來停止oracle組件.可能有時候你想手動啟動或者停止單個的oracle組件.oracle restart包括服務(wù)控制工具(srvctl)可以用它來手動啟動和停止由oracle restart管理的組件.當使用oracle restart時,oracle強烈建議使用srvctl來手動啟動和停止組件.


在你使用srvctl停止一個組件,如果出現(xiàn)故障oracle restart不會自動重啟這個組件.如果你使用srvctl啟動這個組件,那么這個組件對于自動重啟又再次可以使用.


oracle工具象SQL*Plus,監(jiān)聽控制工具(LSNRCTL)和ASMCMD都被集成到oracle restart中.如果使用SQL*Plus關(guān)閉數(shù)據(jù)庫,oracle restart不會把數(shù)據(jù)庫看作是故障不會試圖重新啟動數(shù)據(jù)庫.類似地如果你使用SQL*Plus或ASMCMD關(guān)閉oracle asm實例,oracle restart不會試圖重啟它.


使用srvctl啟動一個組件和使用SQL*Plus(或者其它工具)啟動有以下重要的不同:
.當你使用srvctl啟動一個組件時,這個組件所依賴的任何組件都會首先以合理的順序自動啟動.


.當你使用SQL*Plus(或其它工具)啟動一個組件該組件所依賴的其它組件是不會自動啟動的,你必須確保它所依賴的組件已經(jīng)被啟動.


另外通過在指定的oracle home目錄中oracle restart使用單個命令能夠讓你啟動和停止所有的組件.這個oracle home目錄可以是一個數(shù)據(jù)庫home目錄或者oracle grid infrastructure home目錄.這個功能在打補丁時是非常有用的.


關(guān)于啟動和停止oracle restart
crsctl工具用來啟動和停止oracle restart.也可以使用crsctl工具來啟用或禁用oracle高可用服務(wù).oracle restart使用高可用服務(wù)來自動啟動和停止由oracle restart管理的組件.例如,oracle高可用服務(wù)守護進程會自動啟動數(shù)據(jù)庫,監(jiān)聽和oracle asm實例.當oracle高可用服務(wù)被禁用時,當一個節(jié)點被重啟時不會有通過oracle restart來管理的組件被自動啟動.


通常來說在oracle安裝時當要停止所有運行的oracle軟件時可以使用crsctl工具.例如,錄正在打補丁或者執(zhí)行操作系統(tǒng)維護操作時可能需要停止oracle restart.當維護操作完成后可以使用crsctl工具啟動oracle restart.


oracle restart配置
oracle restart維護了一個由它管理的所有oracle組件的一個組件列表和每一個組件的配置信息.所有這些配置信息是一個集合被稱作oracle restart配置.當oracle restart啟動一個組件時它將根據(jù)這個組件的配置信息來啟動這個組件.例如,oracle restart配置包含數(shù)據(jù)庫的一個本地服務(wù)器參數(shù)文件(spfile)和監(jiān)聽程序的監(jiān)聽端口.


如果你先安裝oracle restart然后再使用DBCA創(chuàng)建數(shù)據(jù)庫那么DBCA會自動將數(shù)據(jù)庫添加到oracle restart配置中.當DBCA啟動 數(shù)據(jù)庫時,在數(shù)據(jù)庫和其它組件之間要求的依賴關(guān)系(例如存儲數(shù)據(jù)的磁盤組)會被創(chuàng)建,oracle restart將開始管理數(shù)據(jù)庫.


可以使用srvctl命令來向oracle restart配置中手動增加或刪除組件.例如,如果你在運行數(shù)據(jù)庫的主機上安裝了oracle restart 可以使用srvctl來向oracle restart配置增加一個數(shù)據(jù)庫.當你手動向oracle restart配置中增加一個組件后可以使用srvctl 來啟動它.oracle restart就會開始管理這個組件當有需要時重啟這個組件.


注意:向oracle restart配置增加一個組件也可以稱作使用oracle restart注冊一個組件


其它的srvctl命令可以用來查看oracle restart管理組件的狀態(tài)和配置信息,如臨時禁用和重新啟用組件管理等等.


當安裝oracle restart后許多創(chuàng)建oracle組件的操作會自動將組件增加到oracle restart配置中.




表:創(chuàng)建操作和oracle restart配置
<pre>
---------------------------------------------------------------------------------------------------------
創(chuàng)建操作                                                     創(chuàng)建組件并自動增加到oracle restart配置中?
---------------------------------------------------------------------------------------------------------
使用OUI或DBCA創(chuàng)建數(shù)據(jù)庫                                          yes


使用create database語句創(chuàng)建數(shù)據(jù)庫                                no


使用OUI,DBCA或ASMCA創(chuàng)建oracle asm實例                            yes


使用任何方法創(chuàng)建磁盤組                                           yes


使用netca添加一個監(jiān)聽                                            yes


使用srvctl創(chuàng)建一個數(shù)據(jù)庫服務(wù)                                     yes


通過修改service_name初始化參數(shù)創(chuàng)建一個數(shù)據(jù)庫服務(wù)                 no


使用dbms_service.create_service創(chuàng)建一個數(shù)據(jù)庫服務(wù)                no


創(chuàng)建一個備份數(shù)據(jù)庫                                               no
---------------------------------------------------------------------------------------------------------
</pre>
下在的表格列出了一些delete/drop/remove操作是否會自動從oracle restart配置中刪除組件
表:   Delete/Drop/Remove Operations and the Oracle Restart Configuration
<pre>
---------------------------------------------------------------------------------------------------------
操作                                                                自動從oracle restart配置中刪除組件?
---------------------------------------------------------------------------------------------------------
使用DBCA刪除一個數(shù)據(jù)庫                                               yes


使用操作系統(tǒng)命令刪除數(shù)據(jù)文件來刪除數(shù)據(jù)庫                             no


使用netca刪除監(jiān)聽                                                    yes


使用任何方法來刪除一個磁盤組                                         yes


使用srvctl刪除數(shù)據(jù)庫服務(wù)                                             yes


通過其它方法來刪除數(shù)據(jù)庫服務(wù)                                         no
---------------------------------------------------------------------------------------------------------
</pre>


配置oracle restart
如果對單機環(huán)境通過安裝oracle grid infrastructure安裝了oracle restart然后再創(chuàng)建數(shù)據(jù)庫,數(shù)據(jù)庫會自動被增加到oracle restart配置中,然后在需要時自動重啟.然而如果在創(chuàng)建數(shù)據(jù)庫之后才安裝oracle restart,那么就需要手動向oracle restart配置中增加數(shù)據(jù)庫,監(jiān)聽,oracle asm管理實例,和其它要用的組件.




在配置oracle restart來管理數(shù)據(jù)庫后能夠做以下事情:
.向oracle restart配置中增加組件


.從oracle restart配置中刪除組件


.臨時暫停oracle restart對一個或多個組件管理


.對單個組件修改oracle restart的配置選項.


準備運行srvctl
要確保從正確的oracle home目錄中運行srvctl,且使用正確的用戶登錄主機.表4-6列出了使用srvctl能配置的組件列表.對于每一個組件列出了運行srvctl所要求的oracle home目錄.


表:    判斷從哪個oracle home目錄中運行srvctl
<pre>
-------------------------------------------------------------------------------------------------------------
被配置的組件                                      運行srvctl的oracle home目錄
-------------------------------------------------------------------------------------------------------------
database,database service                         database home
oracle asm instance,disk group,                   oracle grid infrastructure home
listener,ONS
-------------------------------------------------------------------------------------------------------------
</pre><pre>
假設(shè)監(jiān)聽不是從oracle grid infrastructure home目錄中啟動的.如果你對一個存在的數(shù)據(jù)庫安裝oracle restart,那么監(jiān)聽可能要從database home目錄中啟動,在這種情況下從database home目錄中運行srvctl


為了運行srvctl
1.判斷應(yīng)該從哪個oracle home目錄運行srvctl


2.如果打算運行srvctl命令來修改oracle restart配置(add,remove,enable,disable等等),那么可以按以下步驟來操作:
.在unix和linux中,使用安裝你所判斷運行srvctl命令的oracle home目錄用戶登錄到數(shù)據(jù)庫所在主機


.在windows上使用管理員登錄系統(tǒng)
否則使用任何用戶登錄到系統(tǒng)


3.打開命令窗口輸入要使用的srvctl命令.為了輸入命令,要確保在path環(huán)境變理中設(shè)置了srvctl程序.否則要輸入srvctl程序
的完全路徑.




獲取srvctl幫助
srvctl工具的聯(lián)機幫助文檔是可用的:
為了獲取srvctl的幫助:
1.準備運行srvctl


2.輸入以下命令:
srvctl


為了獲取更詳細的幫助輸入以下命令:
srvctl -h


為了獲取特定命令的幫助輸入以下命令:
srvctl command -h


例如為了獲取每一個組件類型的不同選項和add命令的幫助信息輸入:
srvctl add -h


為了獲取特定組件的組件類型的特定命令輸入:
srvctl command object -h


為了獲取關(guān)于增加一個數(shù)據(jù)庫服務(wù)的幫助信息輸入以下命令:
srvctl add service -h


向oracle restart配置中增加組件
在大多數(shù)情況下,在正在運行oracle restart的主機上創(chuàng)建一個oracle組件會自動向oracle restart配置中增加這個組件


下面是你要使用srvctl手動向oracle restart配置增加組件的情況:
.在創(chuàng)建數(shù)據(jù)庫之后才安裝oracle restart


.在相同主機上使用create database語句創(chuàng)建另外的數(shù)據(jù)庫.


.使用dbms_service.create_service過程創(chuàng)建一個數(shù)據(jù)庫服務(wù)


注意:向oracle restart配置中增加一個組件也叫作使用oracle restart注冊一個組件


向oracle restart配置中增加組件后不會啟動這個組件.必須使用srvctl start命令來啟動它.


你也可以使用oracle企業(yè)管理數(shù)據(jù)庫控制臺來向oracle restart配置增加一個數(shù)據(jù)庫或監(jiān)聽.


注意:當你手動向oracle restart配置增加一個數(shù)據(jù)庫時,必須將oracle grid infrastructure software的所有者(用戶)
加到數(shù)據(jù)庫的osdba組中.這是因為grid infrastructure組件必須能夠以sysdba角色連接到數(shù)據(jù)庫啟動和停止數(shù)據(jù)庫.


例如,如果安裝grid infrastructure軟件的用戶是grid,數(shù)據(jù)庫的osdba組是dba,那么用戶grid必須是dba組的一員.


使用srvctl增加組件
當使用srvctl向oracle restart配置中增加一個組件時,你能對這個組件指定配置選項.
1.準備運行srvctl的環(huán)境


2.輸入下面的命令:
srvctl add object options
這里的object是一個組件.


增加一個數(shù)據(jù)庫
這個例子使用db_unique_name=jycs來增加一個數(shù)據(jù)庫組件.這個強制的-o選項用來指定oracle home目錄的位置
oracle@jyrac1 ~]$ srvctl add database -d jycs -o /u01/app/oracle/11.2.0/db




增加一個數(shù)據(jù)庫服務(wù)
對于db_unique_name=jycs的數(shù)據(jù)庫創(chuàng)建一個新的數(shù)據(jù)庫服務(wù)名jytest并將這個數(shù)據(jù)庫服務(wù)增加到oracle restart配置中
[oracle@jyrac1 ~]$ srvctl add service -d jycs -s jytest


增加缺省的監(jiān)聽程序
向oracle restart配置中增加一個缺省的監(jiān)聽程序:(注意增加監(jiān)聽程序時要使用grid_home目錄
那么在添加監(jiān)聽的時候應(yīng)該指定GI_HOME,而非ORACLE_HOME)
[grid@jyrac1 ~]$ srvctl add listener -o /grid/11.2.0/grid/


現(xiàn)在來驗證數(shù)據(jù)庫會不會在主機重啟時自動啟動


[root@jyrac1 ~]# reboot
Broadcast message from root (pts/2) (Wed Jun  4 10:30:32 2014):


The system is going down for reboot NOW!


在主機重啟之后通過下面的命令來檢查發(fā)現(xiàn)數(shù)據(jù)庫和監(jiān)聽程序也自動啟動了
</pre><pre>
[root@jyrac1 ~]# ps -ef | grep pmon
oracle    3451     1  0 10:32 ?        00:00:00 ora_pmon_jycs
root      3563  3530  0 10:32 pts/1    00:00:00 grep pmon
[root@jyrac1 ~]# ps -ef | grep tns
grid      3438     1  0 10:32 ?        00:00:00 /grid/11.2.0/grid/bin/tnslsnr LISTENER -inherit
root      3565  3530  0 10:33 pts/1    00:00:00 grep tns


[grid@jyrac1 ~]$ crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora....ER.lsnr ora....er.type ONLINE    ONLINE    jyrac1
ora.cssd       ora.cssd.type  OFFLINE   OFFLINE
ora.diskmon    ora....on.type OFFLINE   OFFLINE
ora.jycs.db    ora....se.type ONLINE    ONLINE    jyrac1
</pre>
從oracle restart配置中刪除組件
當使用oracle推薦的方法來刪除一個組件時這個組件會自動從oracle restart配置中刪除.例如,如果使用DBCA來刪除一個數(shù)據(jù)庫,
DBCA會從oracle restart配置中刪除數(shù)據(jù)庫.同樣的如果使用netca來刪除監(jiān)聽,netca會從oracle restart配置中刪除監(jiān)聽.


如果使用非建議的或手動刪除方法來刪除組件,必須首先使用srvctl從oracle restart配置中刪除組件.不這樣做可能會出現(xiàn)錯誤


從oracle restart配置中刪除一個組件:
srvctl remove object [options]


例如下面刪除一個db_unique_name為dbcrm的數(shù)據(jù)庫
srvctl remove database -d dbcrm


對一個組件禁用或啟用oracle restart配置
可以臨時對一個組件禁用oracle restart配置.一種原因就是當對組件執(zhí)行維護任務(wù)時.例如,如果一個組件必須被修復(fù),那么可能想讓它在出現(xiàn)故障或者主機重啟時不自動啟動.


當維護任務(wù)完成后可以重新對組件啟用管理


當禁用一個組件時:
.它將不再自動重啟
.通過依賴組件它將不再自動啟動
.使用srvctl不能啟動
.任何依賴于這個資源的組件不再自動啟動或者自動重啟


禁用或啟動一個組件的自動重啟執(zhí)行以下操作之一:
.禁用一個組件輸入以下命令:
srvctl disable object [options]


啟動一個組件輸入以下命令:
srvctl enable object [options]


例如:對一個db_unique_name為dbcrm的數(shù)據(jù)庫禁用自動重啟
srvctl disable database -d dbcrm




對一個asm磁盤組名為recovery的磁盤組禁用自動重啟
srvctl disable diskgroup -g recovery


查看組件狀態(tài)
可以使用srvctl來查看任命由oracle restart管理的組件的運行狀態(tài).對于有些組件還會顯示額外的信息.


查看組件的狀態(tài):
srvctl status object [options]


例如查看db_unique_name為jycs的數(shù)據(jù)庫的狀態(tài)
[oracle@jyrac1 ~]$ srvctl status database -d jycs
Database is running.


查看一個組件的oracle restart配置信息
可以使用srvctl來查看任何組件的oracle restart配置.oracle restart對于每種組件類型維護不同的配置信息.使用srvctl 命令
可以獲得由oracle restart所管理的組件列表.


查看組件配置:
srvctl config object options


例如:查看由oracle restart所管理的所有數(shù)據(jù)庫列表
[oracle@jyrac1 ~]$ srvctl config database
jycs


查看一個特定數(shù)據(jù)庫的配置信息:
下面的例子查看db_unique_name為jycs的數(shù)據(jù)庫的配置:
[oracle@jyrac1 ~]$ srvctl config database -d jycs
Database unique name: jycs
Database name:
Oracle home: /u01/app/oracle/11.2.0/db
Oracle user: grid
Spfile:
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Disk Groups:
Services:




修改組件的oracle restart配置
可以使用srvctl來修改組件的oracle restart配置.例如可以修改當oracle重啟動時的監(jiān)聽程序的監(jiān)聽端口或者在啟動數(shù)據(jù)庫時oracle restart所指示的服務(wù)器參數(shù)文件(SPFILE)


修改組件的oracle restart配置
srvctl modify object options


例如:對于db_unique_name為dbcrm的數(shù)據(jù)庫使用下面的命令將管理策略修改為manual啟動選項修改為nomount:
srvctl modify database -d dbcrm -y manual -s nomount


使用manual管理策略,當數(shù)據(jù)庫主機重啟時數(shù)據(jù)庫不會自動重啟.然而,oracle restart將會繼續(xù)監(jiān)控數(shù)據(jù)庫如果出現(xiàn)故障將會重啟.


[oracle@jyrac1 ~]$ srvctl modify database -h


Modifies the configuration for the database.


Usage: srvctl modify database -d <db_unique_name> [-n <db_name>] [-o <oracle_home>] [-u <oracle_user>] [-m <domain>] [-p <spfile>]  [-r {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY}] [-s <start_options>] [-t <stop_options>] [-y {AUTOMATIC | MANUAL}] [-a "<diskgroup_list>"|-z]
    -d <db_unique_name>      Unique name for the database
    -n <db_name>        Database name (DB_NAME), if different from the unique name given by the -d option
    -o <oracle_home>         ORACLE_HOME path
    -u <oracle_user>         Oracle user
    -m <domain>              Domain for database. Must be set if database has DB_DOMAIN set.
    -p <spfile>              Server parameter file path
    -r <role>                Role of the database (primary, physical_standby, logical_standby, snapshot_standby)
    -s <start_options>       Startup options for the database. Examples of startup options are open, mount, or nomount.
    -t <stop_options>        Stop options for the database. Examples of shutdown options are normal, transactional, immediate, or abort.
    -y <dbpolicy>            Management policy for the database (AUTOMATIC or MANUAL)
    -a "<diskgroup_list>"      Comma separated list of disk groups
    -z                       To remove database's dependency upon disk groups
    -h                       Print usage


管理oracle restart配置中的環(huán)境變量.
在oracle restart配置中可以存儲環(huán)境變量的名值對.如果你通常在啟動數(shù)據(jù)庫之前設(shè)置環(huán)境變量(除了oracle_home和oracle_sid
之外),你可以在oracle restart配置中設(shè)置其它的環(huán)境變量.可以在下面的組件的單個配置中存儲任何數(shù)量的環(huán)境變量.
.database實例
.監(jiān)聽
.oracle asm實例


當oracle restart啟動一個組件時它首先會使用存儲在組件配置中的的值來設(shè)置組件的環(huán)境變量.盡管可以通過oracle組件這種方式
來設(shè)置環(huán)境變量,這個功能主要是傾向于設(shè)置操作系統(tǒng)環(huán)境變量.


設(shè)置和取消環(huán)境變量
使用srvctl來對oracle restart配置中的組件來進行設(shè)置或者取消環(huán)境變量.


對組件設(shè)置或取消環(huán)境變量:
.為了設(shè)置環(huán)境變理使用以下命令:
srvctl setenv {asm|database|listener} options


從配置中刪除環(huán)境變量輸入以下命令:
srvctl unsetenv {asm|database|listener} options


例如設(shè)置數(shù)據(jù)庫環(huán)境變量
對db_unique_name為dbcrm的數(shù)據(jù)庫在oracle restart配置中設(shè)置NLS_LANG和AIX AIXTHREAD_SCOPE環(huán)境變量:
srvctl setenv database -d dbcrm -t "NLS_LANG=AMERICAN_AMERICA.AL32UTF8,AIXTHREAD_SCOPE=S"


查看環(huán)境變量
使用srvctl來查看oracle restart配置中組件的環(huán)境變量.
查看環(huán)境變量的配置:
srvctl getenv {database|listener|asm} options


例如查看數(shù)據(jù)庫的所有環(huán)境變量
查看db_unique_name為dbcrm的數(shù)據(jù)庫在oracle restart配置中的環(huán)境變量:
srvctl getenv database -d dbcrm
dbcrm:
NLS_LANG=AMERICAN_AMERICA
AIXTHREAD_SCOPE=S
GCONF_LOCAL_LOCKS=1


例如查看數(shù)據(jù)庫的特定環(huán)境變量
查看數(shù)據(jù)庫的NLS_LANG和AIXTHREAD_SCOPE環(huán)境變量:
srvctl getenv database -d dbcrm -t "NLS_LANG,AIXTHREAD_SCOPE"
dbcrm:
NLS_LANG=AMERICAN_AMERICA
AIXTHREAD_SCOPE=S


使用srvctl來創(chuàng)建和刪除數(shù)據(jù)庫服務(wù)
當使用oracle restart來管理數(shù)據(jù)庫時,oracle建議使用srvctl來創(chuàng)建來刪除數(shù)據(jù)庫服務(wù).當使用srvctl來增加一個數(shù)據(jù)庫服務(wù)時,
這個服務(wù)會自動增加到oracle restart配置中,而且在服務(wù)與數(shù)據(jù)庫之間的依賴關(guān)系會被建立.因此如果啟動服務(wù)當數(shù)據(jù)庫沒有
啟動時oracle restart首先會啟動數(shù)據(jù)庫.


當使用srvctl刪除一個數(shù)據(jù)庫服務(wù)時這個服務(wù)也會從oracle restart配置中刪除


使用srvctl來創(chuàng)建一個數(shù)據(jù)庫服務(wù):
srvctl add service -d db_unique_name -s service_name [options]


例如創(chuàng)建一個數(shù)據(jù)庫服務(wù)


對db_unique_name為dbcrm的數(shù)據(jù)庫創(chuàng)建一個名叫crmbatch的數(shù)據(jù)庫服務(wù)名


srvctl add service -d dbcrm -s crmbatch


例如創(chuàng)建一個基于角色的數(shù)據(jù)庫服務(wù)
創(chuàng)建一個名叫crmbatch的數(shù)據(jù)庫服務(wù)并指定它的data guard角色為physical_standby.只有dbcrm數(shù)據(jù)庫的當前角色為物理備庫時
這個服務(wù)才會自動啟動.


srvctl add service -d dbcrm -s crmbatch -l PHYSICAL_STANDBY


使用srvctl刪除數(shù)據(jù)庫服務(wù):
srvctl remove service -d db_unique_name -s service_name [-f]


數(shù)據(jù)庫服務(wù)將會從oracle restart配置中被刪除掉.如果-f強制標示出現(xiàn)即使服務(wù)正在運行也會被刪除.如果沒有-f標示如果服務(wù)
正在運行會報錯.


與oracle restart相關(guān)的crsctl命令


crsctl命令的語法如下:
crsctl command has
這里command是start,stop或enable,disable等命令的簡稱.而has對象是指示oracle高可用服務(wù).


check顯示oracle restart的狀態(tài).
[grid@jyrac1 ~]$ crsctl check has
CRS-4638: Oracle High Availability Services is online


config顯示oracle restart配置
CRS-4622: Oracle High Availability Services autostart is enabled.


disable禁用oracle restart的自動重啟
[grid@jyrac1 ~]$crsctl disable has


enable啟用oracle restart的自動重啟
[grid@jyrac1 ~]$crsctl enable has


start啟動oracle restart
[grid@jyrac1 ~]$crsctl start has




stop停止oracle restart
[grid@jyrac1 ~]$crsctl stop has [-f]


-f選項:如果任何由oracle restart管理的資源仍然在運行.然后試圖停止這些資源.如果資源不能被停止那么試圖強制停止.


個人覺得對于單個實例使用oracle restart與寫腳本來啟動也沒有什么優(yōu)勢</diskgroup_list></dbpolicy></stop_options></start_options></role></spfile></domain></oracle_user></oracle_home></db_name></db_unique_name></diskgroup_list></stop_options></start_options></spfile></domain></oracle_user></oracle_home></db_name></db_unique_name>
向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI