RAC比较严格,如果操作系统不纯净,容易失败:

装备第一台VM:
chkconfig sendmail off
chkconfig iptables off
chkconfig ip6talbes off
systemctl stop firewall.service
systemctl disable firewall.service
vi /etc/sysconf.... 关闭selinux

ifconfig
# 有两块网卡
-----------
system-config-network 图形化界面配置网络
---------------

vi /etc/hosts

XXXX网卡1 rac1
XXXX网卡2 rac1-priv
XXXX虚拟网卡1网段 rac1-vip

XXXX网卡1 rac2
XXXX网卡2 rac2-priv
XXXX虚拟网卡1网段 rac2-vip

XXX网卡1网段 scan
----------------------------------------
改主机名:
1、vi /etc/sysocnfig/network
2、hostname XXX
----------------------------------------

创建用户和用户组:
groupadd oinstall
groupadd dba
groupadd oper
groupadd asmadmin
groupadd asmdba
groupadd asmoper
useradd -g oinstall -G dba,asmdba,asmadmin,asmoper grid
useradd -g oinstall -G dba,oper,asmdba oracle

passwd oracle
# 输入密码; Abcd@1234
passwd grid
# 输入密码; Abcd@1234
-------------------------------
准备相关目录:

su - oracle
mkdir /u01
chown -R oracle:oinstall /u01 ???两个都写
chown -R grid:oinstall /u01

su - grid
mkdir /u01/app/oracle -p
mkdir /u01/app/grid -p
---------------------------------------
修改系统配置文件
vi /etc/sysctl.cof
添加:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
-------------
vi /etc/securitu/limits.conf
添加:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard stack 10240
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid hard stack 10240

---------------
vi /etc/profile
添加:
if [ /$USER = "oracle" ] || [ /$USER = "grid" ]; then
if [ /$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi

使配置生效:
sysctl -p

-----------------------------------------------------------------

5、安装依存关系系统包:
vi /etc/yum.repos.d/myoel.repo

[dvdinfo]
name=oel
baseurl=file://iso/Server
enable=1
gpgcheck=0
----
mount -o loop /mnt/hgfs/downlond/EnterXXX /iso
-----
yum makecache

yum install -y binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel

------------------------------
用户环境变量:
vi /home/oracle/.bash_profile

export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/grid
export PATH=$ORACLE_HOME/bin:$PATH

让配置生效:
..bash_profile
------------------------------------
关掉ntp的服务:
su - root
service ntpd stop
mv /etc/ntp.conf /etc/ntp.conf.bak
--------------------------------------------------------------
配置完一台VM,直接复制VM,作为VM2,rac2

--------------------------------------------------------------
在windows下,创建一个目录,叫 shard_disks

--------------------------------------------------------------
因为我们用的是虚拟机,所以共享磁盘也得用虚拟机配置出来,方法如下:
打开vmware station:
创建共享磁盘:

rac1 ---编辑--添加硬盘(模式选择独立---下一步大小1G,选择立刻分配所有磁盘空间---下一步浏览选择shared_disks,命名为orc1)
在rac1再创建另外2个磁盘: D:\VM\shared_disks\ocr2,D:\VM\shared_disks\ocr3

暂时不要开机,在rac1 VM所在目录,找到vmx后缀的文件,编辑:
把scsi设备的位置,添加内容:

disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"

scsi1.present = "TRUE"
scsi1.sharedBus = "VIRTUAL"
scsi1.virtualDev = "lsilogic"

scsi1:0.present = "TRUE"
scsi1:0.fileName = "D:\VM\shared_disks\ocr1"
scsi1:0.writeThrough = "TRUE"
scsi1:0.mode = "independent-persistent"
scsi1:0.deviceType = "disk"

scsi1:1.present = "TRUE"
scsi1:1.fileName = "D:\VM\shared_disks\ocr2"
scsi1:1.writeThrough = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:1.deviceType = "disk"

scsi1:2.present = "TRUE"
scsi1:2.fileName = "D:\VM\shared_disks\ocr3"
scsi1:2.writeThrough = "TRUE"
scsi1:2.mode = "independent-persistent"
scsi1:2.deviceType = "disk"

在rac2的rac.vmx中添加同样的内容。
然后开机;
检查rac1和rac2 的IP和主机名
----------------------------------------
在rac2中,
su - grid
vi .bash_profile
修改为:
export ORACLE_SID=+ASM2

..bash_profile
--------------------------------
建立两台服务器之间grid用户和oracle用户的ssh等效性认证:
通讯确认心跳等,建立无密码的通讯

grid用户的ssh等效性认证:
rac1和rac2都配置:

su - grid
mkdir .ssh # 加. ,表示隐藏目录,正常情况不显示
chmod 700 .ssh
cd .ssh
ssh-keygen -t dsa
#一直回车
ssh-keygen -t rsa
#一直回车,一个rsa,接受的,一个是dsa,发送的

在任何一个节点上操作,以在rac1上为例:
cat id_rsa.pub >>authorized_keys
cat id_dsa.pub >>authorized_keys
# 把生成的两个密钥文件,加载到指定文件中

ssh rac2 cat ~/.ssh/id_rsa.pub >>authorized_keys
# 输入密码
ssh rac2 cat ~/.ssh/id_dsa.pub >>authorized_keys
# 同时把rac2的密钥文件也要加载到指定文件

more authorized_keys # 可以看到所有密钥

把这个密钥文件复制到rac2的目录中:
scp authorized_keys rac2:~/.ssh/.

--------------------------------------
测试
ssh rac1 data # 发现可以直接访问,不需要密码
ssh rac2 data
ssh rac2-priv data # 两个网卡都试一下
-------------------------------------------------------
准备磁盘:
添加3快磁盘,
先创建物理分区
在任何一个节点上,如在rac1上:
fdisk -l
# 看到3块磁盘
fdisk /dev/sdb
n
p
1
w
同理:
fdisk /dev/sdc
fdisk /dev/sdd

fdisk -l
在rac2上,fdisk -l
# 都可以看到分配好的分区,因为这些分区信息是写在磁盘里的,而不是系统上的,访问这个磁盘,就能看到这个分区信息。

----------------
准备裸设备
rac1和rac2上配置:

vi /etc/udev/rules.d/60-raw.rules
添加:
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw3 %N"
KERNEL=="raw[1]", OWNER="grid", GROUP="oinstall", MODE="0660"
KERNEL=="raw[2]", OWNER="grid", GROUP="oinstall", MODE="0660"
KERNEL=="raw[3]", OWNER="grid", GROUP="oinstall", MODE="0660"

然后:
start_udev
raw -qa
# 能看到3个裸设备

到此基本准备完成
--------------------------------
15、安装前的检查:

su - grid
在grid解压目录下运行(那个共享目录,如果重新加载,用mount -a,自动加载);
cd /mnt/hgfs/download/grid
./runcluvfy.sh stage -post hwos -n rac1,rac2 -verbose ----检查两个节点
# runcluvfy.sh也就是oracle安装文件中,解压出来的一个脚本
---如果出现Could not get the type of storage 之类的错误,请检查有没有安装cvuqdisk-1.0.9-1.rpm,该包在目录grid/rpm目录下
检查是否有错误的地方,仔细核对,直到测试成功

----------------------------------------------------
在rac1
xhost + # 回到桌面环境
su - grid
cd /mnt/hgfs/download/grid
./runInstaller # 开始安装

----------------------------
图像化安装oracle:

第一步,选择第一个 安装cluster

第二步,对初学,选择typical
第三步,scan name,填入/etc/hosts中定义的scan name
添加rac1和rac2
第四步:要填目录,不过之前环境变量都设置好了
cluter registory,选Automasic storage managment(ASM)
设置ASM密码
第五步,磁盘组,命名OCR,冗余度选normal,勾选所有disk

下一步,安装,安装完成,会提示执行脚本,再点击OK

crs_stat -t ,查看群集状态,大部分显示online,

------------------------------
之前的三块磁盘是个RAC用的,
再准备磁盘,给数据库用

关闭集群中所有服务:
在rac1:
/u01/app/grid/product/11.2.0/grid/bin/crs_stop -all
没完全停服务,可以多执行几次

rac1,rac2 关机。

在rac1上,
直接添加磁盘,在shared_disks目录下,叫data01,改成scsi2,不让造成拥挤。
编辑配置文件 rac1.vmx
修改为:
scsi2.present = "TRUE"
scsi2.sharedBus = "VIRTUAL"
scsi2.virtualDev = "lsilogic"
scsi2.deviceType = "disk"

scsi2:0.present = "TRUE"
scsi2:0.fileName = "D:\VM\shared_disks\data01"
scsi2:0.writeThrough = "TRUE"
scsi2:0.mode = "independent-persistent"
scsi2:0.deviceType = "disk"

scsi2:1.present = "TRUE"
scsi2:1.fileName = "D:\VM\shared_disks\data02"
scsi2:1.writeThrough = "TRUE"
scsi2:1.mode = "independent-persistent"
scsi2:1.deviceType = "disk"

scsi2:2.present = "TRUE"
scsi2:2.fileName = "D:\VM\shared_disks\data03"
scsi2:2.writeThrough = "TRUE"
scsi2:2.mode = "independent-persistent"
scsi2:2.deviceType = "disk"

同时编辑rac2的配置文件,rac.vmx
参考之前的配置,
创建分区,配置裸设备

ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="sdf1", RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add", KERNEL=="sdg1", RUN+="/bin/raw /dev/raw/raw6 %N"
KERNEL=="raw[4]", OWNER="grid", GROUP="oinstall", MODE="0660"
KERNEL=="raw[5]", OWNER="grid", GROUP="oinstall", MODE="0660"
KERNEL=="raw[6]", OWNER="grid", GROUP="oinstall", MODE="0660"

开机,
查看群集状态:
crs_stat -t
如果没有起来:
/u01/app/grid/product/11.2.0/grid/bin/crs_start -all
--------------------------
使用ASMCA创建数据库使用的ASM磁盘组
在rac1上
xhost +
su - grid
asmca
弹出图像化窗口:
create
命名data,冗余normal,勾选所以disk。

--------------------------
20、安装oracle数据库软件,现在还没开始安装oracle,之前配置的是rac

创建目录;
在rac1和rac2上都执行:
su - root
mkdir -p /u02
chown -R oralce:oinstall /u02
su - oracle
mkdir -p /u02/app/oracle

--------------------------------------
准备oracle环境变量
rac1上:
su - oracle
vi .bash_profile
添加:
export ORACLE_SID=racdb1
export ORACLE_BASE=/u02/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH # 把oracle的路径加进入,再递归下PATH

生效:
..bash_profile

rac2上:
su - oracle
vi .bash_profile
添加:
export ORACLE_SID=racdb2
export ORACLE_BASE=/u02/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH # 把oracle的路径加进入,再递归下PATH

生效:
..bash_profile

-----------------------

在oracle安装文件目录下,
在rac1上
xhost +
su - oracle
./runInstaller
安装过程一样;
到94%,提示每个节点执行脚本,输入yyyy

------------------------
任意节点上,如在rac1,创建数据库
su - oracle
dbca
弹出图形化界面:
第一步: 选择 oracle rac database
第二步,create,之后就一样了。命名racdb,选择节点 rac1,rac2

oracle RAC redhat的更多相关文章

  1. 11g,12c Oracle Rac安装

    安装 Oracle 12cR1 RAC on Linux 7 本文介绍如何在Oracle Linux 7上安装2节点Oracle 12cR1 Real Application Cluster(RAC) ...

  2. Oracle RAC集群体系结构

    一. Oracle集群体系结构 Oracle RAC,全称是Oracle Real Application Cluster,即真正的应用集群,是oracle提供的一个并行集群系统,整个集群系统由Ora ...

  3. bay——Oracle RAC集群体系结构.docx

    Oracle RAC集群体系结构 ————bayaim  2018年10月22日13:33 https://blog.51cto.com/ixdba/862207  一. Oracle集群体系结构 O ...

  4. 【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)

    Oracle 11G RAC数据库安装(八) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...

  5. 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)

    Oracle 11G RAC数据库安装(九) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...

  6. Oracle RAC客户端tnsnames.ora相关配置及测试

    1.Oracle RAC服务端/etc/hosts部分内容如下 2.查看服务端的local_listener和remote_listener参数 3.客户端tnsnames.ora配置参考 3.1 1 ...

  7. Oracle RAC安装部署文档

    1.    部署环境步骤 1.1 软件环境 操作系统:CentOS release 6.5(推荐使用5.*的系统)192.168.1.151    racnode1 192.168.1.152    ...

  8. oracle rac安装

    http://blog.chinaunix.net/xmlrpc.php?r=blog/article&id=4681351&uid=29655480 参考 1.百度文库中的收藏 2. ...

  9. Oracle RAC asm常用命令

    在Oracle RAC环境下,使用grid帐号执行 运行asmcmd进入asm命令模式,如: [grid@oradb-node1 ~]$ asmcmd ASMCMD> ASMCMD> du ...

  10. jdbc应用程序连接Oracle rac的URL写法:

    1.应用程序连接Oracle rac的URL写法: #Oracle(AMS) jdbc.driverClassName=oracle.jdbc.driver.OracleDriver jdbc.url ...

随机推荐

  1. AuthenticationException异常无法被全局异常捕获的解决办法

    我们可以先看一下为什么不能被捕获? 很明显JwtFilter的祖宗是Fliter,而我们自己定义的全局异常处理器@RestControllerAdvice 这个注解是 @ControllerAdvic ...

  2. JS逆向实战19——通杀webpack逆向

    声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 网站 aHR0cHM6Ly ...

  3. 分布式多协议接入网关FluxMQ-2.0功能说明

    FluxMQ-2.0版本更新内容 前言 FLuxMQ是一款基于java开发,支持无限设备连接的云原生分布式物联网接入平台.FluxMQ基于Netty开发,底层采用Reactor3反应堆模型,具备低延迟 ...

  4. 【Java 新的选择】,Solon v2.3.8 发布

    Solon 是什么开源项目? 一个,Java 新的生态型应用开发框架.它从零开始构建,有自己的标准规范与开放生态(历时五年,已有全球第二级别的生态规模).与其他框架相比,它解决了两个重要的痛点:启动慢 ...

  5. 零基础实现Java直播(一):集成

    从泛娱乐的秀场直播,到直播带货潮流中的电商直播,直播已经成为2020年最热的应用技术之一,越来越多的产品希望加入直播功能.下面我们基于即构Express Video SDK,来分享如何从零实现线上直播 ...

  6. JavaScript进阶指南: DOM与BOM操作,从初学者到专家,一步也能登天一篇文章就足够了

    DOM与BOM操作 复习链接: http://c.biancheng.net/view/9360.html 事件对象: https://www.runoob.com/jsref/dom-obj-eve ...

  7. Prompt Playground: 一个简易的提示词调试工具

    Prompt Playground: 一个简易的提示词调试工具 将LLM引入到日常的开发工作中后,会面临大量的提示词调试的工作,由于LLM不确定性,这个工作会变得非常的繁琐,需要不断的调整,甚至需要大 ...

  8. 图像分割_评价指标_PSNR峰值信噪比和SSIM结构相似度

    PSNR psnr是"Peak Signal to Noise Ratio"的缩写,即峰值信噪比,是一种评价图像的客观标准. 为了衡量经过处理后的影像品质,我们通常会参考PSNR值 ...

  9. Swift函数调用方式浅析

    函数的调用机制   函数的调用机制是在函数调用时通过那种路径走到最终调用函数地址的机制. 在编程语言中,函数的调用机制有三种 1.静态调用:编译期就确定了函数内存地址,执行效率最高,还可以使用编译器优 ...

  10. SpringBoot项目:net.sf.jsqlparser.parser.ParseException: Encountered unexpected token:XXXXX

    原文地址 写在前面 最近开发过程中,在where条件中使用IF函数,在MySQL数据库中,使用Navicat运行没有问题,但是运行项目的时候,死活过不去,一直报错,后来一番折腾找到了解决方案,所以,以 ...