Führen Sie dann die Oracle 11gR2 RAC-Bereitstellung 1 aus
Oracle RAC ist die Abkürzung für Oracle Real Application Cluster,Offizielle chinesische Dokumente werden im Allgemeinen als "echte Anwendungscluster" übersetzt.Ihre Entstehung löst ein wichtiges Problem traditioneller Datenbankanwendungen.:Hochleistung、Der Widerspruch zwischen hoher Verfügbarkeit und niedrigem Preis!
ORACLE RAC-Prinzip:In einer Anwendungsumgebung,Alle Server verwenden und verwalten dieselbe Datenbank,Der Zweck besteht darin, die Arbeitslast jedes Servers zu verteilen,Auf der Hardware werden mindestens zwei Server benötigt,Und benötigen auch ein gemeinsames Speichergerät。Gleichzeitig werden zwei Arten von Software benötigt,Eine davon ist Cluster-Software,Die andere ist die RAC-Komponente in der Oracle-Datenbank。Gleichzeitig sollte das Betriebssystem auf allen Servern vom gleichen Betriebssystemtyp sein, Gemäß der Konfigurationsstrategie des Load Balancing,Wenn ein Client eine Anfrage an den Listener eines bestimmten Dienstes sendet,Dieser Server basiert auf unserer Load-Balancing-Strategie,Die Anfrage wird zur Verarbeitung an die RAC-Komponente des Computers oder zur Verarbeitung an die RAC-Komponente eines anderen Servers gesendet,Nach Bearbeitung der Anfrage,RAC greift über die Cluster-Software auf unsere gemeinsam genutzten Speichergeräte zu。
Logische Struktur,Jeder am Cluster teilnehmende Knoten hat eine unabhängige Instanz,Diese Instanzen greifen auf dieselbe Datenbank zu。Die Knoten kommunizieren über die Kommunikationsschicht der Cluster-Software。Um gleichzeitig den Verbrauch an IO . zu reduzieren,Es gibt einen globalen Cache-Dienst,Daher ist die Instanz jeder Datenbank,Beide behalten eine Kopie desselben Datenbankcaches。
Die Funktionen in RAC sind:
每一个节点的instance都有自己的SGA
每一个节点的instance都有自己的background process
每一个节点的instance都有自己的redo logs
每一个节点的instance都有自己的undo表空间
所有节点都共享一份datafiles和controlfiles
Oracle还提出了一个缓存融合的技术(Fusion-Cache),目的有2个
1.保证缓存的一致性
2.减少共享磁盘IO的消耗
因此在RAC环境中多个节点保留了同一份的DB CACHE
缓存融合(Cache fusion)工作原理:
1.其中一个节点会从共享数据库中读取一个block到db cache中
2.这个节点会在所有的节点进行交叉db block copy
3.当任何一个节点缓存被修改的时候,就会在节点之间进行缓存修改
4.为了达到存储的一致最终修改的结果也会写到磁盘上
3类Resource
VIP – 虚拟IP地址(Virtual IP)
OCR – Oracle Cluster Registry(集群注册文件),记录每个节点的相关信息
Voting Disk (表决磁盘),仲裁机制用于仲裁多个节点向共享节点同时写的行为,这样做是为了避免发生冲突。
RAC的组件:
提供过了额外的进程,用来维护数据库
LMS – Gobal Cache Service Process 全局缓存服务进程
LMD – Global Enqueue Service Daemon 全局查询服务守护进程
LMON – Global Enqueue Service Monitor全局查询服务监视进程
LCK0 – Instance Enqueue Process 实例查询进程
部署RAC是一项繁琐的工作,尤其在非oracle linux下,缺少很多依赖包,有的又非常难找(光盘找不到滴),甚至内核不支持。
在oracle linux ,已经为oracle做了定制,少了很多麻烦。但部署起来同样繁琐,容易出错,又难以排查。对linux操作熟练度要求很高,难度大。
oracle在硬件方面要求也很高,这次我是在虚拟机中演示,宿主机内存至少10GB 。开启4台虚拟机,两台oracle节点和一台DG,各2GB内存,
一台DNS服务器512MB,磁盘空间不小于100GB ,两台oracle节点和DG以及 DNS服务各20GB, 各种新建的ASM磁盘40GB.
如果对Linux操作不熟 或者 硬件配置达不到要求,那么有如下建议:
夯实linux基础知识,并对oracle有一定了解。 同时升级硬件配置使之达到要求,耐心做完部署。