新聞中心
Oracle RAC數(shù)據(jù)庫是互聯(lián)網(wǎng)上更流行的數(shù)據(jù)庫之一,它提供了高可用性和高性能。然而,當(dāng)我們嘗試啟動Oracle RAC數(shù)據(jù)庫時,可能會遇到各種問題。在本文中,我們將介紹一些常見的Oracle RAC數(shù)據(jù)庫啟動故障,并提供解決方案。

1. CRS無法啟動
如果CRS無法啟動,則必須打開CRS日志文件來查找問題。這些日志文件位于$ORACLE_HOME/log/[nodename]/crs目錄中。您還可以使用命令$CRSHOME/bin/crsctl start res [resource_name]來單獨啟動一個資源。如果您發(fā)現(xiàn)資源無法啟動,則可能是由于資源配置不正確或資源與其他資源之間的依賴關(guān)系不正確。在這種情況下,您需要檢查所有相關(guān)資源,并確保它們都正確配置。
2. A無法啟動
如果A無法啟動,則必須打開A日志文件來查找問題。這些日志文件位于$ORACLE_HOME/log/[nodename]/a目錄中。您還可以使用命令$ORACLE_HOME/bin/acmd來測試A。如果ACmd無法連接到A實例,則說明A實例沒有正確啟動。在這種情況下,您需要檢查A實例的日志文件,并確保所有相關(guān)數(shù)據(jù)文件和控制文件均可訪問。
3. Listener無法啟動
如果監(jiān)聽器無法啟動,則可以使用命令$ORACLE_HOME/bin/lsnrctl status來查看監(jiān)聽器的狀態(tài)。如果監(jiān)聽器無法啟動,則必須打開監(jiān)聽器日志文件來查找問題。這些日志文件位于$ORACLE_HOME/network/log目錄中。在查找問題時,您還應(yīng)該檢查防火墻和端口限制。如果您使用的是Linux操作系統(tǒng),則可以使用命令iptables –L或firewall-cmd –list來查看防火墻規(guī)則。
4. Oracle RAC數(shù)據(jù)庫無法啟動
如果Oracle RAC數(shù)據(jù)庫無法啟動,則必須打開數(shù)據(jù)庫日志文件來查找問題。這些日志文件位于$ORACLE_BASE/diag/rdbms/[ORACLE_SID]/[ORACLE_SID]/trace目錄中。在查找問題時,您應(yīng)檢查數(shù)據(jù)庫是否正確配置。您可以使用命令$ORACLE_HOME/bin/dbua來驗證數(shù)據(jù)庫配置。如果數(shù)據(jù)庫配置無誤,則問題可能是由于網(wǎng)絡(luò)問題或磁盤空間問題引起的。在這種情況下,您需要檢查網(wǎng)絡(luò)配置和磁盤空間,并確保它們可用。
5. Oracle Grid Infrastructure無法啟動
如果Oracle Grid Infrastructure無法啟動,則必須打開Grid日志文件來查找問題。這些日志文件位于$ORACLE_BASE/diag/crs/[nodename]/crs/log目錄中。在查找問題時,您應(yīng)檢查確保所有相關(guān)實例均正確配置,驗證網(wǎng)絡(luò)配置是否正確,并確保磁盤空間可用。此外,還應(yīng)檢查您是否有足夠的權(quán)限來運行Oracle Grid Infrastructure。
在啟動Oracle RAC數(shù)據(jù)庫時,可能會遇到各種故障。在這種情況下,更好的方法是檢查相關(guān)日志文件并查找問題。此外,您還需要確保所有相關(guān)實例和資源都正確配置,并且網(wǎng)絡(luò)配置和磁盤空間都可用。如果您遇到無法解決的問題,請聯(lián)系Oracle技術(shù)支持團(tuán)隊尋求幫助。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù)!
Oracle 12c RAC,其中一個節(jié)點數(shù)據(jù)庫實例起不來,怎么辦
兩個節(jié)點,之一個節(jié)點能正常啟動,但第二個節(jié)點報錯。
無論是在集群還是在實例,都無法啟動數(shù)據(jù)庫實例。
$ srvctl start instance -d mdb -i mdb2
PRCR-1013 : 無法啟動資源 ora.mdb.db
PRCR-1064 : 無租嘩法在節(jié)點 m2 上啟動資源 ora.mdb.db
ORA-00203: ??????????
ORA-00202: ????: ”弊凳行+DATA/mdb/controlfile/current.268.”
CRS-2674: 未能啟動 ‘ora.mdb.db’ (在 ‘m2’ 上)
$ pwd
/home/grid
$ ll
總計 4
drwxrwxr-x 3 grid oinstall:35 oradiag_grid
$ pwd
/home/grid
$ srvctl status a -n m1
A 正在 m1 上運行
$ srvctl status a -n m2
A 正在 m2 上運行
ORA-03113: end-of-file on communication channel
使用相同的pfile啟動粗慎。
SQL> startup pfile=’/opt/app/oracle/product/11.2.0/dbs/initmdb1.ora’;
ORACLE instance started.
Total System Global Areabytes
Fixed Size36820 bytes
Variable Size64620 bytes
Database Buffers2 bytes
Redo Buffers33344 bytes
ORA-00203: using the wrong control files
ORA-00202: control file: ‘+DATA/mdb/controlfile/current.268.’
NODE M2:
SQL> show parameter control
NAMETYPE
—-
VALUE
——
control_file_record_keep_timeinteger
7
control_files string
+DATA/mdb/controlfile/current.
., +RECOVERY/mdb/c
ontrolfile/current.269.
39
control_management_pack_accessstring
DIAGNOSTIC+TUNING
SQL>
NODE M1:
SQL> show parameter control
NAMETYPE
—-
VALUE
——
control_file_record_keep_timeinteger
7
control_files string
+DATA/mdb/controlfile/current.
., +RECOVERY/mdb/c
ontrolfile/current.269.
39
control_management_pack_accessstring
DIAGNOSTIC+TUNING
SQL>
懷疑是虛擬機中的磁盤設(shè)置問題,修改虛擬機文件
把 scsi0:1.type=”disk”
修改為:
scsi0:1.shared=”TRUE”
其它兩項不變
scsi0:1.virtualDev = “l(fā)silogic”
scsi0:1.SharedBus=”Virtual”
所有共享磁盤修改后為:
scsi0:1.virtualDev = “l(fā)silogic”
scsi0:1.sharedBus = “VIRTUAL”
scsi0:1.shared=”TRUE”
disk.locking=”FALSE”
========================================================
修改后,再啟動實例,還是無法啟動,報控制文件出錯:
Connected to an idle instance.
SQL> startup;
ORACLE instance started.
Total System Global Areabytes
Fixed Size36820 bytes
Variable Size96268 bytes
Database Buffers4 bytes
Redo Buffers33344 bytes
ORA-00214: control file ‘+RECOVERY/mdb/controlfile/current.269.’
version 1199 inconsistent with file
‘+DATA/mdb/controlfile/current.283.’ version 522
SQL> show parameter spfile;
NAMETYPE
—-
VALUE
——
spfilestring
+DATA/mdb/spfilemdb.ora
SQL> select instance_name from v$instance;
INSTANCE_NAME
mdb1
SQL> show parameter spfile;
NAMETYPE
—-
VALUE
——
spfilestring
+DATA/mdb/spfilemdb.ora
SQL> select instance_name from v$instance;
INSTANCE_NAME
mdb1
SQL> create pfile from spfile;
File created.
SQL> shutdown abort;
ORACLE instance shut down.
SQL> exit
$ vi initmdb1.ora
$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Thu Jul 18 15:24:
Copyright (c) 1982, 2023, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup pfile=’/opt/app/oracle/product/11.2.0/dbs/initmdb1.ora’;
ORACLE instance started.
Total System Global Areabytes
Fixed Size36820 bytes
Variable Size96268 bytes
Database Buffers4 bytes
Redo Buffers33344 bytes
Database mounted.
Database opened.
SQL>
$ rman target /
Recovery Manager: Release 11.2.0.1.0 – Production on Thu Jul 18 15:29:
Copyright (c) 1982, 2023, Oracle and/or its affiliates. All rights reserved.
connected to target database (not started)
RMAN> startup nomount;
Oracle instance started
Total System Global Area bytes
Fixed Size bytes
Variable Sizebytes
Database Bufferytes
Redo Bufferytes
RMAN> restore controlfile to ‘+DATA’ from ‘+RECOVERY/mdb/controlfile/current.269.’;
Starting restore at:30:28
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=143 instance=mdb1 device type=DISK
channel ORA_DISK_1: copied control file copy
Finished restore at:30:36
RMAN> restore controlfile to ‘+DATA’ from ‘+RECOVERY/mdb/controlfile/current.269.’;
Starting restore at:38:57
using channel ORA_DISK_1
channel ORA_DISK_1: copied control file copy
Finished restore at:39:05
RMAN> exit
恢復(fù)控制文件的同時,可以在其它窗口看到增加的控制文件名稱:
ACMD> ls
Current.256.
Current.268.
current.282.
ACMD> ls
Current.256.
Current.268.
current.282.
current.283.
ACMD>
后面兩個文件是這次恢復(fù)的。
修改pfile,添加進(jìn)去:
*.control_files=’+DATA/mdb/controlfile/current.282.’,’+DATA/mdb/controlfile/current.283.’,’+RECOVERY/mdb/controlfile/current.269.’
再次使用pfile啟動數(shù)據(jù)庫后,建立spfile 文件。
SQL> startup pfile=’/opt/app/oracle/product/11.2.0/dbs/initmdb1.ora’;
ORACLE instance started.
Total System Global Areabytes
Fixed Size36820 bytes
Variable Size96268 bytes
Database Buffers4 bytes
Redo Buffers33344 bytes
Database mounted.
Database opened.
SQL>
create spfile=’+DATA/mdb/spfilemdb.ora’ from pfile=’/opt/app/oracle/product/11.2.0/dbs/initmdb1.ora’;
修改pfile文件指定到新生成的共享磁盤中的spfile
$ cat initmdb1.ora
SPFILE=’+DATA/mdb/spfilemdb.ora’
$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Thu Jul 18 15:53:
Copyright (c) 1982, 2023, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup;
ORACLE instance started.
Total System Global Areabytes
Fixed Size36820 bytes
Variable Size96268 bytes
Database Buffers4 bytes
Redo Buffers33344 bytes
Database mounted.
Database opened.
SQL>
完成后,再另一個節(jié)點啟動數(shù)據(jù)庫實例:
$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Thu Jul 18 15:58:
Copyright (c) 1982, 2023, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup;
ORACLE instance started.
Total System Global Areabytes
Fixed Size36820 bytes
Variable Size64620 bytes
Database Buffers2 bytes
Redo Buffers33344 bytes
Database mounted.
Database opened.
SQL> create table tst_tbs(id number(10),prod_name varchar2(50));
Table created.
SQL> insert into tst_tbs values(1,’test name’);
1 row created.
SQL> commit;
Commit complete.
在另一個實例中可以看到剛才插入的數(shù)據(jù)。
SQL> select id,prod_name from tst_tbs;
ID
PROD_NAME
1
test name
SQL> select instance_name from v$instance;
INSTANCE_NAME
mdb1
SQL>
在RAC中,看到數(shù)據(jù)庫沒啟動起來,再次使用RAC的命令啟動一下數(shù)據(jù)庫,完成。
$ crs_stat -t
OracleRAC日?;揪S護(hù)命令
所有實例和服務(wù)的狀態(tài)
$ srvctl status database d orcl
Instance orcl is running on node linux
Instance orcl is running on node linux
單個實例的狀態(tài)禪扒
$ srvctl status instance d orcl i orcl
Instance orcl is running on node linux
在數(shù)據(jù)庫全局命名服務(wù)的狀態(tài)
$ srvctl status service d orcl s orcltest
Service orcltest is running on instance(s) orcl orcl
特定節(jié)點上節(jié)點應(yīng)用程序的狀態(tài)
$ srvctl status nodeapps n linux
VIP is running on node: linux
GSD is running on node: linux
源蔽 Listener is running on node: linux
ONS daemon is running on node: linux
A 實例的狀態(tài)
$ srvctl status an linux
A instance +A is running on node linux
列出配置的所有數(shù)據(jù)庫
$ srvctl config database
orcl
顯示 RAC 數(shù)據(jù)庫的配置
$ srvctl config database d orcl
linux orcl /u /app/oracle/product/ /db_
linux orcl /u /app/oracle/product/ /db_
顯示指定集群數(shù)據(jù)庫的所有服務(wù)
$ srvctl config service d orcl
orcltest PREF: orcl orcl AVAIL:
顯示節(jié)點應(yīng)用程序的配置 —(VIP GSD ONS 監(jiān)聽器)
$ srvctl config nodeapps n linux a g s l
VIP exists : /linux vip/ / /eth :eth
GSD exists
雹襲州ONS daemon exists
Listener exists
顯示 A 實例的配置
$ srvctl config an linux
+A /u /app/oracle/product/ /db_
集群中所有正在運行的實例
SELECT
inst_id
instance_number inst_no
instance_name inst_name
parallel
status
database_status db_status
active_state state
host_name host
FROM gv$instance
ORDER BY inst_id;
INST_ID INST_NO INST_NAME PAR STATUS DB_STATUS STATE HOST
orcl YES OPEN ACTIVE NORMAL rac
orcl YES OPEN ACTIVE NORMAL rac
位于磁盤組中的所有數(shù)據(jù)文件
select name from v$datafile
union
select member from v$logfile
union
select name from v$controlfile
union
select name from v$tempfile;
NAME
+FLASH_RECOVERY_AREA/orcl/controlfile/current
+FLASH_RECOVERY_AREA/orcl/onlinelog/group_
+FLASH_RECOVERY_AREA/orcl/onlinelog/group_
+FLASH_RECOVERY_AREA/orcl/onlinelog/group_
+FLASH_RECOVERY_AREA/orcl/onlinelog/group_
+ORCL_DATA /orcl/controlfile/current
+ORCL_DATA /orcl/datafile/example
+ORCL_DATA /orcl/datafile/indx
+ORCL_DATA /orcl/datafile/sysaux
+ORCL_DATA /orcl/datafile/system
+ORCL_DATA /orcl/datafile/undotbs
+ORCL_DATA /orcl/datafile/undotbs
+ORCL_DATA /orcl/datafile/undotbs
+ORCL_DATA /orcl/datafile/undotbs
+ORCL_DATA /orcl/datafile/users
+ORCL_DATA /orcl/datafile/users
+ORCL_DATA /orcl/onlinelog/group_
+ORCL_DATA /orcl/onlinelog/group_
+ORCL_DATA /orcl/onlinelog/group_
+ORCL_DATA /orcl/onlinelog/group_
+ORCL_DATA /orcl/tempfile/temp
rows selected
屬于 ORCL_DATA 磁盤組的所有 A 磁盤
SELECT path
FROM v$a_disk
WHERE group_number IN (select group_number
from v$a_diskgroup
where name = ORCL_DATA );
PATH
ORCL:VOL
ORCL:VOL
啟動/停止RAC集群
確保是以 oracle UNIX 用戶登錄的 我們將從rac 節(jié)點運行所有命令
# su – oracle
$ hostname
Rac
停止 Oracle RAC g 環(huán)境
之一步是停止 Oracle 實例 當(dāng)此實例(和相關(guān)服務(wù))關(guān)閉后 關(guān)閉 A 實例 最后 關(guān)閉節(jié)點應(yīng)用程序(虛擬IP GSD TNS 監(jiān)聽器和 ONS)
$ export ORACLE_SID=orcl
$ emctl stop dbconsole
$ srvctl stop instance d orcl i orcl
$ srvctl stop an rac
$ srvctl stop nodeapps –n rac
啟動 Oracle RAC g 環(huán)境
之一步是啟動節(jié)點應(yīng)用程序(虛擬 IP GSD TNS 監(jiān)聽器和 ONS) 當(dāng)成功啟動節(jié)點應(yīng)用程序后 啟動 A 實例 最后 啟動 Oracle 實例(和相關(guān)服務(wù))以及企業(yè)管理器數(shù)據(jù)庫控制臺
$ export ORACLE_SID=orcl
$ srvctl start nodeapps n rac
$ srvctl start an rac
$ srvctl start instance d orcl i orcl
$ emctl start dbconsole
使用 SRVCTL 啟動/停止所有實例
啟動/停止所有實例及其啟用的服務(wù) 我只是覺得有意思就把此步驟作為關(guān)閉所有實例的一種方法加進(jìn)來了!
$ srvctl start database d orcl
lishixinzhi/Article/program/Oracle/202311/16967
關(guān)于oracle rac 數(shù)據(jù)庫啟動的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),香港虛擬主機被稱為香港虛擬空間/香港網(wǎng)站空間,或者簡稱香港主機/香港空間。香港虛擬主機特點是免備案空間開通就用, 創(chuàng)新互聯(lián)香港主機精選cn2+bgp線路訪問快、穩(wěn)定!
網(wǎng)站標(biāo)題:OracleRAC數(shù)據(jù)庫啟動故障排除指南(oraclerac數(shù)據(jù)庫啟動)
分享網(wǎng)址:http://fisionsoft.com.cn/article/cciohoj.html


咨詢
建站咨詢
