HDNL性能调优(3)Oracle RAC 环境

来源:互联网 发布:淘宝页面背景图素材 编辑:程序博客网 时间:2024/06/04 19:05
1、Oracle RAC应用10.2.3补丁
1.1   CRS程序打补丁
在Oracle官方网站http://metalink.oracle.com下载补丁程序p5337014_10203_Linux-x86-64.zip
运行unzip p5337014_10203_Linux-x86-64.zip解压到一个临时目录,
在oracle用户下停止数据RAC数据库
运行./Disk1/runInstaller
欢迎页面:单击 Next。
指定 Home 详细内容:
名称:OraCrs10g_home
/opt/crs/oracle/product/10.2.0/crs_1
指定硬件集群安装模式:
选择集群安装
选择select all
摘要:单击 Install。
结束安装:单击exit
 
1.2、运行CRS更新程序脚本
分别在每个点上登陆root用户执行配置脚本
在zcdb1上执行 /opt/app/oracle/product/10.2.0/crs_1/bin/crsctl stop crs
在zcdb1上执行 /opt/app/oracle/product/10.2.0/crs_1/install/root102.sh
在zcdb2上执行 /opt/app/oracle/product/10.2.0/crs_1/bin/crsctl stop crs
在zcdb2上执行 /opt/app/oracle/product/10.2.0/crs_1/install/root102.sh
 
1.3、Database程序打补丁
在oracle用户下运行./Disk1/runInstaller
欢迎页面:单击 Next。
指定 Home 详细内容:
名称:OraDb10g_home1
/opt/crs/oracle/product/10.2.0/db_1
指定硬件集群安装模式:
选择集群安装
选择select all
摘要:单击 Install。
执行配置脚本:以 root 用户身份按顺序执行以下脚本
在 zcdb1 上执行 /opt/app/oracle/product/10.2.0/db_1/root.sh。
在 zcdb2 上执行 /opt/app/oracle/product/10.2.0/db_1/root.sh。
结束安装:单击ok。
 
1.4、运行数据库数据字典更新脚本
以下操作只在zcdb1上执行,zcdb2上服务保持停止状态
启动侦听 $srvctl start nodeapps –n zcdb1 (侦听会随之启动)
启动ASM $srvctl start asm –n zcdb1
$ sqlplus /nolog
SQL> CONNECT SYS/SYS_password AS SYSDBA
 
SQL> STARTUP NOMOUNT
SQL> SHOW PARAMETER PFILE;
SQL> SHOW PARAMETER SHARED_POOL_SIZE
SQL> SHOW PARAMETER JAVA_POOL_SIZE
 
SQL> ALTER SYSTEM SET SHARED_POOL_SIZE='150M' SCOPE=spfile;
SQL> ALTER SYSTEM SET JAVA_POOL_SIZE='150M' SCOPE=spfile;
SQL> ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=spfile;
 
SQL> SHUTDOWN
SQL> STARTUP UPGRADE
 
SQL> SPOOL patch.log
SQL> @?/rdbms/admin/catupgrd.sql
SQL> SPOOL OFF
SQL> SHUTDOWN
SQL> STARTUP
SQL> @?/rdbms/admin/utlrp.sql
SQL> ALTER SYSTEM SET CLUSTER_DATABASE=TRUE SCOPE=spfile;
SQL> SHUTDOWN
启动RAC集群。
 
2、Oracle RAC系统调整
2.1性能测试期间发现的问题
在试运行系统上测试发现两个主要问题:一个问题是用户并发大时,进程间阻塞比较多,导致用户等待响应的时间过长,第二个问题是自动内存管理模式下共享池内存持续上升,导致高速数据缓存
 
2.2解决这些问题的方法
第一个问题由于程序里面SQL语句有串行执行的机制,导致并发过大时,响应时间过长,远光公司已经在迭代测试前修改性能较差的SQL,迭代测试时这个问题有很好的改善。
第二个问题由于程序里面的SQL语句解析重用不够,导致SQL解析占用过多的CPU、内存资源。只有禁用自动内存管理模式,手动管理SGA内存,限制共享池过多的使用内存空间,以改善这个问题。
禁用自动内存管理可以在企业管理器——管理——内存选项中禁用
 
2.3使用并锁定更多物理的内存
修改/etc/security/limits.conf文件,加入以下行
oracle soft memlock 6291000
oracle hard memlock 6291000
重启系统,把sga_max设置到6个G。
 
3、注意事项
3.1   rdac多路径软件设备文件变化
    系统重启时,设备文件/dev/sde可能会发生改变,可能需要禁用DS4700 linux AVT特性,具体操作请咨询硬件厂商。
 
3.2系统内核升级问题
Oracle使用了自动存储管理,ASMlib kerner 驱动跟内核版本相关联,自动升级内核会导致ASM驱动问题,不能管理ASM卷,Oracle不能启动