成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解Oracle RAC入門和提高

數據庫 Oracle
對于Oracle Real Application Server,真正應用集群,簡稱Oracle RAC大家并不陌生,本文將為大家做一次Oracle RAC入門和提高的課程。

本文將詳細講述Oracle RAC入門和提高,希望對廣大Oracle數據庫管理人員以及致力于學習Oracle數據庫的管理人有所幫助。

Oracle RAC 產品概述

Oracle Real Application Server,真正應用集群,簡稱Oracle RAC ,是Oracle的并行集群,位于不同服務器系統的Oracle實例同時訪問同一個Oracle數據庫,節點之間通過私有網絡進行通信,所有的控制文件、聯機日志和數據文件存放在共享的設備上,能夠被集群中的所有節點同時讀寫。其系統架構如下圖:
 

系統架構
 

RAC提供的好處包括:

(1)多節點負載均衡;

(2)提供高可用:故障容錯和無縫切換功能,將硬件和軟件錯誤造成的影響最小化,下表是RAC與傳統的雙機熱備方式切換時間的對比:

多節點均衡

(3)通過并行執行技術提高事務響應時間----通常用于數據分析系統;

(4)通過橫向擴展提高每秒交易數和連接數 ;----通常對于聯機事務系統;

(5)節約硬件成本,可以用多個廉價PC服務器代替昂貴的小型機或大型機,同時節約相應維護成本;

(6)可擴展性好,可以方便添加刪除節點,擴展硬件資源;

RAC的缺點有:

相對單機,管理更復雜,要求更高;

在系統規劃設計較差時性能甚至不如單節點;

可能會增加軟件成本(如果使用高配置的pc服務器,Oracle一般按照CPU個數收費)

在Oracle9i之前,RAC的名稱是OPS (Oracle parallel Server)。RAC 與 OPS 之間的一個較大區別是,RAC采用了Cache Fusion(高速緩存合并)技術。在 OPS 中,節點間的數據請求需要先將數據寫入磁盤,然后發出請求的節點才可以讀取該數據。使用Cache fusion時,RAC的各個節點的數據緩沖區通過高速、低延遲的內部網絡進行數據塊的傳輸。

Oracle RAC在中國各行各業使用都比較廣泛,包括通信移動、金融服務、社會保障和電子商務等,據Oracle統計,2007財年中國有500多家企業使用Oracle實時應用集群,考慮到未登記信息,實際數字更高于這一數字。典型的用戶包括:中彩在線/OLTP/4節點/10gR2/AIX5.3、淘寶/DataWarehouse/4節點/10gR2/RHEL4、北京社保/6節點 /HP_Alpha/ MA8000、建行證券系統/2節點/IBM_P595/EMC_DMX3、上海電力/2節點/Alpha_GS160、廣東移動、山東網通等。

#p#

Oracle RAC/Clusterware的結構和組件

一、RAC主要組件, 軟硬件兩部分

(1) 服務器 >= 2

(2) 操作系統,推薦使用Oracle認證的系統;版本不要太老,也不要太新

(3) CPU/內存 根據業務需要,內存至少1G

(4) 本地磁盤空間,>=30G

(5) 網卡 >=2 ,推薦4個以上千兆網卡

(6) 私有以太網絡,推薦千兆交換機以上

(7) HBA卡 ,如果是SAN,推薦2個冗余HBA

(8) 共享存儲設備,推薦SAN設備

(9) 存儲管理, ASM/Cluster LV/裸分區/CFS,不推薦用OCFS,卷管理軟件、多路徑軟件等

(10) 第三方集群軟件: 可選

(11) Oracle Clusterware 軟件

(12) Oracle RDBMS 軟件

二、Clusterware主要進程

(1)crsd: 負責管理集群的高可用操作。管理的crs資源包括數據庫、實例、監聽、虛擬IP,ons,gds或者其他,操作包括啟動、關閉、監控及故障切換。改進程由root用戶管理和啟動。crsd如果有故障會導致系統重啟。

(2)cssd,管理各節點的關系,用于節點間通信,節點在加入或離開集群時通知集群。該進程由oracle用戶運行管理。發生故障時cssd也會自動重啟系統。

(3)oprocd – 集群進程管理 —Process monitor for the cluster. 用于保護共享數據IO fencing。

僅在沒有使用vendor的集群軟件狀態下運行

(4)evmd :事件檢測進程,由oracle用戶運行管理

三、Clusterware使用的共享設備

(1) Oracle Cluster Registry(OCR):記錄集群的配置信息;

(2) Voting disk : 即投票盤,保存節點的成員信息,當配置多個投票盤的時候個數必須為奇數,每個節點必須同時能夠連接半數以上的投票盤才能夠存活;

四、安裝路徑的選擇

安裝路徑的選擇

注:

(1)在Oracle RAC中,軟件不建議安裝在共享文件系統上;包括CRS_HOME和ORACLE_HOME,尤其是CRS軟件,推薦安裝在本地文件系統中,這樣在進行軟件升級,以及安裝patch和patchset的時候可以使用滾動升級(rolling upgrade)的方式,減少計劃當機時間。另外如果軟件安裝在共享文件系統也會增加單一故障點。

(2)如果使用ASM存儲,需要為asm單獨安裝ORACLE軟件,獨立的ORACLE_HOME,易于管理和維護,比如當遇到asm的bug需要安裝補丁時,就不會影響RDBMS文件和軟件。

(3)在Oracle 11gR2中將新增存儲選項:acfs (Oracle ASM Cluster File System)

第三方集群

在Oracle9i中,除了Windows和Linux,在安裝RAC之前必須先安裝vendor clusterware,即第三方集群,包括IBM的HACMP, HP的ServiceGuard for oracle RAC, Sun cluster,Veritas SFRAC等,這一類的集群軟件為Oracle RAC提供了下面的功能:

(1)共享的邏輯卷管理或者集群文件系統用于存放數據文件;

(2)提供了統一的集群的成員組管理;

(3)使用更健壯的SCSI-3 PGR機制來防止心跳故障(即裂腦split brain)導致的數據損壞,這種功能一般叫做IO fencing;

(4)提供效率更高的、更低延遲的心跳網絡用于cache fusion,可以相對減少TCP/IP的開銷,包括:

HP SGeRAC: HMP (Hyper Messaging Protocol),

Sun Cluster: RSM (Remote Shared Memory),

Veritas SFRAC: LLT (low-latency transport),

Compac True Cluster: RDG (reliable data grams);

通常如果要使用第三方集群的心跳協議,需要將$ORACLE_HOME/lib/libskgxpX.so文件替換為第三方集群

軟件提供的libskgxpX.so文件(其中X代表Oracle版本號9/10/11),skgxp 是System Kernel Generic Interface Inter-Process Communications的縮寫,是oracle開放的一個應用接口,用于傳輸GCS和GES 的數據。Oracle自帶的libskgxp文件定義的傳輸協議是UDP/IP。

5)提供擴展的容災方案,例如campus cluster/metro cluster/extended RAC;如下圖, 以Veritas的SFRAC為例,它提供兩種Oracle Extended RAC方案,方案一是使用Veritas Volume Manager對底層陣列進行鏡像,提供同城容災級別的實時數據保護;方案二使用GCO/VVR對數據庫進行數據復制,可以實現距離更遠、超過10km廣域網的容災;

陣列

(6)Veritas SFRAC 還提供了以下特性:

補充的Oracle ODM,可以使Oracle同時擁有文件系統的易管理和裸設備的性能;

標準的多路徑軟件(DMP),不需要再安裝其他軟件就可支持絕大多數磁盤陣列,在異構SAN環境中有更好的兼容性;

從Oracle10g起,Oracle提供了自己的集群軟件,叫Oracle clusterware簡稱CRS,這個軟件是安裝oracle rac的前提,而上述第三方集群則成了安裝的可選項。同時提供了另外一個新特性叫做ASM,可以用于RAC下的共享磁盤設備的管理,還實現了數據文件的條帶化和鏡像,以提高性能和安全性 (S.A.M.E: stripe and mirror everything ) ,不再依賴第三方存儲軟件來搭建RAC系統。

那么Oracle是如何識別第三方集群的呢?

在安裝完第三方集群后,會在特定目錄下生成Oracle RAC接口文件,這個文件的作用就是上面的第二點功能:集群成員管理信息(cluster membership 簡稱CM)。在HPUX下該文件是/opt/nmapi/nmapi2/lib/pa20_64,在AIX/Solaris/Linux下這個文件是 /opt/ORCLcluster/lib/libskgxn2.so 。

當安裝CRS的的檢查階段,就會檢測是否有該文件,如果有的話,在安裝CRS過程中生成一個軟連接文件,文件名是ligskgxn2.so,指向上面的libskgxn2.so或pa20_64文件,這個軟連接的位置在CRS_HOME/lib/目錄;如果沒有第三方集群,那么CRS安裝過程中生成自己的libskgxn2.so文件。換句話說,在有第三方集群存在的情況下,CRS的集群成員信息是來自于第三方集群,兩套集群的成員信息保持一致和同步;沒有第三方集群情況時,CRS自己管理成員信息。

通過查詢$CRS_HOME/log/hostname/cssd/ocssd.log可以看到css識別到的第三方集群,下面的例子分別是HACMP、SFRAC、SunCluster、ServiceGuide :

 

  1. [CSSD]2008-05-27 15:09:43.456 [1029] >TRACE: clssnm_skgxninit: initialized skgxn version (2/0/IBM AIX skgxn)  
  2. [CSSD]2008-12-30 21:44:56.172 [1029] >TRACE: clssnm_skgxninit: initialized skgxn version (2/0/Veritas Cluster Server MM  
  3. [CSSD]2007-08-10 02:19:39.572 [3] >TRACE: clssnm_skgxninit: initialized skgxn version (2/2/Oracle Solaris UDLM)  
  4. [CSSD]2006-09-29 18:57:53.323 [5] >TRACE: clssnm_skgxninit: initialized skgxn version (2/0/Hewlett-Packard SKGXN 2.0) 

 

在9i/8i中沒有css/crs,該信息可以在后臺進程lmon的trace文件中得到(在bdump中);

在安裝Oracle 9i RAC/8i OPS的過程中,Oracle識別集群方法類似。

在多個平臺上,如果兩個節點沒有正確鏈接libskgxn2文件,可能會導致第二個實例無法mount或出現ORA-600錯誤。

Oracle支持的RAC環境

因為Oracle RAC本身比較復雜,在安裝和管理中可能會遇到各種問題,涉及到OS、RDBMS、Cluster軟件和網絡、主機、存儲等硬件,為了避免不必要的問題發生,在安裝之前,我們需要確認安裝環境是否滿足要求,包括軟件和硬件兩方面,尤其是Vendor clusterware和OS 的版本的兼容性需要注意,可以從metalink中得到最新的Oracle官方認證信息:登陸Metalink.oracle.com 選擇 Certify,選擇by product,選擇real application server,選擇對應平臺就可以得到。下面列出一些關于硬件和平臺支持的常見問題:

官方不支持的:Vmware, Sun LDOM ,Solaris Local Container/Zones

官方支持的: IBM LPAR, IBM VIOS(Virtual IO Server), Solaris Global Containers

RHEL GFS , ISCSI,

私有網絡(心跳線)的支持: 不支持使用交叉線,支持 Infiniband RDS (10gR2之后)

異構環境:支持不同的硬件、但相同的軟件(OS/Oracle)組成的集群,不支持32位與64位系統間的集群

目前支持的NFS的server包括:

EMC Celerra

Fujitsu Filer NR1000 Series

IBM N Series

NetApp FAS, F, G Series

Pillar Data Systems Axiom 500

Sun StorageTek 5000 Series

Oracle Clusterware的心跳

Oracle clusterware 使用兩種心跳設備來驗證成員的狀態,保證集群的完整性;一是對voting disk的心跳,ocssd進程每秒向votedisk寫入一條心跳信息;二是節點間的私有以太網的心跳,兩種心跳機制都有一個對應的超時時間,分別叫做 misscount和disktimeout:

misscount 用于定義節點間心跳通信的超時,單位為秒;

disktimeout ,默認200秒,定義css進程與vote disk連接的超時時間;

reboottime ,發生裂腦并且一個節點被踢出后,這個節點將在reboottime的時間內重啟;默認是3秒;

其中misscount默認值見下表
misscount

用下面的命令查看上述參數的實際值:

  1. 1. # crsctl get css misscount  
  2. 2. # grep misscount $CRS_HOME/log/hostname/cssd/ocssd.log  
  3. [CSSD]2008-11-27 22:29:42.397 [1] >TRACE: clssnmInitNMInfo: misscount set to 600 

 

在下面兩種情況發生時,css會踢出節點來保證數據的完整,:

(1) Private Network IO time > misscount,會發生split brain即裂腦現象,產生多個“子集群”(subcluster) ,這些子集群進行投票來選擇哪個存活,踢出節點的原則按照下面的原則:

節點數目不一致的,節點數多的subcluster存活;節點數相同的,node ID小的節點存活。

(2) Vote Disk IO Time > disktimeout ,踢出節點原則如下:失去半數以上vote disk連接的節點將在reboottime的時間內重啟;例如有5個vote disk,當由于網絡或者存儲原因某個節點與其中>=3個vote disk連接超時時,該節點就會重啟。當一個或者兩個vote disk損壞時則不會影響集群的運行。

可以手工修改這三個參數的值,單位都是秒:(謹慎使用)

 

  1. $CRS_HOME/bin/crsctl set css misscount   
  2. $CRS_HOME/bin/crsctl set css reboottime [-force]  
  3. $CRS_HOME/bin/crsctl set css disktimeout [-force]  
  4. 或者重新設置成默認值:crsctl unset css misscount 

 

Clusterware的私有網絡

在Oracle 10g/11g中,Oracle的私有網絡(private network)包括clusterware的私有網絡和數據庫實例的私有網絡:

clusterware的私有網絡主要包括css數據的傳送,即用一種特殊的ping命令來檢測其他機器的狀態;

數據庫實例的私有網絡,包括RDMS和ASM的,用于cache fusion(GCS/GES)數據的傳輸。

當我們只使用一個私有網卡的時,同時傳送上面兩類的數據。如果我們在安裝時指定了兩個私有網卡,首先使用如下面$CRS_HOME/bin/oifcfg getif命令來得到所有網絡接口列表,這些信息保存在ocr中:

 

  1. # oifcfg getif  
  2. en0 10.200.56.0 global public 
  3. en3 192.168.3.0 global cluster_interconnect  
  4. en5 192.168.5.0 global cluster_interconnect 

 

情況會有所不同,clusterware的私有網絡,目前(10g/11g)只能使用一個網絡接口,對應于/etc/hosts中定義的private hostname的那個網卡,可以通過查看ocssd的log來確定:

當/etc/hosts 中定義private hostname為192.168.3.233時看到 :

 

  1. [ CSSD]2009-01-16 17:34:12.406 [1029] >TRACE: clssgmPeerListener: Listening on (ADDRESS=(PROTOCOL=tcp)(DEV=12) (HOST=192.168.3.233)(PORT=45527)) 

這個是與其他節點css進行通信的信息:

 

  1. [ CSSD]2009-01-16 17:36:27.463 [1029] >TRACE: clssgmConnectToNode: 
  2. node 2 clsc (ADDRESS=(PROTOCOL=tcp)(DEV=12) (HOST=192.168.3.234)(PORT=37732)) - size 64 ver 1 

當/etc/hosts 中定義private hostname為192.168.5.233時,css使用了另外一個網絡:

 

  1. [ CSSD]2009-01-16 18:59:56.411 [1029] >TRACE: clssgmPeerListener:   
  2. Listening on (ADDRESS=(PROTOCOL=tcp)(DEV=12) (HOST=192.168.5.233)(PORT=50415)) 

Oracle實例的私有網絡

Oracle實例的心跳網絡使用方式的優先級從高到低如下:

(1) 如果使用了第三方集群的IPC,替換了對應$ORACLE_HOME/lib/libskgxnX.so文件,那么數據庫實例的cache fusion會使用對應的網絡協議,而忽略ocr中和數據庫初始化參數中cluster_interconnects的配置,下面的例子當中就使用了 VCSIPC,可以從對應的alert log中驗證:

 

  1. db_name = r10g  
  2. open_cursors = 300  
  3. pga_aggregate_target = 1237319680  
  4. Fri Mar 13 14:00:35 2009  
  5. Oracle instance running with ODM: Veritas 6.0 ODM Library, Version 1.1  
  6. cluster interconnect IPC version:  
  7. VERITAS IPC 5.1.0.0 15:16:24 Feb 12 2009  
  8. IPC Vendor 86 proto 76  
  9. Version 1.0  
  10. PMON started with pid=2, OS id=4399196  
  11. DIAG started with pid=3, OS id=3936288 

 

(2) 如果沒有使用第三方IPC,則優先使用數據庫初始化參數的cluster_interconnects配置,這個參數的格式為if1:if2:...:ifn,可以不同于crs的私有網絡,需要注意的是,該參數不支持多個網卡的故障切換;

(3) 沒有上面兩個配置,數據庫會使用oifcfg列出的心跳的網絡,在對應的告警日志中可以得到:

 

  1. Interface type 1 en6 192.168.61.0 configured from OCR for use as a cluster interconnect  
  2. Interface type 1 en0 10.182.0.0 configured from OCR for use as a public interface  
  3. . . . .  
  4. Cluster communication is configured to use the following interface(s) for this instance  
  5. 192.168.61.0 

(4) 沒有1和2的配置,并且oifcfg也沒有配置cluster_interconnect,則數據庫會使用共有網絡進行心跳信息的傳輸,這種配置其實是配置失敗的情況,數據庫雖然能夠啟動,但急需DBA修正,在告警日志中可以看到:

 

  1. WARNING: No cluster interconnect has been specified. Depending on  
  2. the communication driver configured Oracle cluster traffic  
  3. may be directed to the public interface of this machine.  
  4. Oracle recommends that RAC clustered databases be configured  
  5. with a private interconnect for enhanced security and  
  6. performance. 

 

對于一個已經有的系統,可以用下面幾種方法確認數據庫實例的心跳配置,包括網卡名稱,IP地址,使用的網絡協議:

(1) 最簡單的方法:可以在數據庫的后臺報警日志中得到。具體參見上面列出的告警日志;

(2) 使用oradebug ;

 

  1. SQL> oradebug setmypid  
  2. SQL> oradebug ipc  
  3. SQL> oradebug tracefile_name 

 

找到對應trace文件的這一行:socket no 10 IP 10.0.0.1 UDP 49197

(3) 從數據字典中得到(V$CLUSTER_INTERCONNECTS 和 V$CONFIGURED_INTERCONNECTS),或查詢x$ksxpia

 

  1. SQL> SELECT * FROM V$CLUSTER_INTERCONNECTS; ----Oracle 11g 開始支持此試圖  
  2. NAME IP_ADDRESS IS_ SOURCE  
  3. ------------------------------ ---------------- --- -------------------------------  
  4. en3 192.168.2.31 NO Oracle Cluster Repository  
  5. en5 192.168.3.231 NO Oracle Cluster Repository  
  6. SQL> SELECT * FROM V$CONFIGURED_INTERCONNECTS;  
  7. NAME IP_ADDRESS IS_ SOURCE  
  8. ------------------------------ ---------------- --- -------------------------------  
  9. en3 192.168.2.31 NO Oracle Cluster Repository  
  10. en5 192.168.3.231 NO Oracle Cluster Repository  
  11. en0 10.200.59.231 YES Oracle Cluster Repository  
  12. SQL> select * from x$ksxpia ;  
  13. ADDR INDX INST_ID PUB_KSXPIA PICKED_KSXPIA NAME_KSXPIA IP_KSXPIA  
  14. ---------------- ---------- ---------- ---------- --------------- --------------- ----------------  
  15. 00000001104AAF28 0 1 N OCR en6 192.168.61.121  
  16. 00000001104AAF28 1 1 Y OCR en0 10.182.6.211 

 

為了避免心跳網絡成為系統的單一故障點,簡單地我們可以使用操作系統綁定的網卡來作為Oracle的心跳網絡,以AIX為例,我們可以使用etherchannel技術,假設系統中有ent0/1/2/3四塊網卡,我們綁定2和3作為心跳:

 

  1. #mkdev -c adapter -s pseudo -t ibm_ech -a adapter_names='ent2,ent3' ## 將生成網卡設備ent4  
  2. #/usr/lib/methods/defif  
  3. #lsdev -Cc adapter | grep ent  
  4. #lsattr -El ent4  
  5. #ifconfig en4 inet 192.168.3.231 netmask 255.255.255.0 up  
  6. 在Solaris上可以使用dladm來創建鏈路聚合:  
  7. # dladm create-aggr -d bge2 -d bge3 1  
  8. # ifconfig aggr1 plumb 192.168.3.231 netmask 255.255.255.0 up  
  9. # dladm show-aggr  
  10. # ifconfig -a 

 

同樣在HPUX和Linux對應的技術分別叫APA和bonding。

UDP私有網絡的調優

當使用UDP作為數據庫實例間cashe fusion的通信協議時,在操作系統上需要調整相關參數,以提高UDP傳輸效率,并在較大數據時避免出現超出OS限制的錯誤:

(1) UDP數據包發送緩沖區:大小通常設置要大于(db_block_size * db_multiblock_read_count )+4k,

(2) UDP數據包接收緩沖區:大小通常設置10倍發送緩沖區;

(3) UDP緩沖區最大值:設置盡量大(通常大于2M)并一定要大于前兩個值;

各個平臺對應查看和修改命令如下:

Solaris 查看

  1. ndd /dev/udp udp_xmit_hiwat udp_recv_hiwat udp_max_buf ;  
  2. 修改 ndd -set /dev/udp udp_xmit_hiwat 262144  
  3. ndd -set /dev/udp udp_recv_hiwat 262144  
  4. ndd -set /dev/udp udp_max_buf 2621440 

 

AIX 查看

  1. no -a |egrep “udp_|tcp_|sb_max”  
  2. 修改 no -p -o udp_sendspace=262144 
  3. no -p -o udp_recvspace=1310720 
  4. no -p -o tcp_sendspace=262144 
  5. no -p -o tcp_recvspace=262144 
  6. no -p -o sb_max=2621440 

 

Linux 查看

  1. 文件/etc/sysctl.conf  
  2. 修改 sysctl -w net.core.rmem_max=2621440 
  3. sysctl -w net.core.wmem_max=2621440 
  4. sysctl -w net.core.rmem_default=262144 
  5. sysctl -w net.core.wmem_default=262144 

 

HP-UX 不需要

HP TRU64 查看 /sbin/sysconfig -q udp

修改: 編輯文件/etc/sysconfigtab

inet: udp_recvspace = 65536

udp_sendspace = 65536

Windows 不需要

常見安裝、管理錯誤

1. 安裝CRS失敗,或執行root.sh報錯,可能原因:

(1) 節點間的時間不同步,解決方法:使用ntp服務

(2) Linux下啟用了默認的防火墻,導致執行root.sh報錯:

Failure at final check of Oracle CRS stack.

10

解決方法:禁用iptables ,注釋/etc/pam.d/other ;

 

  1. # service iptables stop; # chkconfig iptables off. 

(3) 裸設備的權限問題,可能因為操作系統重新啟動后權限發生變化。(RHEL4)

解決方法: 把 chown oracle:dba /dev/raw/raw* 命令加入到/etc/rc.local中,每次開機自動執行

或者修改文件/etc/udev/permissions.d/50-udev.permissions

第113行raw/*:root:disk:0660 改成 raw/*:oracle:dba:0660

(4) Solaris使用了包括cylinder 0的磁盤分區來存儲OCR或者vote disk。

解決辦法:相關分區不應該包括cylinder 0,可以從1開始。

(5) 使用的公網IP地址不可路由,

解決方法:添加相關網關

(6) 在/etc/hosts 中沒有loopback地址,即127.0.0.1 localhost

(7) 主機名含有大些字母、減號或者下劃線等特殊字符;

(8) HPUX中oracle不要使用gnu的bash,修改使用默認shell;

(9) 檢查操作系統、第三方集群是否是oracle官方支持的,是否需要補丁,比如在AIX5.3+HACMP上安裝

Oracle 10g/11g RAC,oslevel就需要06及以上;

(10) AIX平臺,需要將共享設備的reserve_policy (reserve_lock) 屬性修改為no_reserve(no);

(11) 所有節點看到的OCR和vote設備的路徑名應該一致,如果不一致,可以用軟連接解決;

(12) 心跳設備問題或者ocr/votedisk 訪問問題,unix/linux查看有無/tmp/crsctl.*文件,得到錯誤信息;

(13) 在CRS舊的安裝的環境中重新安裝失敗

解決方法: dd清除ocr和vote disk,并使用下面語句清理舊的crs配置文件

 

  1. rm -rf /usr/tmp/.oracle /var/tmp/.oracle /tmp/.oracle /etc/oracle/* /var/opt/oracle/*  
  2. rm -rf /etc/init.cssd /etc/init.crs* /etc/init.evmd /etc/init.d/init.cssd /etc/init.d/init.crs  
  3. rm -rf /etc/init.d/init.crsd /etc/init.d/init.evmd /etc/rc3.d/K96init.crs /etc/rc3.d/S96init.crs  
  4. rm -rf /etc/rc.d/rc2.d/K96init.crs /etc/rc.d/rc2.d/S96init.crs 

 

2 客戶端有時候報錯:

ORA-12545: Connect failed because target host or object does not exist

ORA-12545: 因目標主機或對象不存在, 連接失敗

解決方法:設置local_listener初始化參數

3 如果選擇節點界面出不來。

(1)HACMP環境中需要檢查oracle 用戶必須在 hagsuser組里.

(2)如果是hacmp5.4,需要打Oracle補丁6718715;

(3)可以使用集群配置文件cluster CONFIGURATION FILE ,內容模板如下:

 

  1. MyCluster  
  2. rac01 rac01-priv rac01-vip  
  3. rac02 rac02-priv rac02-vip  
  4. rac03 rac03-priv rac03-vip  
  5. rac04 rac04-priv rac04-vip 

 

4. AIX上數據庫啟動報錯

 

  1. ora-27504 IPC error creating OSD context  
  2. ora-27300 OS system dependent operation:sendmsg failed with status:59  
  3. ora-27301 OS failure message:Message too long  
  4. ora-27302 failure occurred at:sskgxpsnd1 

 

原因:沒有設置網絡參數udp_recvspace/udp_sendspace

5. Windows平臺,ORA-600 [kccsbck_first]

解決方法:關閉Media Sense(媒體感知)

6. 系統循環重啟:

可能是CRS導致,如果因為crs,首先設置 crsctl disable crs 來禁止oracle crs的自動啟動。

查看OS、crsd和cssd的對應日志,看/tmp/下是否有crs文件 (ls -lrt /tmp/crsctl*),確定crs失敗原因。

7. 第二個節點的數據實例無法mount,掛起或者報錯,

原因1:使用了vendor clusterware ,libskgxn2.so文件鏈接錯誤,

解決方法:比較兩個節點的ORACLE_HOME/lib/libskgxn2和CRS_HOME/lib/libskgxn2*都是否相同,

如果不同需要重新link

原因2:任何平臺Oracle 9i,沒有設置網絡參數udp參數

導致udp_sendspace或者udp_recvspace小于 db_block_size * db_file_multiblock_read_count

解決方法:設置對應參數,如AIX上設置udp_recvspace = 65536 udp_sendspace = 65536

原因3:AIX/HACMP/Oracle9i,在hacmp中定義了service IP

解決方法:在初始化參數中定義cluster_interconnects

原因4:任何平臺,設置了錯誤的cluster_interconnects

解決方法:檢查并糾正此參數,

8. 建庫時不能識別裸設備;

原因1:Oracle,10.2.0.3 ,很多平臺(比如aix和linux)有rawutl相關bug,

解決辦法:還原10.2.0.1中的rawutl工具,該程序在 $ORACLE_HOME/bin目錄中。

原因2:Oracle9i,AIX平臺,需要設置環境變量export PGSD_SUBSYS=grpsvcs

9. evm資源自動報錯oac_init:2: Could not connect to server, clsc retcode = 9

解決方法:關閉 “UDP ICMP rejections”

 

  1. /etc/rc.d/init.d/iptables stop ;chkconfig iptables off 

【編輯推薦】

  1. 新的Oracle 11g功能展示
  2. 深入Oracle 11g分區功能
  3. Oracle 11g R2中新特性一覽
  4. Oracle 11g R2如約而至 RAC技術成亮點 
  5. 詳解Oracle數據庫優化方案與實踐
責任編輯:彭凡 來源: ITPUB
相關推薦

2022-06-20 05:25:54

裂腦Oracle RAC數據庫

2010-03-04 09:27:00

Oracle RAC

2019-02-25 08:40:28

Linux磁盤IO

2011-05-19 14:11:29

Oracle

2019-07-09 10:24:14

Oracle腳本負載均衡

2011-03-29 10:47:49

ORACLE數據庫

2011-04-11 14:56:09

Oracle性能

2010-04-22 10:30:11

Oracle RAC

2010-04-12 15:28:38

Oracle RAC

2023-08-28 09:14:20

ScrapyPython

2023-10-11 08:59:05

2010-04-07 09:21:03

Oracle RAC

2017-03-28 11:39:58

深信服超融合平臺

2010-04-02 16:31:58

Oracle RAC

2010-04-27 16:54:11

Oracle RAC

2010-04-09 16:51:24

Oracle數據庫

2018-10-12 11:11:39

Oracle內存結構

2010-11-15 16:46:49

Oracle查詢效率

2023-10-10 09:26:18

2017-06-07 09:48:21

Oracle RAC應用連續性
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区视频在线观看 | 欧美精选一区二区 | 国产一区二区三区色淫影院 | 国产高清亚洲 | 色狠狠桃花综合 | 有码在线 | 天堂中文在线观看 | 亚洲一区视频在线 | 国产亚洲人成a在线v网站 | 狠狠色狠狠色综合系列 | 成人福利电影 | 日韩在线免费视频 | 99av成人精品国语自产拍 | 99久久精品免费看国产高清 | 二区久久 | 日韩午夜一区二区三区 | 欧美一级做a爰片免费视频 国产美女特级嫩嫩嫩bbb片 | 亚洲精品自在在线观看 | 亚洲精品国产精品国自产在线 | 欧美不卡在线 | 黄色av观看| 亚洲精品久久久久久久久久久久久 | 精品粉嫩aⅴ一区二区三区四区 | 99精品免费久久久久久久久日本 | 天堂久久天堂综合色 | 在线播放亚洲 | 亚洲欧美一区二区在线观看 | 亚洲精品一区二区三区在线 | 涩涩视频在线观看 | 日韩在线一区二区三区 | 国产日韩欧美激情 | 国产一级在线观看 | 欧美精品一级 | 天堂av影院| 欧美日韩成人在线观看 | 北条麻妃国产九九九精品小说 | 欧美日韩一区在线观看 | 美女久久| 久久久久国产一区二区三区 | 国产精品99久久久久久人 | aacc678成免费人电影网站 |