oracle 19c 在linux7下的安装
一、基础环境检查
1.软件环境:
操作系统:centos7.8最小化安装
数据库软件:
LINUX.X64_193000_db_home.zip
LINUX.X64_193000_grid_home.zip
存储:openfiler
2.硬件需求:
oracle rac安装硬件条件:
oracle 19 rac内存最少需要8G。
swap 1-2g 1.5倍
2-8 相等
大于16 16G
/tmp > 1G
software >10G
数据库软件大概要占用空间10g,但是oracle建议至少要预留100G的空间,避免日后软件目录不断扩大导致的空间不足。
19c需要运行在linux7.5以上的系统,7.5以下可能会存在bug
检查命令:
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
df -h /tmp
df -h
grep "model name" /proc/cpuinfo
cat /etc/redhat-release
3.软件需求:
oracle 19C需要以下RPM依赖包(跟11g有些许不同了!)
yum -y install bc binutils gcc-c++ compat-libcap1 compat-libstdc++33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat kmod*
检查是否还有包未安装
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' bc binutils gcc-c++ compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat kmod kmod-libs kmod-kvdo test|grep not
RHEL7或CentOS7镜像文件中缺少compat-libstdc+±33-3.2.3
如果不使用 Oracle Text 那么可以忽略该包(Redhat 7或CentOS7的安装包中不含该包)。
不过最好还是安装,以免出现一些莫名奇妙的错误。
我们可以网上下载使用rpm安装或者使用外网yum源进行安装。
默认的"Minimal Install",只有基本服务,没有图形化组件,图形化桌面应该选“Server with GUI”.这里可以选择安装图形界面。
#yum groupinstall “X Window System”
#yum -y groupinstall “Server with GUI” \ 安装图形化程序组
启动桌面
#startx \ 启动xwindow 进入图形化桌面
#init 5
另外可以安装常用的工具
yum -y install tree net-tools unzip vnc-server* && yum -y groupinstall "Server with GUI"
3.主机网络规划:
网络配置 | 节点1 | 节点2 |
---|---|---|
主机名 | racdb1 | racdb2 |
public ip | 192.168.56.11 | 192.168.56.12 |
private ip | 192.168.100.10 | 192.168.100.20 |
vip | 192.168.56.13 | 192.168.56.14 |
scan ip | 192.168.56.15 | 192.168.56.15 |
3.asm磁盘规划:
MGMT最少需要30G
非MGMT最少需要2G
二、配置安装环境
1.修改/etc/hosts文件
配置主机名和ip地址
hostnamectl set-hostname racdb1
nmcli connection modify ens33 ipv4.address 192.168.56.11/24 ipv4.gateway 192.168.56.1 ipv4.method manual autoconnect yes
nmcli connection modify ens34 ipv4.address 192.168.100.10/24 ipv4.method manual autoconnect yes
hostnamectl set-hostname racdb2
nmcli connection modify ens33 ipv4.address 192.168.56.12/24 ipv4.gateway 192.168.56.1 ipv4.method manual autoconnect yes
nmcli connection modify ens34 ipv4.address 192.168.100.20/24 ipv4.method manual autoconnect yes
cat >> /etc/hosts <<EOF
192.168.56.11 racdb1
192.168.56.12 racdb2
192.168.56.13 racdb1-vip
192.168.56.14 racdb2-vip
192.168.100.10 racdb1-priv
192.168.100.20 racdb2-priv
192.168.56.15 racdb-scan
192.168.56.16 racdb-scan
192.168.56.17 racdb-scan
EOF
2.创建用户以及用户组
echo "create groups and users"
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54327 asmdba
groupadd -g 54328 asmoper
groupadd -g 54329 asmadmin
groupadd -g 54330 racdba
useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle
useradd -u 54322 -g oinstall -G asmadmin,asmdba,asmoper,dba grid
echo "oracle" | passwd --stdin oracle
echo "oracle" | passwd --stdin grid
id oracle
id grid
3.创建目录结构
echo "create the necessary directory"
mkdir -p /u01/app/19.3.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/product/19.3.0/db_1
chown -R grid:oinstall /u01
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/
ls -al / |grep u01
ls -al /u01/app/oracle
4.修改用户环境变量
修改oracle用户环境变量:
su - oracle
vim /home/oracle/.bash_profile
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_TERM=xterm
export PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin:/u01/app/19.3.0/grid/bin/
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LANG=en_US.UTF-8
export NLS_LANG=american_america.AL32UTF8
修改grid用户环境变量:
注意修改节点2环境变量ORACLE_SID=+ASM2
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
alias ls="ls -FA"
ORACLE_SID=+ASM1; export ORACLE_SID
JAVA_HOME=/usr/local/java; export JAVA_HOME
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/19.3.0/grid; export ORACLE_HOME
ORACLE_PATH=/u01/app/oracle/common/oracle/sql; export ORACLE_PATH
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/u01/app/common/oracle/bin
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
umask 022
export LANG=en_US.UTF-8
export NLS_LANG=american_america.AL32UTF8
5.修改资源限制和核心参数
/etc/security/limits.conf
su - root
export time=`date +%Y%m%d%k%M%S`
echo "update limits.conf"
cp /etc/security/limits.conf /etc/security/limits.conf.$time
cat >> /etc/security/limits.conf <<EOF
grid soft nproc 16384
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 3145728
oracle soft memlock 3145728
EOF
cat /etc/security/limits.conf
网上的安装文档都需要修改20-nproc.conf这个文件,但是不修改,就能满足前面官方文档的需求,使用rpm安装好像也没有修改该文件。另外nproc的soft limit至少2047就可以了,不知道网上官方文档为什么都是16384
[grid@racdb2 ~]$ ulimit -Hu
16384
[grid@racdb2 ~]$ ulimit -Su
16384
vi /etc/security/limits.d/20-nproc.conf
#注释下面这行
#* soft nproc 1024
#增加下面一行
* - nproc 16384
/etc/pam.d/login
echo "update pam"
cp /etc/pam.d/login /etc/pam.d/login.$time
cat >> /etc/pam.d/login <<EOF
session required pam_limits.so
EOF
cat /etc/pam.d/login
/etc/profile
echo "update profile"
cp /etc/profile /etc/profile.$time
cat >> /etc/profile <<EOF
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
EOF
cat /etc/profile
/etc/sysctl.conf
kernel.shmmax一般为内存的一半-1
比如8G内存kernel.shmmax的值为:
8/210241024*1024-1=8589934591
kernel.shmall一般为kernel.shmmax值/4096(Linux共享内存页大小为4KB):
8589934591/4096=2097152
echo "update sysctl.conf"
cp /etc/sysctl.conf /etc/sysctl.conf.$time
cat >> /etc/sysctl.conf <<EOF
kernel.panic_on_oops = 1
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8589934591
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
EOF
sysctl -p
6.关闭安全防护selinux和firewalld
SELINUX=`grep ^SELINUX= /etc/selinux/config`
if [ $SELINUX != "SELINUX=disabled" ];then
cp /etc/selinux/config /etc/selinux/config.bak
sed -i 's/^SELINUX=/#SELINUX=/g' /etc/selinux/config
sed -i '$a SELINUX=disabled' /etc/selinux/config
else
echo "SELINUX is already disabled"
fi
cat /etc/selinux/config
修改配置文件需要重启操作系统生效,为避免重启可以先临时修改为宽容模式。
#setenforce 0
#getenforce
Permissive
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
7.其他选项
设置network中NOZEROCONF=yes、关闭avahi、关闭透明大页、关闭numa
设置network中NOZEROCONF=yes
echo "NOZEROCONF=yes" >>/etc/sysconfig/network
cat /etc/sysconfig/network
关闭avahi
systemctl stop avahi-daemon.socket
systemctl disable avahi-daemon.socket
systemctl stop avahi-daemon.service
systemctl disable avahi-daemon.service
systemctl status avahi-daemon.socket
systemctl status avahi-daemon.service
ps -ef|grep avahi-daemon
关闭透明大页THP
在线关闭
[root@oracle1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
[root@oracle1 ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never
[root@oracle1 ~]# echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
[root@oracle1 ~]# echo "never" > /sys/kernel/mm/transparent_hugepage/defrag
查看thp是否已被禁用
[root@oracle1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
[root@oracle1 ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]
[always]表示开启
[never]表示关闭
#grep -i HugePages /proc/meminfo
HugePages_Total值为0页表示已被禁用
#cat /proc/sys/vm/nr_hugepages
值为0也表示已禁用
永久关闭
方法一:
#echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.d/rc.local
#echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.d/rc.local
#chmod +x /etc/rc.d/rc.local
方法二:
修改grub文件(如果先关闭numa再使用该方法numa的配置会重置)
#cp /etc/default/grub /etc/default/grub.bak
#vi /etc/default/grub
增加一行transparent_hugepage=never到rhgb quiet后面(中间需要空格)
GRUB_CMDLINE_LINUX=
"rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet transparent_hugepage=never
执行命令使其生效
#grub2-mkconfig -o /boot/grub2/grub.cfg
关闭numa
# grubby --default-kernel
/boot/vmlinuz-3.10.0-1127.el7.x86_64
# grubby --info /boot/vmlinuz-3.10.0-1127.el7.x86_64
index=0
kernel=/boot/vmlinuz-3.10.0-1127.el7.x86_64
args="ro crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8"
root=/dev/mapper/centos-root
initrd=/boot/initramfs-3.10.0-1127.el7.x86_64.img
title=CentOS Linux (3.10.0-1127.el7.x86_64) 7 (Core)
# grubby --args=numa=off --update-kernel /boot/vmlinuz-3.10.0-1127.el7.x86_64
# grubby --info /boot/vmlinuz-3.10.0-1127.el7.x86_64
index=0
kernel=/boot/vmlinuz-3.10.0-1127.el7.x86_64
args="ro crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 numa=off"
root=/dev/mapper/centos-root
initrd=/boot/initramfs-3.10.0-1127.el7.x86_64.img
title=CentOS Linux (3.10.0-1127.el7.x86_64) 7 (Core)
# reboot
# grubby --info /boot/vmlinuz-3.10.0-1127.el7.x86_64
# grep -i numa /var/log/dmesg
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-1127.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 numa=off
[ 0.000000] NUMA turned off
[ 0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-1127.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 numa=off
三、rac相关配置
1.关闭时间同步ntpd服务
禁止ntp服务
systemctl disable ntpd.service
systemctl stop ntpd.service
mv /etc/ntp.conf /etc/ntp.conf.orig
systemctl status ntpd
还要删除以下文件:(两个节点都需要操作,这里没有安装)
rm /var/run/ntpd.pid
rm: cannot lstat `/var/run/ntpd.pid': No such file or directory
此文件保存了 NTP 后台程序的 pid。
关闭chronyd服务
原来安装rac的时候关闭NTP服务,用Oracle自带的Ctss服务,检查就可以通过了,
但是19c在中,只关闭ntp服务还不够,还需要关闭chronyd服务
chronyd是增加的一种新的ntp服务。
mv /etc/chrony.conf /etc/chrony.conf.bak
systemctl stop chronyd
systemctl disable chronyd
systemctl status chronyd
时区设置:
查看时区设置(如果不是显示Asia/Shanghai则进行时区设置)
timedatect
查找中国时区的完整名称 :
timedatectl list-timezones |grep Shanghai
Asia/Shanghai
时区设置为Asia/Shanghai:
timedatectl set-timezone Asia/Shanghai
2.解压oracle、grid软件。配置用户等效性(这里可以不用手动配置,可以直接在安装图形界面点击setup进行自动配置)
1.使用命令检查ssh是否已经安装
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n"| grep ssh
2.解压oracle软件
unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.3.0/db_1
chown -R oracle:oinstall /u01/app/oracle/product/19.3.0/db_1
unzip LINUX.X64_193000_grid_home.zip -d /u01/app/19.3.0/grid
chown -R oracle:oinstall /u01/app/19.3.0/grid
3.查看脚本路径。
[root@racdb1 ~]# find / -name 'sshUserSetup.sh'
/u01/app/19.3.0/grid/oui/prov/resources/scripts/sshUserSetup.sh
/u01/app/19.3.0/grid/deinstall/sshUserSetup.sh
/u01/app/oracle/product/19.3.0/db_1/oui/prov/resources/scripts/sshUserSetup.sh
/u01/app/oracle/product/19.3.0/db_1/deinstall/sshUserSetup.sh
4.使用脚本添加用户等效性
添加grid用户的等效性
su - grid
cd /u01/app/19.3.0/grid/deinstall/
./sshUserSetup.sh -hosts "racdb1 racdb2" -user grid -advanced
(根据提示分别连续输入3个yes,两个空密码,4次grid用户的密码)
添加oracle用户的等效性
su - oracle
cd /u01/app/oracle/product/19.3.0/db_1/deinstall/
./sshUserSetup.sh -hosts "racdb1 racdb2" -user oracle -advanced
(根据提示分别连续输入3个yes,两个空密码,4次oracle用户的密码)
3.进行用户等效性检查
分别使用grid和oracle用户在两个节点测试。
测试节点 1,2 的 SSH 连通性。
确保2个node都有相互的结点信息。两机相互执行。
ssh racdb1 date
ssh racdb2 date
ssh racdb1-priv date
ssh racdb2-priv date
都不允许出现交互界面,即不出现要输入密码,确保两个节点的都执行以上四条指令。(如出现要输入yes/no亦可)
切换至rac2 执行
ssh racdb1 date
ssh racdb2 date
ssh racdb1-priv date
ssh racdb2-priv date
3.asm
详见《使用OpenFiler实现共享存储》
四.开始安装grid
1.使用grid用户执行命令安装。
cd /u01/app/19.3.0/grid/
./gridSetup.sh
2.创建新的集群
3.配置一个独立的集群
4.配置集群名称以及scan名称
5.设置节点互信
添加节点
设置节点互信
测试节点互信不需要输入密码
6.网络选择
12c 版本的集群,除了基本的公网(Public)和私网(private)之外,由于flex ASM 的出现,我们还需要一个网络来负责在节点之间传递ASM的元数据(meta data)。由于ASM的元数据数据量很小,所以,对于大部分的系统可以选择集群的私网和ASM使用相同的网络。也就是选择ASM&Private。
对于19c 版本的集群存储如果使用asm存储,则是强制使用flex ASM 了。
不然下一步无法选择flex ASM 。
7.选择flex ASM存储
8.根据需要选择是否安装GIMR
如果需要安装,并和ocr、仲裁磁盘放在一起,asm磁盘最少需要30G的空间。详见asm规划。
9.选择ocr和仲裁磁盘所在的asm磁盘。
10.指定asm用户密码
11.选择是否安装ipmi
这里保持默认。
12.选择是否安装em
这里保持默认。
13 选择操作系统组
保持默认
14.确认base目录
14.确认inventory
15.这里可以选择使用root用户自动执行脚本
16.先决条件检查
点击fix&check again会自动安装cvuqdisk软件包
chronyd警告:
原来安装rac的时候关闭NTP服务,用Oracle自带的Ctss服务,检查就可以通过了,
但是19c在中,只关闭ntp服务还不够,还需要关闭chronyd服务
chronyd是增加的一种新的ntp服务。
在两个节点分别关闭chronyd服务
mv /etc/chrony.conf /etc/chrony.conf.bak
systemctl stop chronyd
systemctl disable chronyd
systemctl status chronyd
PRVE-0426:/dev/shm less than the require
详细信息最小应为2048
在两个节点分别修改/dev/shm大小为2G
查看系统版本
[root@racdb1 ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
查看/dev/shm当前大小位1.8G
[root@racdb1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 1.8G 0 1.8G 0% /dev/shm
tmpfs 1.8G 13M 1.8G 1% /run
tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
/dev/mapper/centos-root 46G 23G 24G 49% /
/dev/sda1 1014M 158M 857M 16% /boot
tmpfs 368M 0 368M 0% /run/user/0
fstab没有shm的配置
[root@racdb1 ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Jul 20 09:16:16 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=ce850ab9-4965-466d-920d-504ab6ec3e25 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
修改配置文件下次重启依然有效
vim /etc/fstab
新增如下行
tmpfs /dev/shm tmpfs defaults,size=2G 0 0
修改当前配置马上生效
fuser -km /dev/shm
umount /dev/shm
mount -t tmpfs -o mode=1777,nosuid,nodev,strictatime,size=2G tmpfs /dev/shm
df -h|grep shm
tmpfs 2.0G 0 2.0G 0% /dev/shm
再次检查
我们使用/etc/host解析,没有使用dns/nis
这里/etc/resolv.conf和dns/nis的falied可以忽略
scanname只配置了一个ip(官方scanname最少需要3个ip)
这里scanname警告可以忽略
物理内存警告
因为是虚拟机这里只分配了4G内存,先忽略。
17.点击install开始安装
出现INS-20802点击ok忽略这是因为scanname没有使用DNS解析造成的。
点击yes继续
安装完成点击close关闭。
18.备份root.sh
Oracle 建议您在完成安装后备份 root.sh 脚本。如果您在同一 Oracle 主目录下安装其他产品,则安装程序在安装过程中会更新现有 root.sh 脚本的内容。如果您需要原先 root.sh 脚本中包含的信息,可通过 root.sh 文件副本进行恢复。
两个节点都备份:
[grid@racdb1 grid]$ cd /u01/app/19.3.0/grid/
[grid@racdb1 grid]$ cp root.sh root.sh_rac1.after_install_20220819
[grid@racdb2 grid]$ cd /u01/app/19.3.0/grid/
[grid@racdb2 grid]$ cp root.sh root.sh_rac1.after_install_20220819
19.安装后的检查
检查CRS状态
[grid@racdb1 ~]$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
检查集群节点
[grid@racdb1 ~]$ olsnodes -n
racdb1 1
racdb2 2
检查两个节点上的 Oracle TNS 监听器进程
[grid@racdb1 ~]$ ps -ef | grep lsnr | grep -v 'grep' | grep -v 'ocfs' | awk '{print $9}'
ASMNET1LSNR_ASM
LISTENER_SCAN1
LISTENER
[grid@racdb2 ~]$ ps -ef | grep lsnr | grep -v 'grep' | grep -v 'ocfs' | awk '{print $9}'
ASMNET1LSNR_ASM
LISTENER
检查时间
[grid@racdb1 ~]$ crsctl check ctss
CRS-4701: The Cluster Time Synchronization Service is in Active mode.
CRS-4702: Offset (in msec): 0
[grid@racdb2 ~]$ crsctl check ctss
CRS-4701: The Cluster Time Synchronization Service is in Active mode.
CRS-4702: Offset (in msec): 0
检查asm功能
[grid@racdb1 ~]$ srvctl status asm -a
ASM is running on racdb1,racdb2
ASM is enabled.
ASM instance +ASM1 is running on node racdb1
Number of connected clients: 1
Client names: racdb1:_OCR:racdb-cluster
ASM instance +ASM2 is running on node racdb2
Number of connected clients: 1
Client names: racdb2:_OCR:racdb-cluster
检查oracle集群表ORC
[grid@racdb1 ~]$ ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 4
Total space (kbytes) : 491684
Used space (kbytes) : 84136
Available space (kbytes) : 407548
ID : 767969121
Device/File Name : +OCR
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
Logical corruption check bypassed due to non-privileged user
检查表决磁盘
[grid@racdb1 ~]$ crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 36749694d8d64fdbbf9ee72c7bd072cf (/dev/asm-disk2) [OCR]
Located 1 voting disk(s).
五.创建 ASM 磁盘组
1.grid用户执行asmca
六.安装oracle数据库软件
1.使用oracle用户执行命令进行安装
cd $ORACLE_HOME
./runInstaller
2.选择只安装数据库软件
3.选择rac数据库安装
4.进行等效性设置
5.选择企业版
6.指定安装路径
7.可以选择使用root用户自动执行数据库脚本
8.先决条件检查
忽略下面警告
9.点击install开始安装
点击yes自动执行root脚本
点击close完成安装
crsctl status res -t
七.使用dbca建库
1.使用oracle用户执行dbca建库。
使用dbca创建,创建之前确保已安装的所有服务(Oracle TNS 监听器、Oracle Clusterware 进程等)正在运行。
Grid用户登录执行:crsctl status res -t
12c开始crs_stat命令已不再支持。
执行dbca建库
选择高级
保持默认
指定闪回磁盘,开启归档
保持默认
根据实际需要配置内存,进程数,字符集等参数
根据实际需要指定管理选项
指定统一的密码
保持默认
先决条件检查:
忽略下面警告
检查数据库各种设置参数,如无问题点击finish开始安装
等待安装结束。(使用笔记本vmworkstaion安装,建库花费了2个小时多一点。)
安装完成,点击close关闭。
2.建库后的检查
[grid@racdb1 ~]$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[grid@racdb1 ~]$ crsctl check ctss
CRS-4701: The Cluster Time Synchronization Service is in Active mode.
CRS-4702: Offset (in msec): 0
[grid@racdb1 ~]$ ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 4
Total space (kbytes) : 491684
Used space (kbytes) : 84224
Available space (kbytes) : 407460
ID : 767969121
Device/File Name : +OCR
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
Logical corruption check bypassed due to non-privileged user
[grid@racdb1 ~]$ crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 36749694d8d64fdbbf9ee72c7bd072cf (/dev/asm-disk2) [OCR]
Located 1 voting disk(s).
[grid@racdb1 ~]$ olsnodes -n
racdb1 1
racdb2 2
检查集群状态
crsctl stat res -t
[oracle@racdb1 orcl]$ srvctl status database -d orcl
Instance orcl1 is running on node racdb1
Instance orcl2 is running on node racdb2
[oracle@racdb1 orcl]$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): racdb1,racdb2
[oracle@racdb1 orcl]$ srvctl status nodeapps
VIP 192.168.56.13 is enabled
VIP 192.168.56.13 is running on node: racdb1
VIP 192.168.56.14 is enabled
VIP 192.168.56.14 is running on node: racdb2
Network is enabled
Network is running on node: racdb1
Network is running on node: racdb2
ONS is enabled
ONS daemon is running on node: racdb1
ONS daemon is running on node: racdb2