程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 詳解Oracle RAC在Linux下的安裝

詳解Oracle RAC在Linux下的安裝

編輯:Oracle數據庫基礎

在這裡我們將介紹Oracle RAC在Linux下的安裝,Oracle Real Application Server,真正應用集群,簡稱Oracle RAC ,是Oracle的並行集群,位於不同服務器系統的Oracle實例同時訪問同一個Oracle數據庫,節點之間通過私有網絡進行通信,所有的控制文件、聯機日志和數據文件存放在共享的設備上,能夠被集群中的所有節點同時讀寫。

系統配置

1、創建用戶和組 oinstall  dba 組用戶

  1. Oracle  -g oinstall -G dba 

匿名用戶:確認匿名用戶 nobody 存在與系統中,在安裝完成後nobody 用戶必須執行一些擴展任務(extjob)確認nobody用戶是否存在:  

  1. #id nobody 

如果用戶不存在則需要添加該用戶。

注意給Oracle用戶設置密碼

2、配置網絡

ip地址的規劃,通過修改 /etc/sysconf/network-script/ifcfg-ethx 

配置網卡的靜態ip地址主機名的永久修改: /etc/network

本地DNS的配置: /etc/hosts

配置/etc/host.conf 該文件用來指定域名解析方法的順序:  

  1. order  hosts,bind 

它說明,首先通過/etc/hosts文件解析,如果在該文件中沒有相應的主機名與IP 地址的對應關系,再通過域名服務器bind進行解析

3、配置安全SSH 通道,針對Oracle用戶,在每個節點創建 rsa 和dsa 的密鑰  

  1. rac1#su - Oracle  
  2. rac1#mkdir .ssh  
  3. rac1#chmod 700 .ssh  
  4. rac1#cd .ssh   

rac1#ssh-keygen -t rsa   創建密鑰對,其他默認 

同樣在另一台主機上執行相應的操作。  

  1. rac2#su - Oracle  
  2. rac2#mkdir .ssh  
  3. rac2#chmod 700 .ssh  
  4. rac2#cd .ssh     
  5. rac2#ssh-keygen -t rsa   創建密鑰對,其他默認  

rac1#ssh rac1 cat /home/Oracle/.ssh/id_rsa.pub >> authorized_keys   把節點1 的共鑰 從定向到一個文件因為現在還沒有密鑰對,所以會提示輸入密碼。直接輸入密碼就行了  

  1. rac1#ssh rac2 cat /home/Oracle/.ssh/id_rsa.pub >> authorized_keys   把節點2 的共鑰 從定向到一個文件  
  2. rac1#cat authorized_keys    查看節點1和節點2的共鑰的內容,同樣拷貝到 節點2上面。  
  3. rac1#scp authorized_keys  rac2:/home/Oracle/.ssh/   要輸入節點2的密碼 

改一下權限  

  1. rac1#chmod 600 authorized-keys 

DSA密鑰的設置同理

  1. rac1#ssh rac1 date   測試共鑰連接情況 遠程執行 date 命令,此時不用輸入密碼  
  2. rac1#ssh rac2 date   測試共鑰連接情況 遠程執行 date 命令,此時不用輸入密碼 

此時可證實安全需要通道配置成功

4、檢查所需的軟件

#rpm -qa |grep  需要的軟件包

5、配置內核參數  

  1. vi /etc/sysctl.conf  
  2. kernel.sem=250 32000 100 128  
  3. kernel.shmmni=4096 
  4. kernel.shmall=2097152 
  5. kernel.shmmax=2147483648 
  6. net.ipv4.ip_local_port_range=1024 65000  
  7. net.core.rmem_default=1048576 
  8. net.core.rmem_max=1048576 
  9. net.core.wmem_default=262144 
  10. net.core.wmem_max=262144 

然後執行: #sysctl -p

6、設置shell對Oracle用戶的限制

vi /etc/security/limits.conf 在每個節點上執行相同的操作:編輯/etc/security/limits.conf,添加內容:  

  1. Oracle    soft  nproc    2047  
  2. Oracle    hard  nproc    16384  
  3. Oracle    soft  nofile   1024  
  4. Oracle    hard  nofilw   65536 

編輯/etc/pam.d/login,添加如下內容: session  required   /lib/security/pam_limits.so

編輯/etc/profile,添加內容如下:  

  1. if[$USER="Oracle"]; THEN  
  2.       if[$SHELL="/bin/ksh"];then  
  3.             ulimit -p 16384  
  4.             ulimit -n 65536  
  5.       else  
  6.             ulimit -u 16384 -n 65536  
  7.      fi  
  8. fi 

磁盤配置

安裝 CRS

安裝真正的RAC

存儲選項:

項目 存儲系統  存儲位置 clusterware 本地(EXT3)或NFS       本地或NFS voting disk   OCFS2  Raw device  NFS  共享磁盤  NFS OCR OCFS2  Raw device  NFS  共享磁盤  NFS 數據庫軟件 OCFS2 本地  NFS  本地或共享磁盤  NFS 數據庫  OCFS2   ASM  Raw device  NFS  共享磁盤  NFS 恢復文件 OCFS2  ASM NFS 共享磁盤  NFS

存儲機制

  clusterware 數據庫 恢復文件 ASM  OCFS2 Raw Device  NFS

OCFS2 安裝這個軟件  下載3個軟件包 在兩邊都要安裝 OCFS2-2.6.9-22.ELsmp-1.2.3-1.i686.rpm   這個文件要跟 uname -a 的系統版本對應起來 ocfs2console-1.2.1-1.i386.rpm ocfs2-tools-1.2.1-1.i386.rpm

安裝順序:tools ----內核模塊 ----- console

磁盤的處理  

  1. #fdisk -l   查看磁盤分區  
  2. #fdisk /dev/sdb   創建分區  
  3. #export DISPLAY=本地機器IP  
  4. #ocfs2console     打開ocfs2的控制台進行ocfs2的配置  

菜單Task 下的format開始格式化分區

Oracle的安裝前的准備  

  1. #mkdir -p /orac/orachome  
  2. #mkdir -p /orac/oradata  
  3. #mount -t ocfs2 /dev/sdb1  /orac/orahome  
  4. #df -h     查看掛接情況  
  5. #mount -t ocfs2 -o datavolume,nointr /dev/sdb2 orac/oradata  
  6. #df -h  
  7. #mounted.ocfs2 -f    查看ocfs2文件系統的加載情況 

另一個節點rac2  

  1. #/etc/init.d/o2cd load  加載這個模塊  
  2. #/etc/init.d/o2cd status  查看加載這個模塊的狀態 

查看到節點2 ocfs2 狀態是 offline  

  1. #/etc/init.d/o2cd online   使其online  
  2. #/etc/init.d/o2cd status  查看加載這個模塊的狀態  
  3. #mount -t ocfs2 /dev/sdb1  /orac/orahome  
  4. #df -h  
  5. #mounted.ocfs2 -f   
  6. #mount -t ocfs2 -o datavolume,nointr /dev/sdb2  /orac/oradata  
  7. #mounted.ocfs2 -f 

系統啟動時自動加載ocfs2文件系統和啟動相應的模塊----兩個節點都要配置  

  1. #/etc/init.d/o2cd configure  啟動時自動加載ocfs2 的相關模塊  
  2. #vi /etc/fstab        啟動是自動掛接文件系統  
  3. /dev/sdb1   /orac/orahome   ocfs2    _netdev   0  0  
  4. /dev/sdb2   /orac/oradata   ocfs2    _netdev,datavolume,nointr   0  0 

安裝集群 clusterware 文件夾 crs      安裝clusterware oradata   建庫時使用 orahome   安裝Oracle數據庫軟件

要對這些文件夾的主用戶進行修改  

  1. #cd /orac  
  2. #chown root.oinstall crs  
  3. #chown Oracle.oinstall orahome  
  4. #chown Oracle.oinstall oradata  
  5. #chmod -R 775 ors  
  6. #chmod -R 775 orahome  
  7. #chmod -R 775 oradata  
  8. #ls -l 

在另外一個節點上也要進行相應的修改

把集群clusterware安裝軟件拷貝進來  

  1. #su - Oracle  
  2. #export DISPLAY=本地ip:0.0 
  3. #./runInstaller 

安裝數據庫軟件 選擇安裝類型 企業版

創建數據庫: #dbca

測試數據庫的情況:客戶端的連接文件的修改:在客戶端安裝路徑下: NETWORK/ADMIN/tnsnames.ora

  1. ORATEST tns服務名=  
  2.   (DESCRIPTION =  
  3.     (ADDRESS_LIST =  
  4.       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.116.121 節點1IP)(PORT = 1521))  
  5.       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.116.129  節點2IP)(PORT = 1521))  
  6.     )  
  7.     (CONNECT_DATA =  
  8.       (SERVICE_NAME = oratest.sinobest.com 全局數據庫名)  
  9.     )  
  10.   )  
  11.  
  12. EXTPROC_CONNECTION_DATA =  
  13.   (DESCRIPTION =  
  14.     (ADDRESS_LIST =  
  15.       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))  
  16.     )  
  17.     (CONNECT_DATA =  
  18.       (SID = PLSExtProc)  
  19.       (PRESENTATION = RO)  
  20.     )  
  21.   ) 

SQLPLUS客戶端的測試:在Windows下打開命令行 或者直接打開 Oracle SQL*Plus  

  1. > sqlplus /nolog  
  2.  
  3. SQL>conn sys/123456@tnsname as sysdba  
  4. SQL>select * from V$instance;   查看當前的實例  
  5. SQL>set wrap off;        設置一下顯示的方式         
  6. SQL>set linesize 200;  
  7. SQL>select * from V$instance;   查看當前的實例  
  8. SQL>select * from gv$instance;  查看全局實例視圖 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved