Oracle11G_rac搭建(DNS+centos6.8)

环境准备:

操作系统:oracle_linux6.8
软件版本:oracle 11GR2 版本
存储:openfileresa 2.9
rac节点的内存:4G swap 4G

IP规划:

rac1节点基本信息:
主机名 :node1.gsc.com
IP:172.16.1.1
gateway:172.16.1.1
IP2:10.20.89.1
gateway2:10.20.89.1
DNS:172.16.1.1

rac2节点基本信息:
主机名 :node2.gsc.com
IP:172.16.1.2
gateway:172.16.1.1
IP2:10.20.89.2
gateway2:10.20.89.1
DNS:172.16.1.1

openfileresa节点(存储节点)
主机名:storage.gsc.com
IP:172.16.1.10
gateway:172.16.1.1
DNS:172.16.1.1

一、初始化

安装存储节点系统
rac12节点系统
rac1 节点
先按照上边的IP规划设置一个IP172.16.1.1就好
然后配置主机名 hosts文件 关闭selinux 关闭防火墙

这时的hosts文件
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.1 node1.gsc.com node1
172.16.1.2 node2.gsc.com node2
172.16.1.10 storage.gsc.com storage

然后添加一块新的网卡

eth1: 
IPADDR=10.20.89.1
NTETMASK=255.255.255.0
GATEWAY=10.20.89.1

rac2 节点同上

eth1:
IPADDR=10.20.89.2
NTETMASK=255.255.255.0
GATEWAY=10.20.89.1

二、openfileresa配置

openfileresa的配置见如下链接:配置iscsi
https://blog.csdn.net/n_u_l_l_/article/details/103785304

三、节点1 配置DNS

在node1 上配置DNS

本地源
[mnt]
name=added mnt
baseurl=file:///mnt
enable=1
gpgcheck=0

装软件
[root@node1 yum.repos.d]# yum install bind bind-chroot bind-utils -y 

[root@node1 yum.repos.d]# cd /var/named/chroot/etc/
主配置文件
[root@node1 etc]# vi named.conf

options {
        directory "/var/named";
};

zone "." in {
        type hint;
        file "/dev/null";
};

zone "gsc.com" in {
        type master;
        file "gsc.com.zone.db";
};

zone "1.16.172.in-addr.arpa" in{
        type master;
        file "gsc.com.rec.db";
};

zone "89.20.10.in-addr.arpa" in {
        type master;
        file "gsc.com.rec.db2";
};
区域配置文件

[root@node1 named]# cd /usr/share/doc/bind-9.8.2/sample/var/named/
[root@node1 named]# ls
data  my.external.zone.db  my.internal.zone.db  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@node1 named]# cp named.localhost /var/named/chroot/var/named/gsc.com.zone.db
[root@node1 named]# cp named.loopback /var/named/chroot/var/named/gsc.com.rec.db
[root@node1 named]# cp named.loopback /var/named/chroot/var/named/gsc.com.rec.db2

[root@node1 etc]# cd /var/named/chroot/var/named/

正向解析

[root@node1 named]# vi gsc.com.zone.db 
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       NS      dns.gsc.com.
dns             A       172.16.1.1
node1           A       172.16.1.1
node2           A       172.16.1.2
node1-priv      A       10.20.89.1
node2-priv      A       10.20.89.2
node1-vip       A       172.16.1.3
node2-vip       A       172.16.1.4
rac-scan        A       172.16.1.7
rac-scan        A       172.16.1.8
rac-scan        A       172.16.1.9
storage         A       172.16.1.10

反向解析

[root@node1 named]# vi gsc.com.rec.db 
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       NS      dns.gsc.com.
dns     A       172.16.1.1
        
1      PTR     node1.gsc.com.
2      PTR     node2.gsc.com.
3      PTR     node1-vip.gsc.com.
4      PTR     node2-vip.gsc.com.
7      PTR     rac-scan.gsc.com.
8      PTR     rac-scan.gsc.com.
9      PTR     rac-scan.gsc.com.
10      PTR     storage.gsc.com.

[root@node1 named]# vi gsc.com.rec.db2 

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@               NS      dns.gsc.com.
dns.gsc.com.    A       172.16.1.1
        
1       PTR     node1-priv.gsc.com.
2       PTR     node2-priv.gsc.com.


简单测试下:
[root@node1 named]# yum install bind-utils -y 

重启DNS服务
[root@node1 named]# /etc/init.d/named restart

[root@node1 named]# nslookup node1.gsc.com 
Server:		127.0.0.1
Address:	127.0.0.1#53

Name:	node1.gsc.com
Address: 172.16.1.1

看到能够解析出来

设置开机自启:
[root@node1 u01]# /etc/init.d/named restart
[root@node1 u01]# chkconfig named on 

修改所有节点中网卡配置文件中的DNS1 改成本地DNS的地址172.16.1.1
包括node1 node2 openfileresa

如果一开始就设置好那么可以不用动了

再次解析下
[root@node1 named]# nslookup storage.gsc.com 
Server:		172.16.1.1   可以看到这次走的是本地DNS服务器的地址解析
Address:	172.16.1.1#53

Name:	storage.gsc.com
Address: 172.16.1.10

反向解析也OK
[root@node1 named]# nslookup 172.16.1.7
Server:		172.16.1.1
Address:	172.16.1.1#53

17.0.16.172.in-addr.arpa	name = rac-scan.gsc.com.

节点2 也要能解析
[root@node2 mnt]# nslookup 10.20.89.2
Server:		172.16.1.1
Address:	172.16.1.1#53

2.89.20.10.in-addr.arpa	name = node2-priv.gsc.com.

DNS的目的是有scan-IP,适用于大规模的rac 比如4个以上节点的rac。

四、oracle初始化

1、添加组,添加用户

rac 节点都要做 这里是node1 和node2

[root@node1 ~]# groupadd -g 1100 oinstall 
[root@node1 ~]# groupadd -g 1200 dba
[root@node1 ~]# groupadd -g 1300 oper
[root@node1 ~]# groupadd -g 2100 asmadmin
[root@node1 ~]# groupadd -g 2200 asmdba
[root@node1 ~]# groupadd -g 2300 asmoper
[root@node1 ~]# useradd -u 777 -g oinstall -G dba,oper,asmdba oracle
[root@node1 ~]# useradd -u 888 -g oinstall -G asmadmin,asmdba,asmoper,dba grid


[root@node1 ~]# echo 000000 | passwd oracle --stdin
[root@node1 ~]# echo 000000 | passwd grid --stdin 

2、环境变量

node1 节点 grid用户

[root@node1 ~]# su - grid
[grid@node1 ~]$ vi .bash_profile 

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/grid_base
export ORACLE_HOME=/u01/app/grid11204/product/11.2.0.4/grid_home1
export ORACLE_SID=+ASM1
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib64:/usr/local/lib64
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"

node2 节点grid用户
只改ORACLE_SID=+ASM2

export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/grid_base
export ORACLE_HOME=/u01/app/grid11204/product/11.2.0.4/grid_home1
export ORACLE_SID=+ASM2
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib64:/usr/local/lib64
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"

node1 节点Oracle用户
grid相比只修改了ORACLE_BASE ORACLE_HOMEORACLE_SID

export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/oracle   <----
export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/db_home1   <----
export ORACLE_SID=racdb1   <----
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib64:/usr/local/lib64
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"

node2节点Oracle用户
只修改SID

export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/db_home1
export ORACLE_SID=racdb2
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib64:/usr/local/lib64
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"

3、创建目录
node1 和 node2 都要创建

[root@node1 ~]# mkdir /u01/app/{grid_base,oracle} -pv

[root@node1 ~]# chown grid.oinstall /u01/app -R 
[root@node1 ~]# chmod 775 /u01/app -R 
[root@node1 ~]# chown oracle.oinstall /u01/app/oracle -R 

4、做SSH互信

如果minimal安装没有这个包就不能用ssh-copy-id 的命令 ,要装下

[root@node1 init.d]# yum -y install openssh-clients
node1 (grid) -->  node2 (grid)
[root@node1 u01]# su - grid 
[grid@node1 ~]$ ssh-keygen -t rsa 
[grid@node1 ~]$ cd .ssh/
[grid@node1 .ssh]$ ssh-copy-id -i id_rsa.pub node2


node2 (grid) --> node1 (grid)
[root@node2 u01]# su - grid 
[grid@node2 ~]$ ssh-keygen -t rsa
[grid@node2 ~]$ cd .ssh/
[grid@node2 .ssh]$ cat id_rsa.pub >> authorized_keys 

[grid@node2 .ssh]$ cat authorized_keys 
这里有2个指纹信息

[grid@node2 .ssh]$ scp authorized_keys node1.gsc.com:/home/grid/.ssh/
拷贝给node1节点

然后 node1 收集指纹信息:

[grid@node1 .ssh]$ ssh node1.gsc.com date
[grid@node1 .ssh]$ ssh node1 date
[grid@node1 .ssh]$ ssh node1-priv.gsc.com date
[grid@node1 .ssh]$ ssh node1-priv date 
[grid@node1 .ssh]$ ssh node2.gsc.com date
[grid@node1 .ssh]$ ssh node2 date
[grid@node1 .ssh]$ ssh node2-priv.gsc.com date
[grid@node1 .ssh]$ ssh node2-priv date

node2 收集指纹信息:

[grid@node2 .ssh]$ ssh node1.gsc.com date
[grid@node2 .ssh]$ ssh node1 date 
[grid@node2 .ssh]$ ssh node1-priv.gsc.com date 
[grid@node2 .ssh]$ ssh node1-priv date
[grid@node2 .ssh]$ ssh node2.gsc.com date
[grid@node2 .ssh]$ ssh node2 date
[grid@node2 .ssh]$ ssh node2-priv.gsc.com date
[grid@node2 .ssh]$ ssh node2-priv date

刚刚是grid用户的互信 现在要oracle用户的互信

node1 (oracle) -->  node2 (oracle)
[root@node1 u01]# su - oracle
[oracle@node1 ~]$ ssh-keygen -t rsa
[oracle@node1 ~]$ cd .ssh
[oracle@node1 .ssh]$ ssh-copy-id -i id_rsa.pub node2

node2  (oracle)  --> node1 (oracle)
[root@node2 u01]# su - oracle 
[oracle@node2 ~]$ ssh-keygen -t rsa
[oracle@node2 ~]$ cd  .ssh
[oracle@node2 .ssh]$ cat id_rsa.pub >> authorized_keys

[oracle@node2 .ssh]$ scp authorized_keys node1:/home/oracle/.ssh/

同上 node1 和node2 收集 指纹信息

[oracle@node1 .ssh]$ ssh node1.gsc.com date; ssh node2.gsc.com date
[oracle@node1 .ssh]$ ssh node1 date ; ssh node2 date 
[oracle@node1 .ssh]$ ssh node1-priv.gsc.com date ; ssh node2-priv.gsc.com date;
[oracle@node1 .ssh]$ ssh node1-priv date ; ssh node2-priv date ;
[oracle@node2 .ssh]$ ssh node1.gsc.com date; ssh node2.gsc.com date
[oracle@node2 .ssh]$ ssh node1 date ; ssh node2 date
[oracle@node2 .ssh]$ ssh node1-priv.gsc.com date ; ssh node2-priv.gsc.com date;
[oracle@node2 .ssh]$ ssh node1-priv date ; ssh node2-priv date ;

5、资源限制
node1 和 node2都要做

[root@node1 u01]# vi /etc/security/limits.conf 

grid            soft    nproc   2047
grid            hard    nproc   16384
grid            soft    nofile  1024
grid            hard    nofile  65536
oracle          soft    nproc   2047
oracle          hard    nproc   16384
oracle          soft    nofile  1024
oracle          hard    nofile  65536


--无论以上哪种用户安全限制方式,都是需要PAM模块来调用的,因此继续检查/etc/pam.d/login文件内容:
session   required    pam_limits.so
如果未发现以上行,那么加上。

6、内核参数:

[root@node1 u01]# vi /etc/sysctl.conf 

net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736		或者		4294967295
kernel.shmall = 4294967296		或者		268435456
kernel.shmmni = 4096
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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 = 1048576

[root@node1 u01]# sysctl -p

7、shm 共享内存

df -h 
vim /etc/fstab

修改共享内存挂载
tmpfs   /dev/shm   tmpfs   defaults,size=2G  0  0

重新挂载
mount  -o  remount   /dev/shm

df  -h

8、iscsi 设备:

node1 :
[root@node1 u01]# yum install iscsi-initiator-utils -y 
[root@node1 u01]# /etc/init.d/iscsid start
[root@node1 u01]# chkconfig iscsid on
[root@node1 init.d]# iscsiadm -m discovery -t sendtargets -p 172.16.1.10:3260

注:这里我找到了2个块设备 其中 c6_rac_disk 是centos6 环境要用的。 另一个是之前的环境,不用管它。

172.16.1.10:3260,1 iqn.2020-06.com.openfiler:c6_rac_disk
172.16.1.10:3260,1 iqn.2020-06.com.openfiler:rac_disk

可以发现openfileresa的块设备 

[root@node1 u01]# /etc/init.d/iscsi start 
[root@node1 u01]# chkconfig iscsi on 

[root@node1 init.d]# lsblk  
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0  100G  0 part /
├─sda3   8:3    0   50G  0 part /home
├─sda4   8:4    0    1K  0 part 
├─sda5   8:5    0   20G  0 part /tmp
└─sda6   8:6    0    4G  0 part [SWAP]
sr0     11:0    1  3.7G  0 rom  /mnt
sdb      8:16   0 44.6G  0 disk  < -------多的硬盘  这块是要用到的  下边sdc的不是
sdc      8:32   0 50.8G  0 disk 
├─sdc1   8:33   0   20G  0 part 
├─sdc2   8:34   0    1K  0 part 
├─sdc5   8:37   0   10G  0 part 
└─sdc6   8:38   0   10G  0 part 

node2 同样操作

9、udev绑定和裸设备
这里要做分区操作 为了冗余级别,一般磁盘大小尽量相同,不同也可以,为了方便管理选择相同的大小。

冗余模式OCRVOTE普通磁盘组
Nomal3块大小一致的存储介质2个failgroup(从两个节点各选1块大小一致的存储介质)
High5块盘大小一致的存储介质3个failgroup(从三个节点各选三块大小一致的存储介质)
External1块存储介质不需要

简单来说nomal存2份,high存3份,external不额外存,但是可以在硬件层面做raid。

开始操作:

分区操作:如下
https://blog.csdn.net/n_u_l_l_/article/details/102668159

[root@node1 ~]# fdisk -l /dev/sdc  查看大小

[root@node1 ~]# fdisk /dev/sdc   进入分区工具

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p   <----主分区
Partition number (1-4): 1   <---- 1号
First cylinder (1-45632, default 1): <----默认从哪里开始
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-45632, default 45632): +20G   <--- 大小


最后node1 和node2 要做刷新操作

[root@node1 ~]# yum -y install parted
[root@node1 ~]# partprobe /dev/sdb
[root@node2 ~]# partprobe /dev/sdb

查看分区情况

[root@node1 ~]# fdisk -l /dev/sdc 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1       20481    20972528   83  Linux
/dev/sdc2           20482       30722    10486784   83  Linux
/dev/sdc3           30723       40963    10486784   83  Linux


[root@node1 ~]# lsblk 
sdc      8:32   0 44.6G  0 disk 
├─sdc1   8:33   0   20G  0 part		<---
├─sdc2   8:34   0   10G  0 part 	<---
└─sdc3   8:35   0   10G  0 part 	<---

格式化不用做 asm 会做的。

sdb1做不冗余 sdb5和6 做nomal。

下面先做udev绑定让这快硬盘一直是sdc
然后做裸设备

[root@node1 rules.d]# scsi_id --whitelisted --replace-whitespace --device=/dev/sdc 
14f504e46494c45525332657361782d345656312d52574c4f

先查找这个磁盘的ID  如果直接用scsi_id用不了那就是环境变量中没有这个,打全路径/usr/lib/udev/scsi_id就好了。

[root@node1 ~]# cd /etc/udev/rules.d/
[root@node1 rules.d]# touch 55-oracle-asmdevices.rules
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="scsi_id  --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="14f504e46494c45525332657361782d345656312d52574c4f",NAME="/dev/sdc"
[root@node1 rules.d]# start_udev 


[root@node1 rules.d]# vi 60-raw.rules
ACTION=="add", KERNEL=="/dev/sdc1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="/dev/sdc2", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="/dev/sdc3", RUN+="/bin/raw /dev/raw/raw3 %N"
KERNEL=="raw[1-3]",OWNER="grid",GROUP="asmadmin",MODE="660"

[root@node1 rules.d]# vi /etc/rc.local
添加这些
touch /var/lock/subsys/local
start_udev
/bin/raw /dev/raw/raw1  /dev/sdc1
/bin/raw /dev/raw/raw2  /dev/sdc2
/bin/raw /dev/raw/raw3  /dev/sdc3

如果没效果直接重启机器

然后把这几个文件拷贝到node2 上去
重启 

要能看到这些裸设备
[root@node1 ~]# ll /dev/raw/raw* 
crw-rw---- 1 grid asmadmin 162, 1 Jul  1 19:25 /dev/raw/raw1
crw-rw---- 1 grid asmadmin 162, 2 Jul  1 19:25 /dev/raw/raw2
crw-rw---- 1 grid asmadmin 162, 3 Jul  1 19:25 /dev/raw/raw3

[root@node2 ~]# ll /dev/raw/raw*
crw-rw---- 1 grid asmadmin 162, 1 Jul  1 19:25 /dev/raw/raw1
crw-rw---- 1 grid asmadmin 162, 2 Jul  1 19:25 /dev/raw/raw2
crw-rw---- 1 grid asmadmin 162, 3 Jul  1 19:25 /dev/raw/raw3

10、关掉NTP

[root@node1 ~]# /etc/init.c/ntpd stop
[root@node1 ~]# chkconfig  ntp  off
[root@node1 ~]# mv /etc/nto.conf /etc/ntp.conf.bak

五、grid安装

首先下载软件Oracledatabase 和grid软件,解压到同一个目录。
我是把它做成ISO文件了
最好在1节点上解压缩。

[root@node1 ~]# yum install unzip smartmontools xterm xclock xorg-x11-utils xorg-x11-xauth -y

unzip 解压  smartmontools缺少这个包可能安不上这个软件cvuqdisk   xterm  xstart调用图形化   xclock测试图形化可用与否    
xorg-x11-utils xorg-x11-xauth  这两个都是解决xstart无法连接的错误的

解压软件:

这个是11.2.0.4的名字
[root@node1 mnt]# unzip p13390677_112040_Linux-x86-64_1of7.zip -d /usr/local/src/
[root@node1 mnt]# unzip p13390677_112040_Linux-x86-64_2of7.zip -d /usr/local/src/
[root@node1 mnt]# unzip p13390677_112040_Linux-x86-64_3of7.zip -d /usr/local/src/
[root@node1 mnt]# cd /usr/local/src/ 
[root@node1 src]# ls
database  grid
[root@node1 src]# cd /usr/local/src/grid/rpm/

这个包node1和 node2 都要安装

[root@node1 rpm]# rpm -ivh cvuqdisk-1.0.9-1.rpm  

其实没装的话,图形化时检测到也是需要修复的。

硬件检测:

[root@node1 grid]# su - grid 
[grid@node1 ~]$ cd /usr/local/src/grid/
[grid@node1 grid]$ ./runcluvfy.sh stage -pre crsinst -n node1.gsc.com,node2.gsc.com -fixup -verbose > /tmp/result.txt


[root@node1 tmp]# grep failed result.txt

总之就是把filed都解决

[root@node1 tmp]#  yum install gcc gcc-c++ libaio libaio-devel glibc compat-libstdc++ elfutils-libelf-devel glibc-devel glibc-headers libgcc libstdc++ libstdc++-devel sysstat unixODBC unixODBC-devel ksh compat-libcap1 -y

[root@node1 tmp]#  yum install gcc   gcc-c++  libgomp elfutils-libelf-devel  glibc-devel   glibc-headers   libaio-devel libstdc++-devel  sysstat -y

最后出现这个就是说明检测通过了

Pre-check for cluster services setup was successful.

因为我安装的是minimal 要用xshell调用图形化。 如果是带图形化的就不用了
如下操作:

https://blog.csdn.net/n_u_l_l_/article/details/106279335

使用 xstart 中执行

[root@node1 ~]# xhost +

[root@node1 ~]# su - grid
[grid@node1 ~]$ export DISPLAY=172.16.0.1:0.0
[grid@node1 ~]$ cd /usr/local/src/grid/
[grid@node1 grid]$ ls
doc      response  runcluvfy.sh  sshsetup  welcome.html
install  rpm       runInstaller  stage
[grid@node1 grid]$ ./runInstaller 

在这里插入图片描述
直接不用这个账户,付费的账户

在这里插入图片描述
装rac

在这里插入图片描述
在这里插入图片描述语言支持中文
在这里插入图片描述第一个rac名随便,后2个要和自己的一样
在这里插入图片描述添加vip
在这里插入图片描述双网卡公有和私有

在这里插入图片描述选择ASM磁盘组

在这里插入图片描述选择冗余策略
在这里插入图片描述密码:我的是Oracle123

在这里插入图片描述智能平台接口 rac物理隔离特性

在这里插入图片描述用户组 , 默认就好

在这里插入图片描述home和base 这个之前环境变量的就是

在这里插入图片描述审计路径 默认生成的

在这里插入图片描述检测通过 , 都是succeeded

在这里插入图片描述正常检测通过后是直接到这个保存配置的页面的,我为了截图点回去,让大家看到succeeded。

直接保存就安装了。

在这里插入图片描述这个是执行2个脚本,2个节点分别执行,等1个节点执行完第一个脚本(orainstRoot.sh),第二个节点再执行第一个脚本。

第一个节点执行完第二个脚本(root.sh) 第二个节点再执行第二个脚本(root.sh)。

[root@node1 yum.repos.d]# /u01/app/grid11204/product/11.2.0.4/grid_home1/root.sh 
Running Oracle 11g root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME=  /u01/app/grid11204/product/11.2.0.4/grid_home1

Enter the full pathname of the local bin directory: [/usr/local/bin]:    这个直接回车就好,放一些文件到这个目录里

这个可能会执行很长时间,千万别急

执行这个脚本会出很多很多的信息,太多了,我就不在这里粘了 。

这个博客最下边也记录了一个执行脚本时的错误和解决方法

##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   94903a34b2bd4fd7bf85b8b043e788f1 (/dev/raw/raw1) [DATA]
Located 1 voting disk(s).
CRS-2672: Attempting to start 'ora.asm' on 'node1'
CRS-2676: Start of 'ora.asm' on 'node1' succeeded
CRS-2672: Attempting to start 'ora.DATA.dg' on 'node1'
CRS-2676: Start of 'ora.DATA.dg' on 'node1' succeeded
Configure Oracle Grid Infrastructure for a Cluster ... succeeded

最后看到这个就是root.sh执行成功了。

截个图看比较直观,最后一行字体都不同

在这里插入图片描述
节点2的成功
在这里插入图片描述

执行过脚本回来点ok,然后等进度条走完 就行了
在这里插入图片描述能看到一堆的东西

[grid@node1 ~]$ crs_stat -t 
Name           Type           Target    State     Host        
------------------------------------------------------------
ora.DATA.dg    ora....up.type ONLINE    ONLINE    node1       
ora....ER.lsnr ora....er.type ONLINE    ONLINE    node1       
ora....N1.lsnr ora....er.type ONLINE    ONLINE    node2       
ora....N2.lsnr ora....er.type ONLINE    ONLINE    node1       
ora....N3.lsnr ora....er.type ONLINE    ONLINE    node1       
ora.asm        ora.asm.type   ONLINE    ONLINE    node1       
ora.cvu        ora.cvu.type   ONLINE    ONLINE    node1       
ora.gsd        ora.gsd.type   OFFLINE   OFFLINE               
ora....network ora....rk.type ONLINE    ONLINE    node1       
ora....SM1.asm application    ONLINE    ONLINE    node1       
ora....E1.lsnr application    ONLINE    ONLINE    node1       
ora.node1.gsd  application    OFFLINE   OFFLINE               
ora.node1.ons  application    ONLINE    ONLINE    node1       
ora.node1.vip  ora....t1.type ONLINE    ONLINE    node1       
ora....SM2.asm application    ONLINE    ONLINE    node2       
ora....E2.lsnr application    ONLINE    ONLINE    node2       
ora.node2.gsd  application    OFFLINE   OFFLINE               
ora.node2.ons  application    ONLINE    ONLINE    node2       
ora.node2.vip  ora....t1.type ONLINE    ONLINE    node2       
ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    node1       
ora.ons        ora.ons.type   ONLINE    ONLINE    node1       
ora.scan1.vip  ora....ip.type ONLINE    ONLINE    node2       
ora.scan2.vip  ora....ip.type ONLINE    ONLINE    node1       
ora.scan3.vip  ora....ip.type ONLINE    ONLINE    node1  

下面就是正常的Oracle11G数据库软件安装,创建数据库。

要注意的是这次的数据库创建要选择rac的database

六、database 软件安装:

[root@node1 ~]# xhost +
access control disabled, clients can connect from any host
[root@node1 ~]# su - oracle 
[oracle@node1 ~]$ export DISPLAY=172.16.0.1:0.0
[oracle@node1 ~]$ cd /usr/local/src/database/
[oracle@node1 database]$ ls
install      response  runInstaller  stage
readme.html  rpm       sshsetup      welcome.html

[oracle@node1 database]$ ./runInstaller 

在这里插入图片描述依旧是不用

在这里插入图片描述
关闭自动更新

在这里插入图片描述
只装软件

在这里插入图片描述rac 集群,下边的是单节点的rac不要选,选中间的

在这里插入图片描述支持中文

在这里插入图片描述安装企业版

在这里插入图片描述base 和 home ,之前环境变量里的

在这里插入图片描述用户权限

在这里插入图片描述开始环境监测

在这里插入图片描述全是succeeded 。成功的
在这里插入图片描述这个依旧是如果成功默认跳到这个页面,但我为了截图返回去看到succeeded。

在这里插入图片描述还是先node1 再 node2 执行脚本。

[root@node1 rpm]# /u01/app/oracle/product/11.2.0.4/db_home1/root.sh 

执行之后回来点 ok

在这里插入图片描述
直接ok就行了。(PS :手贱直接关了,忘了截图,只能找个网图。QAQ)

七、ASM的一些操作:

xstart执行

[root@node1 ~]# xhost +
access control disabled, clients can connect from any host
[root@node1 ~]# su - grid 
[grid@node1 ~]$ export DISPLAY=172.16.0.1:0.0

[grid@node1 ~]$ asmca

在这里插入图片描述现在状态
在这里插入图片描述创建磁盘组
在这里插入图片描述点ok就创建了,创建成功弹出 create succeddfully
在这里插入图片描述2个磁盘组
在这里插入图片描述
保存退出就好了

八、创建数据库:

xstart执行

[root@node1 ~]# xhost +
access control disabled, clients can connect from any host
[root@node1 ~]# su - oracle 
[oracle@node1 ~]$ export DISPLAY=172.16.0.1:0.0
[oracle@node1 ~]$ dbca^C

在这里插入图片描述
创建rac的数据库

在这里插入图片描述创建库没什么说的

在这里插入图片描述
这个是建库模板

在这里插入图片描述选择在那个节点上建库, admin-managed是选择的, policy-managed的是多节点3,4以上的。
然后下边是dbname和 sid的前缀

下边在那个节点安装软件,要select all 全部节点。

在这里插入图片描述
EM 可以不配

在这里插入图片描述
这个可以打开

在这里插入图片描述密码:依旧是Oracle123

在这里插入图片描述数据库的位置,可以选择建的ASM磁盘组。默认是有冗余 的 ,但是Browse可以选择别的。

在这里插入图片描述我就选这个DATA了
在这里插入图片描述然后下一步

在这里插入图片描述这个是快速恢复区,我选FRA组了

在这里插入图片描述样例库,旁边的是自定义脚本,没有就不管它

在这里插入图片描述

内存,我这个有点低

在这里插入图片描述连接数

在这里插入图片描述字符集,用al32utf8比较全

在这里插入图片描述
模式是独占模式

在这里插入图片描述
然后就next

在这里插入图片描述
开始创建

在这里插入图片描述
这个可以保存设置啥的

在这里插入图片描述

到这就等进度条就好了

在这里插入图片描述安装后 显示这些信息。

[root@node1 ~]# su - oracle 
[oracle@node1 ~]$ cd $ORACLE_HOME/sqlplus/admin 
[oracle@node1 admin]$ vi glogin.sql

set sqlprompt "&_user@&_connect_identifier>"     --设置SQL命令提示符的格式
set null (null)                                  --设置空值的显示格式          
define _editor=vi        


[oracle@node1 ~]$ sqlplus / as sysdba 

SYS@racdb1> alter user hr identified by hr account unlock;

[oracle@node1 admin]$ sqlplus hr/hr 

HR@racdb1>select table_name from user_tables;

TABLE_NAME
------------------------------
REGIONS
LOCATIONS
DEPARTMENTS
JOBS
EMPLOYEES
JOB_HISTORY
COUNTRIES

7 rows selected.
HR@racdb1>select employee_id , last_name , salary from employees;
	198 OConnell			    2600
	199 Grant			    2600
	200 Whalen			    4400
	201 Hartstein			   13000
	202 Fay 			    6000
	203 Mavris			    6500
	204 Baer			   10000
	205 Higgins			   12008
	206 Gietz			    8300
	100 King			   24000
	101 Kochhar			   17000
	102 De Haan			   17000

有样例库

同时racdb2节点不做操作就有hr用户

[oracle@node2 admin]$ sqlplus hr/hr

HR@racdb2>select table_name from user_tables ;

TABLE_NAME
------------------------------
REGIONS
LOCATIONS
DEPARTMENTS
JOBS
EMPLOYEES
JOB_HISTORY
COUNTRIES

以上。

PS 一些问题 :

1、如果是比较老版本的11G和grid,脚本也比较旧,可能会检测32位的包

yum install compat-libstdc++-33.x86_64 compat-libstdc++-33.i686  libaio.i686 glibc.i686 libaio-devel.i686 unixODBC.i686 unixODBC-devel.i686 -y


yum install libgcc.i686  libstdc++.i686  -y
(这两个可能有问题)

这几个是32位的包,检测脚本有可能 可能 可能 会检测,
但是有人说64位系统只装64的就好 就算检测脚本让装32位也不用管,可以忽略。

在这里插入图片描述这个是我用低版本时 检测的情况,我的是64位的32位的没有装所以有一堆异常,但是网上说这种情况64的装了32的可以忽略。

在这里插入图片描述忽略之后也可以到这里

2、镜像里可能会没有这两个包

pdksh-5.2.14   和  compat-libstdc++-33-3.2.3  

pdksh 是个老包  可以用ksh 软件代替,不过完美主义者可以使用pdksh 这个要额外下载
而且需要额外的依赖
[root@node1 ~]# yum install -y ld-linux.so.2

装如上包 然后才可以rpm -ivh  


compat-libstdc+-33  这个包也要额外下载。
直接rpm  -ivh  就好了

上边2个包的下载地址:
链接: https://pan.baidu.com/s/1poJjlTbym14mYUd1EMkVOw
提取码: ydad

3、关于名字的问题

这个是11.2.0.1的名字 镜像内的名字

[root@node1 mnt]# unzip linux.x64_11gR2_database_1of2.zip -d /usr/local/src/
[root@node1 mnt]# unzip linux.x64_11gR2_database_2of2.zip -d /usr/local/src/
[root@node1 mnt]# unzip linux.x64_11gR2_grid.zip -d /usr/local/src/
[root@node1 mnt]# cd /usr/local/src/ 
[root@node1 src]# ls
database  grid
[root@node1 src]# cd /usr/local/src/grid/rpm/
11.2.0.1的这个东西版本是1.0.7-1  我上边的是1.0.9-1
[root@node1 rpm]# rpm -ivh cvuqdisk-1.0.7-1.rpm 

4、执行脚本时有报错

如果报错的话可以看这个贴子,我就遇到了这个错误:
https://blog.csdn.net/cmbzwa6940/article/details/100298812

5、低版本11.2.0.1 和 高版本11.2.0.4 有点不同 但大致相同,下边的图只是说2个版本图形化安装的说明上或者说表示上有区别,功能上基本没有差别,可以不看:

在这里插入图片描述低版本的选择安装

在这里插入图片描述低版本ASM磁盘组

在这里插入图片描述低版本用户,这个默认就好 ,虽然和上边不一样,但是细看其实意思一样

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值