★★★____★☆★〓〓〓〓→
VMware vSphere Client6.0
https://10.20.4.200/
下载Vwmare
IP:10.20.4.200
-------账号:root
-------密码:password
---------------------------------------------
机器1:
root/bayaim
oracle/oracle
grid/grid
oracle:
统一设置sys,system,dbsnmp,sysman用户的密码为oracle
sys/bayaim
2019年3月27日14:03:06
LC 科技RAC ——搭建
---------------------------------------------
1. 安装centos 选择语言:english / U.S.English 防止乱码
[oracle@testoracle database]$ export LANG=EN
echo $LANG
vi /etc/sysconfig/i18n
echo LANG=zh_CN.gbk
locale -a |grep en
export LANG=en_US
注意:修改了主机名后
vi /etc/sysconfig/network
---修改hostname
hostaname = oracleServer
SELINUX
gedit /etc/sysconfig/selinux
(本来是:SELINUXTYPE=targeted )
SELINUX=disabled
[root@ums-data mysql]# setenforce 0 (关闭沙盒!)
[root@ums-data mysql]# getenforce
Disabled
[root@rac1 named]# chkconfig NetworkManager off
防火墙
[root@ums-data mysql]# chkconfig iptables off
[root@ums-data mysql]# iptables -F (清空防火墙默认规则)
[root@ums-data mysql]# systemctl stop firewalld.service (停止防火墙,这是CentOS7的命令)
[root@ums-data mysql]# systemctl disable firewalld //禁止开机启动
#CentOS6命令需更改为 ↓
service iptables stop
4、关闭防火墙并设置开机不启动
查看防火墙状态:systemctl status firewalld.service
关闭:systemctl stop firewalld
开启:systemctl start firewalld
开机自动关闭:systemctl disable firewalld
[root@rac1 named]# systemctl restart network //重启网卡-----------
[root@wwdb2 ~]# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=wwdb2
// 修改网卡---------
[root@rac1 network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@rac1 network-scripts]# cat ifcfg-ens256
[root@dns~]# cat /etc/resolv.conf
search localdomain
nameserver 114.114.114.114
[root@dns ~]# chattr +i /etc/resolv.confv
[root@rac2 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# rac1
10.20.4.195rac1
10.20.4.197rac1-vip
10.20.18.30rac1-priv
# rac2
10.20.4.196rac2
10.20.4.198rac2-vip
10.20.18.31rac2-priv
# scan-ip
10.20.4.190scan-cluster
chattr +i /etc/resolv.conf
修改named.conf
[root@dns ~]# vi /etc/named.conf
修改:
listen-on port 53 {any; };
allow-query { any; }; –也可以是具体IP段,如192.168.110.0/24;
并为配置简单,将一些安装相关的用//注释掉
在/etc/named.rfc1912.zones中创建正向反向区域
[root@dns ~]# vi/etc/named.rfc1912.zones
加入下面两部分
zone "pera.com"IN {
type master;
file "pera.com.zone";z
allow-update { none; };
};
zone "4.20.10.in-addr.arpa." IN {
type master;
file "10.20.4.in-addr.arpa";
allow-update { none; };
};
yum install bind bind-devel bind-chrootcaching-nameserver
cat /etc/resolv.conf
创建正反向解析文件
[root@dns ~]# cd /var/named/
[root@dns named]# cp -p named.localhost pera.com.zone
[root@dns named]# cp -p named.localhost 192.168.114.arpa
# rac1
172.16.0.191 node1.localdomain node1
172.16.0.193 node1-vip.localdomain node1-vip
192.168.94.11 node1-priv.localdomain node1-priv
# rac2
172.16.0.192 node2.localdomain node2
172.16.0.194 node2-vip.localdomain node2-vip
192.168.94.12 node2-priv.localdomain node2-priv
# scan-ip
172.16.0.203 scan-cluster.localdomain scan-cluster
.下载httpd软件包到当前文件夹内 :bind 包 到/home/oracle/ 下
yum install –downloadonly –downloaddir=/home/oracle/ bind
#如果能够访问外网,那么更好了!
yum -y install bind
bind-9.9.4-72.el7.x86_64.rpm
bind-chroot-9.9.4-72.el7.x86_64.rpm
其实caching-nameserver这个包已经整合到了 bind包,所以只需安装yum install bind bind-chroot
编辑该文件:
/etc/named.caching-nameserver.conf
们需要在 VMwareESXiVersion4.0的虚拟主机上创建两台虚拟机,其中每台
机器至少需要配置双网卡,一块网卡作为 Public,另一块作为Private,建议IP地址均选择
手动配置, 而不是DHCP动态分配,
/sbin/ifconfig ens192:1 10.20.4.50 netmask 255.255.255.0 up
-------------问题四:【更改字符集】-------------------------
./runInstaller
图形化出现乱码:
[oracle@testoracle database]$ export LANG=EN
echo $LANG
vi /etc/sysconfig/i18n
echo LANG=zh_CN.gbk
locale -a |grep en
export LANG=en_US
#仅节点1执行
[grid@cheastrac01:~]$export LANG=en_US
规划需要的共享磁盘个数及大小
[root@rac1 home]# fdisk -l | grep /dev/sd
3. 配置用户及用户组
# groupadd oinstall
# groupadd dba
# groupadd oper
# groupadd asmadmin
# groupadd asmoper
# groupadd asmdba
# useradd -g oinstall -G dba,asmdba,oper oracle
# useradd -g oinstall -G asmadmin,asmdba,asmoper,dba grid
# echo oracle | passwd --stdin oracle
# echo grid | passwd --stdin grid
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -d /home/grid -s /bin/bash -c "grid Infrastructure Owner" grid
echo "grid" | passwd --stdin grid
useradd -u 1101 -g oinstall -G dba,oper,asmdba -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle
echo "oracle" | passwd --stdin oracle
修改用户的组信息:要不以后找不到ASM组:
[root@rac1 bin]# usermod -a -G dba,oper,asmdba,asmadmin oracle
4. 配置 grid 和 oracle 用户的配置文件
# mkdir -p /u01/app/oracle
# mkdir -p /u01/app/grid
# mkdir -p /u01/app/11.2.0/grid
# chown -R grid:oinstall /u01 ---------------- 重要
# chown -R oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01
----------Oracle User----------
文件是:vi /home/oracle/.bash_profile
export PS1="`/bin/hostname -s`-> "
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_TERM=xterm
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH=$PATH:$ORACLE_HOME/bin
export EDITOR=vi
export LANG=en_US
export NLS_LANG=american_america.AL32UTF8
export PATH
umask 022
生效:
#source .bash_profile
----------GRID User----------
文件是:vi /home/grid/.bash_profile
export PS1="`/bin/hostname -s`-> "
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_TERM=xterm
export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH=$PATH:$ORACLE_HOME/bin
export EDITOR=vi
export LANG=en_US
export NLS_LANG=american_america.AL32UTF8
export PATH
umask 022
[oracle@localhost ~]$ vi /etc/security/limits.conf
在文件最下方输入以下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
[oracle@localhost ~]$ vi /etc/pam.d/login
在文件最下方输入以下内容:
session required /lib64/security/pam_limits.so
#sessionrequired/lib/security/pam_limits.so
sessionrequiredpam_limits.so
注意:因为是64位的系统,所以一定要写/lib64/security/pam_limits.so
如果写成/lib/security/pam_limits.so(这是32位系统的设置),就会在虚拟机本地的字符界面模式下无法
登录
[oracle@localhost ~]$ 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
fi
[root@jssnode1Server]# vi /etc/sysctl.conf
将下列内容加入该文件:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 8160280
kernel.shmmax = 33424509440
kernel.shmmni = 4096
kernel.sem =250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
【使内核参数立即生效】
[root@linuxserv7 ~]#sysctl -p
=========================================
停止ntp服务,11gR2新增的检查项
[root@node1 ~]# service ntpd status
[root@node1 ~]# /bin/systemctl status ntpd.service
ntpd is stopped
[root@node1 ~]# chkconfig ntpd off
[root@rac2 ~]# systemctl disable ntpd.service
[root@node1 ~]# cat /etc/ntp
ntp/ ntp.conf
[root@node1 ~]# cp /etc/ntp.conf /etc/ntp.conf.bak
[root@node1 ~]# rm -rf /etc/ntp.conf
2.11 节点2准备工作 -==============================
我们已经在node1完成基本准备配置工作,在node2上重复上述2.2到2.10节中准备工作,以完成节点2的准备工作。
说明:2.3节配置SCAN IP已在节点2上完成,可忽略。2.4节中需要修改对应的环境变量。
<<<<<配置oracle,grid 用户SSH对等性>>>>>>>>>
配置oracle用户对等性
node1:
[root@rac1 ~]# su - oracle
rac1-> mkdir ~/.ssh
rac1-> chmod 700 ~/.ssh
rac1-> ls -al
rac1-> ssh-keygen -t rsa (连续按三下回车)
rac1-> ssh-keygen -t dsa (连续按三下回车)
node2:
[root@rac1 ~]# su - oracle
rac2-> mkdir ~/.ssh
rac2-> chmod 700 ~/.ssh
rac2-> ls -al
rac2-> ssh-keygen -t rsa (连续按三下回车)
rac2-> ssh-keygen -t dsa (连续按三下回车
返回节点1:
rac1-> cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
rac1-> cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
rac1->
oracle@rac2's password:
rac1-> ssh rac2 cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
oracle@rac2's password:
rac1-> scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys
oracle@rac2's password:
验证oracle SSH对等性:
在node1,node2两个节点上分别执行下述命令,第一次执行时需要口令验证:
ssh rac1 date
ssh rac2 date
ssh rac1-priv date
ssh rac2-priv date
ssh rac1-vip date
ssh rac2-vip date
返回节点1:
rac1-> ssh rac2-vip date
Tue Apr 9 19:37:06 CST 2019
rac1-> ssh rac1-vip date
Tue Apr 9 19:37:07 CST 2019
rac1-> ssh rac1-priv date
Tue Apr 9 19:37:14 CST 2019
rac1-> ssh rac2-priv date
Tue Apr 9 19:37:18 CST 2019
rac1-> ssh rac2 date
Tue Apr 9 19:37:22 CST 2019
rac1-> ssh rac1-vip date
Tue Apr 9 19:37:25 CST 2019
rac1->
返回节点2:
也要测试:
Nothing to do
[root@rac2 network-scripts]# systemctl restart sshd
至此,Oracle用户SSH对等性配置完成!重复上述步骤,以grid用户配置其对等性。
<<<<<配置oracle,grid 用户SSH对等性>>>>>>>>>
[root@rac1 ~]# su - grid
node1:
node2:
重复上述步骤,
2.13 配置共享磁盘===========================================
在任意节点上先创建共享磁盘,然后在另外的节点上选择添加已有磁盘。
这里选择先在node2节点机器上创建共享磁盘,然后在node1上添加。
共创建4块硬盘,其中2块500M的硬盘,将来用于配置GRIDDG磁盘组,
专门存放OCR和Voting Disk;1块3G的磁盘,用于配置DATA磁盘组,存放数据库;1块3G的磁盘,用于配置FLASH磁盘组,用于闪回区;
2.14 配置ASM磁盘
2.14 配置ASM磁盘
在上一步2.13节中,我们已经对RAC双节点已经配置好了共享磁盘,接下来需要将这些共享磁盘格式化、然后用asmlib将其配置为ASM磁盘,用于将来存放OCR、Voting Disk和数据库用。
注意:只需在其中1个节点上格式化就可以,接下来我们选择在node1节点上格式化。
这里我们以asmlib软件来创建ASM磁盘,而不使用raw disk,而且从11gR2开始,OUI的图形界面已经不再支持raw disk。
2.14.1 格式化共享磁盘
以root用户分别在两个节点上执行fdisk命令,查看现有硬盘分区信息:
node1:
[root@node1 ~]# fdisk -l
node2:
[root@node2 ~]# fdisk -l
root用户在node1上格式化/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde这4块盘
[root@node1 ~]# fdisk /dev/sdb
n 表示新建1个分区;
p 表示分区类型选择为primary partition 主分区;
1 表示分区编号从1开始;
500 起始、终止柱面选择默认值,即1和500;
w 表示将新建的分区信息写入硬盘分区表。
[root@node1 ~]#
重复上述步骤②,以root用户在node1上分别格式化其余3块磁盘:
格式化完毕之后,在node1,node2节点上分别看到下述信息:
#仅节点1执行
[grid@cheastrac01:~]$ export LANG=en_US
规划需要的共享磁盘个数及大小
[root@rac1 home]# fdisk -l | grep /dev/sd
[root@localhost etc]# lsblk
2.14.2 在两个节点上安装ASM RPM软件包
在安装ASM软件包时,要注意选择的软件包要与操作系统平台、内核版本选择一致。
ASM软件包可以到Oracle官网下载。
[root@localhost ~]# yum install oracleasm oracleasm-support
Package kmod-oracleasm-2.0.8-22.1.el7_6.x86_64 already installed and latest version
[root@node1 ~]# rpm -qa|grep asm
用上述命令,并未发现节点1上安装任何asm软件包。
[root@node1 ~]# cd asm_rpm/
[root@node1 asm_rpm]# ll
oracleasm-2.6.18-164.el5-2.0.5-1.el5.x86_64.rpm
oracleasmlib-2.0.12-1.el7.x86_64.rpm
oracleasm-support-2.1.8-3.el7.x86_64.rpm
先uname -a 看下内核版本,然后选择合适版本
按照下面顺序安装
[root@rac2 bai]# rpm -Uvh oracleasm-support-2.1.8-3.el7.x86_64.rpm
[root@rac2 bai]# rpm -Uvh oracleasm-2.6.18-164.el5-2.0.5-1.el5.x86_64.rpm --nodeps --force
[root@rac2 bai]# rpm -Uvh oracleasmlib-2.0.12-1.el7.x86_64.rpm
oracleasm-3.10.0-957.el7.x86_64
oracleasmlib-3.10.0-957.el7.x86_64
# yum install kmod-oracleasm
[root@node1 asm_rpm]# rpm -qa|grep asm
说明:安装上述3个ASM RPM软件包时要先安装oracleasm-support-2.1.3-1.el5软件包,其次安装oracleasm-2.6.18-194.el5-2.0.5-1.el5软件包,最后安装oracleasmlib-2.0.4-1.el5软件包。
安装完毕后,执行 rpm -qa|grep asm确认是否安装成功。
node2 安装: 同node1:
2.14.3 配置ASM driver服务==================================
查看ASM服务状态:
[root@node1 ~]# /usr/sbin/oracleasm status
Checking if ASM is loaded: no
Checking if /dev/oracleasm is mounted: no
看到,默认情况下ASM服务并未开启。具体命令和相关参数可以直接执行下述命令来获取:
[root@node1 ~]# /usr/sbin/oracleasm -h
配置ASM服务:
[root@node1 ~]# /usr/sbin/oracleasm configure -i
说明:/usr/sbin/oracleasm configure -i命令进行配置时,用户配置为grid,组为asmadmin,启动ASM library driver驱动服务,并且将其配置为随着操作系统的启动而自动启动。
配置完成后,记得执行 /usr/sbin/oracleasm init命令来加载oracleasm内核模块。
[root@rac1 bai]# /usr/sbin/oracleasm status
[root@rac1 bai]# /usr/sbin/oracleasm -h
[root@rac1 bai]# /usr/sbin/oracleasm configure -i
Default user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
[root@rac1 bai]# /usr/sbin/oracleasm status
[root@rac1 bai]# /usr/sbin/oracleasm init
[root@rac1 bai]# /usr/sbin/oracleasm configure
在node2上执行上述步骤 2.14.3 ,完成ASM服务配置。
2.14.4 配置ASM磁盘=======================================
我们安装ASM RPM软件包,配置ASM 驱动服务的最终目的是要创建ASM磁盘,为将来安装grid软件、创建Oracle数据库提供存储。
说明:只需在一个节点上创建ASM磁盘即可!
创建完之后,在其它节点上执行/usr/sbin/oracleasm scandisks之后,就可看到ASM磁盘
接下来,开始创建ASM磁盘:
执行/usr/sbin/oracleasm createdisk来创建ASM磁盘
[root@node1 ~]# /usr/sbin/oracleasm listdisks
[root@node1 ~]# /usr/sbin/oracleasm createdisk -h
Usage: oracleasm-createdisk [-l <manager>] [-v] <label> <device>
[root@rac1 bai]# lsblk ---bayaim:查看有哪几个分区盘
[root@node1 ~]# /usr/sbin/oracleasm createdisk VOL1 /dev/sdb1
Writing disk header: done
Instantiating disk: done
[root@node1 ~]# /usr/sbin/oracleasm createdisk VOL2 /dev/sdc1
[root@node1 ~]# /usr/sbin/oracleasm createdisk VOL3 /dev/sdd1
[root@node1 ~]# /usr/sbin/oracleasm createdisk VOL4 /dev/sde1
[root@rac1 bai]# /usr/sbin/oracleasm listdisks
VOL1
VOL2
VOL3
VOL4
[root@rac2 bin]# /usr/sbin/oracleasm listdisks
DATA1
DATA2
DATA3
OCR1
OCR2
OCR3
alter diskgroup DATA1 mount;
从上看到,创建出来4块ASM磁盘。此时,node2上还看不到刚创建的ASM磁盘。
node2 执行/usr/sbin/oracleasm scandisks扫描磁盘
查看磁盘
[root@rac2 bai]# oracleasm listdisks
扫描磁盘
[root@rac2 bai]# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
Instantiating disk "VOL1"
Instantiating disk "VOL2"
Instantiating disk "VOL4"
Instantiating disk "VOL3"
查看对应关系
[root@rac1 dev]# oracleasm querydisk -v -p VOL1
Disk "VOL1" is a valid ASM disk
/dev/sdb1: LABEL="VOL1" TYPE="oracleasm"
如何确定ASM磁盘同物理磁盘之间的对应关系?
[root@rac1 bai]# /usr/sbin/oracleasm querydisk /dev/sd*
Device "/dev/sda" is not marked as an ASM disk
Device "/dev/sda1" is not marked as an ASM disk
Device "/dev/sda2" is not marked as an ASM disk
Device "/dev/sdb" is not marked as an ASM disk
Device "/dev/sdb1" is marked an ASM disk with the label "VOL1"
Device "/dev/sdc" is not marked as an ASM disk
Device "/dev/sdc1" is marked an ASM disk with the label "VOL2"
Device "/dev/sdd" is not marked as an ASM disk
Device "/dev/sdd1" is marked an ASM disk with the label "VOL3"
Device "/dev/sde" is not marked as an ASM disk
Device "/dev/sde1" is marked an ASM disk with the label "VOL4"
[root@rac1 bai]#
查看ASM日志
[root@ATFDB1 ~]# su - grid
[grid@ATFDB1 ~]$ sqlplus / as sysasm
SQL> show parameter dump
[root@rac1 trace]# ls *.log
alert_+ASM1.log
[root@rac1 trace]# pwd
/u01/app/grid/diag/asm/+asm/+ASM1/trace
查看CRS日志
[root@rac1 ~]# find / -name crsd.log
/u01/app/11.2.0/grid/log/rac1/crsd/crsd.log
-------------------------------------------------------
至此,ASM磁盘准备工作已经完成!
2.15 解压安装介质======================================
node1:
安装类型
压缩文件
Oracle Database(includes Oracle Database和Oracle RAC)安装数据库至少需要这两个安装包:
p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
Oracle Grid Infrastructure(包括Oracle ASM、Oracle Clusterware和Oracle Restart):
p13390677_112040_Linux-x86-64_3of7.zip
注意:这里的3个软件包均是来源于MetaLink网站,其版本均是目前Oracle 11g的最新版本,11.2.0.3.0。
如果没有MetaLink账号的话,也可以从oracle官方网站免费获取11.2.0.1.0的版本软件来进行安装和配置。
我们通过下述命令来解压上述3个压缩软件包:
[root@rac1 bai]# unzip p13390677_112040_Linux-x86-64_1of7.zip
[root@rac1 bai]# unzip p13390677_112040_Linux-x86-64_2of7.zip
[root@rac1 bai]# unzip p13390677_112040_Linux-x86-64_3of7.zip
Oracle 11.2.0.4:
p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
p13390677_112040_Linux-x86-64_3of7.zip
[root@rac1 bai]# du -sh database/
2.5G database/
[root@rac1 bai]# du -sh grid/
1.3G grid/
为便于将来安装软件,分别将其move到oracle用户和grid用户的家目录:
[root@node1 ~]# mv database/ /home/oracle/
[root@node1 ~]# mv grid/ /home/grid/
[root@node1 ~]#
2.16 安装前预检查配置信息=====================
安装依赖包,配好yum装吧
yum install -y binutils compat-libstdc++-33 glibc ksh libaio libgcc libstdc++ make compat-libcap1 gcc gcc-c++ glibc-devel libaio-devel libstdc++-devel sysstat elfutils-libelf-devel
yum install binutils compat-db compat-libstdc++-33 compat-libstdc++-296 compat-gcc-34-c++ compat-gcc-34 control-center elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers gnome-screensaver kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel libXp make numactl-devel openmotif openmotif22 pdksh rsh setarch sysstat unixODBC unixODBC-devel xorg-x11
图形界面grid用户运行
./runInstaller
在安装 GRID之前,建议先利用CVU(Cluster Verification Utility)检查 CRS的安装前环境。
使用 CVU 检查CRS的安装前环境:
[root@node1 ~]# su – grid
node1-> cd grid/
node1-> ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose
Please run the following script on each node as "root" user to execute the fixups:
'/tmp/CVU_11.2.0.3.0_grid/runfixup.sh'
Pre-check for cluster services setup was unsuccessful on all the nodes.
node1->
从上面的预检查结果中,可以看到不成功,其实错误的原因是grid用户不属于dba组!不过,Oracle自动给我们提供的修复的脚本,根据上述提示,分别以root用户在两个节点上执行/tmp/CVU_11.2.0.3.0_grid/runfixup.sh脚本来修复。
直到此步骤,我们的安装环境已经完全准备OK!!!
大家在使用客户端连接linux的时候,secureCRT是个非常棒的工具,但是由于不支持图形模式,在一些需要图形界面
的时候就很麻烦,其实有个比较简单的解决办法,就是使用xmanager的passive.
如果提示“Warning: Missing charsets in String to FontSet conversion”不需理会,只是字符转换问题。在执行netca的时候,提前设置
export LANG=en_US 设置为英文环境即可。
bayaim: 打开:Xmanager - Passive 后台运行着
如果有问题:
$export DISPLAY=X.X.X.X:0.0
#xhost +
$source .bash_profile
$xclock
查看本地"CMD"——IPconfig: IPv4 地址 . . . . . . . . . . . . : 10.20.100.128
rac1-> export DISPLAY=10.20.100.128:0.0
rac1-> export LANG=en_US
ASM的SYS、ASMSNMP用户配置为相同的口令,并输入口令 : Bayaim123
This is a prerequisite condition to test whether sufficient total swap space is available on system
增加swap分区文件大小+dd命令的解释
第一步:创建一个大小为1024M的文件
dd if=/dev/zero of=/swap01 bs=1024 count=1048572
第二步:把这个文件变成swap文件:
mkswap /swap01
第三步:启用这个swap文件:
swapon /swap01
第四步:编辑/etc/fstab文件,使在每次开机时自动加载swap文件:
/swap01 swap swap default 0 0
bs=bytes:同时设置读入/输出的块大小为bytes个字节。
count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
在所有节点上安装完cvuqdisk-1.0.9-1软件后,重新执行预检查,不再有警告信息
注意顺序: 先在第一个节点上执行,然后其他节点顺序执行,不能同时执行
根据提示以root用户分别在两个节点上执行脚本:
node1:
[root@node1 ~]# /u01/app/oraInventory/orainstRoot.sh
node2:
[root@rac2 bai]# sh /u01/app/oraInventory/orainstRoot.sh
node1:
[root@node1 ~]# /u01/app/11.2.0/grid/root.sh
中间按一次回车
node2:
[root@node2 ~]# /u01/app/11.2.0/grid/root.sh
此时,集群件相关的服务已经启动。当然,ASM实例也将在两个节点上启动。 >>>>>>>>>>>>>>>>
-----------------------------------------------------------------------
【此时遇到一个报错】
https://blog.csdn.net/weeknd/article/details/70800750
linux 7安装rac 11gR2时运行root.sh报错找不到ohas服务(ohasd failed to start)
运行root.sh脚本的时候报错
Adding Clusterware entries to inittab
ohasd failed to start
Failed to start the Clusterware. Last 20 lines of the alert log follow:?
含义:把集群添加到inittab服务,启动ohasd失败
[root@rac2 bai]# touch /usr/lib/systemd/system/ohas.service
[root@rac2 bai]# chmod 777 /usr/lib/systemd/system/ohas.service
[root@rac2 bai]# vi /usr/lib/systemd/system/ohas.service
[Unit]
Description=Oracle High Availability Services
After=syslog.target
[Service]
ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple
Restart=always
[Install]
WantedBy=multi-user.target
把红色部分的内容添加到文件里面
[root@rac2 bai]# systemctl daemon-reload
[root@rac2 bai]# systemctl enable ohas.service
Created symlink from /etc/systemd/system/multi-user.target.wants/ohas.service to /usr/lib/systemd/system/ohas.service.
[root@rac2 bai]# systemctl start ohas.service
[root@rac2 bai]# systemctl status ohas.service
-----------------------------------------------------------------------
问题2:
[INS-20802] Oracle Cluster Verification Utility failed
原因:scan ip已经存在
解决办法:
ping scan ip,如果可以ping通,忽略,跳过即可。
---------------------------------------------------------------------------
[root@rac1 bin]# /u01/app/11.2.0/grid/bin/crs_stat -t
=====================================================================================
安装Oracle 软件==========>>>>>>>>>>>>>>>>>>
rac1-> export DISPLAY=10.20.100.128:0.0
rac1-> export LANG=en_US
rac1-> xhost +
rac1-> xclock
rac1-> ./runInstaller
---------------------------------------------------------------------------
问题4:
Linux/Centos 安装oracle报错“调用makefile '/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk的目标” 解决
[root@rac1 ~]# find / -name ins_emagent.mk
/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk
[root@rac1 ~]# vi /u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk
--- Bayaim___共计,改2处。
$(MK_EMAGENT_NMECTL)
替换为
$(MK_EMAGENT_NMECTL) -lnnz11
注意:lnnz和$(MK_EMAGENT_NMECTL)之间有空格
---------------------------------------------------------------------------
根据提示以root用户分别在两个节点上执行脚本,Next:
node1:
[root@rac2 grid]# sh /u01/app/oraInventory/orainstRoot.sh
node2:
[root@rac2 grid]# sh /u01/app/oraInventory/orainstRoot.sh
node1:
[root@node1 ~]# /u01/app/oracle/product/11.2.0/db_1/root.sh
node2:
[root@node2 ~]# /u01/app/oracle/product/11.2.0/db_1/root.sh
=====================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
一步一步在Linux上安装Oracle 11gR2 RAC (7)
创建ASM磁盘组
以grid用户创建ASM磁盘组,创建的ASM磁盘组为下一步创建数据库提供存储。
grid用户登录图形界面,执行asmca命令来创建磁盘组:
[root@rac1 bin]# su - grid
rac1-> env | grep ORA
ORACLE_SID=+ASM1
ORACLE_BASE=/u01/app/grid
ORACLE_TERM=xterm
ORACLE_HOME=/u01/app/11.2.0/grid
rac1-> export DISPLAY=10.20.100.128:0.0
rac1-> export LANG=en_US
rac1-> xhost +
access control disabled, clients can connect from any host
rac1-> xclock
rac1-> asmca
rac1-> exit
进入ASMCA配置界面后,单击Create,创建新的磁盘组:
1.输入磁盘组名 DATA,冗余策略选择External,磁盘选择ORCL:VOL3,单击OK DATA磁盘组创建完成,单击OK:
2.继续创建磁盘组,磁盘组名FLASH,冗余策略选择 External,磁盘选择ORCL:VOL4:
最后,完成DATA、FLASH磁盘组的创建,Exit推出ASMCA图形配置界面:
至此,利用ASMCA创建好DATA、FLASH磁盘组。且,可以看到连同之前创建的GRIDDG 3个磁盘组均已经被RAC双节点MOUNT。
=====================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
创建RAC集群数据库
以oracle用户
登录图形界面,执行dbca,进入DBCA的图形界面:
[root@rac1 bin]# su - oracle
rac1-> export DISPLAY=10.20.100.128:0.0
rac1-> export LANG=en_US
rac1-> xhost +
access control disabled, clients can connect from any host
rac1-> xclock
rac1-> dbca
选择第1项,创建RAC数据库
选择创建数据库选项
选择创建通用数据库,Next:
配置类型选择Admin-Managed,输入数据库名devdb,选择双节点,Next:
选择默认,配置OEM、启用数据库自动维护任务,Next:
选择数据库用户使用同一口令,Next
数据库存储选择ASM,使用OMF,数据区选择之前创建的DATA磁盘组,Next:
指定数据库闪回区,选择之前创建好的FLASH磁盘组,Next:
选择创建数据库自带Sample Schema,Next:
选择数据库字符集,AL32UTF8,Next:
选择默认数据库存储信息,直接Next:
单击,Finish,开始创建数据库,Next:
创建数据库可能持续时间稍长:
完成创建数据库。
至此,我们完成创建RAC数据库!!!
-----------------------------------------------------------------
问题5:DBCA建库找不到ASM磁盘一例
[root@rac2 grid]# su - grid
rac2-> cd /u01/app/11.2.0/grid/bin
rac1-> ls -l /u01/app/11.2.0/grid/bin/oracle
-rwsr-s--x 1 grid oinstall 209836184 Apr 9 17:50 oracle 文件权限正确
-rwxr-x--x 1 grid oinstall 209914519 9月 7 14:42 oracle 文件权限错误
[root@rac1 bin]# chmod 751 oracle
chmod 6751 oracle
[root@rac2 grid]# su - oracle
rac2-> cd $ORACLE_HOME/bin
/u01/app/oracle/product/11.2.0/db_1/bin
rac2-> ls -l oracle
-rwsr-s--x 1 oracle oinstall 239501424 Apr 9 20:03 oracle 文件权限正确
修改1:
chmod +s oracle
重新回到DBCA建库界面继续执行,则会成功发现ASM磁盘组,并成功建库。
$ORACLE_HOME/bin/oracle该文件的默认权限为 751权限,有个s权限,如果s权限消失,这时通过OS认证将不能登录到数据库;
-----------------------------------------------------------------
问题6: dbca asm ora 01017错误
修改2:【bayaim注意 坑逼,node1、node2都要执行】
usermod -a -G asmdba,asmadmin,asmoper oracle
usermod -a -G asmdba,asmadmin,asmoper grid
通过截图报错查看dbca日志和所示的oraagent_oracle.log
dbca日志 :
/u01/app/oracle/cfgtoollogs/dbca
/app/grid/11.2.0/log/rac2/agent/crsd/oraagent_oracle
-----------------------------------------------------------------
ASM密码为 bayaim
ORA-19624 ORA-19870 ORA-19504 ORA-17502
今天做了个很简单的实验,11g asm建库的时候报错如下:
其实就是很简单的权限问题
[root@rac1 dev]# ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 Apr 11 13:46 /dev/sda
brw-rw---- 1 root disk 8, 1 Apr 11 13:46 /dev/sda1
brw-rw---- 1 root disk 8, 2 Apr 11 13:46 /dev/sda2
brwxrwxr-x 1 grid asmadmin 8, 16 Apr 11 13:47 /dev/sdb
brw-rw---- 1 grid asmadmin 8, 17 Apr 11 13:47 /dev/sdb1
brwxrwxr-x 1 grid asmadmin 8, 32 Apr 11 13:47 /dev/sdc
brw-rw---- 1 grid asmadmin 8, 33 Apr 11 13:47 /dev/sdc1
brwxrwxr-x 1 grid asmadmin 8, 48 Apr 11 13:47 /dev/sdd
brw-rw---- 1 grid asmadmin 8, 49 Apr 11 13:47 /dev/sdd1
brwxrwxr-x 1 grid asmadmin 8, 64 Apr 11 13:47 /dev/sde
brw-rw---- 1 grid asmadmin 8, 65 Apr 11 13:47 /dev/sde1
[root@rac1 ~]# fdisk -l | grep /dev/sd
Disk /dev/sda: 64.4 GB, 64424509440 bytes, 125829120 sectors
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 125829119 61864960 8e Linux LVM
Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectors
/dev/sdb1 2048 2097151 1047552 83 Linux
Disk /dev/sdc: 524 MB, 524288000 bytes, 1024000 sectors
/dev/sdc1 102399 1023999 460800+ 83 Linux
Disk /dev/sdd: 8589 MB, 8589934592 bytes, 16777216 sectors
/dev/sdd1 2048 16777215 8387584 83 Linux
Disk /dev/sde: 524 MB, 524288000 bytes, 1024000 sectors
/dev/sde1 2048 1023999 510976 83 Linux
[root@rac1 ~]# chown -R grid:asmadmin /dev/sdb
chown -R grid:asmadmin /dev/sda
chown -R grid:asmadmin /dev/sdb
chown -R grid:asmadmin /dev/sdc
chown -R grid:asmadmin /dev/sdd
chown -R grid:asmadmin /dev/sde
chown -R grid:asmadmin /dev/sda1
chown -R grid:asmadmin /dev/sdb1
chown -R grid:asmadmin /dev/sdc1
chown -R grid:asmadmin /dev/sdd1
chown -R grid:asmadmin /dev/sde1
[root@rac1 ~]# chmod 775 /dev/sdb
chmod 775 /dev/sdb
chmod 775 /dev/sdc
chmod 775 /dev/sdd
chmod 775 /dev/sde
spfile:+DTA/orcl/spfileorcl.ora
The Database Control URL is http://rac1:1158/em
tnsnames.ora:
[root@rac2 admin]# pwd
/u01/app/11.2.0/grid/network/admin
rac1-vip-> env | grep ORA
ORACLE_SID=+ASM1
ORACLE_BASE=/u01/app/grid
ORACLE_TERM=xterm
ORACLE_HOME=/u01/app/11.2.0/grid
rac1-vip-> cd /u01/app/11.2.0/grid
rac1-vip->
[root@rac2 ~]# find / -name crsctl
/u01/app/11.2.0/grid/bin/crsctl
[root@node1 bin]# ./crsctl start has
/u01/app/11.2.0/grid/bin/crsctl start has
以上has启动命令需要在每个节点分别执行
查看节点状态
/u01/app/11.2.0/grid/bin/crs_stat -t
[grid@node1 ~]$ crs_stat -t -v 或者 crsctl status resource -t
2、启动集群(cluster)
[root@node1 ~]# ./crsctl start cluster -all --所有节点同时启动
[root@node1 ~]# /u01/app/11.2.0/grid/bin/crsctl start cluster -all --所有节点同时启动
[root@rac1 log]# ll /dev/raw/*
11g cluster 的启动顺序是:
ohash
cssd
crsd
evmd
oracle 日志:
[root@rac1-vip trace]# pwd
/u01/app/oracle/diag/rdbms/orcl/orcl1/trace
-----其实意思就是:
cd $ORACLE_BASE/diag/rdbms/$ORACLE_UNQNAME/$ORACLE_SID/trace
查看CRS日志
#find/ -name crsd.log
[root@rac2 trace]# pwd
/u01/app/grid/diag/asm/+asm/+ASM2/trace
[root@rac2 trace]# ls *.log
alert_+ASM2.log
[root@rac1 trace]# cat /u01/app/grid/diag/asm/+asm/+ASM1/trace/alert_+ASM1.log