本帖最后由 郑全 于 2020-10-20 21:20 编辑
上一篇文章介绍了如何搭建一台Exadata Cell节点(存储节点)的虚拟机,本篇则继续介绍如何搭建一台DB节点(计算节点)的虚拟机。
总的来说, 搭建DB节点虚拟机的难度比搭建Cell节点虚拟机的难度要小很多,因为绝大多数过程都与在Linux下安装Oracle Clusterware/Database 11gR2的步骤一样,所以我这里不会特别详细的介绍如何搭建一套标准的11gR2的oracle环境。对11gR2 Clusterware/Database安装不熟悉的同学建议观看 思庄OCP 的视频教程,这里就此略过。
值得一提的是这里DB节点并不是仅局限于使用RAC。 例如我这里就使用 Grid Infrastructure for a Standalone Server的方法
OK, Let get started. 首先需要安装一个Linux虚拟机,建议内存为1.5G以上,操作系统还是使用Oracle Linux 5.7。
安装的时候手工配置使用静态ip地址分配:我的网络配置如下:
[oracle@db db]$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:0C:29:FE:18:BC
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.133.112
GATEWAY=192.168.133.1
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
[oracle@db db]$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 db localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
在安装Linux的时候注意选择开发的安装包。没有选择没关系,可以通过配置yum安装oracle-validated。 安装完毕以后,mount Oracle Linux 5.7的iso文件作为yum源,我的做法如下: # mount -o loop /setup/os/OracleLinux-R5-U7-Server-x86_64-dvd.iso /mnt
[root@db ~]# cat /etc/yum.repos.d/ol5.repo
[OL5]
name=OL5
enabled=1
gpgcheck=0
baseurl=file:///mnt/Server/
然后执行yum -y install oracle-validated就安装了所有Oracle需要的rpm包并且默认创建好了所有的用户组和用户。 安装完成以后建议关闭一些不需要的服务以节省系统的资源:
chkconfig --level 2345 auditd off && service auditd stop
chkconfig --level 2345 autofs off && service autofs stop
chkconfig --level 2345 avahi-daemon off && service avahi-daemon stop
chkconfig --level 2345 bluetooth off && service bluetooth stop
chkconfig --level 2345 cups off && service cups stop
chkconfig --level 2345 ip6tables off && service ip6tables stop
chkconfig --level 2345 iptables off && service iptables stop
chkconfig --level 2345 isdn off && service isdn stop
chkconfig --level 2345 kudzu off && service kudzu stop
chkconfig --level 2345 mcstrans off && service auditd stop
chkconfig --level 2345 netfs off && service netfs stop
chkconfig --level 2345 pcscd off && service pcscd stop
chkconfig --level 2345 restorecond off && service restorecond stop
chkconfig --level 2345 rhnsd off && service rhnsd stop
chkconfig --level 2345 sendmail off && service sendmail stop
chkconfig --level 2345 setroubleshoot off && service settroubleshoot stop
chkconfig --level 2345 smartd off && service smartd stop
chkconfig --level 2345 xinetd off && service xinetd stop
chkconfig --level 2345 yum-updatesd off && service yum-updatesd stop
同时建议关闭SELinux: 在/etc/selinux/config中将SELINUX=enabled修改为SELINUX=disabled,然后 echo 0 >/selinux/enforce就关闭了SELinux。 在开始安装Clusterware之前需要创建两个Exadata所需的配置文件。Exadata所需要的配置文件有两个一个是cellinit.ora,此文件中填入DB节点的ip地址和子网掩码。另外一个是cellip.ora, 此文件填入Cell节点的ip地址,我本机的配置如下所示:
[root@db ~]# mkdir -p /etc/oracle/cell/network-config
[root@db ~]# chown -R grid:oinstall /etc/oracle/cell/network-config
[root@db ~]# chmod -R 775 /etc/oracle/cell/network-config
[root@db ~]# vi /etc/oracle/cell/network-config/cellinit.ora
[root@db ~]# cat /etc/oracle/cell/network-config/cellinit.ora
ipaddress1=192.168.133.112/24 --这里是DB机器的IP,不要搞错了,否则,到时出不来GRIDDISK
[root@db ~]# vi /etc/oracle/cell/network-config/cellip.ora
[root@db ~]# cat /etc/oracle/cell/network-config/cellip.ora
cell="192.168.133.110" --这里是cell机器的IP,不要搞错了,否则,到时出不来GRIDDISK
然后就可以开始安装Oracle Grid Infrastructure了。 如果前面的配置正确,在配置ASM一步就能看到Cell的Griddisk了
这些以o/开头的ASM磁盘就是Exadata Cell端创建的griddisk。当然在安装的时候可以选择普通的裸盘(raw disk)而非griddisk作为磁盘组,到Grid Infrastructure安装完毕以后通过asmca来添加/新建新的磁盘组。
创建完成以后如图所示:
如果没有找到griddisk,也可以尝试手工修改ASM_DISKSTRING到”o/cell的ip地址/*”。例如:我的ASM_DISKSTRING为: “o/192.168.56.101/data*” 创建完成以后可以通过SQLPLUS和asmcmd来查看其属性:
创建完成以后可以通过SQLPLUS和asmcmd来查看其属性: [grid@db bin]$ export ORACLE_HOME=/u01/app/grid/product/11.2.0/grid
[grid@db bin]$ export ORACLE_SID=+ASM
[grid@db bin]$ ./sqlplus
SQL> select disk_number, name, failgroup, path, header_status from v$asm_disk where path like 'o/%' order by disk_number;
DISK_NUMBER NAME FAILGROUP PATH HEADER_STATU
----------- ------------------------------ ------------------------------ ---------------------------------------- ------------
0 RECO_CD_DISK01_CELL1 RECO_CD_DISK01_CELL1 o/192.168.133.110/RECO_CD_disk01_cell1 MEMBER
0 DATA_CD_DISK01_CELL1 DATA_CD_DISK01_CELL1 o/192.168.133.110/DATA_CD_disk01_cell1 MEMBER
1 RECO_CD_DISK02_CELL1 RECO_CD_DISK02_CELL1 o/192.168.133.110/RECO_CD_disk02_cell1 MEMBER
1 DATA_CD_DISK02_CELL1 DATA_CD_DISK02_CELL1 o/192.168.133.110/DATA_CD_disk02_cell1 MEMBER
2 RECO_CD_DISK03_CELL1 RECO_CD_DISK03_CELL1 o/192.168.133.110/RECO_CD_disk03_cell1 MEMBER
2 DATA_CD_DISK03_CELL1 DATA_CD_DISK03_CELL1 o/192.168.133.110/DATA_CD_disk03_cell1 MEMBER
3 RECO_CD_DISK04_CELL1 RECO_CD_DISK04_CELL1 o/192.168.133.110/RECO_CD_disk04_cell1 MEMBER
3 DATA_CD_DISK04_CELL1 DATA_CD_DISK04_CELL1 o/192.168.133.110/DATA_CD_disk04_cell1 MEMBER
4 DATA_CD_DISK05_CELL1 DATA_CD_DISK05_CELL1 o/192.168.133.110/DATA_CD_disk05_cell1 MEMBER
4 RECO_CD_DISK05_CELL1 RECO_CD_DISK05_CELL1 o/192.168.133.110/RECO_CD_disk05_cell1 MEMBER
5 DATA_CD_DISK06_CELL1 DATA_CD_DISK06_CELL1 o/192.168.133.110/DATA_CD_disk06_cell1 MEMBER
5 RECO_CD_DISK06_CELL1 RECO_CD_DISK06_CELL1 o/192.168.133.110/RECO_CD_disk06_cell1 MEMBER
6 RECO_CD_DISK07_CELL1 RECO_CD_DISK07_CELL1 o/192.168.133.110/RECO_CD_disk07_cell1 MEMBER
6 DATA_CD_DISK07_CELL1 DATA_CD_DISK07_CELL1 o/192.168.133.110/DATA_CD_disk07_cell1 MEMBER
7 RECO_CD_DISK08_CELL1 RECO_CD_DISK08_CELL1 o/192.168.133.110/RECO_CD_disk08_cell1 MEMBER
7 DATA_CD_DISK08_CELL1 DATA_CD_DISK08_CELL1 o/192.168.133.110/DATA_CD_disk08_cell1 MEMBER
8 RECO_CD_DISK09_CELL1 RECO_CD_DISK09_CELL1 o/192.168.133.110/RECO_CD_disk09_cell1 MEMBER
8 DATA_CD_DISK09_CELL1 DATA_CD_DISK09_CELL1 o/192.168.133.110/DATA_CD_disk09_cell1 MEMBER
9 DATA_CD_DISK10_CELL1 DATA_CD_DISK10_CELL1 o/192.168.133.110/DATA_CD_disk10_cell1 MEMBER
9 RECO_CD_DISK10_CELL1 RECO_CD_DISK10_CELL1 o/192.168.133.110/RECO_CD_disk10_cell1 MEMBER
10 DATA_CD_DISK11_CELL1 DATA_CD_DISK11_CELL1 o/192.168.133.110/DATA_CD_disk11_cell1 MEMBER
10 RECO_CD_DISK11_CELL1 RECO_CD_DISK11_CELL1 o/192.168.133.110/RECO_CD_disk11_cell1 MEMBER
11 RECO_CD_DISK12_CELL1 RECO_CD_DISK12_CELL1 o/192.168.133.110/RECO_CD_disk12_cell1 MEMBER
11 DATA_CD_DISK12_CELL1 DATA_CD_DISK12_CELL1 o/192.168.133.110/DATA_CD_disk12_cell1 MEMBER
ASMCMD> lsdg
ASMCMD> lsdg
State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 4096 4194304 8256 6100 0 6100 0 N DATA/
MOUNTED EXTERN N 512 4096 4194304 3072 2904 0 2904 0 N RECO/
ASMCMD> lsattr -l -G data
Name Value
access_control.enabled FALSE
access_control.umask 066
au_size 4194304
cell.smart_scan_capable TRUE
compatible.asm 11.2.0.0.0
compatible.rdbms 11.1.0.7.0
disk_repair_time 3.6h
sector_size 512
ASMCMD> lsdsk -G data
Path
o/192.168.133.110/DATA_CD_disk01_cell1
o/192.168.133.110/DATA_CD_disk02_cell1
o/192.168.133.110/DATA_CD_disk03_cell1
o/192.168.133.110/DATA_CD_disk04_cell1
o/192.168.133.110/DATA_CD_disk05_cell1
o/192.168.133.110/DATA_CD_disk06_cell1
o/192.168.133.110/DATA_CD_disk07_cell1
o/192.168.133.110/DATA_CD_disk08_cell1
o/192.168.133.110/DATA_CD_disk09_cell1
o/192.168.133.110/DATA_CD_disk10_cell1
o/192.168.133.110/DATA_CD_disk11_cell1
o/192.168.133.110/DATA_CD_disk12_cell1
o/192.168.133.110/RECO_CD_disk01_cell1
o/192.168.133.110/RECO_CD_disk02_cell1
o/192.168.133.110/RECO_CD_disk03_cell1
o/192.168.133.110/RECO_CD_disk04_cell1
o/192.168.133.110/RECO_CD_disk05_cell1
o/192.168.133.110/RECO_CD_disk06_cell1
o/192.168.133.110/RECO_CD_disk07_cell1
o/192.168.133.110/RECO_CD_disk08_cell1
o/192.168.133.110/RECO_CD_disk09_cell1
o/192.168.133.110/RECO_CD_disk10_cell1
o/192.168.133.110/RECO_CD_disk11_cell1
o/192.168.133.110/RECO_CD_disk12_cell1
最后,继续按照标准的流程来安装Oracle Database,建立数据库实例,监听等。 这样一套简单Exadata的虚拟机就搭建好了。
|