1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 数据库 - 正文

君子好学,自强不息!

详解Oracle RAC在Linux下的安装

2022-11-27 | 数据库 | admin | 587°c
A+ A-

在这里我们将介绍Oracle RAC在Linux下的安装,Oracle Real Application Server,真正应用集群,简称Oracle RAC ,是Oracle的并行集群,位于不同服务器系统的Oracle实例同时访问同一个Oracle数据库,节点之间通过私有网络进行通信,所有的控制文件、联机日志和数据文件存放在共享的设备上,能够被集群中的所有节点同时读写。

系统配置

1、创建用户和组 oinstall dba 组用户

oracle-goinstall-Gdba

匿名用户:确认匿名用户 nobody 存在与系统中,在安装完成后nobody 用户必须执行一些扩展任务(extjob)确认nobody用户是否存在:

#idnobody

如果用户不存在则需要添加该用户。

注意给oracle用户设置密码

2、配置网络

ip地址的规划,通过修改 /etc/sysconf/network-script/ifcfg-ethx

配置网卡的静态ip地址主机名的***修改: /etc/network

本地DNS的配置: /etc/hosts

配置/etc/host.conf 该文件用来指定域名解析方法的顺序:

orderhosts,bind

它说明,首先通过/etc/hosts文件解析,如果在该文件中没有相应的主机名与IP 地址的对应关系,再通过域名服务器bind进行解析

3、配置安全SSH 通道,针对ORACLE用户,在每个节点创建 rsa 和dsa 的密钥

rac1#su-oracle 
rac1#mkdir.ssh 
rac1#chmod700.ssh 
rac1#cd.ssh

rac1#ssh-keygen -t rsa 创建密钥对,其他默认

同样在另一台主机上执行相应的操作。

rac2#su-oracle 
rac2#mkdir.ssh 
rac2#chmod700.ssh 
rac2#cd.ssh 
rac2#ssh-keygen-trsa创建密钥对,其他默认

rac1#ssh rac1 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys 把节点1 的共钥 从定向到一个文件因为现在还没有密钥对,所以会提示输入密码。直接输入密码就行了

rac1#sshrac2cat/home/oracle/.ssh/id_rsa.pub>>authorized_keys把节点2的共钥从定向到一个文件 
rac1#catauthorized_keys查看节点1和节点2的共钥的内容,同样拷贝到节点2上面。 
rac1#scpauthorized_keysrac2:/home/oracle/.ssh/要输入节点2的密码

改一下权限

rac1#chmod600authorized-keys

DSA密钥的设置同理

rac1#sshrac1date测试共钥连接情况远程执行date命令,此时不用输入密码 
rac1#sshrac2date测试共钥连接情况远程执行date命令,此时不用输入密码

此时可证实安全需要通道配置成功

4、检查所需的软件

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

5、配置内核参数

vi/etc/sysctl.conf 
kernel.sem=25032000100128 
kernel.shmmni=4096
kernel.shmall=2097152
kernel.shmmax=2147483648
net.ipv4.ip_local_port_range=102465000 
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,添加内容:

oraclesoftnproc2047 
oraclehardnproc16384 
oraclesoftnofile1024 
oraclehardnofilw65536

编辑/etc/pam.d/login,添加如下内容: session required /lib/security/pam_limits.so

编辑/etc/profile,添加内容如下:

if[$USER="ORACLE"];THEN 
if[$SHELL="/bin/ksh"];then 
ulimit-p16384 
ulimit-n65536 
else 
ulimit-u16384-n65536 
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创建分区 
#exportDISPLAY=本地机器IP 
#ocfs2console打开ocfs2的控制台进行ocfs2的配置 

菜单Task 下的format开始格式化分区

Oracle的安装前的准备

#mkdir-p/orac/orachome 
#mkdir-p/orac/oradata 
#mount-tocfs2/dev/sdb1/orac/orahome 
#df-h查看挂接情况 
#mount-tocfs2-odatavolume,nointr/dev/sdb2orac/oradata 
#df-h 
#mounted.ocfs2-f查看ocfs2文件系统的加载情况

另一个节点rac2

#/etc/init.d/o2cdload加载这个模块 
#/etc/init.d/o2cdstatus查看加载这个模块的状态

查看到节点2 ocfs2 状态是 offline

#/etc/init.d/o2cdonline使其online 
#/etc/init.d/o2cdstatus查看加载这个模块的状态 
#mount-tocfs2/dev/sdb1/orac/orahome 
#df-h 
#mounted.ocfs2-f 
#mount-tocfs2-odatavolume,nointr/dev/sdb2/orac/oradata 
#mounted.ocfs2-f

系统启动时自动加载ocfs2文件系统和启动相应的模块—-两个节点都要配置

#/etc/init.d/o2cdconfigure启动时自动加载ocfs2的相关模块 
#vi/etc/fstab启动是自动挂接文件系统 
/dev/sdb1/orac/orahomeocfs2_netdev00 
/dev/sdb2/orac/oradataocfs2_netdev,datavolume,nointr00

安装集群 clusterware 文件夹 crs 安装clusterware oradata 建库时使用 orahome 安装oracle数据库软件

要对这些文件夹的主用户进行修改

#cd/orac 
#chownroot.oinstallcrs 
#chownoracle.oinstallorahome 
#chownoracle.oinstalloradata 
#chmod-R775ors 
#chmod-R775orahome 
#chmod-R775oradata 
#ls-l

在另外一个节点上也要进行相应的修改

把集群clusterware安装软件拷贝进来

#su-oracle 
#exportDISPLAY=本地ip:0.0
#./runInstaller

安装数据库软件 选择安装类型 企业版

创建数据库: #dbca

测试数据库的情况:客户端的连接文件的修改:在客户端安装路径下: NETWORK/ADMIN/tnsnames.ora

ORATESTtns服务名= 
(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>connsys/123456@tnsnameassysdba 
SQL>select*fromV$instance;查看当前的实例 
SQL>setwrapoff;设置一下显示的方式 
SQL>setlinesize200; 
SQL>select*fromV$instance;查看当前的实例 
SQL>select*fromgv$instance;查看全局实例视图

本文来源:1818IP

本文地址:https://www.1818ip.com/post/12003.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。