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. 完美决解win10 可以上网却显示无internet的bug

    试过网上的几乎所有方法,例如禁用复用网卡.网络重置.禁用复用服务,也用了用修改注册表下HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNlaSvcPa ...

  2. 从GaussDB(DWS)的技术演进,看数据仓库的积淀与新生

    摘要:随着云计算的兴起和渗透,云数仓成为了数仓技术演进的新阶段,并且逐渐成为了众多企业的共同选择. 本文分享自华为云社区<从GaussDB(DWS)的技术演进,看数据仓库的积淀与新生>,作 ...

  3. 学习C++这一篇就够了(提升篇)

    C++中除了面向对象的编程思想外,还有另一种就是泛型编程 主要用到的技术就是模板 模板机制的分类: 函数模板 类模板 函数模板 作用:建立一个通用函数,其函数返回值类型和形参类型可以不具体定制,用虚拟 ...

  4. 【Springboot】项目启动后执行特定方法

    Springboot项目启动后执行特定方法 Springboot给我们提供了两种"开机启动"方式:ApplicationRunner和CommandLineRunner. 这两种方 ...

  5. 即构✖叮咚课堂:行业第一套AI课堂解决方案是怎么被实现的?

    AI走进教育,是传统教育的一次迭代进化 在教育问题上,我们看到两类话题最容易引发公众讨论:教育公平和个性化教育,"互联网+教育"有可能解决第一类话题,"AI教育" ...

  6. Redis的设计与实现(4)-跳跃表

    跳跃表 (skiplist) 是一种有序数据结构, 它通过在每个节点中维持多个指向其他节点的指针, 从而达到快速访问节点的目的. 跳跃表支持平均 O(log N) 最坏 O(N) 复杂度的节点查找, ...

  7. 图片转ASCII字符图案的原理(可调整亮度对比度 宽高度)

    来, 先看效果哈哈哈哈! 演示地址: http://ascii-picture.imlht.com/ "\` """ . "\`"" ...

  8. 看element源码学到的小技巧

    中午无休的时候有点无聊, 看了一下昨天clone 的 element-ui 源码, 发现很多优雅之处, 记录一下让我直接用到项目中的一个点 那就是绝对定位的元素放到body 里面的 同级.这么做的好处 ...

  9. iframe与主窗口通信

    1. 引言 <iframe> 元素是 HTML 中的一个标签,用于在当前页面中嵌入另一个页面 使用 <iframe> 可以实现以下功能: 嵌入其他网页:可以将其他网页嵌入到当前 ...

  10. BugKu:文件包含+php伪协议

    这道题一进去发现一个超连接点击后发现跳转到了如下页面url如下/index.php?file=show.php,觉得这道题应该是一个php伪协议的应用 1 php://filter php://fil ...