设为首页 收藏本站
查看: 2102|回复: 0

[经验分享] redhat linux 6.3 oracle 11g rac 双机搭建

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-12-9 08:57:07 | 显示全部楼层 |阅读模式
数据库:
P10404530_112030_linux-x86-64_1of7.zip
P10404530_112030_linux-x86-64_2of7.zip
集群件(11G中的GRID):
P10404530_112030_linux-x86-64_3of7.zip
这三个包
操作系统:
Redhat6.3

1        安装准备1.1  安装操作系统PATCHES1.1.2       安装PATCHESyum install -y inutils compat* glibc ksh-*libaio* libgcc libstdc++ make gcc* glibc-devel libaio-devel libstdc++ sysstatglibc* libstdc++ elfutils-libelf-devel rpm -ivh --nodeps --forcebinutils-2.20.51.0.2-5.34.el6.x86_64.rpm
rpm -ivh --nodeps --forcecompat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
rpm -ivh --nodeps --forceglibc-2.12-1.80.el6.x86_64.rpm
rpm -ivh --nodeps --force ksh-*.rpm
rpm -ivh --nodeps --forcelibaio-0.3.107-10.el6.x86_64.rpm
rpm -ivh --nodeps --forcelibgcc-4.4.6-4.el6.x86_64.rpm
rpm -ivh --nodeps --forcelibstdc++-4.4.6-4.el6.x86_64.rpm
rpm -ivh --nodeps --forcemake-3.81-20.el6.x86_64.rpm
rpm -ivh --nodeps --forcecompat-libcap1-1.10-1.x86_64.rpm
rpm -ivh --nodeps --forcegcc-4.4.6-4.el6.x86_64.rpm
rpm -ivh --nodeps --forcegcc-c++-4.4.6-4.el6.x86_64.rpm
rpm -ivh --nodeps --forceglibc-devel-2.12-1.80.el6.x86_64.rpm
rpm -ivh --nodeps --forcelibaio-devel-0.3.107-10.el6.x86_64.rpm
rpm -ivh --nodeps --forcelibstdc++-devel-4.4.6-4.el6.x86_64.rpm
rpm -ivh --nodeps --forcesysstat-9.0.4-20.el6.x86_64.rpm
rpm -ivh --nodeps --forcecompat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
rpm -ivh --nodeps --forceglibc-2.12-1.80.el6.x86_64.rpm
rpm -ivh --nodeps --forceglibc-devel-2.12-1.80.el6.x86_64.rpm
rpm -ivh --nodeps --forcelibaio-0.3.107-10.el6.x86_64.rpm
rpm -ivh --nodeps --forcelibaio-devel-0.3.107-10.el6.x86_64.rpm
rpm -ivh --nodeps --forcelibgcc-4.4.6-4.el6.x86_64.rpm
rpm -ivh --nodeps --forcelibstdc++-4.4.6-4.el6.x86_64.rpm
rpm -ivh --nodeps --forcelibstdc++-devel-4.4.6-4.el6.x86_64.rpm
rpm -ivh --nodeps --forceelfutils-libelf-devel-0.152-1.el6.x86_64.rpm
1.2  主机网络配置
主机网络设置检查:hosts文件系修改、网卡IP配置。
1.        编辑hosts文件,将如下内容添加到hosts文件中,指定Public IP、VIP、Private IP。
2.        Vi /etc/hosts
172.16.64.129            rac1
172.16.64.130            rac2

10.10.10.10           racpriv1
10.10.10.11           racpriv2

172.16.64.131           racvip1
172.16.64.132           racvip2

172.16.64.133           scanip

192.168.8.181   rac1
192.168.8.182   rac2

192.168.1.10    racpriv1
192.168.1.20    racpriv2

192.168.8.184   racvip1
192.168.8.185   racvip2

192.168.8.190   scanip
3.        网卡的IP地址已经在系统安装过程中配置完成,可以使用如下命令检查IP配置情况:#ifconfig

1.3  安装任务1.3.1       创建操作系统组和用户在两个节点创建相应的操作系统组和用户,先创建组,然后创建用户:
以root用户使用如下命
groupadd -g 1301 asmadmin
groupadd -g 1302 asmdba
groupadd -g 1303 asmoper
groupadd -g 1304 oinstall
groupadd -g 1305 dba
useradd -u 1300 -g oinstall -G asmadmin,asmdba,asmoper grid
useradd  -u 1310 -g oinstall -G dba,asmdba oracle
使用passwd命令为grid(密码:grid)和oracle(密码:oracle)账户设置密码。
#passwd jsepc01!
#passwd jsepc01!

1.3.2       创建软件安装目录结构并更改权限在两个节点创建相应的目录改变属主并改变权限
以root用户使用如下命
mkdir /grid
mkdir -p/u01/app/oracle/product/11.2.0/dbhome_1
mkdir -p /u01/app/grid/11.2.0
chown -R grid:oinstall /u01
chown -R grid:oinstall /grid
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01

1.3.3       修改用户概要文件在两个节点上分别修改
grid用户.bash_profile
添加如下内容:
exportORACLE_BASE=/u01/app/grid
exportORACLE_HOME=/u01/app/11.2.0/grid
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

oracle用户.bash_profile
添加如下内容:
exportORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
exportPATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

1.3.4       修改限制条件在两个节点上分别执行,以root用户进行编辑
vim /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

1.3.5       修改内核参数关闭所有节点防火墙用root用户在两个节点分别编辑
vim /etc/sysctl.conf

添加内容:
kenel.shmmni = 4096
kenel.sem = 25032000100128
fs.aio-max-nr = 1048576
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 900065500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
vm.hugetlb_shm_group = 501

用root用户关闭两个节点防火墙:
#Service iptables status
#Service iptables stop

1.3.6       配置互信[grid@rac1 ~]# rm -rf $HOME/.ssh  两个节点都要执行
rm -rf /root/.ssh
集群软件解压之后
cd/grid/grid/sshsetup
[grid@rac1 sshsetup]$ pwd
/u01/grid/grid/sshsetup

此步骤只要在一个节点上执行
[grid@rac1sshsetup]$ ./sshUserSetup.sh -user  grid-hosts "rac1 rac2" -advanced -noPromptPassphrase

此步骤只要在一个节点上执行
[grid@rac1 sshsetup]$ ./sshUserSetup.sh -user oracle-hosts "rac1 rac2" -advanced –noPromptPassphrase

两个用户(Grid和Oracle)都要验证互信
ssh rac1 date
ssh racpriv1 date
ssh rac2 date                                       
ssh racpriv2 date
没有提示输入密码则成功

1.3.7       存储分区(在一个节点上执行)所有规划的设备进行分区,例如在节点1上对sdc盘进行划盘:
[iyunv@rac1~]# fdisk /dev/sdc               
WARNING: DOS-compatible mode is deprecated.It's strongly recommended to
        switch off the mode (command 'c') and change display units to
sectors (command 'u').

Command (m for help): p

Disk /dev/sde: 536.9 GB, 536870912000 bytes
255 heads, 63 sectors/track, 65270cylinders
Units = cylinders of 16065 * 512 = 8225280bytes
Sector size (logical/physical): 512 bytes /512 bytes
I/O size (minimum/optimal): 512 bytes / 512bytes
Disk identifier: 0x000d60dc

  Device Boot      Start         End      Blocks  Id  System

Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-65270, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G}(1-65270, default 65270):
Using default value 65270

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
所有节点同步分区
Partprobe
注意:本例的存储是按照一般情况来配置的,实际划分请根据情况而定。

1.3.8       绑定裸设备用root用户两个节点都需执行:
vim /etc/udev/rules.d/60-raw.rules
# Enter raw device bindings here.
#                          
# An example would be:
#  ACTION=="add", KERNEL=="sda", RUN+="/bin/raw/dev/raw/raw1 %N"
# to bind /dev/raw/raw1 to /dev/sda, or
#  ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="1",
RUN+="/bin/raw /dev/raw/raw2 %M%m"
# to bind /dev/raw/raw2 to the device withmajor 8, minor 1.
#for ocr_voting
ACTION=="add",KERNEL=="sdc1",RUN+="/bin/raw/dev/raw/raw1 %N"
ACTION=="add",KERNEL=="sdc2",RUN+="/bin/raw/dev/raw/raw2 %N"
ACTION=="add",KERNEL=="sdd1",RUN+="/bin/raw/dev/raw/raw3 %N"
ACTION=="add",KERNEL=="sdd2",RUN+="/bin/raw/dev/raw/raw4 %N"
ACTION=="add",KERNEL=="sde1",RUN+="/bin/raw/dev/raw/raw5 %N"
ACTION=="add",KERNEL=="sde2",RUN+="/bin/raw/dev/raw/raw6 %N"
ACTION=="add",KERNEL=="sdf1",RUN+="/bin/raw/dev/raw/raw7 %N"
ACTION=="add",KERNEL=="sdf2",RUN+="/bin/raw/dev/raw/raw8 %N"
KERNEL=="raw[1-8]", OWNER="grid",GROUP="asmadmin", MODE="0660"

重启 UDEV:
# /sbin/start_udev

验证:
[iyunv@db1 rules.d]# ll /dev/raw
total 0
crw-rw---- 1 grid asmadmin 162,  1 Jul 28 15:19 raw1
crw-rw---- 1 grid asmadmin 162,  2 Jul 28 15:19 raw2
crw-rw---- 1 grid asmadmin 162,  3 Jul 28 15:19 raw3
crw-rw---- 1 grid asmadmin 162,  4 Jul 28 15:19 raw4
crw-rw---- 1 grid asmadmin 162,  5 Jul 28 15:19 raw5
crw-rw---- 1 grid asmadmin 162,  6 Jul 28 15:19 raw6
crw-rw---- 1 grid asmadmin 162,  7 Jul 28 15:19 raw7
crw-rw---- 1 grid asmadmin 162,  8 Jul 28 15:19 raw8
crw-rw---- 1 root disk     162, 0 Jul 28 15:19 rawctl
2        安装Grid节点1用GRID用执行:
[grid@rac1grid]$ ./runI*
wKiom1SFRyeSeT1FAAEpKaxqWS4188.jpg
wKiom1SFR6-QxrSgAAECB0_cFwY195.jpg
wKioL1SFSE7CJjDtAAEEK92P5nA500.jpg
wKioL1SFSF7DVbj2AAEmTypIyu0647.jpg

wKioL1SFSG7CL_7zAAEoZNR-vS0802.jpg
注:在上图的SCAN name中,填写在/etc/hosts中定义的scan名字在配置网络增强界面时,规划好的集群名、SCAN名,SCAN端口,不勾选ConfigureGNS(GNS需要DHCP服务器配合,本次部署无DHCP服务器):
本例中我们使用的是/etc/hosts解析,所以直接填写scanip,即可。
Next:   

wKiom1SFR-ixSnxdAAHMqWJm1Wo600.jpg

wKioL1SFSKPwFiOmAAHS13mCNfc233.jpg
wKioL1SFSL6hEsu1AAGADCz2kXI833.jpg
wKiom1SFSGzgpr6_AAGHL-c_Of4049.jpg
wKiom1SFSHXBtetkAAFQYfqXlZk088.jpg
wKioL1SFSRKiIHp7AAGm-5pWpic557.jpg
wKioL1SFSWXB_-BzAAGOJcaN9Cc334.jpg
wKioL1SFSW7gEjDpAAEuDlkDfZ4734.jpg
wKiom1SFSOXgYeu2AAFVkiXRBSM835.jpg
wKiom1SFSPTB8D7VAAGZe2oEalg479.jpg
wKioL1SFSfqwgCciAAGHgFLi_TQ107.jpg
wKiom1SFSXHS1A9TAAE5Zlq4eyE034.jpg
wKioL1SFSg2DedclAAHJjT78cgk194.jpg
wKiom1SFSZji0FsnAAHSHFYmlMA453.jpg

wKiom1SFSarioWX7AAHWt2F6bjU292.jpg wKioL1SFSj2i3zKYAAHjv42Vq78341.jpg
注:执行上述脚本千万要注意顺序
先在节点1和节点2执行:
/u01/app/oraInventory/orainstRoot.sh
其次在节点1和节点2执行:
/u01/app/11.2.0/grid/root.sh
如下图:

wKiom1SFSgzg7EQaAADOjV1Brlg708.jpg wKioL1SFSqCQYCFhAAHnC5xeCdI301.jpg
执行成功后点继续:
wKioL1SFSrHD5y85AAHmqRHOYzc294.jpg
如有上述两个错误可以忽略。
wKiom1SFSiaQDOWWAAEDSwgscF0346.jpg
点击Close安装完成。

3        安装数据库软件
这里只安装数据库软件,之后再用dbca命令建立集群实例。安装完database软件后,需要建立ASM磁盘组。
使用oracle用户登录进行安装。
wKiom1SFTkLBX-I8AAEi2cdQ1Vw984.jpg wKioL1SFTtWCMpd3AAFOQKA7odI304.jpg
选择不接收更新,Next:

wKiom1SFTljhTVeoAAEaRSj0J5A567.jpg
选择只安装数据库软件,Next:

wKioL1SFTvaRHO8MAAFUBTTMdUo366.jpg
选择real application cluster database installlation,然后选中所有的节点,Next:

wKiom1SFTnfBxLzdAAFH_SA9nEo001.jpg
wKioL1SFTw_QWEpcAAFcovh41gw602.jpg

选择数据库版本:Enterprise Edition,Next:

wKioL1SFTxzReW4kAAFYNwLYazI109.jpg
选择安装目录,Next:

wKioL1SFT2zSw7T0AAE-xsVQVOY942.jpg
Next:
wKiom1SFTu3DbuYMAAD9fR4Ri3o552.jpg
开始执行安装前检查

wKioL1SFT77iNYXnAAGVH-n_pqY699.jpg
点击Ignore all继续安装。
wKiom1SFTzXD-OMUAAFUWDyAkOc647.jpg
点击Install进行安装:

wKiom1SFTz2jfbpHAAF96zEVpKI936.jpg

wKioL1SFT9zDe9jCAAGjdiOHu-U690.jpg
安装进度大概至94%时,提示需要运行相关脚本,按要求顺序执行,正确执行完毕后点击:OK
wKioL1SFT_-CzhInAADgOg8i0AY188.jpg
关闭窗口,完成database的安装。
4        创建ASM磁盘组
在建库前需要先创建存储数据文件的ASM磁盘组。以grid用户登录,执行asmca命令:
wKioL1SFUF-REH1PAAB6nI5dOMU850.jpg
弹出如下对话框:、
wKiom1SFT9jgu0MeAAEqr6nJEEc584.jpg
切换到Disk Group界面,点击Create:
wKioL1SFUHTRfjybAAIBHIUxh6M509.jpg
这里我们只选择raw5作为数据文件存放位置,各现场根据自身情况选择。
wKiom1SFT-igYctqAAG90yZ2vuw166.jpg
完成后如上图:

继续选择create创建闪回恢复区存放位置,如下图:
wKioL1SFUISiqDVeAAIERZviVeE306.jpg
这里选择raw3
wKiom1SFT_iAGc48AAGpUyez_30934.jpg

创建完成后如下图:
wKioL1SFUJWiFB9-AAFMX3A88h8081.jpg
5        DBCA创建数据库
使用oracle用户,运行dbca来建立RAC集群实例。
$dbca
wKioL1SFURSiz9IYAAEmuf61Ju0758.jpg
选择建立RAC数据库,Next:
wKioL1SFUSPRQGDoAAEGk-JFa-I982.jpg
wKiom1SFUJjTiXrUAAFLccy-gwU967.jpg
Next:
wKiom1SFUKGCrddaAAGc4sHaDvU830.jpg
Next:

wKioL1SFUTvyF01ZAAEPltzKwhM663.jpg
wKiom1SFUMfSYQ35AAEbYx1OlDE166.jpg

wKioL1SFUWORX4lVAAF4wbQx94k845.jpg
wKiom1SFUOjjTO8UAAEigAHihjs384.jpg
这里没选择闪回。

wKioL1SFUcKBh3OzAAEfusuZnFI328.jpg
wKiom1SFUS-T7uawAAFYIvm5tW8732.jpg
这里各地请按照自己实际物理内存来配置,选择自动内存管理

wKioL1SFUdPgM_yMAAE1KrmFF5A059.jpg

进程数调整至500





wKioL1SFUj_zoSQSAAGCrEDNOEg752.jpg
wKioL1SFUj_DfLLvAAGh30mUrSw654.jpg
wKiom1SFUayBt28qAAEE_ACPSCc165.jpg
wKioL1SFUkDRvAz8AAJFi0s8ScE485.jpg
wKiom1SFUazhfZuiAAGZqxbWcP4079.jpg
待完成后点击EXIT退出即可。

6      验证服务6.1   客户端连接RAC
现在可以用SQL*PLUS连接到RAC,这时用户的连接可能被定向到任何一个节点,可以通过视图查看当前的连接实例。
通过SQL*PLUS连接RAC。
[oracle@rac1]$sqlplus sys/password@SGTMS
查看当前连接的实例。
SQL>select instance_name fromv$instance;
SGTMS1
6.2   验证Failover(故障转移)(1)连接到RAC。
[iyunv@rac1]#sqlplus sys/password@SGTMS
(2)确认用户当前连接的实例。
SQL>select instance_name fromv$instance;
SGTMS1
用户当前连接到SGTMS1这个实例,不要退出这个回话,第4步还是在这个回话中执行。
(3)关闭SGTMS1这个实例,或者把SGTMS1所在的这台主机关机。
SQL>shutdown  abort;
(4)等待几秒钟,再次执行这个语句,还是在会话1中执行。
SQL>select instance_name fromv$instance;
SGTMS2
这时因为SGTMS1实例被关闭,用户连接自动被转移到SGTMS2这个实例上了。
6.3   验证LoadBalance(负载均衡)这个验证需要两个脚本,一个是SHELL脚本test.sh,另一个是SQl脚本test.sql。
(1)SHELL脚本test.sh内容如下。
#!/bin/sh
#Usage: test SGTMS 4000
count=0
while [$count -lt $2] # Set up a loopcontrol
do
  count='expr $count+1' #Increment the counter
  sqlplus -s username/password@$1 @test.sql
  sleep 1
done
(2)SQL脚本test.sql内容如下。
col Instance_name for a20
select instance_name  from  v$instance
/
(3)准备好脚本后,就可以进行这个测试了。
./test.sh SGTMS 1000
(4)准备执行完后,查看每个实例建立的连接数量。
SQL> select  inst_id,count(*)  from  gv$session  group  by inst_id;
SGTMS1 496
SGTMS2  504           



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-37629-1-1.html 上篇帖子: CentOS安装Oracle 11g R2(x86_64) 下篇帖子: ORACLE 11G在Linux下的标准安装方法 oracle linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表