oracle RAC redhat
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的更多相关文章
- 11g,12c Oracle Rac安装
安装 Oracle 12cR1 RAC on Linux 7 本文介绍如何在Oracle Linux 7上安装2节点Oracle 12cR1 Real Application Cluster(RAC) ...
- Oracle RAC集群体系结构
一. Oracle集群体系结构 Oracle RAC,全称是Oracle Real Application Cluster,即真正的应用集群,是oracle提供的一个并行集群系统,整个集群系统由Ora ...
- bay——Oracle RAC集群体系结构.docx
Oracle RAC集群体系结构 ————bayaim 2018年10月22日13:33 https://blog.51cto.com/ixdba/862207 一. Oracle集群体系结构 O ...
- 【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)
Oracle 11G RAC数据库安装(八) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...
- 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)
Oracle 11G RAC数据库安装(九) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...
- Oracle RAC客户端tnsnames.ora相关配置及测试
1.Oracle RAC服务端/etc/hosts部分内容如下 2.查看服务端的local_listener和remote_listener参数 3.客户端tnsnames.ora配置参考 3.1 1 ...
- Oracle RAC安装部署文档
1. 部署环境步骤 1.1 软件环境 操作系统:CentOS release 6.5(推荐使用5.*的系统)192.168.1.151 racnode1 192.168.1.152 ...
- oracle rac安装
http://blog.chinaunix.net/xmlrpc.php?r=blog/article&id=4681351&uid=29655480 参考 1.百度文库中的收藏 2. ...
- Oracle RAC asm常用命令
在Oracle RAC环境下,使用grid帐号执行 运行asmcmd进入asm命令模式,如: [grid@oradb-node1 ~]$ asmcmd ASMCMD> ASMCMD> du ...
- jdbc应用程序连接Oracle rac的URL写法:
1.应用程序连接Oracle rac的URL写法: #Oracle(AMS) jdbc.driverClassName=oracle.jdbc.driver.OracleDriver jdbc.url ...
随机推荐
- 行行AI人才沙龙第1期:《AI大模型创业投资,哪里才是真风口?》
行行AI人才是博客园和顺顺智慧共同运营的AI行业人才全生命周期服务平台. 要说近期科技圈和投资圈"最靓的崽",那自然非"AI大模型"莫属.自ChatGPT发布以 ...
- msyql的基本操作(增删改查)
一.SQL 语法要点 1.SQL 语句不区分大小写,但是数据库表名.列名和值是否区分,依赖于具体的 DBMS 以及配置. 例如:SELECT 与 select .Select 是相同的. 2.多条 S ...
- Centos 7安装JDK1.8
# 安装 yum install -y java-1.8.0-openjdk* # 添加环境变量 vim /etc/profile export JAVA_HOME=/usr/lib/jvm/java ...
- matlab 整数提升为正整数幂
matlab 整数提升为正整数幂 在使用matlab 的gui界面绘制时报的错误, 是因为之前数据有非double类型的数据,但是有的数据看起来确实是double类型的,但是程序还是报错跑不下去 解决 ...
- Prometheus-4:服务自动发现Service Discovery
自动发现 Prometheus的服务发现的几种类型: 基于文件的服务发现: 基于DNS的服务发现: 基于API的服务发现:Kubernetes.Consul.Azure...... Prometheu ...
- Java开发大型互联网-架构师必须掌握的分布式技术
Java开发大型互联网-架构师必须掌握的分布式技术 摘要:在当今互联网行业,随着用户量和业务的不断增长,大型互联网系统的设计和开发已经成为了一项头等重要的任务.作为架构师,要能够应对这样的挑战,就必须 ...
- Flutter系列文章-Flutter基础
Flutter是Google推出的一种新的移动应用开发框架,允许开发者使用一套代码库同时开发Android和iOS应用.它的设计理念.框架结构.以及对Widget的使用,都让开发者能更有效率地创建高质 ...
- 【后端面经-Java】JVM垃圾回收机制
目录 1. Where:回收哪里的东西?--JVM内存分配 2. Which:内存对象中谁会被回收?--GC分代思想 2.1 年轻代/老年代/永久代 2.2 内存细分 3. When:什么时候回收垃圾 ...
- 文心一言 VS 讯飞星火 VS chatgpt (64)-- 算法导论6.5 3题
文心一言 VS 讯飞星火 VS chatgpt (64)-- 算法导论6.5 3题 三.要求用最小堆实现最小优先队列,请写出 HEAP-MINIMUM.HEAP-EXTRACT-MIN.HEAP DE ...
- 在虚拟机VMware上安装OpenKylin开源操作系统
在虚拟机(VMware)上安装OpenKylin开源操作系统 今天我们一下学习下开放麒麟系统的安装.也是我的开源项目在OpenKylin上运行的实践. 希望通过该项目了解和学习Avalonia开发的朋 ...