赞
踩
目录
目录
首先先介绍下环境:
rac集群 | |||
主机名 | testrac1 | testrac2 | |
RAC-PUBLIC-IP | ens3 | 192.168.1.160 | 192.168.1.161 |
RAC-PRIVATE-IP | ens6 | 10.0.102.95 | 10.0.102.96 |
RAC-VIP | 192.168.1.65 | 192.168.1.66 | |
RAC-SCAN-IP | 192.168.1.67 |
共享存储 | 400G |
xz-xxxjsb-orale2 | |
192.168.1.29 | |
NFS共享存储 | |
/asm_databaseBC86test86 |
(1)接下来先使用该机器的vdc、vdd磁盘做集群需要的ASM共享存储和归档共享存储来共享给Oracle RAC节点使用。这里我是先将这两个盘做成LVM管理的方式(便于后期扩展维护),然后再共享使用。
A、使用vgcreate vg02 /dev/vdd创建一个卷组vg02,这语句的意思是使用/dev/vdd这个块设备创建一个名为vg02的卷组,当然这里的vg02、vg03只是 卷组 的名称,假如你是其它的名称,更改即可
B、使用lvcreate -n lv02 -l 100%free vg02创建一个逻辑卷lv02,这语句的意思是创建一个名为lv02的逻辑卷并把名为vg02的卷组的空间全部给到这个逻辑卷
C、将这个lv02、lv03挂载到某个目录下进行共享,我这边挂载的是/asm_databaseBC86test86test(ASM共享存储)和/asm_databaseBC86test86test_oraclerac_arch(Oracle的共享归档日志存储)。先格式化,因为我这边文件系统是XFS的,所以现在我也格式化成XFS。
a、在共享存储机器上创建这两个文件夹
使用mkdir /asm_databaseBC86test86test /asm_databaseBC86test86test_oraclerac_arch创建这两个文件夹
b、将刚才的创建的两个逻辑卷分别挂载到这两个文件夹
格式化两个逻辑卷:这里格式化你需要先查看你的系统的文件系统是什么格式(就是你的系统的系统盘,使用df -Th查看即可,系统盘大部分都是什么sda、vda等)
从上面的图片可以看出你的文件系统是xfs,当然使用了其它的文件系统可以会出现ext2、ext3及ext4哪些,那后面我都统一使用xfs的文件系统了,使用xfs.mkfs.xfs /dev/vg02/lv02 和 xfs.mkfs.xfs /dev/vg03/lv03格式化。
使用blkid查看是否格式化成功
格式化成功后开始挂载到/asm_databaseBC86test86test和/asm_databaseBC86test86test_oraclerac_arch共享使用。编辑etc/fstab添加下面这行,当然我喜欢使用磁盘的UUID去挂载,/asm_databaseBC86test这个可以不用管,这个是搭建的另一台RAC的共享存储。然后保存退出执行mount -a挂载全部,使用lsblk查看是否挂载。
D、配置NFS共享目录,让目标节点机器可以识别到
a、首先先安装nfs服务端软件,我这边是安装好了的,很简单的,就搭建一个yum源安装 nfs-utils、rpcbind(yum install -y nfs-utils rpcbind)即可 ,安装包依赖的问题只要你挂载的镜像和你安装的系统版本一样就可以不用管,如果不一样那么你就需要解决所缺的依赖包问题,下面是我这台nfs共享服务器的yum配置,记得安装后启动这两个服务并加入开机启动,然后开始配置nfs。
b、编辑/etc/exports这个文件,上面那个不用管,那是另一套RAC使用的,至此,NFS共享存储配置完毕,到后面RAC节点配置共享存储时还需要到NFS共享存储机器上操作,后面会说。
注:这边配置都是在两个节点上配置,如果你有三个或者以上节点,那就每个节点都配置,接下来的配置截图我就只截一个节点,但是配置的时候记得在每个节点上都需要配置。
编辑/etc/hosts文件,将下面内容追加至该文件
#RAC-PUBLIC-IP
192.168.1.160 testrac1
192.168.1.161 testrac2#RAC-PRIVATE-IP
10.0.102.95 testrac1-priv
10.0.102.96 testrac2-priv#RAC-VIP
192.168.1.65 testrac1-vip
192.168.1.66 testrac2-vip#RAC-SCAN-IP
192.168.1.67 testrac-scan
直接查看防火墙状态,一下可以看出没有iptables,firewalld没启动
使用cat /etc/selinux/config | grep SELINUX查看SELINUX参数为disabled,那么SELINUX防火墙就是关闭的。如果打开的SELINUX参数值是enforcing那你就改成disabled。
这边我采用的yum源配置是本地,如果你有yum源服务器就直接配置使用即可
A、BCLinux8.6的镜像是准备好提前传上去的。
B、使用mount BCLinux-R8-U6-Server-x86_64-230414.iso /mnt/ 临时挂载到mnt目录。这里是临时挂载,要想永久挂载你就需要写到/etc/fstab中。
C、在/etc/yum.repos.d/创建yum源配置文件bc.repo,将下面内容写入保存。这里是编辑(vi)一个以repo为后缀名的文件。
[bc1]
name=bc1
baseurl=file:///mnt/AppStream
gpgcheck=0
enabled=1
[bc2]
name=bc2
baseurl=file:///mnt/BaseOS/
gpgcheck=0
enabled=1
D、使用yum clean all清除之前的yum缓存,使用yum repolist查看可用的yum源
当然我这个机器是最小话安装,如果你的机器安装时候有桌面的话就可以省略这一步
A、使用yum groupinstall "Server with GUI" -y安装桌面(为什么安装桌面,因为我们后面是通过桌面去安装集群软件哪些的,记得安装的时候是两个节点都安装),安装完后执行systemctl set-default graphical然后重启机器验证是否安装桌面成功,记得重启验证桌面后把ISO重新挂载挂载一下。
B、验证桌面是否安装完成
节点1验证桌面,机器重启后查看
节点2验证桌面,机器重启后查看
Linux7的话就只需要安装linux7的即可,如果你的系统是Linux8的系统,那么你就直接把Linux7和Linux8的包全部安装了,因为我是做的测试,我是先安装的Linux7,后面查出问题后才重新安装的Linux8的安装包。
(a)linux7安装以下
yum install -y bc
yum install -y compat-libcap1*
yum install -y compat-libcap*
yum install -y binutils
yum install -y compat-libstdc++-33
yum install -y elfutils-libelf
yum install -y elfutils-libelf-devel
yum install -y gcc
yum install -y gcc-c++
yum install -y glibc-2.5
yum install -y glibc-common
yum install -y glibc-devel
yum install -y glibc-headers
yum install -y ksh libaio
yum install -y libaio-devel
yum install -y libgcc
yum install -y libstdc++
yum install -y libstdc++-devel
yum install -y make
yum install -y sysstat
yum install -y unixODBC
yum install -y unixODBC-devel
yum install -y binutils*
yum install -y compat-libstdc*
yum install -y elfutils-libelf*
yum install -y gcc*
yum install -y glibc*
yum install -y ksh*
yum install -y libaio*
yum install -y libgcc*
yum install -y libstdc*
yum install -y make*
yum install -y sysstat*
yum install -y libXp*
yum install -y glibc-kernheaders
yum install -y net-tools-*
yum install -y iscsi-initiator-utils
yum install -y udev
yum install -y xclock*
(b)linux 8安装以下
yum -y install bc
yum -y install binutils
yum -y install compat-libcap1
yum -y install compat-libstdc++-33
yum -y install dtrace-modules
yum -y install dtrace-modules-headers
yum -y install dtrace-modules-provider-headers
yum -y install dtrace-utils
yum -y install elfutils-libelf
yum -y install elfutils-libelf-devel
yum -y install fontconfig-devel
yum -y install glibc
yum -y install glibc-devel
yum -y install ksh
yum -y install libaio
yum -y install libaio-devel
yum -y install libdtrace-ctf-devel
yum -y install libXrender
yum -y install libXrender-devel
yum -y install libX11
yum -y install libXau
yum -y install libXi
yum -y install libXtst
yum -y install libgcc
yum -y install librdmacm-devel
yum -y install libstdc++
yum -y install libstdc++-devel
yum -y install libxcb
yum -y install make
yum -y install net-tools
yum -y install nfs-utils
yum -y install python
yum -y install python-configshell
yum -y install python-rtslib
yum -y install python-six
yum -y install targetcli
yum -y install smartmontools
yum -y install sysstat
yum -y install unixODBC
yum -y install libnsl
yum -y install libnsl.i686
yum -y install libnsl2
yum -y install libnsl2.i686
编辑/etc/sysctl.conf,将下面参数添加到该文件
vi /etc/sysctl.conf
kernel.shmmax = 16656781312
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
fs.file-max = 6815744
kernel.shmall = 4066597
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 1
#net.core.somaxconn = 262144
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_keepalive_probes = 6
net.ipv4.tcp_keepalive_intvl = 5
net.ipv4.tcp_timestamps = 0
fs.aio-max-nr = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
注意:
kernel.shmall 的值可以通过如下命令计算:
# echo "`grep MemTotal /proc/meminfo | awk '{print $2}'` * 1024 / `getconf PAGESIZE`" | bc
kernel.shmmax 的值可以通过如下命令计算:
# echo "`grep MemTotal /proc/meminfo | awk '{print $2}'` * 1024" | bc
做完之后,生成系统参数 sysctl -p
编辑/etc/security/limits.conf,将以下参数添加至该文件
vim /etc/security/limits.conf
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
grid soft nofile 1024
grid hard nofile 65536
grid soft nproc 16384
grid hard nproc 16384
grid soft stack 10240
grid hard stack 32768
grid hard memlock 134217728
grid soft memlock 134217728
编辑 /etc/pam.d/login,将以下内容添加至该文件
vim /etc/pam.d/login
session required /lib/security/pam_limits.so
#session required pam_limits.so
编辑 /etc/profile,将以下内容添加至该文件
vim /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
生成环境变量 source /etc/profile
在两个节点增加用户与组:
groupadd -g 601 oinstall
groupadd -g 602 dba
groupadd -g 603 oper
groupadd -g 604 backupdba
groupadd -g 605 dgdba
groupadd -g 606 kmdba
groupadd -g 607 asmdba
groupadd -g 608 asmoper
groupadd -g 609 asmadmin
useradd -u 601 -g oinstall -G asmadmin,asmdba,dba,asmoper grid
useradd -u 602 -g oinstall -G dba,backupdba,dgdba,kmdba,asmadmin,oper,asmdba oracle
echo 'grid' | passwd --stdin grid
echo 'oracle' | passwd --stdin oracle
以root用户,创建Oracle Inventory 目录
mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory
以root用户,创建GI HOME目录
mkdir -p /u01/app/grid
mkdir -p /u01/app/19c/grid
chown -R grid:oinstall /u01/app/grid
chmod -R 775 /u01/app/grid
chown -R grid:oinstall /u01/app/19c
chmod -R 775 /u01/app/19c/
以root用户,创建Oracle Base目录
mkdir -p /u01/app/oracle
mkdir /u01/app/oracle/cfgtoollogs
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
以root用户,创建Oracle RDBMS Home目录
mkdir -p /u01/app/oracle/product/19c/db_1
chown -R oracle:oinstall /u01/app/oracle/product/19c/db_1
chmod -R 775 /u01/app/oracle/product/19c/db_1
A、先切到grid用户,编辑~/.bash_profile
su - grid ##这个是从root用户切到grid
vim ~/.bash_profile
PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=+ASM1
export ORACLE_TERM=xterm;
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19c/grid
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
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 PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin
export THREADS_FLAG=native
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
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap asmcmd'
B、生成环境变量
补充:两个节点的ORACLE_SID名称是不能一样的:
ora19crac1节点叫做+ASM1
ora19crac2节点叫做+ASM2
A、先切到oracle用户,编辑~/.bash_profile
su - oracle ##切换到oracle用户
vim ~/.bash_profile
PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=rac1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19c/db_1
export ORACLE_SID=orcl1
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
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 PATH=.:$PATH:$HOME/bin:$ORACLE_BASE/product/19c/db_1/bin:$ORACLE_HOME/bin
export THREADS_FLAG=native;export THREADS_FLAG
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
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
B、生成环境变量source ~/.bash_profile
补充:两个节点的ORACLE_SID名称是不能一样的:
ora19crac1节点叫做orcl1
ora19crac2节点叫做orcl2
设置grid用户互信,上传互信设置脚本(两个节点都上传,我这里我只接了一张节点1 的图)
A、grid用户互信配置
sh sshUserSetup.sh -user grid -hosts "testrac1 testrac2" -advanced -noPromptPassphrase
提示让你输入两个节点的grid用户密码,输入完后即可。
至此两节点grid用户的ssh互信配置完毕。
B、oracle用户互信配置
sh sshUserSetup.sh -user oracle -hosts "testrac1 testrac2" -advanced -noPromptPassphrase
提示让你输入两个节点的oracle用户密码
至此两节点oracle用户的ssh互信配置完毕。
(3)节点互信测试
登录NFS共享服务器(xz-xxxjsb-orale2),我这边创建asm1-asm8可以根据你自己的需要创建大小,先创建 /asm_databaseBC86test/oracleasm/disks(mkdir -p /asm_databaseBC86test/oracleasm/disks)这个目录。这里我创建了8个ASM磁盘组,前面5个ASM1-ASM5是安装GRID是需要给到CRSDG,后两个ASM6-ASM8是创建数据库是给到DATADG的
A、创建ASM磁盘组(CRSDG)
dd if=/dev/zero of=/asm_databaseBC86test/oracleasm/disks/asm1 bs=8192k count=2560
dd if=/dev/zero of=/asm_databaseBC86test/oracleasm/disks/asm2 bs=8192k count=2560
dd if=/dev/zero of=/asm_databaseBC86test/oracleasm/disks/asm3 bs=8192k count=2560
dd if=/dev/zero of=/asm_databaseBC86test/oracleasm/disks/asm4 bs=8192k count=2560
dd if=/dev/zero of=/asm_databaseBC86test/oracleasm/disks/asm5 bs=8192k count=2560
B、创建ASM磁盘组(DATADG)
dd if=/dev/zero of=/asm_databaseBC86test/oracleasm/disks/asm6 bs=8192k count=3840
dd if=/dev/zero of=/asm_databaseBC86test/oracleasm/disks/asm7 bs=8192k count=3840
dd if=/dev/zero of=/asm_databaseBC86test/oracleasm/disks/asm8 bs=8192k count=3840
A、登录两个节点安装nfs软件,挂载共享存储盘[asm1----asm8])
我这里之前安装好了的我是直接启动的服务,如果没有的话,那就安装即可
B、登录Oracle节点操作,挂载NFS共享存储。
a、查看共享盘
让Oracle节点识别到该8块共享盘盘。执行showmount -e 192.168.1.29(这个IP是NFS共享服务器IP),下面已经可以看到我们共享的目录/asm_databaseBC86test了
b、挂载(永久性挂载)
创建挂载目录,这边为了方便识别创建的目录也和NFS共享存储服务器一样是asm_databaseBC86test86test/asm_databaseBC86test86test_oraclerac_arch,创建此目录
在/etc/fstab文件中写入192.168.1.29:/asm_databaseBC86test /asm_databaseBC86test nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0 0 0,然后执行mount -a或者重启看看是否自动挂载。
我这边是重启测试的已经正常挂载了,如果是错误的话,那么你的主机重启之后就无法正常重启。
C、设置共享存储权限及属组
在任意一个节点设置就行
设置属组
chown -R grid:asmadmin /asm_databaseBC86test/oracleasm/disks/asm1
chown -R grid:asmadmin /asm_databaseBC86test/oracleasm/disks/asm2
chown -R grid:asmadmin /asm_databaseBC86test/oracleasm/disks/asm3
chown -R grid:asmadmin /asm_databaseBC86test/oracleasm/disks/asm4
chown -R grid:asmadmin /asm_databaseBC86test/oracleasm/disks/asm5
chown -R grid:asmadmin /asm_databaseBC86test/oracleasm/disks/asm6
chown -R grid:asmadmin /asm_databaseBC86test/oracleasm/disks/asm7
chown -R grid:asmadmin /asm_databaseBC86test/oracleasm/disks/asm8
设置权限
chmod -R 660 /asm_databaseBC86test/oracleasm/disks/asm1
chmod -R 660 /asm_databaseBC86test/oracleasm/disks/asm2
chmod -R 660 /asm_databaseBC86test/oracleasm/disks/asm3
chmod -R 660 /asm_databaseBC86test/oracleasm/disks/asm4
chmod -R 660 /asm_databaseBC86test/oracleasm/disks/asm5
chmod -R 660 /asm_databaseBC86test/oracleasm/disks/asm6
chmod -R 660 /asm_databaseBC86test/oracleasm/disks/asm7
chmod -R 660 /asm_databaseBC86test/oracleasm/disks/asm8
cp /etc/default/grub /etc/default/grub.bak
vi /etc/default/grub增加一行transparent_hugepage=never到尾部,grub2-mkconfig -o /boot/grub2/grub.cfg
执行cat /sys/kernel/mm/transparent_hugepage/enabled(临时关闭)看到字样always madvise [never]成功,或grep AnonHugePages /proc/meminfo
AnonHugePages: 0 kB---------->>>返回值若是零代表关闭,
建议重新启动。我试过了 好像不重启不行
将GRID安装包上传至节点1,进入/u01/app/19c/grid目录并给该压缩包指定属组,chown -R grid:oinstall LINUX.X64_193000_grid_home.zip(上传的方式自选)
su - grid
cd $ORACLE_HOME
unzip LINUX.X64_193000_grid_home.zip
这是解压完后的样子:
执行./gridSetup.sh开始安装
在执行后报错 /u01/app/19c/grid/perl/bin/perl: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory,意思是因系统版本不同导致缺少库文件,安装库包 dnf install libnsl,设置版本兼容性(export CV_ASSUME_DISTID=RHEL7.6)后即可正常执行./gridSetup.sh。
解决
弄完后重新执行安装脚本./gridSetup.sh
安装截图:
这里scan name根据你实际的填写(节点中/etc/hosts中的scan name)
点击add添加节点2
点击ssh connectivity 测试grid用户的互通信
这报错说的是虽然说的是ssh性能缓慢导致,但是导致这种就是证明两节点的grid用户的互信设置没成功,那么现在就去两个节点上测试一下看看结果如何。
但是在两个节点上测试互信都是正常的。这时我就很懵逼了,于是去Oracle的官网查了查说是Oracle就不支持BCLinux,这不是完犊子了吗?我还是不相信,后面打了甲骨文400问了一下,说是支持的版本只有以下版本
我还是不行,后面问了下度娘说是只要是在ssh版本大于8的系统上安装都会出现类似的情况,那这个咋弄呢。然后后面去贴吧上看了,云和的人说把版本降低至7即可,这个不太现实,而且降低之后会有很多ssh漏洞,又需要重新升级回来。后面又重新去度娘上咨询了一波才看到有人说这个是openssh的SCP私钥引起的。那这个时候就去解决下这个问题
mv /usr/bin/scp /usr/bin/scp.orig
vi /usr/bin/scp
/usr/bin/scp.orig -T $*
chmod 555 /usr/bin/scp
ssh-keygen -p -N "" -m pem -f /home/grid/.ssh/id_rsa
然后在继续安装
这里多等会儿
测试完后点击Setup
下面就是选择磁盘组了,我们前面不是创建了8个asm磁盘嘛!前面的asm1到asm5用于CRSDG(grid),asm6到asm8用于DATADG(oracle建库)。
点击OK后Disk Path就会去读你的磁盘组路径,将这些磁盘读出来然后选择asm1-asm5下一步
下面是设置sys/system密码,这里选择下面的
下面这几步默认即可
从这里开始因为安装过程中有人把机器关机了,重启机器后不知道什么窗口就变小了。所以我截图就截小点,如果看不清你就在网上搜下教程。
安装预检查,这里会检测你安装oracle需要安装哪些东西,如果缺少,那你就安装即可。
第一个报错Swap Size: 说的是你的Swap空间太小,安装oracle的预期值是15G,以下是报错内容,这个可以忽略,但是我这边会直接解决。
Swap Size - This is a prerequisite condition to test whether sufficient total swap space is available on the system.
Check Failed on Nodes: [testrac2, testrac1]
Verification result of failed node: testrac2
Expected Value
: 15.4538GB (1.6204512E7KB)
Actual Value : 2GB (2097148.0KB)
Details: - PRVF-7573 : Sufficient swap size is not available on node "testrac2" [Required = 15.4538GB (1.6204512E7KB) ; Found = 2GB (2097148.0KB)] - Cause: The swap size found does not meet the minimum requirement. - Action: Increase swap size to at least meet the minimum swap space requirement.
Back to Top
Verification result of failed node: testrac1
Expected Value
: 15.4538GB (1.6204512E7KB)
Actual Value
: 2GB (2097148.0KB)
Details:
-
PRVF-7573 : Sufficient swap size is not available on node "testrac1" [Required = 15.4538GB (1.6204512E7KB) ; Found = 2GB (2097148.0KB)] - Cause: The swap size found does not meet the minimum requirement. - Action: Increase swap size to at least meet the minimum swap space requirement.
Back to Top
解决Swap不足,我这里我扩的是20G,同样的在2节点执行,
free -g
dd if=/dev/zero of=/home/swap bs=2M count=10240
mkswap /home/swap
swapon /home/swap
echo "/home/swap swap swap defaults 0 0" >>/etc/fstab
第二个报错是说你需要安装这个包,那就去安装,记得是两个节点都安装:
节点1安装
节点2安装
第三个报错是说的RAC-PRIVATE-IP没有通,这是我刚开始的规划的问题,我这个是虚拟机,所以我弄好了网络就通了
弄了网络后
第四个报错安装集群的时候要检测DNS,我们没有使用,所以将resolv.conf文件删除即可,也可以忽略。
第五个报错我们可以直接忽略
第六个报错是说需要在两个节点上运行avahi-daemon,那去启动下这个服务
第七个报错,意思是需要root权限,然而MOS上并没有说明哪个进程或者文件需要root权限,这里可以先忽略,后面再做检查。
第八个报错,这个报错实际是可忽略的
第九个报错,在/etc/sysconfig/network末尾添加NOZEROCONF=yes
第十个报错,这个点进去查看后是提示的连通性的问题,因为我之前处理过RAC-PRIVATE-IP不连通的问题,所以这个是那个问题导致的,我既然处理过一会儿重新检查即可正常
第十一、十二个报错,这个报错是指刚才没有安装cvuqdisk-1.0.10-1这个包,因为ASM验证需要这个包,但是刚才已经安装了,暂时忽略。假如一会儿重新检查后还是出现的话再去处理,然后剩下那个报错(DNS/NIS)可以直接忽略
然后重新检查
检查完只剩这几个忽略安装即可
选择IgnoreAll,然后选择右下角Next
这个是提示你忽略了一些安装,问你是否继续安装点击是下一步即可
这里就只能等它跑完了,慢慢等吧!很慢。
这里是让你分别在节点1和节点2上运行以下脚本,记得是运行完第一个在运行第二个
第一个脚本执行
第二个脚本执行
节点1执行
节点2执行
执行完后回到安装的哪里点击OK继续安装
这个报错直接跳过,点击OK继续安装
至此,集群软件安装完了。
登录到任意节点去验证
这就证明你按装好了,但是这里面的节点2的ASM没起来,现在去看看什么问题,先登录节点2查看ASM进程
然后我们就去登录节点2,在执行sqlplus的时候报了没有rlwrap这个命令,这个命令是在环境变里面的,现在我们就去安装这个命令
yum -y install readline*
在去下载一个rlwrap的tar包,我这边使用的是rlwrap-0.30.tar.gz的包,你也可以下载其他版本的。
然后就是解压安装
安装以后,我们还要关闭一个叫haip的,就是你查看IP是会出现一个169.254.*.*的那张网卡
A、先停掉集群
B、关闭HAIP
/u01/app/19c/grid/bin/crsctl start crs -excl -nocrs
/u01/app/19c/grid/bin/crsctl stop res ora.asm -init
/u01/app/19c/grid/bin/crsctl modify res ora.cluster_interconnect.haip -attr "ENABLED=0" -init
/u01/app/19c/grid/bin/crsctl modify res ora.asm -attr "START_DEPENDENCIES='hard(ora.cssd,ora.ctssd)pullup(ora.cssd,ora.ctssd)weak(ora.drivers.acfs)',STOP_DEPENDENCIES='hard(intermediate:ora.cssd)'" -init
C、按照以上的在到节点2执行
D、启动集群
查看之后已经没有了之前HAIP那个段的IP了,就证明关闭成功
这些弄完之后再查看一下集群状态,两个节点ASM都起来了,节点1和节点2都有ASM进程了
至此,集群软件安装完成并且正常了
将安装包上传至/u01/app/oracle/product/19c/db_1,进入/u01/app/oracle/product/19c/db_1目录并给该压缩包指定属组,chown -R oracle:oinstall LINUX.X64_193000_db_home.zip
使用oracle账户登录testrac1,进到oracle家目录,cd $ORACLE_HOME,使用unzip LINUX.X64_193000_db_home.zi进行解压
解压后的样子如下:
以下默认安装即可:
这个是你忽略了它报出来了哪些问题,他问你是否跳过。我们这里本来就是忽略的,所以直接跳过即可。
去每个节点上执行以下脚本
至此rac-database安装完成。
使用grid用户登录testrac1节点1,执行asmca创建DATADG
准备创建ASM的DATADG好为创建数据库做准备
我这里选择的是我之前创建的3个磁盘组(asm6-asm8),当然你也可以只选择一个或者两个
创建出来之后就可以退出了
创建好DATADG之后,然后开始建库,使用oracle用户登录testrac1
开始建库
这里设置的SID就是你在oracle用户变量的里面设置的ORACLE_SID
这里我先关掉,后面需要使用再开即可
解决一下这两个包,其它的直接忽略安装,我是直接忽略的,安装好像没出问题
至此,建库完毕,剩下的就是验证了
使用grid用户登录节点1执行crsctl stat res -t查看集群状态,这里面会显示你的db状态
[grid@testrac1.novalocal:/home/grid]$
[grid@testrac1.novalocal:/home/grid]$crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE testrac1 STABLE
ONLINE ONLINE testrac2 STABLE
ora.chad
ONLINE ONLINE testrac1 STABLE
ONLINE ONLINE testrac2 STABLE
ora.net1.network
ONLINE ONLINE testrac1 STABLE
ONLINE ONLINE testrac2 STABLE
ora.ons
ONLINE ONLINE testrac1 STABLE
ONLINE ONLINE testrac2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE testrac1 STABLE
2 ONLINE ONLINE testrac2 STABLE
3 ONLINE OFFLINE STABLE
ora.CRSDG.dg(ora.asmgroup)
1 ONLINE ONLINE testrac1 STABLE
2 ONLINE ONLINE testrac2 STABLE
3 OFFLINE OFFLINE STABLE
ora.DATADG.dg(ora.asmgroup)
1 ONLINE ONLINE testrac1 STABLE
2 ONLINE ONLINE testrac2 STABLE
3 OFFLINE OFFLINE STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE testrac2 STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE testrac1 Started,STABLE
2 ONLINE ONLINE testrac2 Started,STABLE
3 OFFLINE OFFLINE STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE testrac1 STABLE
2 ONLINE ONLINE testrac2 STABLE
3 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE testrac2 STABLE
ora.orcl.db
1 ONLINE ONLINE testrac1 Open,HOME=/u01/app/o
racle/product/19c/db
_1,STABLE
2 ONLINE ONLINE testrac2 Open,HOME=/u01/app/o
racle/product/19c/db
_1,STABLE
ora.qosmserver
1 ONLINE ONLINE testrac2 STABLE
ora.scan1.vip
1 ONLINE ONLINE testrac2 STABLE
ora.testrac1.vip
1 ONLINE ONLINE testrac1 STABLE
ora.testrac2.vip
1 ONLINE ONLINE testrac2 STABLE
--------------------------------------------------------------------------------
[grid@testrac1.novalocal:/home/grid]$
这里弄完,你就可以使用三方软件登录了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。