详细解析Oracle RAC在Linux下的安装


在这里我们将介绍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;  查看全局实例视图 

« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3