smartrac1                                            smartrac2
223.223.80.71                                      223.223.80.72
16.16.16.1                                            16.16.16.2
1.VBox5.0 安装和下载(略)
2. 先各自安装RHEL6.8,进入系统后关机。
3.创建一个磁盘为固定大小磁盘,设置为共享属性,附加到2个虚机中即可。
4. 再启动两个虚机客户端。
VMware 的模拟硬件环境搭建:(类似,只是共享盘需要用命令)
C:\Program Files (x86)\VMware\VMware Workstation>vmware-vdiskmanager.exe -c -s 10240M -a lslogic -t 2 "C:\ShareDisk\sharedisk-1.vmdk"
C:\Program Files (x86)\VMware\VMware Workstation>vmware-vdiskmanager.exe -c -s 10240M -a lslogic -t 2 "C:\ShareDisk\sharedisk-2.vmdk"
C:\Program Files (x86)\VMware\VMware Workstation>vmware-vdiskmanager.exe -c -s 10240M -a lslogic -t 2 "C:\ShareDisk\sharedisk-3.vmdk"
C:\Program Files (x86)\VMware\VMware Workstation>vmware-vdiskmanager.exe -c -s 10240M -a lslogic -t 2 "C:\ShareDisk\sharedisk-4.vmdk"
更改VMX文件。
disk.locking="FALSE" 
scsi0:1.SharedBus="Virtual" 
scsi0:2.SharedBus="Virtual" 
scsi0:3.SharedBus="Virtual" 
scsi0:4.SharedBus="Virtual" 
disk.EnableUUID = "TRUE"
5. 配置HOST:
[root@rac1 etc]# vim /etc/hosts
#127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4  rac1.sdsmart.cn rac1 ---一定要注释掉
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6  rac1.sdsmart.cn rac1---一定要注释掉
127.0.0.1    localhost
::1    localhost
# Public 
223.223.83.110    rac1
223.223.83.112    rac2
# Private
16.16.16.1    rac1-pri
16.16.16.2    rac2-pri
# Virtual
223.223.83.90    rac1-vip
223.223.83.92    rac2-vip
# SCAN
223.223.83.99    rac-scan
6.配置sysctl.conf (固定不变的)
vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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

执行
#/sbin/sysctl –p
7.修改/etc/security/limits.conf
vim /etc/security/limits.conf
grid               soft    nproc   2047
grid               hard    nproc   16384
grid               soft    nofile  1024
grid               hard    nofile  65536
grid               soft    stack  10240
grid               hard    stack  32768
oracle               soft    nproc   2047
oracle               hard    nproc   16384
oracle               soft    nofile  1024
oracle               hard    nofile  65536
oracle               soft    stack  10240
oracle               hard    stack  32768
8.修改/etc/pam.d/login
vim /etc/pam.d/login
session required pam_limits.so
9.禁止网络时间服务、防火墙
service ntpd stop
chkconfig ntpd off
service iptables stop
chkconfig iptables off
10.关闭SELinux
vi /etc/selinux/config   
SELINUX=disabled
11. 创建用户、组和文件路径
groupadd -g 1100 oinstall
groupadd -g 1200 asmadmin
groupadd -g 1101 dba
groupadd -g 1102 oper
groupadd -g 1201 asmdba
groupadd -g 1202 asmoper
useradd  -u 1100 -g oinstall -G dba,oper,asmdba -d /home/oracle -m oracle
useradd  -u 1200 -g oinstall -G asmadmin,asmdba,asmoper,dba -d /home/grid -m grid
--rm /var/spool/mail/oracle 
--userdel -r oracle
useradd  -u 1100 -g oinstall -G dba,oper,asmdba -d /home/oracle -m oracle
usermod  -u 1100 -g oinstall -G dba,oper,asmdba -d /home/oracle -m oracle
useradd  -u 1200 -g oinstall -G asmadmin,asmdba,asmoper,dba -d /home/grid -m grid
usermod  -u 1200 -g oinstall -G asmadmin,asmdba,asmoper,dba -d /home/grid -m grid

12.创建目录授权
mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/oracle/product/11.2.0/db_1
mkdir -p /orasoft/ora11g

--更改属主,权限
chown -R grid:oinstall /u01/app
chown -R oracle:oinstall /u01/app/oracle
chown -R grid:oinstall /orasoft/ora11g
chmod -R 777 /orasoft/ora11g
13.RPM包:
cd /media/RHEL-6.8\ Server.x86_64/Packages
rpm -Uvh binutils-2.*
rpm -Uvh compat-libstdc++-33*
rpm -Uvh elfutils-libelf-0.*
rpm -Uvh elfutils-libelf-devel-*
rpm -Uvh gcc-4.*
rpm -Uvh gcc-c++-4.*
rpm -Uvh glibc-2.*
rpm -Uvh glibc-common-2.*
rpm -Uvh glibc-devel-2.*
rpm -Uvh glibc-headers-2.*
rpm -Uvh ksh-2*
rpm -Uvh libaio-0.*
rpm -Uvh libaio-devel-0.*
rpm -Uvh libgcc-4.*
rpm -Uvh libstdc++-4.*
rpm -Uvh libstdc++-devel-4.*
rpm -Uvh make-3.*
rpm -Uvh sysstat-7.*
rpm -Uvh unixODBC-2.*
rpm -Uvh unixODBC-devel-2.*
14.搭建YUM本地仓库
[root@rac1 mnt]# cp -rf  /media/RHEL-6.8\ Server.x86_64/  /mnt/
[root@rac1 mnt]# mv /mnt/RHEL-6.8\ Server.x86_64 /mnt/
cd /etc/yum.repos.d/
vim  vim rhel-source.repo
name=Red Hat Enterprise Linux $releasever - $basearch - Source
#baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/SRPM
S/
baseurl=file:///mnt/redhat/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
保存后,执行 yum makecache
yum install binutils
yum install compat-libstdc++-33*
yum install elfutils-libelf-0.*
yum install elfutils-libelf-devel-*
yum install gcc-4.*
yum install gcc-c++-4.*
yum install glibc-2.*
yum install glibc-common-2.*
yum install glibc-devel-2.*
yum install glibc-headers-2.*
yum install ksh-2*
yum install libaio-0.*
yum install libaio-devel-0.*
yum install libgcc-4.*
yum install libstdc++-4.*
yum install libstdc++-devel-4.*
yum install make-3.*
yum install sysstat-7.*
yum install unixODBC-2.*
yum install unixODBC-devel-2.*
15.建立用户环境变量
--grid 用户
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOME
GRID_HOME=/u01/app/11.2.0/grid; export GRID_HOME
ORACLE_SID=+ASM2; export ORACLE_SID
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
PATH=${PATH}:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
      if [ $SHELL = "/bin/ksh" ]; then
              ulimit -p 16384
              ulimit -n 65536
      else
         ulimit -u 16384 -n 65536
      fi
fi

--oracle 用户   红字部分(rac1 改为 rac1的数据库实例名,rac2 改为 rac2 的数据库实例名)
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=gnnt2; export ORACLE_SID
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
PATH=${PATH}:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
      if [ $SHELL = "/bin/ksh" ]; then
              ulimit -p 16384
              ulimit -n 65536
      else
         ulimit -u 16384 -n 65536
      fi
fi

16.建立SSH认证(oracle/grid) 非常重要
vi sshx (在oracle/grid下均建立此脚本)
mkdir -p ~/.ssh
chmod -R 755 ~/.ssh
/usr/bin/ssh-keygen -t rsa
/usr/bin/ssh-keygen -t dsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
echo -n "wait another host $1 run finish, press twice key continue !!!"
read a
read a
ssh $1 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh $1 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
chmod -R 644 ~/.ssh/authorized_keys

--授权
chmod  755  ~/sshx

建立完毕后互相测试是否不需要密码认证 非常重要
ssh rac1.sdsmart.cn date
ssh rac2.sdsmart.cndate
ssh rac1 date
ssh rac2 date
ssh rac1-pri.sdsmart.cn date
ssh rac2-pri.sdsmart.cn date
ssh rac1-pub.sdsmart.cn date
ssh rac2-pub.sdsmart.cn date

17.设置时间同步
vi /etc/ntp.conf
server 10.135.8.100 prefer
也可以本地设定日期时间:
$ date -s '2016-07-11 16:55:00'

如果仅需要设置日期或者时间,可以使用date -d mm/dd/yy及date -s hh:mm:ss。

18.创建UDEV
--- 创建个文件
echo "options=--whitelisted --replace-whitespace"  >> /etc/scsi_id.config
--- 添加RULE
--5块硬盘(/dev/sdb sdc sdd sde sdf)
for i in b c d e ;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""      >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done
查看结果如下:
cat /etc/udev/rules.d/99-oracle-asmdevices.rules
rm /etc/udev/rules.d/99-oracle-asmdevices.rules
--检查是否可写
dd if=/dev/sdb of=/dev/null bs=1M count=1
19. 启动UDEV
/sbin/start_udev
[root@rac1 rules.d]# cat 99-oracle-asmdevices.rules 
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB1faf0bb4-32ab5fcf", NAME="asm-diskb", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB1cab8d6b-307a9107", NAME="asm-diskc", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VBac63a170-a1d9ad9d", NAME="asm-diskd", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VBd1c2dd31-a66738c5", NAME="asm-diske", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB445d4c5e-9312d88b", NAME="asm-diskf", OWNER="grid", GROUP="asmadmin", MODE="0660"
[root@rac1 rules.d]# ls -l /dev/asm*
ls: cannot access /dev/asm*: No such file or directory
[root@rac1 rules.d]# 
[root@rac1 rules.d]# 
[root@rac1 rules.d]# 
[root@rac1 rules.d]# start_udev
Starting udev:                                             [  OK  ]
[root@rac1 rules.d]# ls -l /dev/asm*
brw-rw---- 1 grid asmadmin 8, 16 Jul  7 10:27 /dev/asm-diskb
brw-rw---- 1 grid asmadmin 8, 32 Jul  7 10:27 /dev/asm-diskc
brw-rw---- 1 grid asmadmin 8, 48 Jul  7 10:27 /dev/asm-diskd
brw-rw---- 1 grid asmadmin 8, 64 Jul  7 10:27 /dev/asm-diske
brw-rw---- 1 grid asmadmin 8, 80 Jul  7 10:27 /dev/asm-diskf
[root@rac1 rules.d]# 
20.rz传输压缩包,解压缩
### grid 用户
unzip p13390677_112040_Linux-x86-64_3of7.zip
### oracle用户
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
unzip p19121551_112040_Linux_x86_64.zip
检查是否正常,可进行安装
[grid@rac1 ~]$ cd /mnt/redhat/oracle/grid/
[grid@rac1 grid]$ ./runcluvfy.sh  stage -pre crsinst -n smartrac1,smartrac2 -verbose > /tmp/runcvuvfy.out 
给出的报告可以忽略掉
pdksh 和 elfunits 两个组件包,也可自行安装.
elfutils-libelf-devel-0.97
pdksh-5.2.14
21 安装、配置Grid的三方RPM包
cd /mnt/redhat/oracle/grid/rpm 
rpm -ivh cvuqdisk-1.0.9-1.rpm
CVUQDISK_GRP=oinstall; export CVUQDISK_GRP

22.安装GRID
需要进到主机进行图形化安装,分辨率设置再1024以上。
最后执行脚本

rac1 rac2 上执行脚本:/u01/app/oraInventory/orainstRoot.sh
rac1 rac2 上执行脚本:/u01/app/11.2.0/grid/root.sh
23.进行asmca配置
grid用户执行
asmca命令。
增加两个区:
FRA 是 快速恢复区,DATA是放数据文件的
需要了解的 NORMAL:镜像
EXTERNAL: 独立硬盘设备。
24.安装ORACLE服务器端程序。
1.进入Oracle用户
2.图形化安装。
 暂时忽略以上错误,点击下一步。
24. RAC关机顺序指令:
--- rac1

su - oracle
sqlplus / as sysdba
shutdown immediate

su - grid
alter diskgroup data dismount;
alter diskgroup fra dismount;

--- rac2

su - grid
alter diskgroup data mount;
alter diskgroup fra mount;

上述这个步骤主要就是让oracle 进行 ASM INSTANCE RECOVERY

su - oracle
sqlplus / as sysdba
startup

--- rac1
su - grid
alter diskgroup data mount;
alter diskgroup fra mount;

su - oracle
sqlplus / as sysdba
startup

异常问题处理
--卸了重装
./runInstaller -silent -deinstall -removeallfiles "REMOVE_HOMES={/u01/app/oracle/product/11.2.0_1}" -invPtrLoc /etc/oraInst.loc
--检查集群状态
crsctl check cluster

--所有Oracle实例(数据库状态)

srvctl status database -d YMS

--节点应用程序状态

status nodeapps

--列出所有的配置数据库

srvctl config database

--数据库配置

srvctl config database -d YMS  -a

--手工注册监听

alter system register; 
--查看RAC节点状态
crsctl stat res -t
--查看节点
crs_stat -t -v
--启动单实例
srvctl enable instance -d ractest -i ractest1
srvctl relocate scan_listener -i 1 -n rac2
--启动监听
srvctl start listener -n rac1
-- 日志路径
集群日志:
/u01/app/11.2.0/grid/log
ASM INSTANCE日志:
/u01/app/grid/diag/asm/+asm
DB INSTANCE日志:
/u01/app/oracle/diag
//拷贝迁移虚拟机造成IP网卡无法在正常运行的方法。
1.先用ifconfig看看当前网卡的实际物理地址
2.更改 /etc/sysconfig/network-scripting 下的 ifcfg-ethXX 拷贝ifconfig看到的物理地址到 ifcfg-ethXX
3.更改/etc/udev/rules.d/70-persistent-net.rules对应的物理地址即可。
增加虚拟内存:

Oracle RAC 搭建笔记相关推荐

  1. Oracle RAC搭建

    RAC搭建 一.准备工作 . 1 1. 规划 . 1 2. 网络配适器准备( rac1& rac2 ) . 2 3. 关闭防火墙和 SElinux(rac1& rac2) 2 4. 修 ...

  2. 深入理解Oracle RAC 12c 笔记

    深入理解Oracle RAC 12c 跳转至: 导航. 搜索 文件夹 1 概述 2 集群件管理和故障诊断 3 执行实践 4 新特性 5 存储和ASM 6 应用设计上的问题 7 管理和调优一个复杂的RA ...

  3. Oracle RAC学习笔记:基本概念及入门

    oracle 10g real application clusters introduction 1.什么是cluster 一个cluster是由两个或是多个独立的.通过网络连接的servers组成 ...

  4. 10G ORACLE RAC 搭建实战之LINUX LVM划分

     LVM划分 1.划分说明 服务器对存储设备的访问采用多路径技术    (Linux Device Mapper Multipathing),多路径设备配置完毕后,会在/dev/mapper/ 发现m ...

  5. oracle rac 环境配置文件,学习笔记:Oracle RAC spfile参数文件配置案例详解

    天萃荷净 rac中的spfile探讨,记录一下Oracle RAC搭建完成后关于spfile参数文件的配置案例,与更改RAC环境中参数文件的方法 今天朋友的的rac,因为被同事做数据库升级,分别在两个 ...

  6. Oracle 11g RAC 搭建详细步骤

    Oracle RAC 搭建步骤详解 前期准备: 数据库:11.2.0.4 OS:Centos 6.8 IP分配: #publice ip 192.168.180.2 rac1 192.168.180. ...

  7. oracle rac 19c搭建步骤

    文章目录 环境准备 虚机节点准备 安装OS 准备磁盘 准备网络 准备xml 配置用户 创建用户和组 设置环境变量 设置资源上限 配置网络 配置hostname 配置hosts 设置NOZEROCONF ...

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

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

  9. oracle rac添加监听,【学习笔记】Oracle 10G RAC增加节点时手动注册监听服务的案例步骤...

    [学习笔记]Oracle 10G RAC增加节点时手动注册监听服务的案例步骤 时间:2016-10-22 22:53   来源:Oracle研究中心   作者:HTZ   点击: 次 天萃荷净 Ora ...

最新文章

  1. android屏幕分辨率详解 ldpi mdpi hdpi 程序UI自适应 《官方翻译》
  2. C#让程序只运行一次实例
  3. 得到当前函数堆栈调用
  4. CVPR!你凭什么收录我3篇论文!?
  5. 多态性与虚拟函数一个典型的例子第一步
  6. 牛客练习赛44 C 小y的质数 (数论,容斥定理)
  7. foursquare nyc数据集_炫酷的python地理数据可视化
  8. 草莓甜品海报设计,甜出画面,受得住诱惑么?
  9. php mysql json 转义字符_PHP转义Json里的特殊字符的函数
  10. GET XXX net::ERR_CONNECTION_REFUSED
  11. Leaflet学习笔记-Leaflet.awesome-markers
  12. 产品结构bom设计 mongodb_产品设计人员看过来!儿童智能机器人产品结构设计解析(二)...
  13. zabbix 5.0所有依赖包_一杯茶的时间,上手Zabbix
  14. 联想昭阳k29轴拆机步骤图_【tableau入门教程23】雷达图
  15. 078、Docker 最常用的监控方案(2019-04-25 周四)
  16. linux网络子系统分析(二)—— 协议栈分层框架的建立
  17. 小猪cms之怎样查询绑定的微网站模板
  18. SEO实战密码(第3版) 60天网站流量提高20倍-3
  19. 【备读学术论文总览】研究方向论文清单
  20. 微信应用(小程序)开发最全整理

热门文章

  1. (附源码)计算机毕业设计基于Java 的茶叶销售管理系统
  2. 营销人、新媒体人、广告人必备神器:电脑录屏工具!
  3. 拯救者R9000K/P插拔电源出现黑屏解决方案
  4. iOS高仿微信、仪表盘、图片标注图片滤镜、高斯模糊、上拉加载、下拉刷新等源码...
  5. Java中的得墨meter耳定律–最少知识原理–实际示例
  6. c++(7):tan()、sin()、cos()函数
  7. plt 子图的操作【坐标轴标签、刻度、区间和标题】
  8. Linux基础教程(第2版)课后答案集合
  9. Redis开发和运维相关shell命令总结
  10. c语言中free函数释放内存后,会怎么样?