10G RAC文档格式.docx
《10G RAC文档格式.docx》由会员分享,可在线阅读,更多相关《10G RAC文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
ASM需要的内存不多:
对大部分系统来说只需64MB。
在OracleRAC环境中,ASM实例必须运行在每个集群节点上。
三安装Llinux
1确认RedHatEnterpriseLinux4(RHEL4)的安装(所有节点)
所需内核:
2.6.9-5.EL或更高版本
验证内核版本:
#uname-r
2.6.9-5.ELsmp
其他所需程序包的版本(或更高版本):
make-3.80-5
gcc-3.4.3-9.EL4
compat-db-4.1.25-9
验证已安装的程序包:
#rpm-qmakegcccompat-db
make-3.80-5
如果有程序包没有安装的话,则找到需要安装的程序包,例如
#rpm–ivhmake-3.80-5
2为Oracle配置Linux
创建Oracle组和用户帐户(所有节点,但是第一个节点和其他节点不同)
在一个节点上如下操作。
#/usr/sbin/groupaddoinstall//建立组oinstall
#/usr/sbin/groupadddba//建立组dba
#/usr/sbin/useradd-m-goinstall-Gdbaoracle//建立用户oracle
#idoracle//查看oracle的ID
uid=501(oracle)gid=501(oinstall)groups=501(oinstall),502(dba)
#passwdoracle//设置Oracle口令
用户ID和组ID在所有集群主机上必须相同,如果采用虚拟机拷贝的方式,则自动一样了。
不用如下的操作。
在其余节点上如下操作
#/usr/sbin/groupadd-g501oinstall
#/usr/sbin/groupadd-g502dba
#/usr/sbin/useradd-m-u501-goinstall-Gdbaoracle
#idoracle
#passwdoracle//设置Oracle口令,所有节点设置为相同的密码
创建挂载点(在所有节点上)
以root用户身份执行以下命令:
#mkdir-p/u01/app/oracle//主目录
#chown-Roracle:
oinstall/u01/app/oracle//改变Owner(用户和组)
#chmod-R775/u01/app/oracle//改变目录的权限
配置内核参数(在所有节点上)
以root用户身份登录配置Linux内核参数。
#cat>
>
/etc/sysctl.conf>
EOF
kernel.shmall=2097152
kernel.shmmax=2147483648
kernel.shmmni=4096
kernel.sem=25032000100128
fs.file-max=65536
net.ipv4.ip_local_port_range=102465000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
EOF
#/sbin/sysctl-p
为oracle用户设置Shell限制(在所有节点上)
以root用户身份登录执行以下命令,对每个Linux帐户可以使用的进程数量和打开文件的数量设置限制
/etc/security/limits.conf>
oraclesoftnproc2047//proc的软限制
oraclehardnproc16384//proc的硬限制
oraclesoftnofile1024//文件的软限制
oraclehardnofile65536//文件的硬限制
#cat>
/etc/pam.d/login>
sessionrequired/lib/security/pam_limits.so
/etc/profile>
EOF//KShell
if[$USER="
oracle"
];
then
if[$SHELL="
/bin/ksh"
ulimit-p16384//同proc的硬限制
ulimit-n65536//同文件的硬限制
else
ulimit-u16384-n65536
fi
umask022
/etc/csh.login>
EOF//CShell
if($USER=="
)then
limitmaxproc16384//同proc的硬限制
limitdescriptors65536//同文件的硬限制
endif
EOF
配置Hangcheck计时器(在所有节点上)
该模块是用来监控集群的状态情况。
以root用户登陆
#modprobehangcheck-timerhangcheck_tick=30hangcheck_margin=180//配置
#cat>
/etc/rc.d/rc.local>
EOF//加载
modprobehangcheck
-timerhangcheck_tick=30hangcheck_margin=180
提示1:
linuxas4中已经安装了此模块,使用下面的命令确认:
#find/lib/modules-name"
hangcheck-timer.o"
看看有没有
#modprobehangcheck-timer
#grepHangcheck/var/log/messages|tail-2
Jul3115:
01:
49ha2pubkernel:
Hangcheck:
startinghangchecktimer0.5.0(tickis30seconds,marginis180seconds).
配置/etc/hosts(在所有节点上)
有些Linux发行版本将主机名与回送地址(127.0.0.1)相关联。
如果出现这种情况,则从回送地址中删除主机名。
用于此指南的/etc/hosts文件:
127.0.0.1localhost.localdomainlocalhost
192.168.100.51ds1-priv.orademo.orgds1-priv#ds1private
192.168.100.52ds2-priv.orademo.orgds2-priv#ds2private
192.168.200.51ds1.orademo.orgds1#ds1public
192.168.200.52ds2.orademo.orgds2#ds2public
192.168.200.61ds1-vip.orademo.orgds1-vip#ds1virtual
192.168.200.62ds2-vip.orademo.orgds2-vip#ds2virtual
每个节点有3个IP,一个用于专用网,一个用于公共网络,一个用于虚拟地址
为用户等效性配置SSH(所有节点,第一个节点与其他节点稍有不同)
(1)第一步是生成SSH的公共密钥和专用密钥。
SSH协议有两个版本;
版本1使用RSA,版本2使用DSA,因此我们将创建这两种类型的密钥,以确保SSH能够使用任一版本。
生成的id_rsa.pub和id_dsa.pub文件是您的公共密钥,id_rsa和id_dsa是私有密匙文件需保密。
在每个节点,以oracle用户身份登录:
$mkdir~/.ssh
$chmod755~/.ssh
$/usr/bin/ssh-keygen-trsa
Generatingpublic/privatersakeypair.
Enterfileinwhichtosavethekey(/home/oracle/.ssh/id_rsa):
Enterpassphrase(emptyfornopassphrase):
Entersamepassphraseagain:
Youridentificationhasbeensavedin/home/oracle/.ssh/id_rsa.
Yourpublickeyhasbeensavedin/home/oracle/.ssh/id_rsa.pub.
Thekeyfingerprintis:
4b:
df:
76:
77:
72:
ba:
31:
cd:
c4:
e2:
0c:
e6:
ef:
30:
fc:
37oracle@ds1.orademo.org
$/usr/bin/ssh-keygen-tdsa
Generatingpublic/privatedsakeypair.
Enterfileinwhichtosavethekey(/home/oracle/.ssh/id_dsa):
Youridentificationhasbeensavedin/home/oracle/.ssh/id_dsa.
Yourpublickeyhasbeensavedin/home/oracle/.ssh/id_dsa.pub.
af:
37:
ca:
69:
3c:
a0:
08:
97:
cb:
9c:
0b:
b0:
20:
70:
e3:
4aoracle@ds1.orademo.org
(2)第二步将每个主机上的公共密钥文件id_rsa.pub和id_dsa.pub的内容复制到其他每个主机的~/.ssh/authorized_keys文件中
在第一个节点,以oracle用户身份登录:
$cat~/.ssh/id_rsa.pub>
~/.ssh/authorized_keys
$cat~/.ssh/id_dsa.pub>
~/.ssh/authorized_keys//本地的共享密钥
$sshoracle@ds2cat~/.ssh/id_rsa.pub>
~/.ssh/authorized_keys//另外节点的共享密钥is_rsa.pub
Theauthenticityofhost’ds2(192.168.200.52)’can’tbeestablished.
RSAkeyfingerprintisd1:
23:
a7:
c5:
4e:
10:
d2:
83:
60:
49:
25:
e8:
eb:
11.
Areyousureyouwanttocontinueconnecting(yes/no)?
yes
Warning:
Permanentlyadded’ds2,192.168.200.52’(RSA)tothelistofknownhosts.
oracle@ds2’spassword:
$sshoracle@ds2cat~/.ssh/id_dsa.pub>
~/.ssh/authorized_keys//另外节点的共享密钥is_dsa.pub
$chmod644~/.ssh/authorized_keys//改变权限
现在对其余节点做同样的处理。
请注意,这次SSH会提示您输入在创建密钥时所使用的口令短语而非oracle的口令。
这是因为第一个主机(ds1)现在知道了第二个主机的公共密钥
$sshoracle@ds1cat~/.ssh/id_rsa.pub>
Theauthenticityofhost’ds1(192.168.200.51)’can’tbeestablished.
RSAkeyfingerprintisbd:
0e:
39:
2a:
2d:
f9:
ea:
71:
f5:
3d:
d3:
dd:
3b:
65.
Permanentlyadded’ds1,192.168.200.51’(RSA)tothelistofknownhosts.
Enterpassphraseforkey’/home/oracle/.ssh/id_rsa’:
$sshoracle@ds1cat~/.ssh/id_dsa.pub>
$chmod644~/.ssh/authorized_keys
(3)第三步建立用户等效性(第一个节点)
以oracle用户身份在将要安装Oracle10g软件的节点(ds1)上:
$exec/usr/bin/ssh-agent$SHELL
$/usr/bin/ssh-add
Enterpassphrasefor/home/oracle/.ssh/id_rsa:
Identityadded:
/home/oracle/.ssh/id_rsa(/home/oracle/.ssh/id_rsa)
/home/oracle/.ssh/id_dsa(/home/oracle/.ssh/id_dsa)
注意:
用户等效性仅为当前会话建立。
如果您切换到其他会话或注销并重新登录,则必须再次运行ssh-agent和ssh-add才能重新建立用户等效性。
(4)第四步测试联通性(所有节点之间)
您现在就可以使用ssh在其他集群主机上不必输入口令而登录、执行程序和复制文件了。
$sshds2date
SunJun2719:
07:
19CDT2004
在远程节点上第一次执行操作时才会出现:
Theauthenticityofhost’ds2(192.168.200.52)’can’tbeestablished.
RSAkeyfingerprintis8f:
a3:
19:
4f:
85:
42:
c2:
7a:
da:
53:
85.
yes
所以通过测试连通性(最好公共和私有两个节点名都测试),您不仅确保了远程操作的正常运行,还完成了初始的安全密钥交换。
3准备共享磁盘
三种共享磁盘的方法
(1)Oracle集群文件系统(OCFS)
(2)自动存储管理器(ASM)(3)原始设备
[OCFS]
OCFS第1版是原始设备的一个优秀替代品。
它不仅更易于管理和维护,而且克服了255个原始设备的限制。
但是,它并不是一个通用集群文件系统。
它只能用于存储以下类型的文件:
Oracle数据文件*
联机重做日志*
归档重做日志
控制文件*
Spfile
CRS共享文件(OracleClusterRegistry和CRSvotingdisk)。
*
获取ocfs安装程序
转到RPM。
您需要三个RPM:
ocfs-support、ocfs-tools和ocfs-kernel-specific模块
安装ocfs(在每个节点上,以root身份登陆)
#rpm-Uvhocfs-support-1.0.10-1.i386.rpm
ocfs-tools-1.0.10-1.i386.rpm
ocfs-2.4.21-EL-smp-1.0.12-1.i686.rpm
Preparing...###########################################[100%]
1:
ocfs-support###########################################[33%]
2:
ocfs-tools###########################################[67%]
3:
ocfs-2.4.21-EL-smp###########################################[100%]
LinkingOCFSmoduleintothemodulepath[OK]
配置OCFS(在每个节点上,以root身份登陆)
在每个节点上,以root用户身份运行ocfstool:
#ocfstool
选择Tasks→GenerateConfig
选择与RAC专用网络相对应的接口
单击OK生成/etc/ocfs.conf文件,然后退出ocfstool
对集群中的每个节点重复这些操作。
在/etc/ocfs2/目录下面将有cluster.conf文件,内容应该大致如下
node:
ip_port=7777
ip_address=192.168.200.51
number=0
name=ds1
cluster=ocfs2
node:
ip_address=192.168.200.52
number=1
name=ds2
cluster=ds
cluster:
node_count=2
name=ds
所有节点配置完毕,在所有节点开始加载ocfs
#/sbin/load_ocfs
/sbin/insmodocfsnode_name=ds1.orademo.orgip_address=192.168.100.51
cs=1795guid=2FB60EDD8B872FC4216C00010324C023comm_voting=1ip_port=7000
Using/lib/modules/2.4.21-EL-smp-ABI/ocfs/ocfs.o
kernel-moduleversionmismatch
/lib/modules/2.4.21-EL-smp-ABI/ocfs/ocfs.owascompiledforkernelversion2.4.21-4.ELsmp
whilethiskernelisversion2.4.21-15.0.2.ELsmp
loading/lib/modules/2.4.21-EL-smp-ABI/ocfs/ocfs.owilltaintthekernel:
forcedload
Seehttp:
//www.tux.org/lkml/#export-taintedforinformationabouttaintedmodules
Moduleocfsloaded,withwarnings
在所有节点,为OCFS文件系统创建一个挂载点:
#mkdir/u02
创建OCFS文件系统(在第一个节点上):
#fdisk/dev/sdb//将共