快捷搜索:  汽车  科技

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)注意磁盘大小选择大一点,这里选择50G,但并不代表主机硬盘就占用了50G"$"代表非root用户的操作,如grid或者oracle用户下的操作。本文代码或脚本约定:“#”开头的代表在linux的root用户下的操作,“//”代表该命令的注释,复制时需自行删除,

序言

如今IT界技术变化之快,让人难以想象,当我们沉醉于如何使用C ,java开发软件的时候,现在已经是python的世界了;当我们努力地在考取微软认证、思科认证的时候,现在已经是各种云计算、虚拟化了;当我们在运用sql语言做统计分析的时候,现在是各类的大数据分析,机器学习,深度学习了。

近20年来IT业界有这样一个发展故事:以前我们搭建双机,确保一个节点故障业务不中断,我们称为冗余架构;接着我们搭建很多“机”,确保很多个节点故障业务不中断,我们称为分布式计算;再接着在这很多机的基础上安装一个虚拟化系统再虚拟出很多机或很多小服务,我们称为云计算。

现在我们又在云上找块地方搭建虚拟双机,把最开始的实体双机搬进云里,软件系统无缝迁移。从技术的角度来说,是一种进步,实现了计算机行业的细化和再分工,从哲学意义上来说,其实我们折腾了一圈又回到了原点。

在这么多琳琅满目的技术方向和高大上术语面前,本文返璞归真,在一台普通的计算机上虚拟了一个oracle数据库的工程,介绍大家一种最基本的IT技术构架方式,你可以把这一台普通的计算机看成是云,也可以使用自己的电脑安装一个虚拟化软件变成类似计算机云,从而深入了解在这朵云上我们就是这么一步一步完成一个信息系统基础构架的。

约定

本文代码或脚本约定:

“#”开头的代表在linux的root用户下的操作,

“//”代表该命令的注释,复制时需自行删除,

"$"代表非root用户的操作,如grid或者oracle用户下的操作。

在vmware下创建安装一台虚拟的CentOS-6.5

注意磁盘大小选择大一点,这里选择50G,但并不代表主机硬盘就占用了50G

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(1)

添加3块网络适配器,共4块网卡(一块用作公网IP,两块用来连接OpenFiler,还有一块用作心跳)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(2)

在VMware Workstation中打开编辑-虚拟网络编辑器,保证vmnet1和vmnet2是你需要的子网地址,若不是,你需要更改设置。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(3)

选择你的ISO映像文件,然后就可以开机了

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(4)

开始安装,以下不截图的步骤都是默认选择下一步

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(5)

选择上海时间,取消system clock uses UTC前面的勾

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(6)

输入root用户的密码,提示你太简单,不管它

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(7)

磁盘分区选项,采用建议值,勾选预览和修改。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(8)

分区设置预览,此处选中分区可以修改。但是默认把分区都设置好了,其中swap为4000MB,其他为/,即根分区,很正常,你可以直接next

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(9)

引导安装位置,默认即可,也可安装到磁盘开始处。或者自定义boot分区。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(10)

软件安装选项,选择Basic Server,选择customize now 现在定制。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(11)

就到了要安装一些软件的界面,如下

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(12)

总结一下需要安装的软件:

Applications:勾选 Internet Browser 。

Base System:除系统默认勾选外,再勾选 Compatiblity libaries 和Legacy UNIX compatibility

Databases:全部不选,为空

Desktops:除KDE desktop外,全部勾选。

Development:全勾选。

High Availabillity:默认。

Languages:勾选 Chinese support 。

Load Balnacer:默认。

Resilient Storage:默认。

Scalable Filesystem Support:默认。

Service:勾选 NFS file server 、ftp server、 system administration tools

System Mangement:全部不选,为空

Virtuallztion:全部不选,为空

Web services:全部不选,为空

选择后就可以开始安装,等待后重启Reboot

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(13)

创建用户,跳过

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(14)

取消 Enable kdump?前面的勾选,这里是内核恢复,我们用不到,然后Finish

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(15)

重启之后输入root用户和密码,就进入了一台centos的虚拟机

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(16)

我们把Terminal安装到桌面,然后输入df -h,就可以看到磁盘的配置信息了。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(17)

安装VMware Tools

虚拟机安装完成之后,点击VMware Workstation下方提示中的“安装Tools按钮”或点击菜单“虚拟机->安装VMware Tools”启动VMware工具安装任务;会弹出VMware Tools光盘挂载提示,将“VMware Tools光盘目录”中的“VMwareTools-10.1.6-5214329.tar.gz”文件拖拽到桌面上,然后关闭“VMware Tools光盘目录”;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(18)

右键单击桌面上的“VMwareTools-10.1.6-5214329.tar.gz”文件,在快捷菜单中,选择“Extract Here”,解压文件到当前位置上。提取完毕后,直接点击提示框中的关闭按钮关闭提示;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(19)

解压出来的“vmware-tools-distrib文件夹”拖动到tmp文件夹下

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(20)

打开终端,输入以下命令,然后一路回车安装,有些地方需要你输入yes,最后输入reboot重启虚拟机,即可从CentOS虚拟机和主机之间拖拽文件的功能,也可以使用复制粘贴的功能。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(21)

配置网络

我们需要把eth0的网卡配置IP地址,才能够让CentOS虚拟机上网,vi是一个编译器,类似于windows的txt文档,上面命令用于打开文件ifcfg-eth0 可以看到类似下面的东西,按键盘“i”可以对文件进行编辑,编辑后按:wq!保存文件。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(22)

这里说明一下GATEWAY=192.168.5.2是怎么来的。我们打开vmware的编辑-虚拟网络编译器-点击VMnet8,选择NAT设置,可以看到网关的地址,这个地址如果不写入ifcfg-eth0文件,我们是ping不通外部网络的,即不能联通互联网。至于你的主机VMnet8的IP地址,如192.168.5.1,默认在windows开启防火墙下是ping不通的,但也不妨碍你ping通你的主机本地网卡的地址。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(23)

到了这个时候,我们使用SecureCRT就可以登录我们的刚刚做好的虚拟机了。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(24)

做到这里,你是不是看起来像一个计算机高手,至少在普通人看来。

经典rac和存储的系统构架拓扑图

本工程的系统构架,由于IP地址均采用192.168开头,下面系统拓扑图省略了192.168,eth0,eth1,eth2……代表设备上的网卡名称,由于VMware没有光纤交换机的虚拟,我才用了直连模式,同样可以实现存储阵列的多路径选择。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(25)

RAC规划环境

需要搭建3台主机,centos Linux为rac1和rac2,加上1台主机作为共享存储(采用Openfiler)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(26)

hosts文件

这是将要存放到主机上的文件,路径是/etc/hosts。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(27)

此部分是整个工程的重要资料,我们就是按照这个规划来实现的,在项目管理中,再加一点语言描述,就叫做实施方案。

关于openfiler

Openfiler 由rPath Linux驱动,它是一个基于浏览器的免费网络存储管理实用程序,可以在单一框架中提供基于文件的网络连接存储 (NAS) 和基于块的存储区域网 (SAN)。这里仅使用它的 iSCSI 功能为 Oracle11g RAC 需要的共享存储组件实现低成本的 SAN。你可以将它看成是一台磁盘阵列,而这台磁盘阵列采用的是linux系统,它也提供浏览器的操作,使用起来像是一台真实的磁盘阵列。

创建一台虚拟磁盘阵列

此处选择其他linux 2.6.X内核64位;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(28)

注意位置要选择与你准备安装rac2台主机同一个目录;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(29)

建议你磁盘选择大一点,虚拟机就是有这个好处,最大磁盘大小,并不代表你现在用了50GB;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(30)

将内存设置为1GB,添加两块网卡(仅主机模式);

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(31)

选择映像文件放入CD/DVD,我这里下载的是openfileresa-2.99.1-x86_64-disc1.iso,官方网站可以下载;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(32)

开始安装openfiler

选择第一项;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(33)

目前来说还没有中文支持;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(34)

你可以试试选择手工磁盘分区,把Review and modify partitioning layout勾上,顺便复习一些PV,VG之类的知识;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(35)

小插曲:下图是复习逻辑卷管理的知识

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(36)

新建一个/dev/sda1分区,挂载点为/boot,这种分区不能使用逻辑卷;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(37)

剩下的空间创建成物理卷PV(physical volume),每个10G吧,这个是安装linux比较流行的做法,以后扩展也比较方便;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(38)

你建了几个后,会发现从sda4开始就会变成Extended,因为linux中主分区[Primary] 扩展分区[Extended]总数最多是4;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(39)

然后打开LVM,创建一个VG(卷组),命名为VG_OS,把刚才创建的sda2 sda3 sda4 sda5等等加进该VG中;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(40)

较流行的做法,点击“Add”,创建LV(逻辑卷),挂载点为/,即根目录。大小20G左右就可以了;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(41)

再加一个swap,相当于windows下的虚拟内存,2G就可以了;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(42)

你就会看到下图中这种格式了;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(43)

接下来,我们按照rac和存储的系统构架,把规划的IP地址都填上,取消IPv6;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(44)

把Active on Boot打勾,hostname改为operfiler;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(45)

接下来和安装centos是一样步骤,开始漫长的安装了。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(46)

安装完成开始使用operfiler

安装接受重启后,我们会看到下面的登录界面,请你记住:https://192.168.5.115:446 这个网址,我们就可以通过这个地址使用IE之类的浏览器去配置operfiler。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(47)

也可以通过SecureCRT等工具采用ssh协议登录;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(48)

浏览器登陆,默认用户名是operfiler,密码是password;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(49)

配置一台基于openfiler的共享存储

在独立存储设备中,LUN(Logical Unit Number)是最重要的基本单位。LUN可以被SAN中的任何主机访问,不管是透过HBA或是iSCSI。当你安装好OpenFiler之后,接下来就是要将OpenFiler下的磁盘分享出来给虚拟机或网络上的其他主机使用,这就是一台共享存储设备了。

添加一块大容量磁盘

在你的openfiler虚拟机编辑上增加一块硬盘,记住要先关闭虚拟机;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(50)

选择推荐的SCSI;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(51)

我们选择大一点,200G吧,然后开启虚拟机;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(52)

看看我们能不能识别得到刚才添加的硬盘,/dev/sdb: 214.7 GB;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(53)

下面你就可以一步一步创建的OpenFiler下的VG,通过OpenFiler提供的浏览器图形工具,在你登录后,点击Volumes标签

点击右方的Block Devices,可以看到添加的磁盘,点击/dev/sdb;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(54)

点击右下方的Reset,然后点击Create,分区类型为Physical volume;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(55)

点击右上方的Volume Groups;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(56)

输入名称,勾选,点击Add volume group;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(57)

可以看到vmvg已经添加了,点击右方的Add Volume;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(58)

输入内容,调整磁盘大小为2G,卷类型选择block(iSCSI,FC,etc),点击Create,创建逻辑卷;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(59)

依次创建5个逻辑卷,形成下图,你可以创建很多个,但是下面5个是安装oracle rac 必备的;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(60)

开启iscsi Target服务

点击Services标签栏设置iSCSI Target 为Enable 开启服务Start,可以理解为通过iSCSI在一定的网络中公布这些LUN;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(61)

创建新目标 IQN

点击Volumes--iSCSI Targets--Target Configuration,将后面tsn.78574bfe777a这一串修改成racdb.OCR01;用你喜欢用更具含义的字串来替换这个默认目标 IQN 最后一段。再点击Add;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(62)

将相应的 iSCSI 逻辑卷映射到该目标,选择后点击Change;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(63)

LUN Mapping操作

选择LUN Mapping标签,将0 /dev/vmvg/ocr01点击Unmap;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(64)

如此反复操作,创建

iqn.2006-01.com.openfiler:racdb.orc02

iqn.2006-01.com.openfiler:racdb.orc03

iqn.2006-01.com.openfiler:racdb.data

iqn.2006-01.com.openfiler:racdb.fra

然后分别在select iSCSI Target下选择它们,然后Change,再到LUN Mapping标签Unmap。

配置网络访问控制

进入左上角的System,并且直接拉到页面的下方。在Network Access Configuration的地方输入这个网络访问的名称,如vmvg2(这个名称可以随便取)。输入主机的IP段。注意不可以输入单一主机的IP,这样会都无法访问。我们在这边输入192.168.3.0,表示从192.168.3.0这一个网段都可以访问。在Netmask中选择255.255.255.0,并且在Type下拉列表框中选择Share,之后即可以单击Update按钮;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(65)

选择Volumes,选择iSCSI Targets,选择Network ACL,把vmvg2这个网段的Access设置改成Allow,然后Update,反复操作另外4个iqn.2006-01.com……

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(66)

最后通过终端,在命令行下注释掉

iqn.2006-01.com.openfiler:racdb.ocr01 ALL

iqn.2006-01.com.openfiler:racdb.orc02 ALL

iqn.2006-01.com.openfiler:racdb.orc03 ALL

iqn.2006-01.com.openfiler:racdb.data ALL

iqn.2006-01.com.openfiler:racdb.fra ALL

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(67)

这一台虚拟的存储设备,我们就配置完成了!它可以在你允许的网络中被别的主机看到了。下面记录一下这个存储设备的一些信息。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(68)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(69)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(70)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(71)

配置一台oracle rac的主机

先克隆一台centos主机

你还记得我们前面安装了的那台虚拟化centos主机吗?下面讲详细介绍如何配置成可以安装oracle rac的主机。

选择虚拟机-管理-克隆;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(72)

创建链接克隆,这样占用的空间少,速度也非常快,你只要保证你的主机不开,不坏就行了;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(73)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(74)

你可以命名为rac1,也可以其他,但是位置必须与openfiler的虚拟机同一个目录,完成后就可以开启rac1了;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(75)

开机器后,你会看到原来的网卡eth0 eth1 eth2 eth3变了,这是因为Linux 使用udev动态管理设备文件,并根据设备的信息对其进行持久化命名。udev会在系统引导的过程中识别网卡,将mac地址和网卡名称对应起来记录在udev的规则脚本中。而对于新的虚拟机,VMware会自动为虚拟机的网卡生成MAC地址,当你克隆或者重装虚拟机软件时,由于你使用的是以前系统虚拟硬盘的信息;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(76)

重启配置网卡

你首先要把/etc/udev/rules.d/70-persistent-net.rules这个文件删除,再把/etc/sysconfig/network-scripts目录下的ifctg-eth0、ifctg-eth1、ifctg-eth2、ifctg-eth3文件中的HWADDR行注释掉;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(77)

重启系统之后,我们再把ifctg-eth1、ifctg-eth2、ifctg-eth3文件按照第二章的规划配置IP地址,但是首先,你得先查看你现在每块网卡的MAC地址,比如我这里的网络适配器2(选择高级),MAC地址为00:0C:29:7C:71:88,是能够与ifconfig出来的地址对应得上;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(78)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(79)

测试地址连通性

到了这一步,你需要测试验证一下这台rac1与存储openfiler的网络通不通了;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(80)

rac1安装oracle rac需要的设置

我们这里先配置一台rac1主机,后面再克隆出rac2主机。

配置本地yum

把安装光盘放入光驱,把默认yum源备份;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(81)

关闭防火墙

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(82)

修改hosts文件

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(83)

安装包检查

根据Oracle软件安装需要的软件包(官方文档)以下摘取一部分,可以看到Oracle Linux 6 和 Red Hat Enterprise Linux 6它们对于安装Oracle rac 所需要的安装包是一样的,我们使用centos和redhat是使用同样的内核,所以理论上也是一样的;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(84)

运行以下命令安装;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(85)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(86)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(87)

rlwrap包 安装

在Linux下使用SQL*PLUS无法像bush一样上下翻页,也不能退格,只要安装rlwrap即可实现这些功能。

我们把下载的rlwrap-0.41.tar.gz安装包拉入rac1的tmp目录下;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(88)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(89)

安装iSCSI initiator

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(90)

scsi initiator主要通过iscsiadm命令管理,我们先查看提供服务的iscsi target机器上有哪些target,可以看到存储的iSCSI target的编号和名称,由于在虚拟机上我们用于管理,192.168.5.0这个网段是可以连通的,所以3个IP地址都可以看到;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(91)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(92)

小知识点-删除iscsi链接信息,可用于重新连接。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(93)

配置多路径multipath

检查centos自带的多路径rpm包是否都已安装;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(94)

使用yum安装,启动multipath;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(95)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(96)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(97)

到了这里,我建议你按先克隆一台centos主机和重启配置网卡的步骤,克隆一台rac2主机,然后修改hostname和IP地址,注意将rac2的文件夹保存在与rac1文件夹相同的位置。

安装oracle rac前的准备工作

测试网络连通性

rac2主机已经配置好了,你需要测试与rac1主机的连通性,与存储的连通性

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(98)

创建组和用户(rac1和rac2)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(99)

创建安装目录及授权(rac1和rac2)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(100)

配置用户环境变量(rac1和rac2)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(101)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(102)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(103)

系统文件设置(rac1和rac2)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(104)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(105)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(106)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(107)

时间同步设置(rac1和rac2)

RAC 时间同步有两种方式:NTP和CTSS,这里使用CTSS是oracle自带的服务,则需要停用NTP服务(默认是开启)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(108)

编辑/etc/multipath.conf

获取共享存储盘的scsi_id号,依此执行如下命令。首先检查当前系统已经探测到的所有盘符,由于对存储的网卡都做了探测,所以系统上盘符对应的iqn会有重复,比如sdb和sdc对应的都是lun-0;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(109)

获取存储分配给服务器的逻辑盘lun的wwid信息(rac1和rac2是一样的)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(110)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(111)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(112)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(113)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(114)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(115)

配置权限

将文件usr/share/doc/device-mapper-1.02.79/12-dm-permissions.rules复制到/etc/udev/rules.d/,清空原有的内容,进行如下修改,rac2也作同样配置

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(116)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(117)

配置udev规则

为保证重启系统后,wwid与我们绑定的LUN是一致的,我们必须配置udev规则,我们从上面可以看到磁盘是从sdb开始,到sdp结束。

所以使用下面命令,把规则写入文件 /etc/udev/rules.d/99-oracleASM.rules中去

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(118)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(119)

可以看到文件/etc/udev/rules.d/99-oracleasm.rules中有很多WWID重复的行,你只需要保留5个,其他WWID重复相同的行删掉。就可以得到并保证我们即将使用的如asm-diskb这个盘对应的就是14f504e46494c455250426c5953782d6f586f742d534d514f这个WWID,不管重启之后,这个WWID是变成sdc或者sdq,我们用的就是这个WWID的盘,这个WWID就是磁盘阵列唯一给我们的,然后把这个文件复制到rac2上面,保持两边一致性。重启udev,就可以看到两边一致了。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(120)

安装grid

上传oracle软件

本次安装的是网上下载的学习版本

p13390677_112040_Linux-x86-64_1of7.zip

p13390677_112040_Linux-x86-64_2of7.zip

p13390677_112040_Linux-x86-64_3of7.zip

点击链接SFTP标签页,按下图步骤上传安装文件;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(121)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(122)

在 rac1 上解压安装包,解压到/tmp 目录下, 解压出 database 目录和 grid 目录;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(123)

在 rac2 上,提取一个cvuqdisk-1.0.9-1.rpm包,是一个验证工具;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(124)

安装集群验证工具(cvu)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(125)

配置ssh互信

我们使用sshUserSetup.sh的脚本,该脚本在我们刚才上传后解压的目录下(/tmp/grid/sshsetup),在rac1上以root用户执行以下命令;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(126)

测试一下,第二次不用输入密码,则表示SSH对等性配置成功。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(127)

安装前检查

切换到grid用户,在/tmp/grid目录下,执行脚本;

你会看到一堆pass,除了下面这3个:

第1个是缺少pdksh包,我们在网上下载安装,也可以忽略;

第2个是NTP,我们已经取消,不用理会;

第3个是没有配置DNS(只在hosts文件里标明),检测/etc/resolv.conf会失败的,可以忽略该警告,直接 ignore 即可 不影响安装。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(128)

安装pdksh包

在rac1和rac2上,这个包不安装也是可以的。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(129)

安装grid

进入rac1虚拟机,打开终端,输入以下脚本,弹出图形化安装界面;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(130)

接着按下图一步一不操作;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(131)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(132)

在语言选择框选多一个简体中文;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(133)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(134)

只有rac1,点击add,添加rac2;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(135)

网络有指定是public和private;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(136)

使用ASM;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(137)

Disk Group Name 写上OCR,点击Change Discovery Path,修改磁盘路径为/dev/asm-disk*;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(138)

可以看到我们配置的5块盘,我们选择2048MB的3块,作为OCR磁盘;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(139)

设备密码;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(140)

这里默认;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(141)

继续默认;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(142)

还是默认;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(143)

再度默认;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(144)

出现下面2个failed,上文说了,可以忽略,1个warning,也可以忽略;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(145)

点击Ignore All前面的勾,忽略它;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(146)

点击Yes;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(147)

Install开始安装。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(148)

执行orainstRoot.sh和root.sh脚本

到达76%的时候,弹出这个对话框,千万不能关闭,转到secureCRT上执行脚本;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(149)

两边节点用 root 用户执行脚本,先让 rac1和rac2 执行orainstRoot.sh,再让 rac1和rac2 执行root.sh;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(150)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(151)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(152)

回到图形安装界面,点击OK;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(153)

到了最后一步,弹出INS-20802错误,查看日志;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(154)

说明scan ip已经存在,我们在自己电脑上ping scan ip(192.168.5.222),可以ping通,那这个错误可以忽略,不予理睬,

导致这个错误的原因是在/etc/hosts中配置了SCAN的地址,未使用DNS来进行SCAN的解析;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(155)

点击next,弹出 【INS-32091】software installation was successful.But sone configuration assistants failed were cancelled or skipped.我们选择yes。可以看到完成了。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(156)

校验grid是否安装成功

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(157)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(158)

安装创建database

安装数据库软件

在虚拟机rac1上,打开终端,输入以下命令,进入图形安装界面

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(159)

取消邮件支持;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(160)

点yes;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(161)

跳过软件升级;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(162)

只安装数据库软件;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(163)

默认会把rac1和rac2都选上,选择Oracle Real Application Clusters database installation,下一步;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(164)

增加简体中文,下一步;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(165)

默认;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(166)

还是默认;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(167)

选择oinstall,下一步;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(168)

开始检查配置环境;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(169)

这几个问题都可以忽略;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(170)

确认忽略;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(171)

开始安装 install;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(172)

弹出执行脚本,在rac1和rac2上以root用户执行,然回到图形界面点击OK;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(173)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(174)

数据库软件已经安装完成,如下图。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(175)

测试安装结果

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(176)

asmca创建ASM磁盘组

在虚拟机rac1上,su - grid切换到grid用户,然后输入asmca命令,进入创建界面,创建FRA 和 DATA 磁盘组,

点击Create;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(177)

填写名称为FRA,选择External(None),勾选/dev/asm_diskk作为fra磁盘组,点击OK;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(178)

OK;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(179)

可以看到增加了FRA磁盘组,再点击Create;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(180)

填写名称为DATA,选择External(None),勾选/dev/asm_diskn作为data磁盘组,点击OK;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(181)

可看到3个磁盘组都是mounted状态;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(182)

在rac2上,你可以使用下面命令查看磁盘组状态。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(183)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(184)

创建一个数据库

在 虚拟机rac1 上, su - oracle切换到oracle用户, 用命令 dbca 进入图形界面,创建 orcl 数据库。默认下一步;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(185)

默认;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(186)

还是默认;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(187)

写好你的全局数据库名称,点击Select All,把rac1和rac2都选上,下一步;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(188)

去掉Configure Enterprise Manager前面的勾,下一步;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(189)

设置sys和system密码,提示密码复杂度没达到推荐的复杂度,Yes, 下一步;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(190)

选择文件的安装区域,点击Browse;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(191)

选择DATA,点击OK,下一步;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(192)

选择快速闪回区的区域空间,点击Browse;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(193)

选择FRA,点击OK,下一步;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(194)

默认,下一步;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(195)

设置 SGA, 默认占内存的 40%,默认,下一步;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(196)

点击Sizing,设置连接数,我们默认;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(197)

点击Character Sets,设置字符集,我们本次选择UTF-8,这个选择以后不能更改,请根据你的数据库使用进行选择,然后下一步;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(198)

默认,下一步;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(199)

点击Finsih,开始安装;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(200)

点击OK;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(201)

开始漫长的安装;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(202)

弹出这个对话框,点击Password Management;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(203)

把scott用户的勾去掉,我们可以用来测试,安装结束;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(204)

查看安装结果;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(205)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(206)

查看asm磁盘情况;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(207)

登录oracle orcl数据库,使用scott用户连接,会提示密码超期,需要重新设置;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(208)

以上oracle rac的工作就全部安装完成了。

-模拟故障

模拟rac2故障

把rac2关机,模拟一台主机坏了,然后在rac1上,可以看到rac2没有了,但是rac1还是继续在工作;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(209)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(210)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(211)

试试登录scott用户,查询表,没有问题。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(212)

模拟修复了rac2

开启rac2,模拟rac2已经修好了,这里模拟的是rac2硬件中如主板、CPU、内存、电源故障,不包括硬盘故障,硬盘故障操作系统没有了,一切配置都需要重新设置;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(213)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(214)

小知识点:在默认情况下,非正常情况下关闭数据库(就是我们刚才模拟的rac2故障),则在重启系统后,数据库会自动启动;如果是按正常流程关闭数据库,重启系统后,数据库就不会自动启动了。

机房停电正常关机测试

在现实中,我们经常会出现机房电路改造等情况需要停电,下面步骤就是正常安全的关闭;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(215)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(216)

然后就可以关闭服务器,接着关闭磁盘阵列了,最后这些设备都可以断电(如有光纤交换机一般也可以直接断电)。

正常开机启动

启动顺序尤其重要,必须先启动磁盘存储阵列,再启动光纤交换机,等到磁盘阵列可以登录后,再开启两个节点rac1和rac2的操作系统,开启操作系统后,我们可以看到rac默认开机会自启动的,只是数据库没有启动;

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(217)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(218)

启动数据库,没有问题,业务恢复正常。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(219)

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(220)

总结常用的一些命令

以下是常用的命令,不一定需要用到。

oracle数据库基本介绍(一个ORACLE数据库的虚拟工程)(221)

猜您喜欢: