您的位置:首页 > 数据库 > Oracle

Oracle 10.2 RAC for RHEL 4

2011-05-22 22:59 447 查看

ORACLE 10.2.0.1 RACFOR RedHat
Linux AS4 update4

安装操作手册

计划

本次数据库采用
10G RAC集群,由于
10G提供了Oracle
集群文件系统(OCFS)
、自动存储管理器
(ASM)
、原始设备这三种共享磁盘方式用于
RAC
的安装,因此我们准备计划先采用
ASM
安装
RAC
并进行建库。下面的计划主要是
针对
ASM
方式
的部署
RAC一、硬件环境描述1、节点
1与节点
2硬件2、集群拓扑二、前期准备1、准备
ORACLE的安装配置文件.bash_profile/etc/sysctl.conf2、准备安装数据库
+ASM所需要的
ASMLIBoracleasm-2.6.9-42.ELsmp-2.0.3-1.i686oracleasmlib-2.0.2-1.i386oracleasm-support-2.0.3-1.i386三、RAC系统规划1、节点
1、节点
2规划、注册文件规划
(ocr)、表决磁盘规划
(VOTING DISK)、2、操作系统安装规
划四、根据规划安装操作系统1、在节点
1安装操作系统2、在节点
2安装操作系统3、配置时钟同步五、ORACLE RAC安装环
境检查与准备1、检查安装
ORACLE所需要的操作系统
RPM包2、创建
ORACLE用户与
DBA组3、修改系统内核参数
./etc/sysctl.conf4、设置
ORACLE用户环境变量(修改
ORACLE的
.bash_profile)5、配置
/etc/hosts文件6、配置
hangcheck_timer内核7、配置
SSH8、根据规划共享存储系统9、调整配置错误六、ASMlib安装与检查1、安装
ASMlib2、配置
ASM磁盘七、安装
Clusterware与
ORACLE数据库系统1、安装
CRS软件2、安装
ORACLE数据库八、DBCA以
ASM创建数据库九、测试
RAC十、数据库部署十
一、参考文献

具体步骤

若无特别说明,“

$
”提示符均表示在

oracle
用户下执行,“

#
”提示符均表示在

root
用户下执行
一、硬件环境描述1、硬件说明
服务器名项目名称服务器
1(工作机)
服务器
2(备份机)
硬件型号DELL 6850DELL 6850
CPU频率3.03.0
数量44
物理内存32G32G
磁盘阵列柜型号EMC CX 200
每硬盘容量300GB
阵列缓存
硬盘数量
RAID
名称
RAID 52000G
2、RAC体系二、前期准备1、准备
ORACLE的安装配置文件.bash_profile/etc/sysctl.conf2、准备安装数据库
+ASM所需要的
ASMLIB,注意这个
ASMLIB的版本要跟你操作系统的内核相匹配验证内核
版本如下命令:# uname -r
[oracle@dbserver1
~]$ uname -rLinux dbserver1
2.6.9-42.ELsmp[oracle@dbserver1
~]$
我们
这里内核是
2.6.9-42.ELsmp、
i386(
32位)因此
下载以下
ASMLIB:oracleasm-2.6.9-42.ELsmp-2.0.3-1.i686oracleasmlib-2.0.2-1.i386oracleasm-support-2.0.3-1.i386提示:如果是单处理器系统需要下载
EL的
ASMLIB三、RAC系统相关规划1、操作系统安装规
服务器名
目名称
RAC
节点
1
RAC
节点
2
硬件型号
操作系统Redhat as 4.0 u4(
32位)
Redhat as 4.0 u4(
32位)
服务器主机名dbserver1dbserver2
IP
地址
(


eth0


)
135.233.9.101135.233.9.102
语言环境中文
/英文
中文
/英文
域名服务方式
时区中国中国
安装方式安装全部安装包安装全部安装包
内置硬盘容量146G146G
数量2(RAID1)2(RAID1)
系统分区物理路径
/30G30G
Swap35G35G
/home30G30G
/tmp5G5G
/usr20G20G
/opt30G30G
系统用户RootOracleRootOracle
磁盘阵列柜型号
每硬盘容量500G
总容量2T
RAID
名称
RAID 5
磁盘分区OCR(oracle集群注册表
)
/dev/raw/raw1
/dev/sdb1
500M(主分
区)/dev/raw/raw2
/dev/sdb2
500M(主分
区)
表决磁盘(
voting disk)
/dev/raw/raw5
/dev/sdb5
500M/dev/raw/raw6
/dev/sdb6
500M/dev/raw/raw7
/dev/sdb7
500M
ASM/dev/sdb8
950G/dev/sdb9
950G
数据库备份/dev/sdb10(全部)120G
备份
mount
/oradata_backup
/dev/sdb10
2、节点
1、节点
2上
ORACLE安装规划、注册表规划
(OCR)、表决磁盘规划
(VOTING DISK)、
服务器名项目名称服务器
1(工作机)
服务器
2(备份机)
操作系统Redhat as 4.0 u14(
32位
x86)
Redhat as 4.0 u4(
32位
x86)
服务器主机名dbserver1dbserver2
公共IP
地址(eth0
135.233.9.101135.233.9.102
虚拟IP
地址(eth0
135.233.9.201135.233.9.202
私有IP
地址(eth1
10.10.10.110.10.10.2
ORACLE RAC SIDoradb1oradb2
集群实例名称oradb
OCR(oracle

集群注册表)
/dev/raw/raw1
/dev/sdb1
500M/dev/raw/raw2
/dev/sdb2
500M
表决磁盘(voting disk
/dev/raw/raw5
/dev/sdb5
500M/dev/raw/raw6
/dev/sdb6
500M/dev/raw/raw7
/dev/sdb7
500M
ASM/dev/sdb8
950G
VOL1/dev/sdb9
950G
VOL2
数据库备份/dev/sdb10(全部
mkfs.ext3 /dev/sdb10)120G
数据库版本Oracle Database 10g Enterprise Edition Release
10.2.0.1.0(
32位)
数据库BASE
目录
/home/oracle
数据库HOME
目录
/home/oracle/product/10.2.0/db
数据库监听端口1521
数据库字符集simplifed
Chinese.ZHS16GBK
数据库系统帐号与初始密码Sys/oracleSystem/oracle
数据库恢复区大小4G
数据库实例建库方式ASM
数据库块大小8192byte
数据库数据空间大小
四、根据规划安装操作系统,并配置
时钟同步1、在节点
1安装操作系统2、在节点
2安装操作系统提示:选择全部安装包方式,这
样就不用给系统打那烦人的补丁包了,不过所需要的磁盘空间
7G左右3、配置时钟同步在一台节点服务器上启动时钟服务
器服务,在另外一台节点服务器上使用时钟同步命令如:
rdate –s IP,然后在这台节点服务器,通过做调度,来定时同步两台服务器时钟。提示:建议
RAC可以连接到互联网上,以便互联网上的时钟服务器,如果没有接入互联网的条件也可以让其余节
点向某一个节点做时钟同步,因为
RAC不能容忍节点间时钟不同步,否则
RAC会
Down掉!在这里我们如下操作:A、在
125.233.9.101节点上开启时钟服务,“
applications(应用程序
)”
----->“
system settings(系统设置
)”
----->“
server settings(服务设置
)”
----->“
services(服务
)”,如图B、在出来的
”service
configuration(服务配置
)”中,选中“
time、
time-udp”,然后点击窗口工具栏中的“
save(保存
)”按钮,如图C、在
135.233.9.102节点上创建一个
shell文件,包含如下内容
rdate –s 135.233.9.101# vi /rdate在
vi编辑器中按
” i”转换为插入模式,然后输入“
rdate –s 135.233.9.101”,再按
”esc”键,退出插入模式,最后
”shift”+”:
”后再输入
”wq!
”,存盘退出。给于
这个
shell于执行权限# chmod 755 rdateD、在
135.233.9.102节点上,把该
shell加入到调度中,让系统每
6小时向
135.233.9.101节点同步时钟,这里可以使用命令
”crontab”,也可以使用图形界面在“
applications(应用程序
)”
----->“
system tools(系统设置
)”
----->“
task scheduler(任务计划
)”。命令如下# crontab –e同样
在编辑器里输入如下(我这里是每两个小时同步一次)0 1,4,8,13,17,20 * * *
/rdate五、ORACLE RAC安装环境检查与准备1、在每个节点

上创建
ORACLE用户与
DBA组2、groupadd –g 1001 dba3、groupadd –g 1002 oinstall4、useradd –u 1001 –g
oinstall –G dba oracle5、passwd oracle使用图形界面创建
DBA组和
ORACLE用户,并手工指定他们的
ID,注意在这里,每个节点的
oracle用户
ID,
DBA组
ID必须一致,其他使用默认值,同时创建完毕后在每个节点执行如下命令#chown –R oracle:dba /home/oracle6、修改每个节点

系统内核参数
./etc/sysctl.conf,#vi /etc/sysctl.conf然后加入如下内容kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128fs.file-max = 65536net.ipv4.ip_local_port_range =
1024 65000net.core.rmem_default = 262144net.core.rmem_max = 262144net.core.wmem_default = 262144net.core.wmem_max = 2621444、设置每个节点
ORACLE用户环境变量(修改
ORACLE的
.bash_profile),该文件见附件$vi .bash_profile然后加入如下内容umask=022# User specific environment and startup programsexport ORACLE_BASE=/home/oracleexport ORACLE_HOME=$ORACLE_BASE/product/10.2.0/dbexport ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs# Each RAC node must have a unique ORACLE_SID.(i.e.
dbserver1, dbserver2,...)export ORACLE_SID=oradb1export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/binexport
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/l
ocal/binexport ORACLE_TERM=xtermexport TNS_ADMIN=$ORACLE_HOME/network/adminexport ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/dataexport LD_LIBRARY_PATH=$ORACLE_HOME/libexport
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/libexport
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/libexport CLASSPATH=$ORACLE_HOME/JREexport CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlibexport CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlibexport
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib#export THREADS_FLAG=nativeexport TEMP=/tmpexport TMPDIR=/tmp注意:在节点
dbserver2上,
ORACLE_SID应该变为
oradb25、配置每个节点


/etc/hosts文件#vi /etc/hosts然后修改
里面的内容为如下# Do not remove the following line, or various
programs# that require network functionality will fail.127.0.0.1
localhost.localdomain
localhost135.233.9.101dbserver1135.233.9.201db-vip1135.233.9.102dbserver2135.233.9.202db-vip210.10.10.1db-priv110.10.10.2db-priv2注意

确保
在每个节点上
/etc/hosts文件的回送地址中不包含节点名(
dbserver1或
dbserver2)。如
果机器名出现在回送地址条目中,如下所示:127.0.0.1
JMRAC1
localhost.localdomain localhost需要将其如下删除:127.0.0.1
localhost.localdomain
localhost6、配置每个节点的
hangcheck_timer内核:# find /lib/modules -name
"hangcheck-timer.ko"#vi /etc/modprobe.conf加入
如下内容modprobe hangcheck-timer hangcheck_tick=30
hangcheck_margin=180设置
为自动启动
hangcheck-timer/sbin/modprobe hangcheck_timer检查
是否成功启动#grep hangcheck /var/log/messages |tail -27、配置
SSHlSSH
方式

oracle
用户身份执行,在所有节点上做如下配置以生成
SSH密钥。$ mkdir ~/.ssh$ chmod 755 ~/.ssh$ /usr/bin/ssh-keygen -t rsa$ /usr/bin/ssh-keygen -t dsa$ touch ~/.ssh/authorized_keys$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys$ cp ~/.ssh/authorized_keys ~/.ssh/jmrac1.authorized_keys将
dbserver1.authorized_keys复制到
dbserver2上在
dbserver2上,将
dbserver1.authorized_keys导入
authorized_keys$ cat ~/.ssh/dbserver1.authorized_keys >>
~/.ssh/authorized_keys$ chmod 644 ~/.ssh/authorized_keys将上述步骤在节点
2上再执行一次,注意将
dbserver 1和
dbserver 2互换!建立
SSH信任关系(
请注意,用户等效性仅为当前会话建立。如果您切换到其他会话或注销并重新登录,则必须再次运行
ssh-agent

ssh-add
才能重新建立用户等效性
)在每个节点上执行$ exec /usr/bin/ssh-agent $SHELL$ /usr/bin/ssh-add在
每个节点
上执行如下命令以测试连通性,并建立
SSH
信任关系$ ssh
dbserver1 date$ ssh
dbserver2 dateSun may 27 19:07:19 CDT 2007测试每个方向上所有服务器的连通性是非常重要的。这样会确保当OUI
在CRS

数据库软件安装期间试图复制文件时不会再出现类似以下的消息。该消息只有在远程节点上第一次执行操作时才会出现,因此通过测试连通性,您不仅确保了远
程操作的正常运行,还完成了初始的安全密钥交换。The authenticity of host 'ds2 (192.168.200.52)' can't be
established.RSA key fingerprint is
8f:a3:19:76:ca:4f:71:85:42:c2:7a:da:eb:53:76:85.Are you sure you want to continue
connecting (yes/no)?
yes用下述指令在
node1上测试
ssh互信任配置是否正确在再每个节点上执行如下命令,应该直接显示相应的时间,而不会提示输入密码$ ssh
dbserver1 date$ ssh
dbserver2 date8、根据规划分区共享存储系统先查看系统分区#fdisk –l /dev/sdb发现阵列柜,被加载在
/dev/sdb上,在分区先要确保阵列柜上没有被分区,如有分区,需要删除以前分区,然后在根据前面磁盘分区规划对磁盘阵列柜分区#fdisk /dev/sdb最后分区如下
[root@ dbserver 1 ~]# fdisk -l /dev/sdbDisk /dev/sdb:
2035.7 GB, 146727239680 bytes255 heads, 63
sectors/track, 17838 cylindersUnits =
cylinders of 16065 * 512 = 8225280 bytesDevice Boot
Start
End
Blocks
Id
System/dev/sdb1
1
25
200781
83
Linux/dev/sdb2
26
50
200812+
83
Linux/dev/sdb3
51
17838
142882110
5
Extended/dev/sdb5
51
63
104391
83
Linux/dev/sdb6
64
76
104391
83
Linux/dev/sdb7
77
89
104391
83
Linux/dev/sdb8
90
5561
43953808+
83
Linux/dev/sdb9
5562
11033
43953808+
83
Linux/dev/sdb10
11034
17838
54661131
83
Linux[root@dbserver1 ~]#
该分区命令只在一个节点上执行,
另外一个节点上执行分区同步命令#partprobe提示:关于分区命令
fdisk的详细说明,参考其他
linux命令手册由于我们把
oracle的
OCR(oracle集群注册表
)、表决磁盘(
voting disk)安装在裸设备上,对于裸设备要使用它,需要编辑
/etc/sysconfig/rawdevices文件,将裸设备添加到系统中,然后再为裸设备设定属组信息以及权限信息。把下面的内容添加到
/etc/sysconfig/rawdevices文件中#OCR/dev/raw/raw1
/dev/sdb1/dev/raw/raw2
/dev/sdb2#OCR/dev/raw/raw5
/dev/sdb5/dev/raw/raw6
/dev/sdb6/dev/raw/raw7
/dev/sdb7注意:在
2.6内核的
Red Hat Linux上,当系统重启后,裸设备的属组信息将被还原为系统默认值(
root:
disk)。为了使得裸设备属组信息可以被保留,你要在
/etc/rc.d/rc.local中强制更新裸设备的属组信息,即在文件中加入下述内容:chown root:dba
/dev/raw/raw1chown root:dba
/dev/raw/raw2chmod 660 /dev/raw/raw1chmod 660 /dev/raw/raw2chown oracle:dba
/dev/raw/raw5chown oracle:dba
/dev/raw/raw6chown oracle:dba
/dev/raw/raw7chmod 644 /dev/raw/raw5chmod 644 /dev/raw/raw6chmod 644 /dev/raw/raw7配置完
毕后,务必重新启动两台服务器9、调整配置错误六、ASMlib安装与检查1、在每个节点安装
ASMlib# rpm -Uvh />oracleasm-2.6.9-42.ELsmp-2.0.3-1.i686>oracleasmlib-2.0.2-1.i386>oracleasm-support-2.0.3-1.i386Preparing...
########################################
[100%]1:oracleasm-support
########################################
[ 33%]2:oracleasm-2.4.9-e-smp
#####################################
[ 66%]Linking module oracleasm.o into the module path [OK
]3:oracleasmlib
######################################
[100%]2、在
每个节点配置
ASMLib使用
ASMLib
之前,必须运行配置脚本来准备驱动程序。以
root
用户身份在每个集群主机上运行以下命令并回应提示,如下例所示。# /etc/init.d/oracleasm configureConfiguring the Oracle ASM library driver.这
将配置Oracle ASM
库驱动程序的启动时
属性。以下问题将确定在启动时是否加载驱动程序以及它将拥有的权限。当前值将显示在方括号(
“[]”
)中。按
<ENTER>
而不键入回应将保留该当前值。按
Ctrl-C
将终止。Default user to own the driver interface
[]:oracleDefault group to own the driver interface
[]:dbaStart Oracle ASM library driver on boot (y/n):yFix permissions of Oracle ASM disks on boot
(y/n) [y]:yWriting Oracle ASM library driver
configuration
[
OK
]Creating /dev/oracleasm mount point
[
OK
]Loading module "oracleasm"[
OK
]Mounting ASMlib driver filesystem
[
OK
]Scanning system for ASM disks[
OK
]现
在,如下所示启用
ASMLib

动程序。# /etc/init.d/oracleasm enableWriting Oracle ASM library driver
configuration
[
OK
]Scanning system for ASM disks[
OK
]3、为
ASM
配置磁盘接
下来告诉ASMLib
驱动程序要使用哪些磁盘。
请注意,这些磁盘是不包含任何内容的空磁盘。通
过以root
用户身份运行以下命令来标记由
ASMLib
使用的磁盘。仅从一个集群主机上执行此操作。/etc/init.d/oracleasm createdisk DISK_NAME
device_name提
示:以大写字母输入
DISK_NAME
。当前版本中有一个错误,即如果使用小写字母,
ASM
实例将无法识别磁盘。# /etc/init.d/oracleasm createdisk VOL1
/dev/sd8Marking disk "/dev/sdb8" as an ASM disk
[
OK
]# /etc/init.d/oracleasm createdisk VOL2
/dev/sd9Marking disk "/dev/sdb9" as an ASM disk
[
OK
].以
下示例演示了如何列出标记为由
ASMLib
使
用的所有磁盘。# /etc/init.d/oracleasm listdisksVOL1VOL2..注意
在所有集群其他节点主机上,只需要以
root
用户身份运行以下命令,扫描所配置的
ASMLib
磁盘:#/etc/init.d/oracleasm scandisks七、
安装
Clusterware


ORACLE

数据库系统

CRS与数据库软件拷贝到服务器上,再安装,注意,在安装前先建立用户等效性
,如下#xhost +#su – oracle$export DISPLAY=:0.0$ exec /usr/bin/ssh-agent $SHELL$ /usr/bin/ssh-add1、安装
CRS软件$./runInstaller单击“下一步”修改安装组为“
dba”,然后单击“下一步”修改
crs的安装路径与
.bash_profile中
crs设置的路径一致。然后单击“下一步”单击“下一步”提示:在这里如果环境设置的不正确,或者硬件配置达不到要求,检
测不会通过,但是对于硬件配置,我们可以选择通过验证上图中只显示了一台服务器节点,
验证该节点信息是否和
/etc/hosts中的内容一致同时把节点
dbserver2添加到集群配置中,最后如下然后单击“下一步”单击“编辑”按钮,将
eth0网卡的网段设为“公共”,然后点击“确定”
(默认
eth0是“公共”
)以上这步要确定好是哪张网卡提供
公共对外服务,哪张网卡提供心跳检测私有服务,千万不能弄错,确定好后点击“下一步”指定
OCR的位置(前面已经设置好的)。然后单击“下一步”提示:这里可以选择正常冗余或外部冗余,效果一样,正常冗余提供了一个
OCR的镜像位置,而外部冗余没有提供
OCR镜像,只需要
OCR位置就可以,由于前期我们在规划的时候就规划了
OCR镜像,因此我们这里选择正常冗余,下面表决磁盘的配置也是一样指定表决磁盘的位置,单击“下一步”单击安装
意当安装到后面出现如下提示时,先不要点击“确定

”此时安装向导让你在所有节点
上分别执行上述两
个脚本,先在安装
CRS的计算机上执行上述两个脚本,注意
这两个脚本在
X-WINDOS窗口下执行,以便能够启

VIPCA。此时,安装向导将给出安装总结,点击退出在其他节点都执行完毕后,此时,
你需要回到节点
1,在此界面上单击确定通过上面的检查后,
Oracle
Clusterware安装结束!2、
安装
ORACLE

数据库
$./runInataller单击“下一步”选择安装企业版数据库,单击“下一步”确定安装路径,这里安装路径要和
.bash_profile中的
ORACLE_HOME值一致,单击“下一步”选中集群内所有节点,单击“下一步”单击“下一步”选择仅安装数据库软件,单击“下一步”单击安装此时安装途中向导将提示先以
root用户的身份在每个节点上执行上述脚本,执行完毕后在点击“确定”。执行效果如下:以上安装完毕后,下面进行
ORACLE NET配置3
、配置
Oracle Net

oracle用户的身份执行
netca,配置
Oracle Net选择集群配置,单击“下一步”选择全部节点,单击“下一步”选择监听程序配置,单击“下一步”选择添加,单击“下一步”使用默认的监听程序名——
LISTENER,单击“下一步”选择
TCP协议,单击“下一步”使用默认的监听端口——
1521,单击“下一步”选择否,单击“下一步”单击“下一步”选择命名方法配置,单击“下一步”选择本地命名,单击“下一步”单击“下一步”单击完成,结束
Oracle Net的配置八、DBCA以
ASM创建数据库以
oracle用户的身份运行
dbca,建立集群数据库选择
Oracle Real
Application Cluster数据库,单击下一
步选择创建数据库,单击下一步选中集群中的所有节点,单击下一
步选择一般用途的数据库模版,单击
下一步输入全局数据库名以及
SID,在这里都输入“
oradb


,单击下一步使用默认选项,然后单击下一步输入数据库用户口令,先输入统一
口令“
sys”,然后单击下一步选择自动存储管理(
ASM),单击“下一步”输入
ASM实例的
SYS用户口令,指定初始化参数文件的类型,单击“下一步”安装向导将提示开始建立并启动
ASM实例,单击确定正在创建
ASM实例出来磁盘组选择,由于是新安装,
没有可用磁盘组,因此这里选择新建,创建
ASM磁盘组这里系统自动将我们前面准备的
ASM磁盘显示出来,将冗余模式设为常规,选择前面创建的
VOL1和
VOL2磁盘,磁盘组命名为
dskgrp1
,然后单击确定注意:如果冗余模式选择“高”,
则要求三个裸设备构成一个磁盘组,由于我们这里是外接磁盘阵列柜,冗余模式可以选择为外部,那么可以只需要
1个
ASM磁盘组成一磁盘组系统开始创建
ASM磁盘组已经创建好的磁盘组,就会显示在
可用磁盘组里,选中,然后单击下一步使用默认值,然后单击下一步如果不需要配置
Flashback,单击下一步,否则需要指定快速恢复区,这里设定
4G的快速恢复区后单击下一步选择安装示例方案,单击下一步单击添加按钮,增加服务输入服务名
oradb,单击确定将两个实例均设为首选,
TAF策略设为基本,单击下一步调整内存大小到合适比例,字符集
选择
simplifed
Chinese.ZHS16GBK,单击下一步调整重做日志大小均为
100M,然后单击下一步把“生成数据库创建脚本”选中,
然后单击完成此时,安装向导将向你确认数据库
的配置信息,单击确定开始建立数据库正在创建数据库出现该界面表示数据库创建完毕,
单击退出,结束数据库创建九、配置客户端要在客户端的
hosts文件中写入相应的
RAC(内容与前面
etc/hosts一致)地址,对于
Windows系统,路径为
%system32%/drivers/etc/hosts。编辑
hosts文件,内容与前面
etc/hosts一致客户端配置
tnsnames.ora文件,内容如下:oradb =(DESCRIPTION =(ADDRESS_LIST =(LOAD_BALANCE=ON)(ADDRESS = (PROTOCOL = TCP)(HOST =
10.10.10.1)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST =
10.10.10.2)(PORT = 1521)))(CONNECT_DATA =#下面的部分应该
根据你安装
RAC是配置进行相应的改动(SERVICE_NAME = oradb)(FAILOVER_MODE =(TYPE=SELECT)(MODE=BASIC)(RETRY=3)
//重试
3次(DEALY=5)
//重试间隔
5秒)))说明: http:// node1:1158/em即可登陆到
Database
Control,启动
Database
Control用如下命令
$emctl start
dbconsole十、测试
RAC以下SQL
查询可以用来查看一个会话的故障切换类型、故障切换方法和是否发生了故障切换。在这个例子中自始至终
使用这个查询。
Sql>COLUMN instance_name
FORMAT a13

Sql>COLUMN host_name
FORMAT a9

Sql>COLUMN failover_method
FORMAT a15

Sql>COLUMN failed_over
FORMAT a11

Sql>SELECT instance_name,host_name,

NULL AS failover_type,NULL AS failover_method,

NULL AS failed_over

FROM v$instance

UNION

SELECT NULL,NULL,failover_type,failover_method,failed_over

FROM v$session

WHERE username = 'SYSTEM';

从

客户端计算机中,以
SYSTEM

用户登录集群化数据库:

C:/> sqlplus system/sys@oradb

Sql>COLUMN instance_name
FORMAT a13

Sql>COLUMN host_name
FORMAT a9

Sql>COLUMN failover_method
FORMAT a15

Sql>COLUMN failed_over
FORMAT a11

Sql>SELECT instance_name,host_name,

NULL AS failover_type,NULL AS failover_method,

NULL AS failed_over

FROM v$instance

UNION

SELECT NULL,NULL,failover_type,failover_method,failed_over

FROM v$session

WHERE username = 'SYSTEM';



INSTANCE_NAME HOST_NAME FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER

------------- --------- ------------- --------------- -----------

oradb1oradb1

SELECT
BASIC
NO

不注销上面的

SQL*Plus

会话!我们已经运行了上面的查询,现在到节点jmrac1
上使
用abort选项来关闭该节点上的
oradb1实例。要执行这一操作,我们可以使用srvctl命令行
实用程序,如下所示:
# su - oracle

$ srvctl status database -d jmdb

Instance oradb1 is running on node oradb1

Instance oradb2 is running on node oradb2

$ srvctl stop instance -d oradb -i oradb1 -o abort

$ srvctl status database -d oradb

Instance oradb1 is not running on node oradb1

Instance oradb2 is running on node oradb2

现在让我们返回到我们的SQL

话,然后重新运行缓冲中的
SQL
语句:
Sql>SELECT instance_name,host_name,

NULL AS failover_type,NULL AS failover_method,

NULL AS failed_over

FROM v$instance

UNION

SELECT NULL,NULL,failover_type,failover_method,failed_over

FROM v$session

WHERE username = 'SYSTEM';


INSTANCE_NAME HOST_NAME FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER

------------- --------- ------------- --------------- -----------

oradb2
oradb2

SELECT
BASIC
YES


SQL> exit

从上面的演示中,可以看到上述会话现
在已经被通明切换到了
oradb2
的实例oradb2上十
一、集群基本命令停止
Oracle RAC 10g

环境
第一步是停止
Oracle实例。当此实例(和相关服务)关闭后,关闭
ASM实例。最后,关闭节点应用程序(虚拟
IP、
GSD、
TNS监听器和
ONS)。

$ export ORACLE_SID=oradb1


$ emctl stop dbconsole


$ srvctl stop instance -d oradb -i oradb1


$ srvctl stop asm -n oradb1


$ srvctl stop nodeapps -n oradb1
启动
Oracle RAC 10g

环境
第一步是启动节点应用程序(虚拟
IP、
GSD、
TNS监听器和
ONS)。当成功启动节点应用程序后,启动
ASM实例。最后,启动
Oracle实例(和相关服务)以及企业管理器数据库控制台。

$ export ORACLE_SID=oradb2


$ srvctl start nodeapps -n oradb1


$ srvctl start asm -n oradb1


$ srvctl start instance -d oradb -i oradb1


$ emctl start dbconsole
使用
SRVCTL

启动
/

停止所有实例
$ srvctl
start database -d oradb1

$ srvctl stop database -d oradb1
所有实例和服务的状态

$ srvctl status database -d oradb

单个实例的状态
$ srvctl status instance -d oradb -i oradb2

在数据库全局命名服务的状态
$ srvctl status service -d oradb -s oradb

特定节点上节点应用程序的状态
$ srvctl status nodeapps -n oradb1

ASM

实例的状态
$ srvctl status asm -n oradb1

列出配置的所有数据库
$ srvctl config database

显示

RAC

数据库的配置
$ srvctl config database -d oradb

显示指定集群数据库的所有服务
$ srvctl config service -d oradb

显示节点应用程序的配置

-



VIP



GSD



ONS

、监听器)
$ srvctl config nodeapps -n oradb 1 -a -g -s -l

VIP exists.:/vip- oradb 1/192.168.1.200/255.255.255.0/eth0:eth1

GSD exists.

ONS daemon exists.

Listener exists.

显示

ASM

实例的配置
$ srvctl config asm -n oradb1

+ASM1 /home/oracle/product/10.2.0/db_1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: