vmware安装oracle11g rac
1vmware安装oracle 11gr2 rac 1.1环境说明 1.1.1硬件环境Window10+VMware Workstation 14 Prooracle linux6oracle 11.2.0.1 1.1.2软件安装包:linux.x64_11gR2_database_1of2.ziplinux.x64_11gR2_d...
文章目录
1 vmware安装oracle 11gr2 rac
1.1 环境说明
1.1.1 硬件环境
Window10+VMware Workstation 14 Pro
oracle linux6
oracle 11.2.0.1
1.1.2 软件安装包:
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
linux.x64_11gR2_grid.zip --rac中grid的安装包
光盘安装镜像(将iso镜像挂载到虚拟机中,并且配置本地yum源)
1.1.3 文件相关目录
-
虚拟机相关目录说明
E:\vmware\oracle RAC\node1\Oracle Linux 6 rac中一节点的虚拟机目录(vmx) E:\vmware\oracle RAC\node2\Oracle Linux 6 rac中二节点的虚拟机目录(vmx) E:\vmware\oracle RAC\share_storage 共享磁盘的存储位置
-
数据库安装目录:
目录名称 | 所属用户 | 所属用户组 | 文件描述 | 节点 |
---|---|---|---|---|
/u01/app/11.2.0/grid | grid | oinstall | GRID_HOME | rac1,rac2 |
/u01/app/grid | grid | oinstall | GRID_BASE | rac1,rac2 |
/u01/app/oracle | oracle | oinstall | ORACLE_BASE | rac1,rac2 |
1.1.4 网络相关配置
IP | GATEWAY | Device | type | nodes |
---|---|---|---|---|
192.168.146.101 | 192.168.146.2 | Eth0 | nat | Node1 |
192.168.233.101 | 192.168.233.1 | Eth1 | nat | Node2 |
192.168.146.102 | 192.168.146.2 | Eth0 | nat | Node1 |
192.168.233.102 | 192.168.233.1 | Eth1 | nat | Node2 |
IP Address Type | Node Name | IP Address |
Public ip address | RAC1 | 192.168.146.101 |
RAC2 | 192.168.146.102 | |
Private IP address | RAC1 | 192.168.233.101 |
RAC2 | 192.168.233.102 | |
Virtual IP address | RAC1 | 192.168.146.201 |
RAC2 | 192.168.146.202 | |
SCAN IP address | RAC1 | 192.168.248.110 |
RAC2 | 192.168.248.110 |
1.1.5 共享存储(共享磁盘配置)
Oracle RAC中的文件地址可以分为三种,第一种是OCR/VOTING,存储的是集群的一些信息和oracle节点故障时,节点的选举情况。第二种就是数据文件(DATA),数据文件包含的有,数据文件,在线重做日志文件(REDO),控制文件(CTL)等。第三种(FRA)指得就是恢复文件。磁盘路径 | Asm磁盘组 | 大小 |
---|---|---|
E:\vmware\oracle RAC\share_storage\share_storage\ocrvote1.vmdk | OCR | 1G |
E:\vmware\oracle RAC\share_storage\share_storage\ocrvote2.vmdk | OCR | 1G |
E:\vmware\oracle RAC\share_storage\share_storage\ocrvote3.vmdk | OCR | 1G |
E:\vmware\oracle RAC\share_storage\share_storage\data.vmdk | DATA | 10G |
E:\vmware\oracle RAC\share_storage\share_storage\recover.vmdk | OCR | 5G |
1.2 安装前的配置、安装数据库软件
node1和node2都需要按照环境要求配置。
1.2.1 虚拟机相关配置
1.2.1.1 虚拟机网卡配置
案例中,我们需要配置两块网卡,一块是host only上网方式的网卡,一块是nat方式上网的网卡(访问外网)。
- 虚拟机菜单 > 编辑 > 虚拟网络编辑器
配置网络连接的类型,如果网卡已经存在,需要修改如下配置:
-
Host only配置(仅主机模式配置)
-
VMnat信息 > 仅主机模式
VMnat信息 > 将主机适配器连接到此网络(vmnat1)(勾选)
-
子网ip设置为:192.168.146.0
-
Window下 > 网络连接 > VMware Virtual Ethernet Adapter for VMnet1 >
设置ip地址为:192.168.146.1 子网掩码:255.255.255.0
-
-
nat配置
-
VMnat信息 > 将主机适配器连接到此网络(vmnat8)(勾选)
-
子网ip设置为:192.168.248.0
-
VMnat信息 > NAT模式 > NAT设置
网关ip: 192.168.248.2
-
Window下 > 网络连接 > VMware Virtual Ethernet Adapter for VMnet8>
设置ip地址为:192.168.248.1 子网掩码:255.255.255.0
-
-
虚拟机 > 编辑虚拟机配置 > 添加 > 网络适配器 > 自定义vmnet1(添加host only网卡)
-
网络适配器(VMnet1) > 高级 > 生成mac地址:
这一步的作用主要是固定网卡和上网方式。假如生成的MAC地址为:
00:0C:29:CE:93:92
-
虚拟机 > 编辑虚拟机配置 > 添加 > 网络适配器 > 自定义vmnet8(添加nat网卡)
-
网络适配器(VMnet8) > 高级 > 生成mac地址:
这一步的作用主要是固定网卡和上网方式。假如生成的MAC地址为:
00:0C:29:CE:93:9C
-
启动虚拟机 ,设置相关网卡如下:
-
修改grub文件
cp /etc/grud.conf /etc/grub.cnf.bak 修改/etc/grud.conf,添加biosdevname=0
-
重命名网卡名称,
-
删除/etc/udev/rules.d/70-persistent-net.rules文件
-
重启服务器(reboot)
-
网卡的配置文件如下
/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet UUID=537190ac-bffb-4e5c-8cef-a48260e16f63 ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=none USERCTL=no PEERDNS=yes IPV6INIT=no HWADDR=00:0C:29:CE:93:9C IPADDR=192.168.109.101 NETMASK=255.255.255.0 GATEWAY=192.168.109.1 /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 TYPE=Ethernet UUID=537190ac-bffb-4e5c-8cef-a48260e16f63 ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=none DNS1=114.114.114.114 USERCTL=no PEERDNS=yes IPV6INIT=no HWADDR=00:0C:29:CE:93:92 IPADDR=192.168.248.101 NETMASK=255.255.255.0 GATEWAY=192.168.248.2
1.2.1.2 vmware挂载u盘,安装相关的包
vmware tool安装需要依赖gcc相关的库,
[root@localhost ~]# yum install gcc -y
安装ntfs-3g,挂载u盘是,用到
wget https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2017.3.23.tgz -P /upload
cd /upload
tar -xvf ntfs-3g_ntfsprogs-2017.3.23.tgz
cd ntfs-3g_ntfsprogs-2017.3.23
./configure
make && make install
* 运行 > services.msc > 确保VMUSBArbService运行
* 插入u盘,打开虚拟机,在虚拟机的右下角位置,点击USB Device,链接
* 挂载u盘,到虚拟机中
-
fdisk 命令确定U盘的位置:
-
挂载u盘到/mnt/iso目录下
mkdir /mnt/isomount -t "ntfs-3g" /dev/sdb1 /mnt/iso/ 挂载oracle linux6 iso文件: 说明:如果网速过快没必要做这一步,如果无法联网,将iso中作为本地的yum源, 安装基本的包和软件 mkdir /mnt/cdrom mount -o loop /mnt/iso/oracle_rac/V978757-01.iso /mnt/cdrom/
-
配置本地yum源
mv /etc/yum.repos.d/public-yum-ol6.repo /etc/yum.repos.d/public-yum-ol6.repo.bak vi /etc/yum.repos.d/local.repo [local] name=local baseurl=file:///mnt/cdrom gpgcheck=0 enabled=1 yum clean all yum make cache
1.2.1.3 Oracle linux6相关软件安装
如果上述步骤配置了iso作为本地的yum源,不借助外网就可以实现软件包的安装。
-
安装ftp服务器
yum -y install vsftpd
-
安装lrzsz.x86_64(一种建议的传输文件的工具)
yum install -y lrzsz.x86_64
-
安装图形界面
yum groupinstall –y "X Window System" Desktop yum groupinstall –y "X Window System" "KDE Desktop" yum install -y nautilus-open-terminal init 5 #完成初始化配置和验证桌面是否安装成功
-
telnet安装
yum install vsftpd
1.2.1.4 Oracle linux6环境检查
-
关闭selinux
修改/etc/selinux/config,SELINUX=disabled
-
禁用防火墙(rac安装时,如果防火墙开启状态,可能导致 对立节点,安装失败)
service iptables stop
chkconfig iptables off -
禁用NetworkManager
service NetworkManager stop chkconfig NetworkManager off
-
重启服务器reboot
1.2.1.5 vmware安装vmware tool,实现宿主机和虚拟机共享文件
vmware中文件夹共享的前提是要安装vmware tools,安装vmware tools以后,虚拟机会为共享文件夹设置一个挂载点。下列步骤是为了能够安装vmware tools。-
选中虚拟机 > 设置 > 硬件 > CD/DVD > 使用物理驱动器 > 自动检测
-
选中虚拟机 > 设置 > 选项 > 共享文件夹 > 总是启用
- 添加文件夹(存放安装数据库的相关软件包):
名称: oracle_packages 主机路径: D:\software\oracle
- 添加文件夹(存放安装数据库的相关软件包):
-
开启虚拟机:
-
菜单 > 虚拟机 > 安装vmware tool
-
Vmware tool安装方式
-
查看共享文件夹
df –hT #查看共享文件挂载的目录 通常挂载的目录为: /mnt/hgfs tree -L 2 /mnt/hgfs/ /mnt/hgfs/ └── oracle_rac ├── linux.x64_11gR2_database_1of2.zip ├── linux.x64_11gR2_database_2of2.zip ├── linux.x64_11gR2_grid.zip
1.2.1.6 虚拟机创建共享磁盘
- 创建磁盘
第二种是使用命令,直接创建出磁盘,两个虚拟机添加已有磁盘。
案列中使用的是第二种方式。
下列列举的是使用命令创建磁盘的案列
-c :代表的是创建磁盘
-a:创建的磁盘类型,lsilogic代表的是SCSI类型
-t:预分配磁盘空间,并且拆分成单个文件
-s:指定磁盘的容量
#配置临时环境变量,为了方便的使用vmware-vdiskmanager命令
SET VMWARE_HOME=D:\Program Files (x86)\VMware\VMware Workstation
set PATH=%VMWARE_HOME%;%PATH%
cd E:\vmware\oracle RAC\share_storage
e:
vmware-vdiskmanager -c -a lsilogic -t 2 -s 1GB ocrvote1.vmdk
vmware-vdiskmanager -c -a lsilogic -t 2 -s 1GB ocrvote2.vmdk
vmware-vdiskmanager -c -a lsilogic -t 2 -s 1GB ocrvote3.vmdk
vmware-vdiskmanager -c -a lsilogic -t 2 -s 10GB data.vmdk
vmware-vdiskmanager -c -a lsilogic -t 2 -s 5GB recovery.vmdk
</font>
- RAC1,RAC2引用共享磁盘
- 编辑虚拟机设置 > 添加 > 硬盘 > SCSI > 使用现有虚拟磁盘 > E:\vmware\oracle RAC\share_storage\(依次选择创建的几块硬盘)
假设创建的几块硬盘名称为 硬盘1、硬盘2、硬盘3、硬盘4、硬盘5,设置硬盘的属性:
硬盘1 > 高级 > 虚拟设备节点 > SCSI 1:0 > 独立 > 永久
硬盘2 > 高级 > 虚拟设备节点 > SCSI 1:1 > 独立 > 永久
硬盘3 > 高级 > 虚拟设备节点 > SCSI 1:2 > 独立 > 永久
硬盘4 > 高级 > 虚拟设备节点 > SCSI 1:3 > 独立 > 永久
硬盘15> 高级 > 虚拟设备节点 > SCSI 1:4 > 独立 > 永久
-
Rac1、rac2修改vmx文件,添加如下配置,应用磁盘
disk.locking = "false" diskLib.dataCacheMaxSize = "0" scsi1.sharedBus = "virtual"
1.2.2 Oracle安装前的准备
Oracle依赖包的安装,有手动和自动的方式,手动安装,需要手动的安装依赖包和配置内核参数等等。本教程中,使用自动的方式安装,oracle11g中提供了oracle-rdbms-server-11gR2-preinstall包。自动的方式安装有以下好处-
自动安装依赖包
-
自动配置内核参数
-
自动配置操作系统参数
-
自动创建用户和组
1.2.2.1 oracle环境的配置
-
配置使用的yum源,需要根据操作系统的版本和内核的版本选择yum源。
如果数据库安装的环境是oracle linux系列,则yum源不需要配置 系统自带的就有
/etc/yum.repos.d/public-yum-ol6.repoyum clean all yum makecache
-
安装oracle-rdbms-server-11gR2-preinstall
yum install -y oracle-rdbms-server-11gR2-preinstall
-
验证安装包是否安装完成
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-devel glibc-headers pdksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel yum install -y elfutils-libelf-devel yum install -y unixODBC yum install -y unixODBC-devel
-
补充RAC,新增的用户和用户组
/usr/sbin/groupadd -g 1020 asmadmin /usr/sbin/groupadd -g 1021 asmdba /usr/sbin/groupadd -g 1022 asmoper /usr/sbin/groupadd -g 1032 oper useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid usermod -u 1101 -g oinstall -G dba,asmdba,oper oracle
-
设置oracle和grid的密码
passwd oracle passwd grid
-
创建安装数据库所需的目录,并授权
mkdir -p /u01/app/11.2.0/grid mkdir -p /u01/app/grid mkdir /u01/app/oracle chown -R grid:oinstall /u01 chown oracle:oinstall /u01/app/oracle chmod -R 775 /u01/
-
grid用户相关的配置
vi /etc/security/limits.conf grid soft nproc 2047 grid hard nproc 16384 grid soft nofile 1024 grid hard nofile 65536
1.2.2.2 交换空间的扩展
在操作系统内存不足时,交换空间(swap)会充当内存的角色。如果swap空间被大量使用,则说明操作系统的内存不足。oracle最交换空间的限制,取决于操作系统物理内存的大小。下面是oracle建议的内存和交换内存的对等关系。
本次安装过程中,物理内存为2G,交换空间建议设置的值为,2.6G。后面检测的时候,建议的值。下面是扩展交换空间(使用文件来创建交换空间)的步骤
dd if=/dev/zero of=/swapfile bs=1M count=2662
mkswap /swapfile
swapon /swapfile
vi /etc/fstab
添加
/swapfile swap swap defaults 0 0
注释掉以前的swap空间
#查看swap文件的情况
swapon -s
#停用以前的swap文件
swapoff /dev/mapper/VolGroup-lv_swap
1.2.2.3 相关环境变量的配置
-
配置grid用户的环境变量(注意RAC1和RAC2配置)
vi /home/grid/.bash_profile export ORACLE_SID=+ASM1 # RAC1配置这个 export ORACLE_SID=+ASM2 # RAC2配置这个 export GRID_BASE=/u01/app/grid export GRID_HOME=/u01/app/11.2.0/grid export ORACLE_HOME=/u01/app/11.2.0/grid export PATH=/usr/sbin:$PATH export PATH=$GRID_HOME/bin:$PATH export LD_LIBRARY_PATH=$GRID_HOME/lib:/lib:/usr/lib export CLASSPATH=$GRID_HOME/JRE:$GRID_HOME/jlib:$GRID_HOME/rdbms/jlib umask 022 source /home/grid/.bash_profile
-
配置oracle用户的环境变量(注意RAC1和RAC2的配置)
vi /home/oracle/.bash_profile export ORACLE_SID=orcl1 # RAC1配置这个 export ORACLE_SID=orcl2 # RAC2配置这个 export ORACLE_UNQNAME=orcl export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export TNS_ADMIN=$ORACLE_HOME/network/admin export PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib source /home/grid/.bash_profile
1.2.2.4 配置host相关文件
-
配置hostname
vi /etc/sysconfig/networkHOSTNAME=rac1 #(rac1配置这个) HOSTNAME=rac2 #(rac2配置这个)
-
配置hosts(rac1,rac2)
vi /etc/hosts 192.168.146.101 rac1 192.168.146.201 rac1-vip 192.168.233.101 rac1-priv 192.168.146.102 rac2 192.168.146.202 rac2-vip 192.168.233.102 rac2-priv 192.168.146.110 scan-ip
1.2.2.5 配置oracle asm disks
-
硬盘分区
fdisk /dev/sdb fdisk /dev/sdc fdisk /dev/sdd fdisk /dev/sde fdisk /dev/sdf
-
获取每个磁盘的sisi id
[root@localhost ~]# /sbin/scsi_id -g -u -d /dev/sdb 36000c2981ee1645b48c44666136bf242
-
创建99-oracle-asmdevices.rules文件
touch /etc/udev/rules.d/99-oracle-asmdevices.rules
-
获取脚本的输出内容,拷贝至:/etc/udev/rules.d/99-oracle-asmdevices.rules
mydevs="sdb sdc sdd sde sdf" ; export count=0 ; for mydev in $mydevs; do ((count+=1)) ; /sbin/scsi_id -g -u -d /dev/$mydev | awk '{print "KERNEL==\"sd?1\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -d /dev/$parent\", RESULT==\""$1"\", NAME=\"asm-disk"ENVIRON["count"]"\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""}' ; done
-
测试
udevadm test /block/sdb/sdb1 udevadm test /block/sdc/sdc1 udevadm test /block/sdd/sdd1 udevadm test /block/sde/sde1 udevadm test /block/sdf/sdf1
-
重启和加载UDEV服务
/sbin/start_udev
-
查看磁盘所属的权限和是否创建成功
[root@localhost ~]# ll /dev/asm* brw-rw---- 1 grid asmadmin 8, 17 Jan 19 15:22 /dev/asm-disk1 brw-rw---- 1 grid asmadmin 8, 33 Jan 19 15:22 /dev/asm-disk2 brw-rw---- 1 grid asmadmin 8, 49 Jan 19 15:22 /dev/asm-disk3 brw-rw---- 1 grid asmadmin 8, 65 Jan 19 15:22 /dev/asm-disk4 brw-rw---- 1 grid asmadmin 8, 81 Jan 19 15:22 /dev/asm-disk5
1.2.2.6 配置ssh通信
由于RAC的安装,只需要在一个几点下,安装,其他节点会在安装的过程中,复制。所以需要为grid用户和oracle用户分别配置ssh通信。
-
配置grid用户无密码通信
-
rac1和rac2节点下分别执行
su - grid mkdir ~/.ssh chmod 700 ~/.ssh /usr/bin/ssh-keygen -t rsa # Accept the default settings.
-
rac1节点下执行
su - grid cd ~/.ssh cat id_rsa.pub >> authorized_keys scp authorized_keys rac2:/home/grid/.ssh/
-
rac2节点下执行
su - grid cd ~/.ssh cat id_rsa.pub >> authorized_keys scp authorized_keys rac1:/home/grid/.ssh/
-
验证是否配置成功
-
检查是否配置成功的标准是,使用ssh命令获取对方主机信息时,u不需要输入密码。
Rac1节点下执行:
[grid@rac1 ~]$ ssh rac1 date
The authenticity of host 'rac1 (192.168.146.101)' can't be established.
RSA key fingerprint is fc:78:65:2e:0e:8c:4f:ab:2d:3e:eb:12:0f:a3:02:04.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac1,192.168.146.101' (RSA) to the list of known hosts.
Sat Jan 26 04:48:28 EST 2019
[grid@rac1 ~]$ ssh rac1 date
Sat Jan 26 04:48:34 EST 2019
[grid@rac1 ~]$ ssh rac2 date
Sat Jan 26 04:48:45 EST 2019
[grid@rac1 ~]$
Rac2节点下执行:
[grid@rac2 .ssh]$ ssh rac1 date
Sat Jan 26 04:49:18 EST 2019
[grid@rac2 .ssh]$ ssh rac2 date
The authenticity of host 'rac2 (192.168.146.102)' can't be established.
RSA key fingerprint is fc:78:65:2e:0e:8c:4f:ab:2d:3e:eb:12:0f:a3:02:04.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac2,192.168.146.102' (RSA) to the list of known hosts.
Sat Jan 26 04:49:24 EST 2019
-
配置oracle用户
-
rac1和rac2节点下分别执行
su - oracle mkdir ~/.ssh chmod 700 ~/.ssh /usr/bin/ssh-keygen -t rsa # Accept the default settings.
-
rac1节点下执行
su - oracle cd ~/.ssh cat id_rsa.pub >> authorized_keys scp authorized_keys rac2:/home/oracle/.ssh/
-
rac2节点下执行
su - oracle cd ~/.ssh cat id_rsa.pub >> authorized_keys scp authorized_keys rac1:/home/oracle/.ssh/
-
1.2.2.7 集群时间服务(ntp、ctss)
在oracle 10g中往往需要单间ntp服务器,来同步rac集群中的时间。在11g中,引入了CTSS(Cluster Time Synchronization Services)来同步时间。CTSS只同步集群服务企之间的时间。并不同步其他系统之间的时间。CTSS 服务是在grid软件安装过程中,自动安装。
如果系统中已经安装了NTP 或者存在NTP的配置文件,则CTSS处于观察者模式,不生效。下面演示禁用 NTP服务器,在下文的安装过程中会自动安装CTSS服务。
-
停用ntp服务
[root@rac1 ~]# service ntpd stop Shutting down ntpd: [ OK ]
-
禁止NTP 服务开机自启动
[root@rac1 ~]# chkconfig ntpd off
-
删除NTP 服务的配置文件
[root@rac1 ~]# mv /etc/ntp.conf /etc/ntp.conf.bak
1.2.2.8 运行CVU检查grid安装环境
[root@rac1 ~]# unzip /mnt/hgfs/oracle/linux.x64_11gR2_grid.zip -d /upload/
[root@rac1 ~]# chown -R grid:oinstall /upload/grid/
[root@rac1 ~]# chmod -R 755 /upload/grid/
[root@rac1 grid]# rm -rf /tmp/bootstrap/
[root@rac1 grid]# su - grid
[grid@rac1 ~]$ cd /upload/grid/
[grid@rac1 grid]# ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup –verbose > checkout.log
注意监察其中的错误信息,一些依赖检查失败(本文中跳过去)
1.2.3 grid软件的安装
1.2.3.1 grid安装
grid安装,我们使用xshell+xmanager来远程调用图形桌面。Xshell需要设置。
直接使用grid用户登录。不要使用su - grid的方式切换用户。
-
运行安装命令
[grid@rac1 grid]$ pwd /upload/grid [grid@rac1 grid]$ ./runInstaller
-
Installation Option > 选择安装集群软件
- Installation Type > 选择自定义安装
- Product Languages > 选择英语
- Grid Plug and Play Information > scan name选择hosts中定义的scan-ip > 取消GNS
- Cluster Node Informatio > 添加rac2节点信息
如果ssh配置节点通信有问题,则点击下一步时,会提示错误,请检查 grid用户,在集群间的通信配置是否有误!
-
Network Interface Usage
Scan-ip必须和public的处于同一网段
-
Storage Option >选择oracle asm
- Create ASM Disk Group
这里,我们只配置OCR和voting disk的共享磁盘,数据文件和备份的共享磁盘,放到创建数据库时,再配置
-
ASM Password > 使用相同的密码
-
Failure Isolation Support > 不选择智能管理
- Privileged Operating System Groups > 默认即可
- Installation Location > 根据实际位置填写
- Create Inventory
- Prerequisite Checks > 环境监测
注:其中ntp监测失败,可以直接忽略掉,因为oracle11g ,集群同步,我们选择ctts。
其他的依赖失败,请自行检查参数或者依赖包解决,这里我们选择直接跳过这些错误。
-
概要窗口查看信息,配置没问题之后,就开始安装。
-
Execute Configuration scripts 执行脚本
在rac1和rac2节点以root用户分别执行以下脚本。Rac1节点执行后,再在rac2节点下执行。
-
执行/u01/app/oraInventory/orainstRoot.sh
[root@rac1 yum.repos.d]# sh /u01/app/oraInventory/orainstRoot.sh Changing permissions of /u01/app/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /u01/app/oraInventory to oinstall. The execution of the script is complete.
执行root.sh时,会出现
CRS-4124: Oracle High Availability Services startup failed.
CRS-4000: Command Start failed, or completed with errors.
ohasd failed to start: Inappropriate ioctl for device
ohasd failed to start at/u01/app/11.2.0/grid/crs/install/rootcrs.pl line 443.
解决方式如下:
-
在出现/var/tmp/.oracle/npohasd时,立即执行:如下命令:
/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1
在出现如下时,脚本执行成功:
需要注意failed的字样。在节点二重复执行脚本的操作。
系统重启以后,grid软件会启动失败,将/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1加入开机自启动。在两个几点下,分别修改/etc/rc.local,添加:
/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1
- 脚本之后完成以后,返回窗口 > 点击ok
- Oracle Cluster Verification Utility 失败
根据提示的错误日志,检查失败的内容:
可以看出是ntp监测失败,这个错误,前面我们已经讨论过了,跳过。
- 点击next 完成grid的安装。
1.2.3.2 安装完成以后,检查
-
检查集群资源
[grid@rac1 grid]$ crs_stat -t -v Name Type R/RA F/FT Target State Host ---------------------------------------------------------------------- ora....ER.lsnr ora....er.type 0/5 0/ ONLINE ONLINE rac1 ora....N1.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac1 ora.OCR.dg ora....up.type 0/5 0/ ONLINE ONLINE rac1 ora.asm ora.asm.type 0/5 0/ ONLINE ONLINE rac1 ora.eons ora.eons.type 0/3 0/ ONLINE ONLINE rac1 ora.gsd ora.gsd.type 0/5 0/ OFFLINE OFFLINE ora....network ora....rk.type 0/5 0/ ONLINE ONLINE rac1 ora.oc4j ora.oc4j.type 0/5 0/0 OFFLINE OFFLINE ora.ons ora.ons.type 0/3 0/ ONLINE ONLINE rac1 ora....SM1.asm application 0/5 0/0 ONLINE ONLINE rac1 ora....C1.lsnr application 0/5 0/0 ONLINE ONLINE rac1 ora.rac1.gsd application 0/5 0/0 OFFLINE OFFLINE ora.rac1.ons application 0/3 0/0 ONLINE ONLINE rac1 ora.rac1.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac1 ora....SM2.asm application 0/5 0/0 ONLINE ONLINE rac2 ora....C2.lsnr application 0/5 0/0 ONLINE ONLINE rac2 ora.rac2.gsd application 0/5 0/0 OFFLINE OFFLINE ora.rac2.ons application 0/3 0/0 ONLINE ONLINE rac2 ora.rac2.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac2 ora.scan1.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac1
-
检查集群节点信息
[grid@rac1 ~]$ olsnodes -n rac1 1 rac2 2
-
检查SCAN LISTENER 的状态
[grid@rac1 ~]$ srvctl status scan_listener SCAN Listener LISTENER_SCAN1 is enabled SCAN listener LISTENER_SCAN1 is running on node rac1
-
查看oracle asm信息
[grid@rac1 ~]$ srvctl status asm -a ASM is running on rac1 ASM is enabled.
-
检查CTSS的状态(集群时间同步服务,)
[grid@rac1 grid]$ crsctl check ctss CRS-4700: The Cluster Time Synchronization Service is in Observer mode.
-
集群同步器处于观察者模式,待激活状态,可能是由于系统中ntp处于启动状态或者存在配置文件,按步骤,停止ntpd,和删除ntp配置文件(rac1、rac2)。
[root@rac1 yum.repos.d]# service ntpd stop Shutting down ntpd: [FAILED] [root@rac1 yum.repos.d]# chkconfig ntpd off [root@rac1 yum.repos.d]# mv /etc/ntp.conf /etc/ntp.conf.bak 执行完成以后,再次检查 [grid@rac1 grid]$ crsctl check ctss CRS-4701: The Cluster Time Synchronization Service is in Active mode. CRS-4702: Offset (in msec): 0
1.2.4 oracle实例的安装
1.2.4.1 oracle软件的安装
xshell直接以oracle用户登录。
-
解压缩orcle的安装包,授权
[root@rac1 ~]# unzip /mnt/hgfs/oracle/linux.x64_11gR2_database_1of2.zip -d /upload [root@rac1 ~]# unzip /mnt/hgfs/oracle/linux.x64_11gR2_database_2of2.zip -d /upload [root@rac1 ~]# chown -R oracle:oinstall /upload/database/ [root@rac1 ~]# chmod -R 755 /upload/database/
-
执行安装命令
[oracle@rac1 ~]$ cd /upload/database/ [oracle@rac1 database]$ ./runInstaller
-
Configure Security Updates > 跳过更新
- Installation Option > 选择只安装数据库软件
- Grid Installation Options > 安装集群数据库
注:这一步如果出现如下错误:
Cause - Either passwordless SSH connectivity is not setup between specified node(s) or they are not reachable. Refer to the logs for more details.,则ssh通信配置有问题,请检查
- Product Languages > 英语
- Database Edition > 企业版
- Installation Location > 选择数据库的安装路径
- Operating System Groups > 操作系统用户组
- Prerequisite Checks > 安装环境检查
根据提示的错误信息,检查配置,这里直接跳过
- 概要窗口 > 完成
- 以root用户执行脚本(rac1,rac2)
- 执行完成以后,返回窗口、点击ok
1.2.4.2 Oracle实例安装后的检查
-
以sqlplus登录,验证实例是否安装成功
[root@rac1 ~]# su - oracle [oracle@rac1 ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Sat Jan 26 08:14:04 2019 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to an idle instance. SQL>
-
查看监听是否启动(没启动,以dbca建库,会报错)
[oracle@rac1 ~]$ lsnrctl status LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 26-JAN-2019 08:14:33 Copyright (c) 1991, 2009, Oracle. All rights reserved. Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production Start Date 26-JAN-2019 06:32:21 Uptime 0 days 1 hr. 42 min. 12 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/11.2.0/grid/network/admin/listener.ora Listener Log File /u01/app/grid/diag/tnslsnr/rac1/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.146.101)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.146.201)(PORT=1521))) Services Summary... Service "+ASM" has 1 instance(s). Instance "+ASM1", status READY, has 1 handler(s) for this service... The command completed successfully
1.2.5 oracle数据库的创建(dbca)
1.2.5.1 执行asmca创建磁盘组
在其中一个节点执行asmca,创建DATA.FRA磁盘组。注意设置成mount-all
- Disk Groups > Create > DATA
- Disk Groups > Create > FRA
- 查看磁盘组
1.2.5.2 执行dbca创建数据库
-
以oracle用户直接登录。执行dbca命令
-
Welcome > 创建集群数据库
- Operations > 创建数据库
- Database Template > 定制数据库
- Database Identification > 指定数据库的信息
- Management Options > 配置EM
- Database Credentials > 所有用户使用同一个密码
- Database File Locations > 指定数据文件所属的共享磁盘组
-
ASM Credentials 指定ASM的密码
-
Recovery Configuration > 指定恢复文件的共享磁盘组FRA
- Database Content > 配置数据库的默认信息(默认即可)
- Initialization Parameters > 配置数据库的初始化参数
- Database Storage > next
- Creation Options > 创建数据库
- 查看数据库的配置信息 > 开始建库
- 等待建库完成
1.2.6 安装完成以后的配置
1.2.6.1 配置远程客户端连接
在oracle的某些版本中,可能出现如下错误,出现错误的原因是oracle的初始化参数local-listener中使用的虚拟的主机名作为监听注册地址,导致错误,解决方法就是,修改初始化参数的值,每个实例都需要修改
C:\Users\kefan>sqlplus sys/oracle@192.168.146.110:1521/orcl as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Sun Jan 27 11:35:07 2019
Copyright (c) 1982, 2016, Oracle. All rights reserved.
ERROR:
ORA-12545: Connect failed because target host or object does not exist
解决办法如下:
-
查看spfile的存储位置,spfile默认存储在asm中,配置文件通过sid来区分不同的实例
SQL> show parameter spfile; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string +DATA/orcl/spfileorcl.ora
可以看出spfile确实是存储在asm中,所有的实例 公用同一个配置文件
-
修改spfile的local_listener值
-
修改RAC1的初始化参数值
alter system set local_listener=’(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.146.201)(PORT=1521))))’ sid=‘orcl1’ scope=both; -
修改RAC2的初始化参数值
alter system set local_listener=’(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.146.201)(PORT=1521))))’ sid=‘orcl2’ scope=both; -
再次测试
C:\Users\kefan>sqlplus sys/oracle@192.168.146.110:1521/orcl as sysdbaSQL*Plus: Release 12.2.0.1.0 Production on Sun Jan 27 11:48:39 2019 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options
1.3 遇到的问题
1.3.1 TNS-01101
-
问题描述
查看scan监听的时候,出现如下错误: [grid@rac1 ~]$ lsnrctl service LISTENER_SCAN1 LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 27-JAN-2019 06:16:57 Copyright (c) 1991, 2009, Oracle. All rights reserved. TNS-01101: Message 1101 not found; No message file for product=network, facility=TNS [LISTENER_SCAN1]
-
出现原因ORACLE_HOME没配置或者配置错误,解决方式如下:添加环境变量
[grid@rac1 ~]$ echo export ORACLE_HOME=/u01/app/11.2.0/grid >> /home/grid/.bash_profile [grid@rac1 ~]$ source /home/grid/.bash_profile [grid@rac1 ~]$ lsnrctl service LISTENER_SCAN1 LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 27-JAN-2019 06:21:11 Copyright (c) 1991, 2009, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1))) Services Summary... Service "orcl" has 2 instance(s). Instance "orcl1", status READY, has 1 handler(s) for this service... Handler(s): "DEDICATED" established:0 refused:0 state:ready REMOTE SERVER (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1-vip)(PORT=1521))) Instance "orcl2", status READY, has 1 handler(s) for this service... Handler(s): "DEDICATED" established:1 refused:0 state:ready REMOTE SERVER (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac2-vip)(PORT=1521))) Service "orclXDB" has 2 instance(s). Instance "orcl1", status READY, has 1 handler(s) for this service... Handler(s): "D000" established:0 refused:0 current:0 max:1022 state:ready DISPATCHER <machine: rac1, pid: 17689> (ADDRESS=(PROTOCOL=tcp)(HOST=rac1)(PORT=16643)) Instance "orcl2", status READY, has 1 handler(s) for this service... Handler(s): "D000" established:0 refused:0 current:0 max:1022 state:ready DISPATCHER <machine: rac2, pid: 17306> (ADDRESS=(PROTOCOL=tcp)(HOST=rac2)(PORT=62769)) The command completed successfully
1.4 rac的维护
1.4.1 数据库维护
-
查看数据库的状态
[grid@rac1 ~]$ srvctl status database -d orcl
-
停止数据库
[grid@rac1 ~]$ srvctl stop database -d orcl
-
启动数据库
[grid@rac1 ~]$ srvctl start database -d orcl
1.4.2 scan维护
-
查看scan vip配置
[grid@rac1 ~]$ srvctl config scan SCAN name: scan-ip, Network: 1/192.168.146.0/255.255.255.0/eth0 SCAN VIP name: scan1, IP: /scan-ip/192.168.146.110
-
查看SCAN VIP 状态
[grid@rac1 ~]$ srvctl status scan SCAN VIP scan1 is enabled SCAN VIP scan1 is running on node rac1
-
查看scan listener
[grid@rac1 ~]$ srvctl status scan SCAN VIP scan1 is enabled SCAN VIP scan1 is running on node rac1
-
查看scan listener的配置
[grid@rac1 ~]$ srvctl config scan_listener SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521
-
查看scan listener的状态
[grid@rac1 ~]$ srvctl status scan_listener SCAN Listener LISTENER_SCAN1 is enabled SCAN listener LISTENER_SCAN1 is running on node rac1
-
查看scan监听的服务信息
如果state的状态,如果为blocked,则有可能是rac某个节点的本地监听没启动,请检查。 LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 27-JAN-2019 06:33:42 Copyright (c) 1991, 2009, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1))) Services Summary... Service "orcl" has 2 instance(s). Instance "orcl1", status READY, has 1 handler(s) for this service... Handler(s): "DEDICATED" established:1 refused:0 state:ready REMOTE SERVER (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1-vip)(PORT=1521))) Instance "orcl2", status READY, has 1 handler(s) for this service... Handler(s): "DEDICATED" established:1 refused:0 state:ready REMOTE SERVER (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac2-vip)(PORT=1521))) Service "orclXDB" has 2 instance(s). Instance "orcl1", status READY, has 1 handler(s) for this service... Handler(s): "D000" established:0 refused:0 current:0 max:1022 state:ready DISPATCHER <machine: rac1, pid: 17689> (ADDRESS=(PROTOCOL=tcp)(HOST=rac1)(PORT=16643)) Instance "orcl2", status READY, has 1 handler(s) for this service... Handler(s): "D000" established:0 refused:0 current:0 max:1022 state:ready DISPATCHER <machine: rac2, pid: 17306> (ADDRESS=(PROTOCOL=tcp)(HOST=rac2)(PORT=62769)) The command completed successfully
更多推荐
所有评论(0)