




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
linux 上oracle10G RAC 完全实施手册希望版主加为精华! 谢谢!在linux上单机模拟Oracle 10g RAC集群(OCFS+ASM)作者:macro MSN:申明:请珍惜作者劳动,如需要转载,请注明出处 本文是在参考oracle 10g 双机集群的基础上通过实践并且精简而得,撰写本文的目的是为了方便大家探讨技术,相信本文仍有许多不足之处参考文档:/technology/global/cn/pub/articles/hunter_rac10g.html注:对于与多机多节点集群相同的地方,文中将直接引用参考文档相关部分一、简介 熟悉 Oracle 真正应用集群 (RAC) 10g 技术的最有效方法之一是访问一个实际的 Oracle RAC 10g 集群。没有什么方法比直接体验它们能够更好地理解其好处的了 包括容错、安全性、负载均衡和可伸缩性。 Oracle RAC 的核心是共享磁盘子系统。集群中的所有节点必须能够访问集群中所有节点的所有数据、重做日志文件、控制文件和参数文件。数据磁盘必须在全局范围内可用,以便允许所有节点访问数据库。每个节点拥有自己的重做日志和控制文件,但是其他节点必须能够访问这些文件,以便在系统故障时恢复该节点。 希望本文能对一些手头上只有一台PC而没有真正的双机环境的朋友提供一个参考。二、本文实践环境1、PC主要配置:Celeron(R) CPU 1.80GHzMaxtor 6E040L0, ATA DISK drive 40GRelTek 8139C 网卡 一块内存DDR333 512MB * 2显示卡:ATI Radeon 9200 SE 操作系统:White Box Enterprise Linux 3 (本文同样适用于RedHat企业版,不同之处是WBEL3目前可以免费运用于商业)远程终端一台,装有windowsXP和远程X-server软件2、服务器分区方案Oracle 数据库文件RAC节点名实例名数据库名$ORACLE_BASE文件系统dbracorcl1orcl/home/oracleASMOracle CRS 共享文件文件类型 文件名 分区 挂载点文件系统oracle集群注册表/u01/orcl/orcfile/dev/hda8/u01OCFSCRS表决磁盘/u01/orcl/cssfile/dev/hda8/u01OCFS3、所涉及软件1)oracle 10g 数据库软件ship.db.lnx32.cpio.gz2)oracle 10g 集群服务软件ship.crs.lnx32.cpio.gz3)OCFS文件系统支持ocfs-2.4.21-EL-1.0.14-1.i686.rpmocfs-support-1.0.10-1.i386.rpmocfs-tools-1.0.10-1.i386.rpm4)ASMlib驱动程序oracleasm-2.4.21-EL-1.0.3-1.i686.rpmoracleasm-support-1.0.3-1.i386.rpmoracleasmlib-1.0.0-1.i386.rpm以上软件包均可以从oracle官方网站下载WBEL linux下载地址:/download.html 三、基础操作1、安装linux安装过程中一些需要注意的地方:1)磁盘分区:swap分区大小建议是内存的2倍,这里是2048MB,划出一些系统必要的分区根分区/,var分区/var,usr分区/usr,home分区/home,临时文件分区/tmp。注意:这里不要把所有的硬盘空间划分进操作系统,留下一半给后面安装oarcle集群磁盘使用,本文示例2)文件系统 容量 挂载点/dev/hda1 1012M /dev/hda2 7.7G /home/dev/hda7 1012M /tmp/dev/hda3 5.8G /usr/dev/hda5 2.0G /var3)组件选取:一定要选上delvelopment tools和X-windows两项,为了节省空间其他可以不要4)防火墙:最好不要5)网络设置:eth0取消选中 Configure using DHCP 复选项选中 Activate on bootIP 地址:4网络掩码: 6)主机名:dbrac2、.安装完成后检查必需的 RPM 3、必须安装以下程序包(或更高版本): make-3.79.1gcc-3.2.3-34glibc-2.3.2-95.20glibc-devel-2.3.2-95.20glibc-headers-2.3.2-95.20glibc-kernheaders-2.4-8.34cpp-3.2.3-34compat-db-4.0.14-5compat-gcc-7.3-2.96.128compat-gcc-c+-7.3-2.96.128compat-libstdc+-7.3-2.96.128compat-libstdc+-devel-7.3-2.96.128openmotif-2.2.2-16setarch-1.3-1四、设置1、更改/etc/hostsvi /etc/hosts localhost.localdomain localhost4 dbrac int-dbrac44 vip-dbrac确保RAC节点名没有出现在回送地址中。此处设置相当重要,不能跳过,一定按照此设置,IP和主机别名可以自己定oracle 10g RAC中 使用了虚拟IP(VIP)技术,这是一个令人心动的高可用性、多机无缝切换的解决方案,但在单机模拟环境中仅仅是个形式而已,为了以后的顺利安装,不得不配置它2、调整内核网络设置参数编辑/etc/sysctl.conf,增加下面的设置:vi /etc/sysctl.conf# Default setting in bytes of the socket receive buffernet.core.rmem_default=262144# Default setting in bytes of the socket send buffernet.core.wmem_default=262144# Maximum socket receive buffer size which may be set by using# the SO_RCVBUF socket optionnet.core.rmem_max=262144# Maximum socket send buffer size which may be set by using # the SO_SNDBUF socket optionnet.core.wmem_max=2621443、添加模块选项: 将下列行添加到 /etc/modules.conf 中: options sbp2 sbp2_exclusive_login=04、创建“oracle”用户和目录$su -#groupadd dba#useradd -g dba -m oracle#passwd oracle5、编辑.bash_profile文件,增加oracle环境变量$vi .bash_profileexport PATHunset USERNAMEexport LANG=zh_CN.EUCORACLE_BASE=/home/oracle;export ORACLE_BASEexport ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1export ORA_CRS_HOME=$ORACLE_BASE/product/10.1.0/crs_1export ORACLE_SID=rac1export NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBKPATH=$ORACLE_HOME/bin:/bin:/sbin:/usr/bin:/usr/ccs/bin:/usr/local/bin:/usr/ucb;export PATHLD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:$ORACLE_HOME/oracm/lib:/usr/local/lib:/usr/lib;export LD_LIBRARY_PATHexport ORACLE_TERM=xtermexport CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlibexport THREADS_FLAG=nativeexport TEMP=/tmpexport TMPDIR=/tmpexport LD_ASSUME_KERNEL=2.4.16、创建CRS分区和数据文件分区1)先建立CRS分区挂载点mkdir /u01chown oracle:dba /u012)接着创建CRS分区和共享数据文件分区fdisk /dev/hdaCRS分区只要500M就够了,剩下的全部划分给数据文件分区,这里为数据文件只分了1个区/dev/hda9CRS分区为/dev/hda8rootdbrac root# fdisk /dev/hdaThe number of cylinders for this disk is set to 4997.rootdbrac root# fdisk /dev/hdaThe number of cylinders for this disk is set to 4997.There is nothing wrong with that, but this is larger than 1024,and could in certain setups cause problems with:1) software that runs at boot time (e.g., old versions of LILO)2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK)Command (m for help): pDisk /dev/hda: 41.1 GB, 41109061120 bytes255 heads, 63 sectors/track, 4997 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/hda1 * 1 131 1052226 83 Linux/dev/hda2 132 1151 8193150 83 Linux/dev/hda3 1152 1916 6144862+ 83 Linux/dev/hda4 1917 4998 24756165 f Win95 Extd (LBA)/dev/hda5 1917 2177 2096451 83 Linux/dev/hda6 2178 2438 2096451 82 Linux swap/dev/hda7 2439 2569 1052226 83 LinuxCommand (m for help): nFirst cylinder (2570-4998, default 2570): Using default value 2570Last cylinder or +size or +sizeM or +sizeK (2570-4998, default 4998): +500MCommand (m for help): nFirst cylinder (2632-4998, default 2632): Using default value 2632Last cylinder or +size or +sizeM or +sizeK (2632-4998, default 4998): +15000MCommand (m for help): pDisk /dev/hda: 41.1 GB, 41109061120 bytes255 heads, 63 sectors/track, 4997 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/hda1 * 1 131 1052226 83 Linux/dev/hda2 132 1151 8193150 83 Linux/dev/hda3 1152 1916 6144862+ 83 Linux/dev/hda4 1917 4998 24756165 f Win95 Extd (LBA)/dev/hda5 1917 2177 2096451 83 Linux/dev/hda6 2178 2438 2096451 82 Linux swap/dev/hda7 2439 2569 1052226 83 Linux/dev/hda8 2570 2631 497983+ 83 Linux/dev/hda9 2632 4456 14659281 83 LinuxCommand (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.The kernel still uses the old table.The new table will be used at the next reboot.Syncing disks.7、编辑/etc/sysctl.conf,增加下面2行以设置系统共享内存大小和文件句柄kernel.shmmax=2147483648kernel.sem=250 32000 100 128本文涉及到的linux操作系统的内核参数默认设置大多符合oracle安装所需,不需要做更大的改动8、配置 hangcheck-timer 内核模块在/etc/modules.conf中增加下面一行options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180为了确保系统每次重新启动的时候都能自动加载hangcheck-timer 模块,需要在/etc/rc.local文件中增加下面一行echo “modprobe hangcheck-timer” ; /etc/rc.local重启系统并检查hangcheck-timer模块是否已经加载rootdbrac root# lsmod | grep hangcheck-timerhangcheck-timer 2616 0 (unused)9、配置 RAC 节点以进行远程访问 在 RAC 节点上运行 Oracle Universal Installer 时,它将使用 rsh 、rcp或scp命令将 Oracle 软件复制到 RAC 集群中的所有其他节点。虽然是单机模拟,但仍然要配置,无法跳过,从oracle 10g开始已经支持ssh协议,本文将首先尝试使用它使用oracle用户创建ssh公共密匙:oracledbrac oracle$ ssh-keygen -t dsaGenerating public/private dsa key pair.Enter file in which to save the key (/home/oracle/.ssh/id_dsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/oracle/.ssh/id_dsa.Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.The key fingerprint is:2d:09:9a:c0:40:c7:99:46:ea:43:0d:22:4b:d0:a0:26 oracledbrac复制公匙到其他节点(这里是单机)oracledbrac oracle$ cp -v .ssh/id_dsa.pub .ssh/authorized_keys测试密匙是否生效oracledbrac oracle$ ssh dbracThe authenticity of host dbrac (4) cant be established.RSA key fingerprint is e7:ff:ce:5e:92:ac:c4:96:a8:ca:3e:20:2e:5c:75:ae.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added dbrac,4 (RSA) to the list of known hosts.oracledbrac oracle$无需密码即可登陆表示密匙已经生效10、安装和配置 OCFSOCFS是Oracle 集群文件系统 (OCFS),由 Oracle 开发,用于消除数据库管理员和系统管理员管理原始设备这一负担,它提供了与通常的文件系统相同的功能和用法。尽量不要在OCFS文件系统上使用linux二进制文件系统操作命令在目前的版本种支持以下文件类型:Oracle 数据库文件 联机重做日志文件 归档重做日志文件 控制文件 服务器参数文件 (SPFILE) Oracle 集群注册表 (OCR) 文件 CRS 表决磁盘。安装和配置1)上传ocfs-2.4.21-EL-1.0.14-1.i686.rpm,ocfs-support-1.0.10-1.i386.rpm,ocfs-tools-1.0.10-1.i386.rpm到/home/oracle/install/rac/ocfs目录2)执行rpm -ivh ocfs*.rpm 开始安装oracledbrac oracle$ su -Password: rootdbrac root# cd /home/oracle/install/rac/ocfsrootdbrac ocfs# rpm -ivh ocfs*.rpmPreparing. # 100% 1:ocfs-support # 33% 2:ocfs-2.4.21-EL # 67% 3:ocfs-tools # 100%3)生成并配置/etc/ocfs.conf文件rootdbrac ocfs# ocfstool &4)使用 ocfstool GUI 工具执行以下步骤: 5)选择 Task - Generate Config 在“OCFS Generate Config”对话框中,输入专用互连的接口和 DNS 名。验证所有节点上的所有值正确之后,请退出应用程序6)检查/etc/ocfs.confrootdbrac ocfs# cat /etc/ocfs.conf# ocfs config# Ensure this file exists in /etc# node_name = dbrac ip_address = 4 ip_port = 7000 comm_voting = 1 guid = B907DC7945D81C0A2C8C000D61EB0166注意guid在集群中唯一对应一个节点,如果要更换网卡,请使用ocfs_uid_gen -c 命令重新创建7)重新启动系统并确认ocfs模块已经正确加载oracledbrac oracle$ lsmod | grep ocfsocfs 299104 0 (unused)8)创建 OCFS 文件系统oracledbrac oracle$ iduid=500(oracle) gid=500(dba) groups=500(dba)oracledbrac oracle$ su -Password: rootdbrac root# mkfs.ocfs -F -b 128 -L crs -m /u01 -u 500 -g 500 -p 0775 /dev/hda8Cleared volume header sectors Cleared node config sectors Cleared publish sectors Cleared vote sectors Cleared bitmap sectors Cleared data block Wrote volume header注意-u和-g 是oracle用户的id和dba组的id,一定要填写正确,-p是设置/u01目录的访问权限,如果要设置dba组用户有权管理集群注册文件的话,请设置07759)载入 OCFS 文件系统$ su -# mount -t ocfs /dev/hda8 /u0110)将 OCFS分区配置为在启动时自动载入11)将以下条目添加到/etc/fstab 文件中/dev/hda8 /u01 ocfs _netdev 0 012)重新启动服务器并检查CRS分区已经正确安装rootdbrac root# mount | grep ocfs/dev/hda8 on /u01 type ocfs (rw)如果没有被自动加载,请执行如下命令echo “mount -t ocfs /dev/hda8 /u01” ; /etc/rc.local,然后重新启动也可用使用oracle官方为我们提供的打过补丁的linux内核来解决此问题11、安装并配置自动存储管理和磁盘 Oracle 数据库 10g 中引入了 ASM,使管理员不必再管理单个文件和驱动器,ASM 被内置到 Oracle 内核中,通过它,数据库管理员可以全天候管理单个实例以及集群实例的上千个磁盘驱动器。本文将使用ASM来自动存储和管理所有 Oracle 物理数据库文件(数据、联机重做日志、控制文件、归档重做日志)。oracle不推荐使用裸设备,因此这里使用前面创建的/dev/hda9分区1)上传oracleasm-2.4.21-EL-1.0.3-1.i686.rpm,oracleasmlib-1.0.0-1.i386.rpm,oracleasm-support-1.0.3-1.i386.rpm三个软件包到/home/oracle/install/rac/asm目录中,开始安装:oracledbrac asmlib$ su -Password: rootdbrac root# cd /home/oracle/install/rac/asmlibrootdbrac asmlib# rpm -ivh oracleasm*.rpmPreparing. # 100% 1:oracleasm-support # 33% 2:oracleasm-2.4.21-EL # 67% 3:oracleasmlib # 100%2)配置并加载 ASMLib 程序包rootdbrac asmlib# /etc/init.d/oracleasm configureConfiguring the Oracle ASM library driver.This will configure the on-boot properties of the Oracle ASM librarydriver. The following questions will determine whether the driver isloaded on boot and what permissions it will have. The current valueswill be shown in brackets (). Hitting ; without typing ananswer will keep that current value. Ctrl-C will abort.Default user to own the driver interface : oracleDefault group to own the driver interface : dbaStart Oracle ASM library driver on boot (y/n) n: yFix permissions of Oracle ASM disks on boot (y/n) y: yWriting Oracle ASM library driver configuration OK Loading module oracleasm OK Mounting ASMlib driver filesystem OK Scanning system for ASM disks OK 为 Oracle 共享数据文件创建 ASM 磁盘rootdbrac asmlib# /etc/init.d/oracleasm createdisk oradata /dev/hda9Marking disk /dev/hda9 as an ASM disk OK 其中oradata是ASM磁盘的卷标列出ASM磁盘的命令是/etc/init.d/oracleasm listdisks删除ASM磁盘得命令是/etc/init.d/oracleasm deltedisk ORADATA(注意:此处大写)/etc/init.d/oraclerasm scandisk命令用于其它节点上扫描并识别新卷,由于此处是单机,所以这里不需要执行。五、安装oracle 10g集群服务软件 从这里开始,建议所有的安装过程全部使用英文界面安装,在简体中文环境下安装会有问题,如果安装操作系统的时候选择了默认语言为简体中文,请更改/etc/sysconfig/i18n文件中LANG的值,然后重新登陆系统。LANG=en_US.UTF-8在附录本文会给出全中文环境数据库安装解决方案1)上传ship.crs.lnx32.cpio.gz到/home/oracle/install/rac目录中并解压缩;gzip -dv ship.crs.lnx32.cpio.gz;cpio -idmv ship.crs.lnx32.cpio2)在安装过程中oracle 10g集群服务软件会在CRS分区创建2个文件,分别是/u01/orcl/ocrfile和/u01/orcl/cssfile,相当重要,不能跳过;检查/tmp目录是否有足够的空间,必须保证/tmp目录有500M以上空余空间;3)更改oracle用户环境变量;unset ORA_CRS_HOME$ unset ORACLE_HOME$ unset ORA_NLS33$ unset TNS_ADMIN4)转到安装源文件目录/home/oracle/install/rac/Disk1目录,执行./runInstaller &开始安装;屏幕名称回应Welcome Screen单击 Next Specify Inventory directory and credentials接受默认值Root Script Window - Run orainstRoot.sh以“root”用户帐户打开一个新的控制台窗口。改变目录到/home/oracle/oraInventory 目录,运行 orainstRoot.sh。 返回 OUI 并确认此对话框窗口。Specify File LocationsSource 目录使用默认值;Name: OraCrs10g_home1;Location:/home/oracle/product/10.1.0/crs_1Language Selection 请使用English,可以加入简体中文支持Cluster ConfigurationCluster Name: crs;Public Node Name:dbrac Private Node Name:int-dbracSpecify Network Interface Usage使用默认Oracle Cluster Registry/u01/orcl/ocrfileVoting Disk/u01/orcl/cssfileRoot Script Window - Run orainstRoot.sh以“root”用户帐户打开一个新的控制台窗口。转到/home/oracle/product/10.1.0/crs_1目录,运行root.sh。 返回 OUI 并确认此对话框窗口。5)核实CRS安装a)检查集群节点oracledbrac oracle$ product/10.1.0/crs_1/bin/olsnodes -ndbrac 1a)检查CRS自启动脚本oracledbrac oracle$ ll /etc/init.d/init.*-r-xr-xr-x 1 root root 1204 May 10 16:54 /etc/init.d/init.crs-r-xr-xr-x 1 root root 5489 May 10 16:54 /etc/init.d/init.crsd-r-xr-xr-x 1 root root 18598 May 10 16:54 /etc/init.d/init.cssd-r-xr-xr-x 1 root root 4550 May 10 16:54 /etc/init.d/init.evmd六、安装 Oracle 10g数据库软件1)上传ship.db.lnx32.cpio.gz至/home/oracle/install目录并解压gzip -dv ship.db.lnx32.cpio.gz & cpio -idmv ; show parameter serviceNAME TYPE VALUE- - -service_names string orcl, orcltest如果value只有一个值orcl,则需要手工添加orcltestSQL; alter system set service_names =orcl, orcltest scope=spfile;九、测试集群先检查VIP是否已经启动oracledbrac oracle$ ifconfig eth0:1eth0:1 Link encap:Ethernet HWaddr 00:0D:61:EB:01:66 inet addr:44 Bcast:55 Mask: UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:11
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- CD-10-生命科学试剂-MCE
- 工程项目成本管理工具成本控制成本效益分析版
- 信用记录优化承诺书8篇
- 期货从业资格之期货投资分析高分题库附参考答案详解【黄金题型】
- 2025-2026学年导游资格考试预测复习附答案详解(培优B卷)
- 2024注册公用设备工程师综合提升测试卷往年题考附答案详解
- 执业药师考试黑钻押题(轻巧夺冠)附答案详解
- 2024-2025学年度燃气职业技能鉴定模考模拟试题含答案详解(巩固)
- 2025年芜湖市投资控股集团有限公司校园招聘笔试备考试题及答案详解(必刷)
- 2025年中共十堰市委党校引进高层次人才(5人)考前自测高频考点模拟试题带答案详解(完整版)
- 读书分享读书交流会《活着》课件2
- 三人合伙开公司协议书:免修版模板范本
- (完整版)经典无领导小组讨论题目(附答案)
- 健康心理快乐成长小学课件
- 北师大版四年级上册数学早读资料PPT
- 职业规划PPT-第四章-探索职业
- 马克思主义政治经济学概论
- 一次性竹质餐具(刀、叉、匙)通用技术要求 DB43-T 2648-2023
- 拖欠工资协议书
- 健身理论与指导课件
- 驾驶员从业资格证电子版
评论
0/150
提交评论