Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7655440
  • 博文数量: 1770
  • 博客积分: 18684
  • 博客等级: 上将
  • 技术积分: 16357
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-02 10:28
个人简介

啥也没写

文章分类

全部博文(1770)

文章存档

2024年(15)

2023年(44)

2022年(39)

2021年(46)

2020年(43)

2019年(27)

2018年(44)

2017年(50)

2016年(47)

2015年(15)

2014年(21)

2013年(43)

2012年(143)

2011年(228)

2010年(263)

2009年(384)

2008年(246)

2007年(30)

2006年(38)

2005年(2)

2004年(1)

分类:

2007-07-25 16:45:02

Solaris9 + SDS + RAC 安装配置
目的:实现suncluster + RAC系统。
硬件环境:2台v280,2块光纤卡,2块4口网卡;
sun磁盘阵列3510 (5*73G),5块硬盘,采用raid5 +space方式。
软件: solaris 9 04/09 ,
suncluster-3_1_904-sparc.zip ,sc-agents-3_1_904-sparc.zip以及suncluster补丁
操作系统补丁: 9_Recommended.zip
光纤卡驱动:SAN_4.4.6_install_it.tar
Oracle 9i (32位) ORCLudlm该包一定要有的(升级的时候必须先升)
disksuite做逻辑卷管理。suncluster做集群管理
注明:由于采用sun自带的sds做卷管理软件,故操作系统要求04/09以后的版本,oracle要求9.2.0.5(本例以sun32,安装oracle32位9206实现)
充分条件:
For SVM(sds)
- Solaris 9 9/04 (Solaris 9 update 7)
- SVM Patch 116669-03, this is required SUN patch
- Sun Cluster 3.1 Update 3
- Oracle 9.2.0.5 + Oracle patch 3366258

关机推荐命令: sync ;sync;sync; init 5;
关闭集群命令: scshutdown –h –y –g0 ; power off
进入控制台(OBP) ,sync;init 0 ; 进入ok状态
一 :操作系统 安装
首先对sun提供的系统安装盘做简要说明(参考蜘蛛大侠的:):
suncluster3.1 在Sun Java Enterprise System (Volume3)中。
硬件环境:SUN sparc 1Ghz, 1Gmem, 73G
软件安装: solaris 9
1, 系统加电,放入光盘
2, 出现图形界面后按 STOP + A 进入控制台 ok 状态,可以通过show-devs,查看硬件设备的。输入:boot cdrom ,从光盘启动。
3, 考虑v280避免出现分区满的麻烦,将2台v280的分区设置如下(单位:M):
0-----/ 60500 (可以有效避免分区出现满的现象)
1-----swap 4096 (设置成内存的4倍较好,4G)
2-----
3-----/s3 5120 (系统备份)
4-----/globaldevices 512 (安装集群需要的)
5------
6----
7----- 100
空余 51M 不做任何处理。
注意分区时留出c0t0d0s6、c0t0d0s7两个分区,其中s6应该大于150MB,c0t0d0s7应该大于10mb
设置完后显示如下: 容量:69994M
空闲: 51M
系统安装正确后,df -h 可以看到刚才的分区大小。Swap为4096M
(曾经犯过错误将swap写成了/swap,否则会没有4G的swap空间的。当然可以采用mkfile和swap –a来增加了…,其中的2表示整个硬盘,不要分区。)
4, 选择正确的时区。
5, 选择第一个操作系统(OEM,否则会用到第四张盘)安装或者第二个。
6, 设置正确的ip等等。
7, 根据提示放入相应的安装盘。
8, 安装完毕后,重起;注释/etc/default/login中的 CONSOLE=/dev/console以及在/etc/ftpd/ftuser中注释root。便于root通过ftp传输文件。
9, 安装完毕,安装补丁文件。到sun的网站:
... s&nav=patchpage
下载对应操作系统的补丁
solaris9分别是:9_Recommended.zip 和9_SunAlert_Patch_Cluster.zip;
在/usr目录下#mkdir os_patch_20051205 os_suncluster os_fabre
ftp以二进制格式上传到/usr/os_patch_20051205目录

10, 进入/usr/os_patch_20051205分别解压:unzip 9….zip
unzip 9…..zip
进入9_Recommended执行 ./install_cluster ,键入y
安装过程中出现 failed , returned code 2
可以参见:
Sun Solaris Install Patch Return Code
When adding patched to a solaris box you sometime get these error messages esp. 2 and 8 and sometimes 5 and 25. Here's what the all mean.
Exit code Meaning
0 No error
1 Usage error
2 Attempt to apply a patch that's already been applied
3 Effective UID is not root
4 Attempt to save original files failed
5 pkgadd failed
6 Patch is obsoleted
7 Invalid package directory
8 Attempting to patch a package that is not installed
9 Cannot access /usr/sbin/pkgadd (client problem)
10 Package validation errors
11 Error adding patch to root template
12 Patch script terminated due to signal
13 Symbolic link included in patch
14 NOT USED
15 The prepatch script had a return code other than 0.
16 The postpatch script had a return code other than 0.
17 Mismatch of the -d option between a previous patch install and the current one.
18 Not enough space in the file systems that are targets of the patch.
19 $SOFTINFO/INST_RELEASE file not found
20 A direct instance patch was required but not found
21 The required patches have not been installed on the manager
22 A progressive instance patch was required but not found
23 A restricted patch is already applied to the package
24 An incompatible patch is applied
25 A required patch is not applied
26 The user specified backout data can't be found
27 The relative directory supplied can't be found
28 A pkginfo file is corrupt or missing
29 Bad patch ID format
30 Dryrun failure(s)
31 Path given for -C option is invalid
32 Must be running Solaris 2.6 or greater
33 Bad formatted patch file or patch file not found
34 The appropriate kernel jumbo patch needs to be installed
patch是当前的补丁,o是以前的补丁号,r是安装本补丁前需要的补丁,I是冲突的补丁,p是针对的软件包

安装9_Recommended ,重起.
#showrev –p |wc -l 大概有564个patch
11, 安装光纤通道卡的驱动,一开始还傻不拉几的在所有的盘里面找驱动,后来得到ACE的指点才搞定呵呵
将该包SAN_4.4.6_install_it.tar.Z传到v280上 /usr/os_patch_fabre_20051207,unzip,tar解压安装。重起。
在ok状态:probe-scsi-all 可以看到。当然format下也可以看到。
二,安装suncluster之前的准备工作
1,配置网卡以及
现场条件:v280上有5个网口。
现将v280上的网口规划如下:qfe0和qfe1做公网。qfe2和qfe3做心跳,不需要设置ip,qfe0、qfe1作为共网的ip。
查看当前的版本#isainfo –b
启动32位,ok. boot kernel/unix
启动64位,ok. boot kernel/sparcv9/unix
单用户设置终端:
LANG=en_US.UTF-8
export LANG
tcsrv1操作如下(启用网卡):
#ifconfig qfe0 plumb
#ifconfig qfe0 192.168.1.1 netmask 255.255.255.0
#ifconfig qfe0 up
#ifconfig –a
可以看到qfe1的ip,为了重起后生效:修改/etc下的文件:
#vi hosts ,增加如下:tcsrv1 192.168.1.1
tcsrv2 192.168.1.2
#vi hostname.qfe0 ; 内容为tcsrv1
#vi hosts.equiv 增加一个 +
#vi /.rhosts 增加tcsrv1
tcsrv2
#vi /etc/ssh/sshd_config 中的:PermitRootLogin 为yes
#vi /etc/netmasks 修改成如下:
192.168.1.0 255.255.0.0
172.16.0.0 255.255.0.0
#eeprom local-mac-address?=true
对于tcsrv2上做类似操作,只要将qfe0的ip改为192.168.1.2
vi hostname.qfe0 ,增加为: tcsrv2
2:安装SAN_4.4.6_install_it 安装光纤通道卡的驱动
已经安装完操作系统的补丁以及SUNWsan,重起,showrev –p |wc –l ,大概有586
format就可以看到除了0以外的其他硬盘分区了。
3:配置IPMP以及部分系统配置
I:Check file /etc/name_to_major for
Global Devices: did 300
When using SDS/SVM: md 85 (只有安装了sc才会有的)
II,配置IPMP(相当于Tru64里面的网卡冗余netrain)
tcsrv1上ip: 192.168.1.1 (qfe0) -- 浮动ip为: 192.168.1.201
192.168.1.202
tcsrv2上ip: 192.168.1.2(qfe0) -- 浮动ip为: 192.168.1.203
192.168.1.204
以tcsrv2为例,网口qfe0(安装操作系统的时候已经使用为共网ip)和qfe1作为冗余,qfe2和qfe3作为心跳。操作如下:
a:查看当前的配置:ifconfig –a
b:配置唯一的mac地址: # eeprom local-mac-address?=true(09/04版本默认是true)
#ifconfig qfe1 plumb
c:通过命令实现,设置2个网口qfe0/qfe1的测试ip为192.168.1.203/204
现在进行把它加入IPMP的组里去:
#ifconfig qfe0 group ipmptest
#ifconfig qfe0 addif 192.168.1.203 deprecated –failover
netmask 255.255.255.0 broadcast 192.168.1.255 up
#ifconfig qfe1 plumb 192.168.1.204 netmask 255.255.255.0 broadcast 192.168.1.255 group ipmptest up deprecated -failover standby up
#ifconfig –a 查看
止此,在线的ipmp配置成功,你可以做一下网络切换。拔去qfe0的网线,看看能否切换到qfe1上。当然了,你也可以通过命令来测试切换。下面的这个命令把浮动ip切换到qfe1上,并且qfe0状态是offline。
# if_mpadm -d qfe0
# if_mpadm -r qfe0
d,以上配置方式假如在v280重起后将会失效。为了使得永久的生效,修改配置文件:
vi /etc/hostname.qfe0,增加如下:
192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255 group ipmptest up addif 192.168.1.203 deprecated -failover netmask 255.255.255.0 broadcast 192.168.1.255 up
vi /etc/hostname.qfe1,增加如下:
192.168.1.204 netmask 255.255.255.0 broadcast 192.168.1.255 group ipmptest up deprecated -failover standby up
重起生效。
e,在/etc/hosts中增加:
#IPMP
192.168.1.203 tcsrv2 tcsrv2-ipmptest-qfe0
192.168.1.204 tcsrv2 tcsrv2-ipmptest-qfe1
登录到tcsrv1完成类似的配置,浮动ip设置为192.168.1.1;
qfe0/qfe1测试ip为:192.168.1.201/202
III: 系统其他的设置
两个节点都进行操作
#vi /.rhosts
tcsrv1
tcsrv2
#vi /etc/hosts
192.168.1.1 tcsrv1 loghost
192.168.1.2 tcsrv2
#vi /etc/hosts.equiv
+
#vi /etc/ssh/sshd_config 将PermitRootlogin no à yes
#vi /etc/ftpd/ftpusers 将root 用户注释
#vi /etc/default/login 将 CONSOLE=/dev/console 注释
#vi /etc/profile 增加如下
PS1="`hostname`# "
export PS1
PATH=$PATH:/opt/SUNWcluster/bin:/usr/cluster/bin:/usr/cluster/lib/sc:/usr/cluster/dtk/bin
export PATH
MANPATH=$MANPATH:/usr/cluster/man:/opt/SUNWcluster/man:/usr/cluster/dtk/man:/usr/man
export MANPATH
#vi /etc/system 增加给安装oracle使用
*
* add for oracle RAC para 20051230
*
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=100
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10
set semsys:seminfo_semmni=2048
set semsys:seminfo_semmsl=2048
set semsys:seminfo_semmns=2048
set semsys:seminfo_semmap=1024
set semsys:seminfo_semume=200
set semsys:seminfo_semopm=256
set semsys:seminfo_semvmx=32767
forceload: sys/shmsys
forceload: sys/semsys
forceload: sys/msgsys
* end add
*(重起后)不过奇怪的是:没有生效,sysdef |grep SHMMNI|awk ‘{print $1}’
4:备份系统,先安装sun_web_console.
#unzip suncluster-3_1-904-sparc.zip –d suncluster-3_1-904-sparc
安装sun_web_console. 于两个节点上.
#./usr/os_patch/suncluster-3_1_904-sprc/Solaris_sparc/Product/sun_cluster/Solaris_9/Tools/scinstall
#./usr/os_patch/suncluster-3_1_904-sprc/Solaris_sparc/Product/sun_web_console/2.1/setup
说明:已经存在s3分区, 将源盘/dev/dsk/c1t0d0s0
备份到/dev/rdsk/c1t0d0s3
#mkdir /a
#sync
#sync
#init 6
ok boot cdrom –sw
#nohup ufsdump 0f - /dev/rdsk/c1t0d0s0|(mount /dev/dsk/c1t0d0s3 /a;cd /a;ufsrestore rf –)&
假如需要恢复:则执行如下:
# newfs /dev/dsk/c1t0d0s0 (将/破坏)
#nohup ufsdump 0f - /dev/rdsk/c1t0d0s3 |(mount /dev/dsk/c1t0d0s0 /a;cd /a;ufsrestore rf -) & (ufsrestore 解压ufsdump生成的文件)
# umount /a
#/usr/sbin/installboot /usr/platform/sun4u/lib/fs/ufs/bootblk /dev/rdsk/c1t0d0s0
可以使用iostat –xcn 2 5 查看磁盘读写
5:对于某分区没有挂上:执行如下操作
假设挂到/s5 目录
#mkdir /s5
#format ,p ,p 选择需要分区的5, 选择开始之处(需要注意的是从磁道的最后+1处开始),指定大小. 分配完毕后,label; 退出!
#newfs /dev/dsk/c1t0d0s5
#mount /dev/dsk/c1t0d0s5 /s5
#df –h 就可以看到该分区已经挂上.进入/s5 ,可以发现 lost+found
#vi /etc/vfstab 仿照其他分区写上.重起机器后永久生效.
三,安装SC3.1以及补丁
1:选择两台同时安装.
在tcsrv2上执行安装.这样会以tcsrv1为主节点.
Tcsrv2# 进入suncluster-3_1_904-sparc 中对应的solaris9
选择安装所有的节点.
节点为tcsrv1和tcsrv2群集名为:testcluster,由于采用的是心跳,
对于“端到端电缆” 是否采用传输结点 ---- 选择no (不需要配置交换机)
… (默认选项)自动检测网口
….(参见tccluster_install安装过程.)
…….
安装完后会自动重新引导系统.
自此安装suncluster完毕。
可以查看安装的脚本:
2:安装完后,安装patch:
安装如下补丁:两个节点上都执行:
#cd /usr/os_patch/sc-agents-3_1_904/components/SunCluster_HA_Oracle_3.1/Solaris_9/Packages
#ls –l
SUNWcscor SUNWjscor SUNWscor
#pkgadd –d . 选择all ,安装完毕.
#cd
/usr/os_patch/sc-agents-3_1_904/components/SunCluster_Oracle_RAC/Solaris_9/Packages
由于系统采用svm,故只需要下面的4个包.
#ls –l
SUNWscmd SUNWscucm SUNWudlm SUNWdlmr
假如安装CVM,则需要 SUNWcvm SUNWcvmr
假如需要删除,则执行 #pkgrm SUNWcvm ;pkginfo SUNWcvm
#pkgadd –d .
#showrev –p|wc –l 597
3:出错处理
假如出错,需要进行删除sc操作如下:
启动的时候两边总是报告一些奇怪的现象,那就修复吧,fsck -y
再通过ctrl + d 总算是启动了!(其实导致这个的真正原因是OS的版本要高于09/04)
在两边操作:scdidadm –L 发现结果一样,说明cluster都已经找到设备了,但是竟然报告的是一样的说明是有问题的!
现将其cluster删除。需要先删除具体操作如下:
boot -x
scinstall –r
#rm –rf /etc/cluster/ccr (一定要删除)
rm –r /var/cluster /usr/cluster /etc/cluster
vi /etc/vfstab,将原来所有的dis参数恢复,重建/global/devices –就是将注释#去掉
rm /etc/ntp.conf
vi /etc/nsswitch.conf,除去cluster选项 ,恢复被注释的file
rm –r /dev/did
rm –f /devices/pseudo/did*
安装完成后,也没有报告任何错误!
重起后使用# scdidadm -L
报告scdidadm :无法装入 DID实例列表
Can't open /etc/cluster/ccr/did_instances
怎么回事啊?
在/etc/vfstab中的globaldevices并每一个给挂到/dev/did/dsk/d2s5 下啊!
并且我发现我没有/dev/did/dsk 这个目录
#cfgadm 重新生成管理配置文件
#scdidadm –r 重新配置数据库,在该节点查找suncluster
#sccheck 进行检查sc以及patch安装是否合理.
四:Sun Cluster 3.1安装后的配置/补丁
scstat –p 查看结果:
1:检查安装是否成功:
查看Sun Cluster中的DID设备名:
在tcsrv1和tcsrv2上:
scdidadm –L结果如下:
1 tcsrv2:/dev/rdsk/c0t6d0 /dev/did/rdsk/d1
2 tcsrv2:/dev/rdsk/c1t0d0 /dev/did/rdsk/d2
3 tcsrv2:/dev/rdsk/c3t44d3 /dev/did/rdsk/d3
3 tcsrv1:/dev/rdsk/c3t40d3 /dev/did/rdsk/d3
4 tcsrv2:/dev/rdsk/c3t44d2 /dev/did/rdsk/d4
4 tcsrv1:/dev/rdsk/c3t40d2 /dev/did/rdsk/d4
5 tcsrv2:/dev/rdsk/c3t44d1 /dev/did/rdsk/d5
5 tcsrv1:/dev/rdsk/c3t40d1 /dev/did/rdsk/d5
6 tcsrv2:/dev/rdsk/c3t44d0 /dev/did/rdsk/d6
6 tcsrv1:/dev/rdsk/c3t40d0 /dev/did/rdsk/d6
7 tcsrv1:/dev/rdsk/c0t6d0 /dev/did/rdsk/d7
8 tcsrv1:/dev/rdsk/c1t0d0 /dev/did/rdsk/d8
tcsrv1上:scdidadm –l?结果如下:
3 tcsrv1:/dev/rdsk/c3t40d3 /dev/did/rdsk/d3
4 tcsrv1:/dev/rdsk/c3t40d2 /dev/did/rdsk/d4
5 tcsrv1:/dev/rdsk/c3t40d1 /dev/did/rdsk/d5
6 tcsrv1:/dev/rdsk/c3t40d0 /dev/did/rdsk/d6
7 tcsrv1:/dev/rdsk/c0t6d0 /dev/did/rdsk/d7
8 tcsrv1:/dev/rdsk/c1t0d0 /dev/did/rdsk/d8
tcsrv2上:scdidadm –l?结果如下:
1 tcsrv2:/dev/rdsk/c0t6d0 /dev/did/rdsk/d1
2 tcsrv2:/dev/rdsk/c1t0d0 /dev/did/rdsk/d2
3 tcsrv1:/dev/rdsk/c3t40d3 /dev/did/rdsk/d3
4 tcsrv2:/dev/rdsk/c3t44d2 /dev/did/rdsk/d4
5 tcsrv1:/dev/rdsk/c3t40d1 /dev/did/rdsk/d5
6 tcsrv1:/dev/rdsk/c3t40d0 /dev/did/rdsk/d6
1、2, 7、8 都分别对应本地设备。
倘若在一个节点上找不到阵列了,使用:devfsadm -C
或者重新map一下。
2:配置NTP协议
tcsrv1# vi /etc/inet/ntp.conf.cluster 由于系统中只有2个节点,所以只要保留如下2个就可以来,其余注释掉。这样在启动的时候就不会报告节点错误了.
peer clusternode1-priv prefer
peer clusternode2-priv
对于tcsrv2也是同样的ntp协议
#scstat –p 查看
重起tcsrv1,tcsrv2 : #sync;sync;sync; shutdown -y -g0
3: 修改/kernel/drv/md.conf
ok boot -r
#vi /kernel/drv/md.conf
nmd=2048
md_nsets=6 说明最多支持32个卷,共支持8192个软分区
执行scgdevs,使之生效.
#scgdevs
4: 添加链接,仅仅是sc3.1 在两个节点完成
Create the link:
ln -s /usr/cluster/lib/libexpat.so.0.4.0 /usr/cluster/lib/libexpat.so.0
5:检查
Check file /etc/name_to_major for
Global Devices: did 300
When using SDS/SVM: md 85
#scshutdown –y –g0 ; 至PROM等级,输入power-off;
6:安装solaris and oracle Data Service via
A:由于使用Solaris Volume Manager for Sun Cluster (RAC only, no OPS)
#pkgadd -d . SUNWscucm SUNWudlm SUNWudlmr SUNWscmd
B: If using HW raid raw devices for dataL) ()
#pkgadd -d . SUNWscucm SUNWudlm SUNWudlmr SUNWschwr –没有执行
C: Add the HA-Oracle package for the failover management
#pkgadd -d . SUNWscor
#pkgadd -d . SUNWcscor
以上补丁安装完成后
重新启动.
7:增加oracle组/用户,在2个节点上执行。同时更新 /etc/system
Set up the Oracle Group and User, e.g:
Add following line to /etc/group:
dba:*:520:root,orasrv
# useradd -c "oracle" -d /rdbm/orasrv -m
-g dba -s /bin/ksh -m orasrv
# chown -R orasrv:dba /rdbm/orasrv
#chmod -R u+rws /rdbm/orasrv ;chmod –R g+s /rdbm/orasrv
# passwd orasrv
在oracle用户的HOME目录下增加.rhosts,,内容位tcsrv1,tcsrv2,同时将.profile,.ksh_fxns更新。
8: 在2个节点上安装RAC的分布式文件锁ORCLudlm安装,oracle补丁—for 32位(由于在64位os上安装32位oracle,可以在oracle的安装盘里面找到Disk1/racpatch目录里面,此处可以直接打oracle将要升级到那个版本的racpatch ---3.4.
boot –x ; 非群集状态下打补丁:
#ls –l
ORCLudlm ORCLudlm.tar README.udlm release_notes.3345
#pkgadd -d . ORCLudlm
9:在2个节点上修改 /etc/opt/SUNWcluster/conf/udlm.conf
oracle.maxproc : 2000
oracle.maxres : 100000
oracle.maxlock : 200000
oracle.dba.gid : dba
oracle.useISM : 1
10:在2个节点上增加/etc/opt/SUNWcluster/conf/SC30.cdb
cmm.nodes : 2
cluster.node.0.tcsrv1 : 172.16.193.1
cluster.node.1.tcsrv2 : 172.16.193.2
其中:通过ifconfig –a 查看 172.16.193.1 为clprivnet0
重起两个节点,使之以上补丁生效
11:清除安装模式和加Quorum盘
在主节点tcsrv1上执行
选择d6作为Quorum盘。 (d6是100M,scdidadm –L|grep c3t44d0) 只需要在一个节点做
tcsrv1# scsetup
…..
12:创建metadb数据库,DiskSuite套件solaris9自带,无需安装。
停机,将另外2块72G的硬盘分别插入v280。
ok probe-scsi-all 或者 devalias 可以查看到新增加的硬盘disk1
先生成replicas,供DiskSuite内部用(不急着做mirror,到最后做。)
使用s7分区 (100M)
disk分步情况:
0:c1t0d0 (系统引导盘)
1:c1t1d0 (新增加的一块硬盘)
注:0,1做镜像,即Raid1;
在两个节点上操作:
开机后执行:devfsadm ,然后format就可以看到增加的硬盘了;在2个节点上分别操作.
tcsrv1#scdidadm –r 重新配置did,搜索所有硬盘
tcsrv1# scdidadm -L
1 tcsrv2:/dev/rdsk/c0t6d0 /dev/did/rdsk/d1
2 tcsrv2:/dev/rdsk/c1t0d0 /dev/did/rdsk/d2
3 tcsrv1:/dev/rdsk/c3t40d3 /dev/did/rdsk/d3
3 tcsrv2:/dev/rdsk/c3t44d3 /dev/did/rdsk/d3
4 tcsrv1:/dev/rdsk/c3t40d2 /dev/did/rdsk/d4
4 tcsrv2:/dev/rdsk/c3t44d2 /dev/did/rdsk/d4
5 tcsrv1:/dev/rdsk/c3t40d1 /dev/did/rdsk/d5
5 tcsrv2:/dev/rdsk/c3t44d1 /dev/did/rdsk/d5
6 tcsrv1:/dev/rdsk/c3t40d0 /dev/did/rdsk/d6
6 tcsrv2:/dev/rdsk/c3t44d0 /dev/did/rdsk/d6
7 tcsrv1:/dev/rdsk/c0t6d0 /dev/did/rdsk/d7
8 tcsrv1:/dev/rdsk/c1t0d0 /dev/did/rdsk/d8
9 tcsrv2:/dev/rdsk/c1t1d0 /dev/did/rdsk/d9 (新增加的)
调整第二块硬盘(c1t1d0)的文件分区表调整为和引导盘一致:
#prtvtoc /dev/rdsk/c1t0d0s2 | fmthard -s - /dev/rdsk/c1t1d0s2
fmthard:New volume table of contents now in place
创建meta数据库
# metadb –afl 8192 –c 3 c1t0d0s7
# metadb –afl 8192 –c 3 c1t1d0s7

13:注册资源 (或者用下面的 16 来完成相同的操作)
在一个节点上.可以通过 #scrgadm –p 查看
#scconf –p 查看cluster配置
#scsetup ,选3,选1,yes,1,yes,回车,s,q,q,退出
#scstat –p
或者通过下面的14来完成
20060111通过scsetup来完成,选择数据服务…..
14:根据需要配置RAC资源
若已经通过scsetup完成rac-framework-rg,rac_framework,SUNW.rac_framework 资源。
则#scsetup 将刚才注册的资源全部删除
注册SUNW.oracle_rac_server资源,在tcsrv1节点上执行:
重新配置
# scrgadm -a -t SUNW.rac_framework
# scrgadm -a -t SUNW.rac_udlm
# scrgadm -a -t SUNW.rac_svm
# scrgadm -a -g rac-rg -y maximum_primaries=2 -y
desired_primaries=2 -y nodelist=tcsrv1,tcsrv2
# scrgadm -a -j rac-framework-rs -g rac-rg -t
SUNW.rac_framework
# scrgadm -a -j rac-udlm-rs -g rac-rg -t SUNW.rac_udlm
-y resource_dependencies=rac-framework-rs
# scrgadm -a -j rac-svm-rs -g rac-rg -t SUNW.rac_svm
-y resource_dependencies=rac-framework-rs
激活资源
# scswitch -Z -g rac-rg
#scstat 可以看到状态为联机
#scrgadm –pv 查看
15-17 的操作可以参见xxxx_磁盘阵列3510分区实施LUN ************
15:磁盘阵列分区说明
参见
16::创建oracle卷
说明磁盘设备为裸设备
在tcsrv2上操作
a:创建多拥有者磁盘集
tcsrv2# metaset -s ora_data -M -a -h tcsrv2 tcsrv1
在2节点上使用 #scstat –D 可以看到:
多所有这设备组 : ora_data tcsrv2,tcsrv1
或者使用 #scconf –pvv|grep ora_data 进行查看
在tcsrv2上设置
#metaset
多属主组名称 = ora_data, 组号 = 1 , 主 =
主机 属主 成员
tcsrv1 是
tcsrv2 是
b:将全局设备添加到a中创建的磁盘集ora_data中
#metaset –s ora_data –a /dev/did/dsk/d5 (通过 format 和scdidadm –L 查到d5
此时通过format,查看对应d5,p,p 会看到分区格式已经发生变化)
#metaset
多属主组名称 = ora_data , 组号 = 1 , 主 = tcsrv2
主机 属主 成员
tcsrv1 多属主 是
tcsrv1 多属主 是
驱动 Dbase
d5 是
c:为在步骤a中创建的磁盘集创建Oracle Real Application Clusters 数据库将使用的卷
#metainit –s ora_data d55 1 1 /dev/did/dsk/d5s0
ora_crs/d55: Concat/Stripe 已经设置
#metaset –s ora_data
多属主组名称 = ora_data, 组号 = 1 , 主 = tcsrv2
主机 属主 成员
tcsrv1 多属主 是
tcsrv2 多属主 是
驱动 Dbase
d5 是
#metastat –s ora_data
#scstat -D
更改volume-list属性,在2个节点分别操作:
#chown orasrv:dba /dev/md/ora_data/rdsk/*
#chmod u+rw /dev/md/ora_data/rdsk/*
以上已经完成了对磁盘阵列3510的LUN ――c3t40d0的设置, 下面继续对剩下的LUN设置:
17对t_data进行设置
1.创建多拥有者磁盘集
# metaset -s t_data -M -a -h tcsrv1 tcsrv2
2. 将全局设备添加到您在步骤1 中创建的磁盘集
# metaset –s t_data –a /dev/did/dsk/d4
3. 为在步骤1中创建的磁盘集创建Oracle Real Application Clusters 数据库将使用的卷。
# metainit –s t_data d77 1 1 /dev/did/dsk/d4s0
4. 检验是否已将每个节点正确添加到多拥有者磁盘集中
#metastat –s t_data
5. 检验是否已正确配置多拥有者磁盘集。
#scconf –pvv|grep t_data
6. 检验多拥有者磁盘集的联机状态。
# scstat –D
7. 在可以拥有磁盘集的每个节点上,更改在步骤3 中创建的每个卷的拥有权
#chown oracle:dba /dev/md/t_data/rdsk/*
#chmod u+rw /dev/md/t_data/rdsk/*
20060104 软分区:
对ora_data进行软分区:
d60就是D55的软分区,同时设置属性(下面的每个软分区都执行一次),该裸设备对应:system 表空间
d61就是D55的软分区,同时设置属性,该裸设备对应:tools表空间
注意需要分配两个POWERUNDO表空间 ,RAC需要
2组6个redo 日志

#metainit –s ora_data d60 –p d55 500M ------ SYSTEM
#metainit –s ora_data d61 –p d55 500M ------ TOOLS
#metainit –s ora_data d62 –p d55 4096M ----- POWERDB
#metainit –s ora_data d63 –p d55 5120M ----- POWERUNDO
#metainit –s ora_data d64 –p d55 15360M ----- POWERINDX
#metainit –s ora_data d65 –p d55 5120M ----- POWERTEMP
# metainit –s ora_data d66 –p d55 100m ------ spfile
# metainit –s ora_data d67 –p d55 1000m ------ users
# metainit –s ora_data d68 –p d55 100m ------ control01
# metainit –s ora_data d69 –p d55 100m ------ control02
# metainit –s ora_data d70 –p d55 500m ------ srvcfg
# metainit –s ora_data d71 –p d55 20480M ----- POWERHIS
# metainit –s ora_data d72 –p d55 100m ------ control03
# metainit –s ora_data d73 –p d55 100m ------ redo01
# metainit –s ora_data d74 –p d55 100m ------ redo01
#metainit –s ora_data d75 –p d55 200M ----- POWERUNDO02
若出错,请用#metaclear –s ora_data –a 进行清除。再执行:
#metainit –s ora_data d55 1 1 /dev/did/dsk/d5s0,然后再执行上面的软分区操作。
****************************************************************************
*************************************************************************************
15-17具体的编号对应可以参考:3510 分区LUN 文档。
18:配置RAC所需要的裸设备
主要包括:
1. The control file
2. The spfile.ora
3. Each datafile
4. Server Manager (SRVM) configuration information
Dbca will create:
System tablespace 500M /dev/md/ora_data/rdsk/d60
Tools tablespace 500M /dev/md/ora_data/rdsk/d61
POWERDB tablespace 4096M /dev/md/ora_data/rdsk/d62
POWERUNDO 5120M /dev/md/ora_data/rdsk/d63
POWERINDX 15360M /dev/md/ora_data/rdsk/d64
POWERTEMP 5120M /dev/md/ora_data/rdsk/d65
spfile 100m /dev/md/ora_data/rdsk/d66
users 1000m /dev/md/ora_data/rdsk/d67
control01 100m /dev/md/ora_data/rdsk/d68
control02 100m /dev/md/ora_data/rdsk/d69
srvmcfg 100m /dev/md/ora_data/rdsk/d45
POWERHIS 20480m /dev/md/ora_data/rdsk/d71
redo01 100m /dev/md/ora_data/rdsk/d72
redo02 100m /dev/md/ora_data/rdsk/d73
POWERUNDO02 5120M /dev/md/ora_data/rdsk/d74
两个节点上:在orasrv用户的$HOME目录下增加DBCA_RAW_CONFIG.txt :
SYSTEM=/dev/md/ora_data/rdsk/d60
TOOLS=/dev/md/ora_data/rdsk/d61
POWERDB=/dev/md/ora_data/rdsk/d62
POWERUNDO=/dev/md/ora_data/rdsk/d63
POWERINDX=/dev/md/ora_data/rdsk/d64
POWERTEMP=/dev/md/ora_data/rdsk/d65
spfile=/dev/md/ora_data/rdsk/d66
user=/dev/md/ora_data/rdsk/d67
control01=/dev/md/ora_data/rdsk/d68
control02=/dev/md/ora_data/rdsk/d69
POWERHIS=/dev/md/ora_data/rdsk/d71
control03=/dev/md/ora_data/rdsk/d72
redo01=/dev/md/ora_data/rdsk/d73
redo02=/dev/md/ora_data/rdsk/d74
POWERUNDO02=/dev/md/ora_data/rdsk/d75
两个节点上:在orasrv用户的$HOME目录的.profile 增加(SRVM需要的东东如下:
SRVM_SHARED_CONFIG=/dev/md/ora_data/rdsk/d45
export SRVM_SHARED_CONFIG
DBCA_RAW_CONFIG=/rdbm/orasrv/DBCA_RAW_CONFIG.txt
export DBCA_RAW_CONFIG
两个节点上:
#chmod –R u+swr /rdbm/orasrv
# chmod –R g+s /rdbm/orasrv
自此,sc资源配置完毕,下面进行rac安装。
19racle安装
可以参考

注销,以oracle用户登录。
(分别将两个节点上的ORACLE_SID=orcl1 和 orcl2 )
tcsrv1:/rdbm/orasrv>export LANG=C
tcsrv1:/rdbm/orasrv>pwd
/usr/os_patch/oracle91_sun/Disk1
tcsrv1:/rdbm/orasrv>./runInstaller
新开终端执行 #./tmp/orainstRoot.sh
选择tcsrv1和tcsrv2 两个cluster 节点,进行安装.
安装到最后会提醒在tcsrv1和tcsrv2上执行root.sh ,安装默认的回车。点击ok .
在安装的过程中oracle会自动在另一个节点上进行拷贝安装。
此后会出现 Databse Configuration Assistant :Welcome
选择: Oracle cluster database --- Next
此间的Enterprise Manager Configuration Assistant 可以不用配置的。
弹出:需要执行/rdbm/orasrv/pr*/9*/root.sh
执行完之后会在/var/opt/oracle目录下产生srvConfig.log形如:
srvconfig_loc=/dev/md/ora_data/rdsk/d45
该文件为RAC所需要,如果不能够产生该文件,请仔细检查软分区的设置。否则在下面的dbca建cluster database的时候不会成功的。
内容跟.profile中的SRVM_SHRED_CONFIG=/dev/md/ora_data/rdsk/d45
两边应该有同样的配置,否则gsd则不能启动
注意:installPrep.sh 在sc3.1的环境下是无法测试的。
此间不会弹出需要Disk2.(或者Disk3,它被自动解压安装了J)
以上数据库安装完毕,会自动拷贝一份到tcsrv2节点上。
20:oracle 安装补丁
由于第一次直接升级到9205了,结果在建库的时候出现了问题.导致失败,故采用B方式.
A:升级到9205
操作如下:在安装数据库的那个节点tcsrv1上
a: tcsrv1#cd ../../9205/Disk1 , 仔细阅读atch_note.htm和9205_buglist.htm
b: 先安装ORCLudlm的补丁: UDLM 3.3.4.6
c: 在2个节点上将原有的 ORCLudlm 3.3.4.5删除
#scswitch –S –h tcsrv1
#shutdown –g 0 –y
wait for the ok prompt ….. boot –x
#pkgrm ORCLudlm ;
#pkginfo –l ORCLudlm|grep PSTAMP
#pkgadd –d . ORCLudlm (新版本的)
#shutdown –g0 –y –i6s
d: 修改/var/opt/SUNWcluster/conf/中的SC30. 和 跟上面的配置一样.
e: 在tcsrv1上以orasrv用户安装补丁 tcsrv1:/….Disk1>./runInstaller
将会在两个节点上同时更新.以root在tcsrv1,tcsrv2上需要运行 orainstRoot.sh
f: 出现 Select a Product to Install ,选择 Oracle Universal Installer 10.1.0.2.0 ,同时将语言选择Simple ….
g: 安装完gui后,再次执行: ./runInstaller 选择Oracle 9iR2 Patch Set 9.2.0.5.0进行安装.
中途可能会出现某些进程在启动中,根据提示 ps –ef|grep xxx ; kill –9 xxx
升级的过程,在进度条上会看到 copying files on remote node(s) ‘tcsrv2’
H:在两个节点上以root用户运行root.sh
I: dbca建库: ORA-06553 : PLS-213 : STANDARD not accessible 发生在Creating data dictionary views
大概是29% ,导致系统无法完成.
说明:A升级后再dbca建库没有成功.故不再考虑这种操作.
B:升级到9206
由于是在64位机上安装32位的数据库,故下载oracle补丁:p3948480_9206_SOLARIS.zip
解压后,先看看README.html了,这样能避免一些不必要的麻烦,甚至重新安装.
安装的过程中会自动安装上Oracle Universal Installr release 10.1.0.3
必须在安装oracle的那台服务器上升级,否则会出现以外的错误!!此处是tcsrv2
由于系统使用的是sds做卷,必须先升级UDLM3.3.4.8 (建议在上面安装oracle patch的时候就先安装这个,可以避免以后的麻烦)
操作步骤如下:
在安装oracle的那个节点上进行升级,否则会出现意外的错误。
a: 解压p3948480_9206_SOLARIS.zip,cd Disk1/racpatch
boot –x ,此时该udlm进程将不会启动。后在两个节点上以root用户完成该补丁的安装。reboot
ps –ef|grep udlm 查看是否生效
b: 在安装数据库的节点上以orasrv用户安装 cd Disk1/ ; ./runInstaller
c: 选择正确的安装路径
d:将会在两个节点上进行安装。在两个节点上执行脚本。
以上升级完毕,假如是已经建立了数据库,请仔细阅读README.html,更新数据库词典….以及前途的….
C: 检查两个节点上进行监听配置.
21:建立数据库
由于我是直接升级到9206的,所以就是用新版本的sql建的catalog ,就不要担心上面的。。。
tcsrv1:/rdbm/orasrv>ps –ef|grep gsdctl
若已经启动,则kill,然后srvconfig -init
tcsrv1:/rdbm/orasrv>dbca
根据提示需要在tcsrv1上执行gsdctl start,然后点击next.
根据提示需要在tcsrv2上执行gsdctl start
选择cluster database,选择两个节点,选择建立数据库,New Database
在设置参数之前呢,我们首先要问自己几个问题
A:物理内存多大 -----------1G
B:操作系统估计需要使用多少内存 ------------200M
C:数据库是使用文件系统还是裸设备 ------------raw devices
D:有多少并发连接 ------------10
E:应用是OLTP 类型还是OLAP 类型 ------------- OLTP
联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)
OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
Oracle definition: MTS allows many user processes to share very few server processes.
Without MTS, each user process requires its own dedicated server process; a new
server process is created for each client requesting a connection
我们在建库的时候选择的是:Dedicated Server Mode 就是专用模式,也就是without MTS
同时我们数据库是采用访问raw devices的方式,
下面对Step 7-8 Initialization Parameters 进行说明:
由于系统只有1G的物理内存,我们最大估算可以分配600-700M给SGA
可以参考:OS使用内存+SGA+并发执行进程数*(sort_area_size+hash_ara_size+2M) < 0.7*总内存
但是,我们还要根据实际需要进行调整:
采用的是裸设备,故SGA我们可以再调整的得更大点。
sql> show parameters area_size 可以查看到
排序部分内存sor_area_size的大小:
本次系统中sort_area_size 为64k
日志缓冲区Log_buffer 一般为1-3M
假如数据库没有使用java,通常给10-20M ,由于系统中采用的是sc3.1使用了java,故设置为10M
①shared_pool_size 设置为120M,主要原因是系统采用了大量的存储过程大概有1031个。可以参考《如何调整sga-biti》一文。
Shared Pool 120M
Buffer Cache 450M
Java Pool 10M
Large Pool 30M
PGA 50M
②选择字符为:ZHS16CGB231280 支持中文
③对于:DB Sizing 中的Block Size的大小不同的操作系统不一样的。
Solaris ――――― #df –g 8192块 ( 8k )
可以参考:

由于都是在裸设备上,进行了sds封装故我们设置为os的一样:8k--->16k
对于:DB Sizing 中的Sort Area Size 为64k
④对于其中的:Server Parameters Filename:/dev/md/ora_data/rdsk/d44
其实是oracle的spfile,与$HOME中的DBCA_RAW_CONFIG.txt 中的spfile一致
$HOME 下的.profile 中的SRVM_SHARED_CONFIG是/var/opt/oracle/srvConfig.loc 中的配置,在两个节点上都保持一致.
⑤ 不采用归档方式
⑥ 对于配置中的Step 8 of 9
对于这里的File Name 和 File Directory 分别与DBCA_RAW_CONFIG.txt中保持一致.大小可以参考< YH9100_磁盘阵列3510分区实施LUN >
在选择的时候,将”Automatic extend datafile when full(AUTOEXTEND)” 取消.
⑦⑧⑨
22: 设置表空间大小
File Name File Directory
control01.ctl /dev/md/ora_data/rdsk/d68
control02.ctl /dev/md/ora_data/rdsk/d69
POWERDB01.dbf /dev/md/ora_data/rdsk/d62
….
注意在设置表空间的大小的时候要小于实际分配的裸空间的大小(减去1M即可) .否则在在建库的时候会报错 ORA 301 .
在用dbca建库的时候也许会遇到:
Listener错误:如果listener已经配置启动,并且状态正确,就不应该有此错误
ORA-29807错误:与xml有关,也不是总会碰上。忽略错误后,等数据库安装完,以sys身份执行$ORACLE_HOME/rdbms/admin/prvtxml.plb,如果执行select * from dba_objects where owner = 'SYS' and status = 'INVALID' ; 发现无效对象,可执行utlrp.sql校验这些对象。
也是建库结束时,碰到ORA-27504: IPC error creating OSD context,这也是因为cluster_interconnects参数没有设置的问题,更严重的是这种情况下连spfile都还没有建好。解决方法是,进入$ORACLE_BASE/admin/scripts目录,手工编辑init.ora文件,加入cluster_interconnects参数设置,然后执行postDBCreation.sql完成建库后的其他操作。

保存脚本和模板。开始创建数据库
23: 启动数据库的过程中遇到的问题.
关于srvctl命令可以参考: http://dev.csdn.net/article/67/67101.shtm

启动实例1:
tcsrv1:/rdbm/orasrv> sqlplus “/as sysdba”
SQL> startup pfile=/rdbm/orasrv/product/9.2.0.1/dbs/initorcl1.ora;
ORACLE 例程已经启动.
Total System Global Area 705779512 bytes
Fixed Size 456504 bytes
Variable Size 218103808 bytes
Database Buffers 486539264 bytes
Redo Buffers 679936 bytes
ORA-03113: 通信通道的文件结束
SQL>
修改如下:
tcsrv1:/rdbm/orasrv>srvctl status database –d orcl
instance orcl1 is running on NODE tcsrv1
instance orcl2 is running on NODE tcsrv2
说明两个实例已经正常启动,只是没有映射到对应的实例上.
tcsrv1:/rdbm/orasrv>srvctl stop database –d orcl
直接修改两个节点上.profile 中的ORACLE_SID=orcl --à orcl1以及orcl2
tcsrv1:/rdbm/orasrv>srvctl start database –d orcl
tcsrv1:/rdbm/orasrv>srvctl status database –d orcl
instance orcl1 is running on NODE tcsrv1
instance orcl2 is running on NODE tcsrv2
说明实例都是正常的!
新开终端分别在tcsrv1和tcsrv2上执行: sqlplus “/as sysdba”
SQL>desc v$instance
从中选择实例名/主机/状态.发现都是正常的.
现在进行数据库实例切换:停止数据库的实例orcl1:
tcsrv1:/rdbm/orasrv>srvctl stop instance –d orcl –i orcl1
tcsrv1:/rdbm/orasrv>srvctl status instance –d orcl –i orcl1 说明已经停止.
tcsrv1:/rdbm/orasrv>srvctl status instance –d orcl –i orcl2 说明正在运行.
启动实例1,停止实例2
tcsrv1:/rdbm/orasrv>srvctl start instance –d orcl –i orcl1
tcsrv1:/rdbm/orasrv>srvctl stop instance –d orcl –i orcl2
tcsrv1:/rdbm/orasrv>srvctl status database –d orcl 说明orcl1在运行orcl2停止
以上完成RAC的配置和使用.
24: 创建ems 所需要的用户和表空间.
创建DBU用户:
create user dbu identified by xxxxxxxxxxx
default tablespace powerdb
temporary tablespace powertemp;
grant dba to dbu;
grant all on dbms_lock to dbu;
输入命令作如下修改:
alter user system identified by xxxxxxxx temporary tablespace powertemp;
alter user sys identified by xxxxxxxxxxx temporary tablespace powertemp;
alter user sys default tablespace tools;
exit;
创建t_data 和idx_data表空间脚本参见:create_t_data_tc_3510.sql
drop_t_dat_tc_3510.sql
对于自动扩展的功能,已经通过脚本”autoextend_off_tc_3510.sql” 实施关闭.
严重说明或有待于完成的内容: 2006-1-19(现在已经完成,ups和自动切换以及系统对时)
由于2006年1月17晚电源插派过载,导致保险丝烧坏,从而破坏了RAC,在用户的强烈要求下,我们用微机来代替磁盘完成数据库的功能.
直至用户UPS电源到位,到时需要在磁盘阵列上以orasrv用户执行:
tcsrv1:/rdbm/orasrv>ps –ef|grep gsdctl 若没有加载,则手动加载该守护进程.
tcsrv1:/rdbm/orasrv>gsdctl start 再登录到tcsrv2上执行 gsdctl start
再次确认该进程是否已经正常加载.
加载数据库:
tcsrv1:/rdbm/orasrv>srvctl start database –d orcl 第一次启动会比较慢
tcsrv1:/rdbm/orasrv>srvctl status database –d orcl 会发现两个实例都已经运行.
可以以dbusql 登录查询看看: desc v$instance;

2006-1-19
此间关于关闭一个实例的情况下的测试:
本来想做failover的,但是没有实现. 就是无需退出新开窗口就可以查看到已经联接到新的实例上的.但是没有实现.郁闷!(后面实现了....)
2006-1-21 实现cluster向网络中的ntp服务器scada1或scada2对时
... page%3D2#pid4682189
boot –x 下修改:
系统中的ntp服务器为scada1—192.168.1.3 scada2—192.168.1.4
在RAC的主节点上配置ntp客户端: 只需要在tcsrv1(sc的主节点)上配置,tcsrv2由cluster自动实现对时.
先使用 xntpdc –p 查看一下.
一开始是直接在ntp.conf.cluster 的最后增加:
server 192.168.1.3
server 192.168.1.4
机器重起后可以生效,不过等会就不行了: 通过xntpdc –p 发现可能是本地的原因:
在tcsrv1修改:/etc/inet/ntp.conf.cluster 中修改如下:
找到server 127.127.1.0 将其修改成 (用ip)
server 192.168.1.3
server 192.168.1.4
tcsrv2上注释: # server 127.127.1.0
保存退出. pkill –1 ntp 生效.或者将两个节点关闭:scshutdown –y –g0
然后可以通过xntpdc –p来查看.
最终对时成功.
考虑到系统某一个cluster节点发生故障,进行故障转移,所以需要在两个节点的/etc/TIMEZONE确认TZ=RPC
同时分别将2个节点的/etc/inet/ntp.conf.cluster 都修改成一致的
在boot –x 下测试可以发现都是读ntp.conf.cluster 文件的.故将2个节点的
修改一致,可以保证单节点的情况下系统时间也一致.
2006-1-21 实现failover (无缝切换)和 load_balance
http://www.itpub.net/showthread. ... 3520325#post3520325
在2个节点上分别手动加载:gsdctl start
在tcsrv1上执行: srvctl start database –d orcl
修改tcsrv1和tcsrv2的tnsnames.ora 增加xxxxxxx服务名(这是为了确保xxxx系统能够自动调用实例).
整个内容如下:
# TNSNAMES.ORA Network Configuration File: /rdbm/orasrv/product/9.2.0.1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
LISTENERS_ORCL =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = tcsrv1)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = tcsrv2)(PORT = 1521))
)
LISTENER_ORCL2 =
(ADDRESS = (PROTOCOL = TCP)(HOST = tcsrv2)(PORT = 1521))

LISTENER_ORCL1 =
(ADDRESS = (PROTOCOL = TCP)(HOST = tcsrv1)(PORT = 1521))
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = tcsrv1)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = tcsrv2)(PORT = 1521))
(LOAD_BALANCE = yes)
(FAILOVER = yes) #add for failover by zyf ,20060120
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
(FAILOVER_MODE=
(TYPE=session)
(METHOD=basic)
) #add for failover by zyf ,20060120
)
)
INST1_HTTP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = tcsrv1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MODOSE)
(PRESENTATION = )
)
)
ORCL2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = tcsrv2)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = orcl)
(INSTANCE_NAME = orcl2)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
ORCL1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = tcsrv1)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = orcl)
(INSTANCE_NAME = orcl1)
)
)
在tcsrv1上,执行:dbusql ,然后从v$instance中查询实例,主机名.
将会看到实例名为orcl1, 主机名为tcsrv1 ,此时dbusql不退出.
在另外一个窗口执行: srvctl stop instance –d orcl orcl1
再在刚才的dbusql中执行: / 将会看到实例名为: orcl2 ,主机名为tcsrv2 .
此次实现TAF 无缝自动切换.
阅读(7252) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~