導航:首頁 > 程序命令 > rac命令

rac命令

發布時間:2022-07-27 23:42:35

❶ 如何使用oracle 10g rac

ORACLE RAC系統是指ORACLE公司針對ORACLE Database推出的一個群集系統,RAC為real application cluster的簡寫,意味真正的應用程序群集系統。RAC能夠獨立進行群集方式工作,同時也支持嵌入第三方群集系統中,比如SUN CLUSTER 3.2等所謂的vender群集系統中。
結合ORACLE的ASM(自動存儲管理)、Oracle Clusterware等,建議資料庫在系統獨立運行,無需運行第三方的群集系統,卷管理系統等。
1.2 安裝前的准備工作
俗話說,磨刀不誤砍柴工,在安裝RAC之前,仔細閱讀官方的安裝手冊是最佳途徑,因為網上的很多文章寫的時候,都是按照作者所擁有的環境進行安裝的,實際中會有很多的變數導致安裝出現很多情況,因此,網上文章作為每個安裝工程師來說,只有參考價值。
1.2.1 硬體方面的准備工作
在硬體方面,首先確認伺服器的類型,操作系統的類型,存儲器是否正確連接到兩台或者多台伺服器上,主機系統能否正確訪問存儲,是否所有主機系統共享了改存儲器。
主機系統方面,是否有足夠的網卡,RAC需要至少一個public和一個private的網卡,分別用於資料庫instance的訪問和心跳網卡(此心跳也用來傳輸一些資料庫的數據)。
1.2.2 軟體方面的准工作
在軟體方便,一是根據主機類型,選擇相應的資料庫軟體,包括database和clusterware軟體,需要注意的是,最好能選擇比較新的版本的軟體,因為ORACLE RAC方面,針對很多平台,最初版本軟體或多或少都會存在一些bug,選擇正確的版本後,安裝能夠盡量減少麻煩。
操作系統方面,也應該根據資料庫軟體做最優的安裝,比如solaris 10,最好能夠使用update 10的版本,EIS光碟最好能夠使用最近的光碟來安裝最新的10的推薦補丁包。補丁一定要打最新的,這個可以大大減小bug的產生。
2. 安裝准備工作
本示例安裝主要基於ORACLE SPARC伺服器的兩個節點安裝RAC,由於使用的是T5120用LDM創建的兩個虛擬主機,所以相關網卡名字等都是按虛擬機裡面的命名方式進行的。
安裝完操作系統後,必須打上操作系統的推薦補丁包,用最近的EIS光碟來,如果沒有EIS光碟,可以到oracle網站下載最近的推薦補丁包,比如solaris10的最新補丁下載地址如下:這個可能需要OPN的賬號
https://updates.oracle.com/download/12714436.html
2.1 網路配置文件的修改
/etc/hosts該文件記錄了將來使用的IP地址,包括public和private的地址:
192.168.0.12 orac1 (主機1的本地地址)
192.168.0.13 orac2 (主機2的本地地址)
192.168.0.14 orac1-vip (主機1的public地址)
192.168.0.16 orac2-vip (主機2的public地址)
192.168.0.15 orac1-priv(主機1的private地址)
192.168.0.17 orac2-priv(主機2的private地址)
私有地址可以設置成另外一個網段的地址,本示例都為一個網段地址。

另外一台主機的/etc/hosts文件裡面需要這些地址,都寫上。
/etc/下主機網卡配置文件,public地址將來可以用在本地地址的那張網卡上,系統能夠plumb一個虛擬網卡,比如vnet0:1,私有地址必須單獨指定,比如/etc/hostname.vnet1,裡面寫入orac1-priv即可在系統reboot時候自動將私有地址網卡plumb起來。
建立好所有配置文件,需要確認以下地址是能夠ping通的:
ping orac1 ping orac2 ping orac1-priv ping orac2-priv
2.2 創建相應的ORACLE用戶和用戶組
根據oracle資料庫安裝的需要創建相應的unix組和用戶oracle:
groupadd dba 創建dba組
groupadd oinstall 創建oinstall組
useradd -g oinstall -G dba -d /opt/oracle -m -s /bin/sh oracle 創建oracle用戶
passwd oracle 修改oracle用戶的密碼
創建這些用戶和用戶組,對來說非常重要,千萬不要小看這些,首先必須保證以上的gid和uid在所有節點上保持一致,在安裝Clusterware,如果沒有正確設置一些目錄和設備的許可權,可能會導致這些軟體不能正確安裝或者安裝後無法正常使用。
oracle用戶的.profile文件,需要做如下的定義,具體可以根據文檔對照主機系統配置來進行修改和優化:
ORACLE_BASE=/opt/oracle/app/oracle
export ORACLE_BASE
ORACLE_HOME=/opt/oracle/app/oracle/10g
export ORACLE_HOME
ORACLE_SID=inst-ora1
export ORACLE_SID
PATH=${PATH}:$ORACLE_HOME/bin
export PATH
其他諸如 LD_LIBRARY等參數都可以在.profile文件裡面定義,SID每個節點都需要定義成1,2,3,4等,前綴為整個群集database定義的實例名,比如inst-ora,各個節點的SID就是inst-ora1,insta_ora2等等。

建立信任關系:
如果是10g,只需要建立rsh的信任關系,如果是11G的話,必選建立ssh的主機信任關系:
1. rsh信任關系
在所有節點執行以下命令
su - oracle
touch .rhosts
echo + > .rhosts
2. ssh信任關系
用命令來創建這些信任關系非常方便,如果使用11g的runInstaller程序的話,可以使用該程序提供的設置程序來建立信任關系,以下為命令方式建立:
su – oracle
mkdir .ssh(如果沒有.ssh就創建之); chmod 755 .ssh
/usr/bin/ssh-keygen -t rsa
/usr/bin/ssh-keygen -t dsa
以上根據提示輸入恰當的內容即可,以上兩個命令分別在.ssh目錄下生成id_rds.pub和id_dsa.pub兩個文件,將這兩個文件的內容全部拷貝到authorized_keys文件裡面去,chmod 644 .ssh/authorized_keys文件。該文件裡面應該包含所有節點的id_rds.pub和id_dsa.pub文件的內容。
2.3 修改系統參數
操作系統kernel參數需要根據具體機器配置進行適當修改,以下為典型的系統參數,可以將這些寫入/etc/system文件中,修改這個文件後,需要reboot系統才能生效:
set noexec_user_stack=1
set semsys:seminfo_semmni=100
set semsys:seminfo_semmns=1024
set semsys:seminfo_semmsl=256
set semsys:seminfo_semvmx=32767
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10
在Solaris 10下,如果使用project來管理,可以動態修改這些kernel參數,這對以後生產系統在線提供了非常好的便利。
2.4 創建CRS的home目錄
CRS的home最好不要和ORACLE的home放在一起,因為CRS目錄最終將成為root用戶的許可權。
mkdir -p /opt/crs/oracle/proct/10/app
chown -R root:oinstall /opt/crs
chmod -R 775 /opt/crs/oracle
注意此處crs目錄的宿主被設置成root:oinstall,如果設置成其他的話,安裝以後運行root.sh腳本將會有大量的警告,同時,crs無法正常運行的可能性將非常大。
2.5 存儲設備的設置
存儲設備主要提供給Clusterware軟體存放OCR和voting disk之用,並為資料庫提供存放數據等文件的,決定存儲如何使用非常重要,這主要影響以後資料庫的架構,存儲可以支持ASM方式、cluster file system方式以及raw設備方式。以下的matrix為各個存儲方式對CRS等的支持:
File Types Supported
Storage Option CRS Database Recovery
Automatic Storage Management No Yes Yes

Cluster file system Yes Yes Yes

NFS file system
PRIMECLUSTER and a certified Yes Yes Yes
NAS device (SPARConly)

Shared raw logical volumes (SPARC only) Yes Yes No

Shared raw partitions Yes Yes No
建議使用ASM自動存儲管理方式來進行存儲的管理,對於Cluster file system來說,大多數需要成本來購買相應的軟體,但也可以採用SUN公司的QFS軟體(該軟體應該是免費的)。採用raw裸設備的話,對用戶來說,要求相對要高些,因為raw安裝資料庫的時候,需要為每個dbf等文件分配一個raw設備,以後需要添加新的dbf等文件話,其操作步驟還是比較繁瑣的。
使用ASM一定要注意每個LUN的劃分,千萬不要使用EFI格式做磁碟的label,在多次實踐中發現,在使用EFI的label格式的存儲時候,將出現一個比較奇怪的現象,建好cluster後能夠順利創建資料庫,但是instance只能在一個節點啟動,另外一個節點無法啟動,查看alertlog文件,報告出現一個ora-600的錯,以及queue file IO error等錯誤。在solaris下,將LUN劃分為2T以下,採用VTOC方式的label即可,官方文檔建議創建大空間的LUN來減少系統對存儲的管理,但實踐證明,如果存儲空間大,可以建立多個小於2T的LUN,然後創建一個或多個ASM組來管理這些LUN是比較理想的。
根據RAC對存儲空間的要求來劃分對應的LUN或者slice,存放OCR的LUN 和voting disk都可以小些,建議使用1G的空間,存放資料庫的數據文件等存儲的LUN劃分得大些。
如果這些LUN曾經被用過,特別是曾經在RAC中被使用過的話,那麼就需要將磁碟裡面的內容清除,方法就是使用dd命令將磁碟內容清除,例如:
dd if=/dev/zero of=/dev/rdsk/c2t0d0s0 bs=1024k count=1000
本示例中,c0d1s0 作為OCR存放設備,c0d1s0作為voting disk,安裝中安裝程序會提示使用哪種冗餘方式,一般採用Normal方式,也就是OCR設備需要兩個設備來做mirror,voting disk需要三塊設備做冗餘。如果這些設備在存儲器上已經做了raid 5等冗餘保護,那麼這些冗餘方式可以採用External方式,即只要單個設備即可。
設備許可權必須設置正確,否則安裝程序會報錯,具體許可權設置如下:
chown -R root:oinstall /dev/rdsk/c0d1s0 OCR盤宿主為root,用戶為oinstall
chmod 640 /dev/rdsk/c0d1s0
chown -R root:oinstall /dev/rdsk/c0d1s3 voting disk設置如同CRS盤
chmod -R 660 /dev/rdsk/c0d1s3 voting disk文件為660的讀寫屬性
存放ORACLE資料庫dbf等文件的raw設備許可權設置為oracle:dba即可,寫許可權設置為775。

linux 環境變數怎麼讓oracle rac 命令

If more lines of text exist in the file, print another page.
namespace DesignPattern.Create.Component
{
abstract class Component {
protected string name;
public Component(string name)
{
this.name = name;
}

❸ 在RAC下,如何擴表空間

1. 操作是在客戶業務空閑的時候。
2. 查看datavg是否還有空閑的空間(數據文件在datavg上),若有的話,我們就可以在其上新建邏輯卷(裸設備)。
lsvg datavg 查看剩餘的空間,只有有空間剩餘,我們才能在上面新建裸設備。
3. A.用lsvg datavg查看卷組pp size,可看到其大小為128M,因此建立10G的邏輯卷需要80個PP
B.smitty lv
add a logical volume,此次共添加五個裸設備,五個表空間。分別是10000M
或者用命令mklv -y rac_xjsiqyb04(rac_xjsiqyb05、 rac_xjsi05、 rac_xjsi06、 rac_xjsi07) datavg 80 raw (rac_xjsiqyb04為新建的邏輯卷名,下同)
4. 查看新建邏輯卷的訪問屬性,屬主是否為oracle,若不是的話,則修改它的訪問屬性為oracle.
A.ls -al
B.chown oracle:dba /dev/rrac_xjsiqyb04(另外四個也做此)
C.chmod 755 /dev/ rrac_xjsiqyb04(每做一次chown就得做一次chmod.755表示賦予它讀寫許可權)
D.分別在10.200.5.8上再做五次改屬主賦許可權。
E.做完所有的操作後就可以擴表空間了,在5.6或5.8上做都可以,分別是10000M,為什麼不是10240M呢?是因為還要留一定的空間給裸設備的頭部要保留一定的空間,應用程序在使用裸設備時不可以覆蓋這一部分,否則會對裸設備造成損壞。所以一個裸設備的實際可用空間是分配給裸設備的空間再減去這部分操作系統保留空間。
Alter tablespace xjsi add datafile 『/dev/rrac_xjsiqyb04』size 10000m ;
(註:rrac_xjsiqyb對應字元設備,rac_xjsiqyb對應塊設備。在添加數據文件的時候,若寫成rrac_xjsiqyb,數據則會寫到所在卷datavg所在的存儲空間上,若寫成rac_xjsiqyb的話,則實際上生成了是/上的空間, 在/dev/datavg下查,一定會多出一個非創建的目錄來,就是說改變了數據寫的位置然後再用查一查)
5. 登錄資料庫,將新增加的裸設備增加到表空間
以sqlplus為例
su - oracle
sqlplus /nolog
conn /as sysdba
alter tablespace xjsi add datafile /dev/rxjsilv size 10G;
6. 用lsvg -0 看該卷組datavg是否被激活,若沒有的話,就varyoffvg datavg激活。在RAC下,作完這些操作後,不再需要同步雙機,因為他們本身就是共用一個存儲設備。

❹ 伺服器重啟後怎麼重啟oracle

您好,很高興為您解答。

在root用戶下啟動crs:
crsctl start crs
手動啟動rac的命令如下:

RAC的啟動和關閉

如果都遵循了上面的安裝步驟,那麼每次節點重新啟動的時候,所有服務都會自動啟動,如果需要關閉或者啟動某個節點,如下所示
*停止RAC
emctl stop dbconsole
srvctl stop instance -d orcl -i orcl1
srvctl stop instance -d orcl -i orcl2
srvctl stop asm -n rac1
srvctl stop asm -n rac2
srvctl stop nodeapps -n rac1
srvctl stop nodeapps -n rac2
*啟動RAC
和上面的步驟正好相反即
srvctl start nodeapps -n rac1
srvctl start nodeapps -n rac2
srvctl start asm -n rac1
srvctl start asm -n rac2
srvctl start instance -d orcl -i orcl2
srvctl start instance -d orcl -i orcl1
emctl start dbconsole

使用 SRVCTL 啟動/停止所有實例
啟動/停止所有實例及其啟用的服務。
srvctl start database -d orcl
srvctl stop database -d orcl

如若滿意,請點擊右側【採納答案】,如若還有問題,請點擊【追問】

希望我的回答對您有所幫助,望採納!

❺ oracle rac 怎麼排錯

CRS_STAT命令在集群啟動時要多用,在兩個節點上執行,可以快速發現問題;
本次如果我只在節點2上運行CRS_STAT命令,那麼就不會發現此類錯誤;
通過本次故障,我決定關閉ASM的自啟動,改為手動啟動,以避免類似錯誤重復發生。
srvctl disable asm -n crp31
srvctl disable asm -n crp32

❻ 如何控制oracle RAC 進行並行運算

RAC的一大優點就是可以跨節點進行並行計算,那麼如何控制並行運算?這就是這篇文章要討論的內容。
合理設置跨節點並行,需要先設置一些參數:
instance_groups:這個參數主要是設置該節點實例是否屬於某一個實例組。每個節點可以設置多個不同的實例組名,實例組名用逗號隔開。
parallel_instance_group設置的值為instance_groups裡面設置的值,表明這個節點上面進行的並行操作可以跨越哪些實例組。
alter system set instance_groups='dw','dw1','dw123','dw124','dw134' scope=spfile sid='dwrac1';
alter system set instance_groups='dw','dw2','dw123','dw124','dw234' scope=spfile sid='dwrac2';
alter system set instance_groups='dw','dw3','dw123','dw134','dw234' scope=spfile sid='dwrac3';
alter system set instance_groups='dw','dw4','dw124','dw134','dw234' scope=spfile sid='dwrac4';
以上參數分別為4個節點定義了5個instance group,有的group包含多個節點,有的group只包含一個節點。
一、跨所有節點執行
分兩種情況進行測試:instance_groups包含所有節點和instance_groups只包含一個節點。
1. instance_groups包含所有節點
1). 節點2參數設置情況
admin@dwrac2> show parameter instance_group
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_groups string dw, dw2, dw123, dw124, dw234
parallel_instance_group string
只定義了instance_groups,不設置parallel_instance_group。
前面我們設置過,dw這個instance_group包含了所有的節點。
2). 在節點2發出查詢
admin@dwrac2> select /*+ parallel(a,128) */count(1) from testuser.big_table a;
3). 另開一個窗口查詢並行進程情況
SQL> select INST_ID,COUNT(1) from gv$px_session p where (p.inst_id,p.sid) in (select s.inst_id,s.sid from gv$session s where s.username='ADMIN' and mole like 'SQL*%') GROUP BY INST_ID;
INST_ID COUNT(1)
---------- ----------
1 32
2 33
4 32
3 32
可以看到,並行會話(parallel slaves)平均分配到4個節點上。節點2多一個進程是因為它是並行查詢的發起者,額外的會話是發起會話,也就是並行查詢協調器(parallel query coordinator),其餘的是並行從屬進程。
之所有能分配到4個節點上,是因為4個節點都屬於dw這個instance group,且都沒有設定parallel_instance_group。
2. instance_groups只包含一個節點
1). 修改參數
admin@dwrac2> alter system set instance_groups='dw2' scope=spfile sid='dwrac2';
重啟
admin@dwrac2> show parameter instance_group
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_groups string dw2
parallel_instance_group string
不設置parallel_instance_group,且instance_group=dw2隻包含節點2.
2). 發出並行查詢
admin@dwrac2> select /*+ parallel(a,128) */count(1) from testuser.big_table a;
3). 另開一個窗口查詢並行進程情況
SQL> select INST_ID,COUNT(1) from gv$px_session p where (p.inst_id,p.sid) in (select s.inst_id,s.sid from gv$session s where s.username='ADMIN' and mole like 'SQL*%') GROUP BY INST_ID;
INST_ID COUNT(1)
---------- ----------
1 32
2 33
4 32
3 32
可以看到,即使是instance_groups='dw2'只在節點2出現,但是如果不設置parallel_instance_group,並行仍然可以跨越所有節點。
二、跨部分節點執行
這部分分兩種測試:發出命令的節點屬於parallel_instance_group的一員以及發出命令的節點不屬於parallel_instance_group
1. 發出命令的節點屬於parallel_instance_group的一員
1). 在節點2修改參數
admin@dwrac2> show parameter instance_group
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_groups string dw, dw2, dw123, dw124, dw234
parallel_instance_group string
admin@dwrac2> alter session set parallel_instance_group='dw2';
Session altered.
--這個設置的會強制並行操作只會屬於dw2這個instance group的節點中執行。
--注意:parallel_instance_group是大小寫區分的,如果用alter session set parallel_instance_group=dw2,則不會起任何並行進程,因為不加單引號的話,實際上載後台dw2會被轉換成大寫的DW2,不屬於任何一個instance group。
2). 在節點2發出同樣的查詢
admin@dwrac2> select /*+ parallel(a,128) */ count(1) from testuser.big_table a;
3). 另起一個會話查詢並行情況
SQL> select INST_ID,COUNT(1) from gv$px_session p where (p.inst_id,p.sid) in (select s.inst_id,s.sid from gv$session s where s.username='ADMIN' and mole like 'SQL*%') GROUP BY INST_ID;
INST_ID COUNT(1)
---------- ----------
2 129
可以看到,因為只有節點2屬於dw2這個instance group,所有並行會話都分布在節點2上。
2. 發出命令的節點不屬於parallel_instance_group
1) 在節點2修改參數
admin@dwrac2> show parameter instance_group
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_groups string dw, dw2, dw123, dw124, dw234
parallel_instance_group string
admin@dwrac2> alter session set parallel_instance_group='dw1';
Session altered.
根據我們之前的設置,只有節點1屬於dw1這個instance group。
2) 在節點2發出查詢
admin@dwrac2> select /*+ parallel(a,128) */ count(1) from testuser.big_table a;
3) 新開一個會話查詢並行進程信息
SQL> select INST_ID,COUNT(1) from gv$px_session p where (p.inst_id,p.sid) in (select s.inst_id,s.sid from gv$session s where s.username='ADMIN' and mole like 'SQL*%') GROUP BY INST_ID;
INST_ID COUNT(1)
---------- ----------
1 128
2 1
可以看到,除了並行查詢協調器(也就是發出查詢命令的會話)外,所有並行進程都運行在節點1上。
這也說明了,即使發出並行查詢指令的節點不屬於parallel_instance_group,但它仍然可以調用屬於parallel_instance_group的節點資源。
admin@dwrac2> alter session set parallel_instance_group='dw134';
Session altered.
Elapsed: 00:00:00.00
admin@dwrac2> select /*+ parallel(a,128) */ count(1) from testuser.big_table a;
SQL> select INST_ID,COUNT(1) from gv$px_session p where (p.inst_id,p.sid) in (select s.inst_id,s.sid from gv$session s where s.username='ADMIN' and mole like 'SQL*%') GROUP BY INST_ID;
INST_ID COUNT(1)
---------- ----------
1 42
2 1
4 42
3 44
總結一下:
1. RAC可以通過instance_groups和parallel_instance_group來靈活控制如何跨節點進行並行運算。
2. parallel_instance_group區分大小寫。如果設定的parallel_instance_groups值不屬於整個cluster的任意一個instance_groups設定值,則Oracle只會串列執行操作,不會啟用並行。
3. 如果不設定parallel_instance_group,不管instance_group如何設置,並行可以跨越所有節點
4. 如果某個節點設定了有效的parallel_instance_group,則在該節點發出的並行操作可以運行在parallel_instance_groups包含的所有節點上,不管parallel_instance_groups的節點是否包含發出命令的節點。
也就是說並行會話運行在那些節點只與instance_groups和parallel_instance_groups有關,與命令在那個節點發出無關。
5. 一般建議設置好合適的instance_groups,但不要在系統級設定parallel_instance_groups,根據實際情況在會話級設置parallel_instance_groups參數。
6. 以下是一些例子及說明
dwrac1.instance_groups='dw','dw1','dw123','dw124','dw134'
dwrac2.instance_groups='dw','dw2','dw123','dw124','dw234'
dwrac3.instance_groups='dw','dw3','dw123','dw134','dw234'
dwrac4.instance_groups='dw','dw4','dw124','dw134','dw234'
dwrac1.parallel_instance_groups='' --節點1發起的並行計算請求的會話可跨越所有節點執行
dwrac1.parallel_instance_groups='dw' --節點1發起的並行計算請求的會話可跨越所有節點執行
dwrac1.instance_groups='dw1' --節點1發起的並行計算請求的會話只可在節點1執行
dwrac1.instance_groups='dw2' --節點1發起的並行計算請求的會話只可在節點2執行
dwrac2.instance_groups='dw134' ----節點2發起的並行計算請求的會話只可在節點1/3/4上執行
dwrac1.instance_groups='other' --不會啟用並行

❼ 如何進行 Oracle 10g RAC關閉及啟動

一. 檢查共享設備
一般情況下, 存放OCR 和 Voting Disk 的OCFS2 或者raw 都是自動啟動的。 如果他們沒有啟動,RAC 肯定是啟動不了的。

1.1 如果使用ocfs2的,檢查ocfs2 狀態
/etc/init.d/o2cb status

在掛載之前,/etc/init.d/o2cb status 顯示為Checking O2CB heartbeat: Not active。
在格式化和掛載文件系統之前,應驗證 O2CB 在兩個節點上均聯機;O2CB 心跳當前沒有
活動,因為文件系統還沒有掛載 。掛載之後就會變成active。
mount -t ocfs2 -o datavolume /dev/sdb1 /u02/oradata/orcl

1,2. 如果使用raw device.
[root@raw1 ~]# cd /dev/raw/
[root@raw1 raw]# ls
raw1 raw2
或者:
[root@raw1 init.d]# /etc/init.d/rawdevices status
/dev/raw/raw1: bound to major 8, minor 17
/dev/raw/raw2: bound to major 8, minor 18

1.3. 檢查ASM
/etc/init.d/oracleasm listdisks

二. 自動啟動RAC並檢查相關進程
RAC 在啟動的時候crs 等進程都是自動啟動的:
[root@rac1 init.d]# ls -l /etc/init.d/init.*
-r-xr-xr-x 1 root root 1951 Feb 26 22:38 /etc/init.d/init.crs
-r-xr-xr-x 1 root root 4714 Feb 26 22:38 /etc/init.d/init.crsd
-r-xr-xr-x 1 root root 35394 Feb 26 22:38 /etc/init.d/init.cssd
-r-xr-xr-x 1 root root 3190 Feb 26 22:38 /etc/init.d/init.evmd

我們要查看一下crs 的狀態:
正常情況下, 進程都是online的:
[root@raw1 bin]# ./crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.raw.db application ONLINE ONLINE raw1
ora.raw.raw.cs application ONLINE ONLINE raw1
ora....aw1.srv application ONLINE ONLINE raw1
ora....aw2.srv application ONLINE ONLINE raw2
ora....w1.inst application ONLINE ONLINE raw1
ora....w2.inst application ONLINE ONLINE raw2
ora....SM1.asm application ONLINE ONLINE raw1
ora....W1.lsnr application ONLINE ONLINE raw1
ora.raw1.gsd application ONLINE ONLINE raw1
ora.raw1.ons application ONLINE ONLINE raw1
ora.raw1.vip application ONLINE ONLINE raw1
ora....SM2.asm application ONLINE ONLINE raw2
ora....W2.lsnr application ONLINE ONLINE raw2
ora.raw2.gsd application ONLINE ONLINE raw2
ora.raw2.ons application ONLINE ONLINE raw2
ora.raw2.vip application ONLINE ONLINE raw2

如果出現以下情況:
[root@rac2 bin]# ./crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.rac.db application ONLINE UNKNOWN rac1
ora....orcl.cs application ONLINE UNKNOWN rac1
ora....ac1.srv application OFFLINE OFFLINE
ora....ac2.srv application OFFLINE OFFLINE
ora....c1.inst application ONLINE UNKNOWN rac1
ora....c2.inst application ONLINE UNKNOWN rac2
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE UNKNOWN rac1
ora.rac1.gsd application ONLINE UNKNOWN rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE UNKNOWN rac2
ora.rac2.gsd application ONLINE UNKNOWN rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2

解決方法:
1. 用crs_stat 查看進程全部信息:
[root@rac2 bin]# ./crs_stat
NAME=ora.rac.db
TYPE=application
TARGET=ONLINE
STATE=ONLINE on rac2

NAME=ora.rac1.LISTENER_RAC1.lsnr
TYPE=application
TARGET=ONLINE
STATE=UNKNOWN on rac1

NAME=ora.rac1.gsd
TYPE=application
TARGET=ONLINE
STATE=UNKNOWN on rac1

NAME=ora.rac2.LISTENER_RAC2.lsnr
TYPE=application
TARGET=ONLINE
STATE=UNKNOWN on rac2
... ...

2. 對於offline 的進程,我們可以直接手動的啟動它
[root@rac2 bin]# ./crs_start ora.rac.orcl.rac1.srv
Attempting to start `ora.rac.orcl.rac1.srv` on member `rac1`
Start of `ora.rac.orcl.rac1.srv` on member `rac1` succeeded.

3. 對於UNKNOWN 的進程,我們可以先stop 它, 在start。
[root@rac2 bin]# ./crs_stop ora.rac2.gsd
Attempting to stop `ora.rac2.gsd` on member `rac2`
Stop of `ora.rac2.gsd` on member `rac2` succeeded.
[root@rac2 bin]# ./crs_start ora.rac2.gsd
Attempting to start `ora.rac2.gsd` on member `rac2`
Start of `ora.rac2.gsd` on member `rac2` succeeded.

4. 如果crs_stop不能結束,crs_start 不能啟動的進程,我們有2中方法來解決:
4.1)是用crs_stop -f 參數把crs中狀態是UNKNOWN的服務關掉,然後再用crs_start -f (加一個-f的參數)啟動所有的服務就可以。要分別在兩個節點上執行;
[Oracle@rac2 ~]$ crs_start -f ora.ora9i.ora9i2.inst
Attempting to start `ora.ora9i.ora9i2.inst` on member `rac2`
Start of `ora.ora9i.ora9i2.inst` on member `rac2` succeeded.
[oracle@rac2 ~]$ crs_stop -f ora.ora9i.db
Attempting to stop `ora.ora9i.db` on member `rac2`
Stop of `ora.ora9i.db` on member `rac2` succeeded.

4.2)轉換到root用戶下用/etc/init.d/init.crs stop先禁用crs,然後再用/etc/init.d/init.crs start去啟用crs,啟用crs後會自動啟動crs的一系列服務,注意此種方法需要在兩台節點上都執行;

5. 可以用命令一次啟動和關閉相關進程
[root@rac2 bin]# ./crs_stop -all
[root@rac2 bin]# ./crs_start -all

三. 手動啟動RAC
一般情況下每次節點啟動的時候,所有服務都會自動啟動,如果需要關閉或者啟動某個節點,如下所示
停止RAC:
emctl stop dbconsole
srvctl stop instance -d raw -i raw1
srvctl stop instance -d raw -i raw2
srvctl stop asm -n raw1
srvctl stop asm -n raw2
srvctl stop nodeapps -n raw1
srvctl stop nodeapps -n raw2
啟動RAC:
和上面的步驟正好相反即
srvctl start nodeapps -n raw1
srvctl start nodeapps -n raw2
srvctl start asm -n raw1
srvctl start asm -n raw2
srvctl start instance -d raw -i raw2
srvctl start instance -d orcl -i raw1
emctl start dbconsole

使用 SRVCTL 啟動/停止所有實例及其啟用的服務。
srvctl start database -d orcl
srvctl stop database -d orcl

註:CRS Resource 包括GSD(Global Serveice Daemon),ONS(Oracle Notification Service),VIP, Database, Instance 和 Service. 這些資源被分成2類:
GSD,ONS,VIP 和 Listener 屬於Noteapps類
Database,Instance 和Service 屬於 Database-Related Resource 類。

示例:
[root@raw1 bin]# ./crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.raw.db application ONLINE ONLINE raw1
ora.raw.raw.cs application ONLINE ONLINE raw1
ora....aw1.srv application ONLINE ONLINE raw1
ora....aw2.srv application ONLINE ONLINE raw2
ora....w1.inst application ONLINE ONLINE raw1
ora....w2.inst application ONLINE ONLINE raw2
ora....SM1.asm application ONLINE ONLINE raw1
ora....W1.lsnr application ONLINE ONLINE raw1
ora.raw1.gsd application ONLINE ONLINE raw1
ora.raw1.ons application ONLINE ONLINE raw1
ora.raw1.vip application ONLINE ONLINE raw1
ora....SM2.asm application ONLINE ONLINE raw2
ora....W2.lsnr application ONLINE ONLINE raw2
ora.raw2.gsd application ONLINE ONLINE raw2
ora.raw2.ons application ONLINE ONLINE raw2
ora.raw2.vip application ONLINE ONLINE raw2

[oracle@raw1 ~]$ emctl stop dbconsole
TZ set to PRC
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.

Stopping Oracle Enterprise Manager 10g Database Control ...
... Stopped.
[oracle@raw1 ~]$ srvctl stop instance -d raw -i raw1
[oracle@raw1 ~]$ srvctl stop instance -d raw -i raw2
[oracle@raw1 ~]$ srvctl stop asm -n raw1
[oracle@raw1 ~]$ srvctl stop asm -n raw2
[oracle@raw1 ~]$ srvctl stop nodeapps -n raw1
[oracle@raw1 ~]$ srvctl stop nodeapps -n raw2

[oracle@raw1 bin]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.raw.db application OFFLINE OFFLINE
Ora.raw.raw.cs application OFFLINE OFFLINE
ora....aw1.srv application OFFLINE OFFLINE
ora....aw2.srv application OFFLINE OFFLINE
ora....w1.inst application OFFLINE OFFLINE
ora....w2.inst application OFFLINE OFFLINE
ora....SM1.asm application OFFLINE OFFLINE
ora....W1.lsnr application OFFLINE OFFLINE
ora.raw1.gsd application OFFLINE OFFLINE
ora.raw1.ons application OFFLINE OFFLINE
ora.raw1.vip application OFFLINE OFFLINE
ora....SM2.asm application OFFLINE OFFLINE
ora....W2.lsnr application OFFLINE OFFLINE
ora.raw2.gsd application OFFLINE OFFLINE
ora.raw2.ons application OFFLINE OFFLINE
ora.raw2.vip application OFFLINE OFFLINE

四. 在啟動的過程中最好檢測著crs、ASM和資料庫的日誌:

crs日誌:
[oracle@rac1 ~]$ tail -f /u01/app/oracle/proct/10.2.0/crs_1/log/rac1/alertrac1.log
[oracle@rac2 ~]$ tail -f /u01/app/oracle/proct/10.2.0/crs_1/log/rac2/alertrac2.log

ASM日誌:
[oracle@rac1 ~]$ tail -f /u01/app/oracle/admin/+ASM/bmp/alert_+ASM1.log
[oracle@rac2 ~]$ tail -f /u01/app/oracle/admin/+ASM/bmp/alert_+ASM2.log

資料庫日誌:
[oracle@rac1 ~]$ tail -f /u01/app/oracle/admin/ora9i/bmp/alert_ora9i1.log
[oracle@rac2 ~]$ tail -f /u01/app/oracle/admin/ora9i/bmp/alert_ora9i2.log

註:tail -f命令可用於監視另一個進程正在寫入的文件的增長。

❽ 啟動oracle資料庫命令

(1)startup(用sys用戶或者其他擁有啟動資料庫許可權的用戶登錄資料庫軟體,然後執行該命令即可,如果存在多個實例,請在啟動前確認SID),資料庫有三個狀態nomount,mount,和open,默認開啟到open,如果開啟到另外兩個狀態,那麼可以通過alter命令改變狀態。
(2)如果是rac中啟停資料庫節點,那麼有專門的命令srvcrl(這個僅僅是命令的操作符,後面有參數的,參數我就不寫了,具體可以查一下,網上很多與偶內容的),另外還有crscrl(啟停crs服務的命令,同樣也是操作符,後面有參數的,這里也不寫了,自己查一下就可以了)
(3)啟動資料庫還有一個命令就是啟動監聽,lsnrctl命令(後面同樣有參數,能啟動停止,也能查詢監聽狀態,這個監聽的基本命令)

閱讀全文

與rac命令相關的資料

熱點內容
程序員理發店生意怎麼樣 瀏覽:597
程序員羅技 瀏覽:180
軟考初級程序員課程2021下載 瀏覽:487
杭州程序員奶奶 瀏覽:878
不聽命令造成錯誤 瀏覽:979
kool系統源碼 瀏覽:608
流氓app在哪裡看 瀏覽:98
域名購買了怎麼指向伺服器 瀏覽:121
安卓手機如何讓照片顏色反轉 瀏覽:859
怎麼下載卓睿安手機版 瀏覽:514
h3crange命令 瀏覽:468
php前景和python 瀏覽:338
php壓縮圖片內存大小 瀏覽:495
在哪裡可以查看雲伺服器的信息 瀏覽:70
python讀取非txt文件 瀏覽:799
艾莫迅用什麼編程軟體好 瀏覽:227
android文件存儲讀取 瀏覽:214
php基礎教程第5版 瀏覽:543
伺服器裡面怎麼刷東西 瀏覽:194
榮耀手機如何快速把app切換頁面 瀏覽:798