在这里我们将介绍Oracle RAC在linux下的安装,Oracle Real Application Server,真正应用集群,简称Oracle RAC ,是Oracle的并行集群,位于不同服务器系统的Oracle实例同时访问同一个Oracle数据库,节点之间通过私有网络进行通信,所有的控制文件、联机日志和数据文件存放在共享的设备上,能够被集群中的所有节点同时读写。
系统配置
1、创建用户和组 oinstall dba 组用户
oracle -g oinstall -G dba
匿名用户:确认匿名用户 nobody 存在与系统中,在安装完成后nobody 用户必须执行一些扩展任务(extjob)确认nobody用户是否存在:
#ID nobody
如果用户不存在则需要添加该用户。
注意给oracle用户设置密码
2、配置网络
ip地址的规划,通过修改 /etc/sysconf/network-script/ifcfg-ethx
配置网卡的静态ip地址主机名的***修改: /etc/network
本地DNS的配置: /etc/hosts
配置/etc/host.conf 该文件用来指定域名解析方法的顺序:
order hosts,bind
它说明,首先通过/etc/hosts文件解析,如果在该文件中没有相应的主机名与IP 地址的对应关系,再通过域名服务器bind进行解析
3、配置安全SSH 通道,针对ORACLE用户,在每个节点创建 rsa 和dsa 的密钥
rac1#su - oracle rac1#mkdir .ssh rac1#chmod 700 .ssh rac1#cd .ssh
rac1#ssh-keygen -t rsa 创建密钥对,其他默认
同样在另一台主机上执行相应的 *** 作。
rac2#su - oracle rac2#mkdir .ssh rac2#chmod 700 .ssh rac2#cd .ssh rac2#ssh-keygen -t rsa 创建密钥对,其他默认
rac1#ssh rac1 cat /home/oracle/.ssh/ID_rsa.pub >> authorized_keys 把节点1 的共钥 从定向到一个文件因为现在还没有密钥对,所以会提示输入密码。直接输入密码就行了
rac1#ssh rac2 cat /home/oracle/.ssh/ID_rsa.pub >> authorized_keys 把节点2 的共钥 从定向到一个文件 rac1#cat authorized_keys 查看节点1和节点2的共钥的内容,同样拷贝到 节点2上面。 rac1#scp authorized_keys rac2:/home/oracle/.ssh/ 要输入节点2的密码
改一下权限
rac1#chmod 600 authorized-keys
DSA密钥的设置同理
rac1#ssh rac1 date 测试共钥连接情况 远程执行 date 命令,此时不用输入密码 rac1#ssh rac2 date 测试共钥连接情况 远程执行 date 命令,此时不用输入密码
此时可证实安全需要通道配置成功
4、检查所需的软件
#rpm -qa |grep 需要的软件包
5、配置内核参数
vi /etc/sysctl.conf kernel.sem=250 32000 100 128 kernel.shmmni=4096 kernel.shmall=2097152 kernel.shmmax=2147483648 net.ipv4.ip_local_port_range=1024 65000 net.core.rmem_default=1048576 net.core.rmem_max=1048576 net.core.wmem_default=262144 net.core.wmem_max=262144
然后执行: #sysctl -p
6、设置shell对oracle用户的限制
vi /etc/security/limits.conf 在每个节点上执行相同的 *** 作:编辑/etc/security/limits.conf,添加内容:
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofilw 65536
编辑/etc/pam.d/login,添加如下内容: session required /lib/security/pam_limits.so
编辑/etc/profile,添加内容如下:
if[$USER="ORACLE"]; THEN if[$SHELL="/bin/ksh"];then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi 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
磁盘的处理
#fdisk -l 查看磁盘分区 #fdisk /dev/sdb 创建分区 #export disPLAY=本地机器IP #ocfs2console 打开ocfs2的控制台进行ocfs2的配置
菜单Task 下的format开始格式化分区
Oracle的安装前的准备
#mkdir -p /orac/orachome #mkdir -p /orac/oradata #mount -t ocfs2 /dev/sdb1 /orac/orahome #df -h 查看挂接情况 #mount -t ocfs2 -o datavolume,nointr /dev/sdb2 orac/oradata #df -h #mounted.ocfs2 -f 查看ocfs2文件系统的加载情况
另一个节点rac2
#/etc/init.d/o2cd load 加载这个模块 #/etc/init.d/o2cd status 查看加载这个模块的状态
查看到节点2 ocfs2 状态是 offline
#/etc/init.d/o2cd online 使其online #/etc/init.d/o2cd status 查看加载这个模块的状态 #mount -t ocfs2 /dev/sdb1 /orac/orahome #df -h #mounted.ocfs2 -f #mount -t ocfs2 -o datavolume,nointr /dev/sdb2 /orac/oradata #mounted.ocfs2 -f
系统启动时自动加载ocfs2文件系统和启动相应的模块----两个节点都要配置
#/etc/init.d/o2cd configure 启动时自动加载ocfs2 的相关模块 #vi /etc/fstab 启动是自动挂接文件系统 /dev/sdb1 /orac/orahome ocfs2 _netdev 0 0 /dev/sdb2 /orac/oradata ocfs2 _netdev,datavolume,nointr 0 0
安装集群 clusterware 文件夹 crs 安装clusterware oradata 建库时使用 orahome 安装oracle数据库软件
要对这些文件夹的主用户进行修改
#cd /orac #chown root.oinstall crs #chown oracle.oinstall orahome #chown oracle.oinstall oradata #chmod -R 775 ors #chmod -R 775 orahome #chmod -R 775 oradata #ls -l
在另外一个节点上也要进行相应的修改
把集群clusterware安装软件拷贝进来
#su - oracle #export disPLAY=本地ip:0.0 #./runInstaller
安装数据库软件 选择安装类型 企业版
创建数据库: #dbca
测试数据库的情况:客户端的连接文件的修改:在客户端安装路径下: NETWORK/admin/tnsnames.ora
ORATEST tns服务名= (DESCRIPTION = (ADDRESS_List = (ADDRESS = (PROTOCol = TCP)(HOST = 192.168.116.121 节点1IP)(PORT = 1521)) (ADDRESS = (PROTOCol = TCP)(HOST = 192.168.116.129 节点2IP)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_name = oratest.sinobest.com 全局数据库名) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_List = (ADDRESS = (PROTOCol = IPC)(KEY = EXTPROC0)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )
sqlPLUS客户端的测试:在windows下打开命令行 或者直接打开 Oracle sql*Plus
> sqlplus /nolog sql>conn sys/123456@tnsname as sysdba sql>select * from V$instance; 查看当前的实例 sql>set wrap off; 设置一下显示的方式 sql>set linesize 200; sql>select * from V$instance; 查看当前的实例 sql>select * from gv$instance; 查看全局实例视图
原文链接:http://blog.chinaunix.net/u3/105031/showart_2087248.HTML
总结
以上是内存溢出为你收集整理的详解Oracle RAC在Linux下的安装全部内容,希望文章能够帮你解决详解Oracle RAC在Linux下的安装所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)