- 浏览: 1086488 次
- 性别:
- 来自: 南京
博客专栏
-
Oracle管理和开发
浏览量:349459
最新评论
-
Simon.Ezer:
请问对于“如果非主键字段值发生改变,则不会同步过去”这种情况, ...
创建增量同步Oracle物化视图问题 -
dahai639:
挺好的,支持一下
Oracle的pipelined函数实现高性能大数据处理 -
zealotpz:
不错,原来是用户oracle 的所属组的问题
以sysdba身份登录oracle报ORA-1031权限不足错误之完美分析 -
mikixiyou:
zhangyuslam 写道如果担心全局索引失效,可以使用如下 ...
Oracle分区表的分区交互技术实现数据快速转移 -
sea0108:
...
Oracle sql loader使用速成
在Linux 系统上如red hat as 5 上安装Oracle 10g RAC 时,我们经常会碰到这样或那样的错误。有的是新环境缺少这样那样的配置,有的是老环境有这样那些的不合适设置,有时候还能碰到一些bug 。
(miki西游 @mikixiyou 文档,原文链接: http://mikixiyou.iteye.com/blog/1555489 )
我从2005 年开始安装10g RAC 到现在,遇见了各种各样的问题。现在将这些安装过程中注意的要点和出现的问题做一个总结。
一、安装操作系统补丁包
建议使用 system-config-packages命令在vnc下打开图形化安装工具,将开发包全部安装上,免得烦人。
否则,您需要检查和安装下列的补丁包。
rpm -ivh setarch-2.0-1.1.x86_64.rpm
rpm -ivh make-3.81-3.el5.x86_64.rpm
rpm -ivh glibc-2.5-24.*
rpm -ivh libaio-0.3.106-3.2.*
rpm -ivh compat-libstdc++-*
rpm -ivh compat-gcc-34-3.4.6-4.x86_64.rpm
rpm -ivh compat-gcc-34-c++-3.4.6-4.x86_64.rpm
rpm -ivh gcc-4.1.2-42.el5.x86_64.rpm
rpm -ivh libXp-1.0.0-8.1.el5.*
rpm -ivh openmotif-2.3.0-0.5.el5.*
rpm -ivh compat-db-4.2.52-5.1.*
如果没有安装完整,可能会有一面一些错误会遇到。
错误一:
/tmp/OraInstall2007-12-30_02-16-11PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred..
原因是:缺少支持打印的图形化动态链接库libXp.so.6
这个错误是由于缺少系统安装包,在RHEL5 以前的版本,可以安装xorg-x11-deprecated-libs 包即可,这个安装包可以在系统光盘第三张盘中找到(对于redhat as4.2 以前,redhat as4.4 是在第四张安装光盘)
xorg-x11-deprecated-libs-6.8.2-31.i386.rpm
错误二:
Exception :java.lang.UnsatisfiedLinkError:/usr/java/j2sdk1.4.2_06/jre/lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory
这个错误是也是由于缺少系统安装包造成的,只需安装XFree86-libs 包即可,这个安装包可以在系统光盘中找到。
在上面两个错误如果出现在redhat as5 版本中,解决如下:
在RHEL5 中上面的包被libXp 所取代了,因此rpm -ivh libXp-1.0.0-8.i386.rpm 将包打上后问题即可解决。
错误三:
error while loading shared libraries: libstdc++-libc6.1-1.so.2
只用执行如下操作ln -s libstdc++-libc6.2-2.so.3 libstdc++-libc6.1-1.so.2
最后安装“rpm -ivh libXp-1.0.0-8.i386.rpm ”问题解决。
错误四:在安装数据库的时候出现
“uError in invoking target 'all_no_orcl ihsodbc' of makefile'/u01/app/oracle/oracle/product/10.2.0/db_1/rdbms/lib/ins_rdbms.mk'.See '/u01/app/oracle/oraInventory/logs/installActions2006-10-16_06-41-37PM.log'for details ”的错误。
经过分析缺少一个包:compat-libstdc++-33.i386.rpm 的包
[root@dg1 Server]# rpm -ivh compat-libstdc++-*.rpm
warning: compat-libstdc++-296-2.96-138.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:compat-libstdc++-33 ########################################### [ 50%]
2:compat-libstdc++-296 ########################################### [100%]
安装后,问题解决。
二、操作系统配置
1 、/etc/hosts 配置
新集群配置:
192.168.100.14 rac1
192.168.100.15 rac1-vip
192.168.212.14 rac1-priv
192.168.100.18 rac2
192.168.100.19 rac2-vip
192.168.212.18 rac2-priv
2 、核心参数配置
/etc/sysctl.conf
#////////////////////////////////////////////////oracle 调优后参数
#ORACLE
#kernel.shmall = 3279547
#kernel.shmmax = 8294967295
kernel.shmmni = 4096
#semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 256 32000 100 142
fs.file-max = 327679
net.ipv4.ip_local_port_range = 1024 65000
kernel.msgmni = 2878
kernel.msgmax = 8192
kernel.msgmnb = 65535
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
vm.min_free_kbytes=409600
3 、调整限制
/etc/security/limits.conf
oracle soft nproc 4096
oracle hard nproc 16384
oracle soft nofile 16384
oracle hard nofile 65536
4 、
修改 /etc/selinux/config 配置文件,把 SELLINUX 参数改为:
SELINUX=disabled
三、创建oracle 用户和组
/usr/sbin/groupadd oinstall -g 201
/usr/sbin/groupadd dba -g 202
/usr/sbin/groupadd oper -g 203
/usr/sbin/useradd -m -u 1101 -g oinstall -G dba,oper -d /u01/home/oracle -s /bin/bash -c "Oracle Software Owner" oracle
设置.bash_profile
# .bash_profile
####
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db
export ORA_CRS_HOME=/u01/app/oracle/product/10.2.0/crs
export PATH=/sbin:$ORA_CRS_HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=xxdb2
#export ORACLE_TERM=vt100
export THREADS_FLAG=native
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
export LANG=en_US
PS1="\${PWD}@`hostname`=>\${ORACLE_SID}\$"
umask 022
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
四、配置SSH 互信
在rac3 上以oracle user run:
rac3-> mkdir ~/.ssh
rac3-> chmod 700 ~/.ssh
rac3-> ssh-keygen -t rsa
rac3-> ssh-keygen -t dsa
在rac1 上以oracle user run:
rac1-> ssh rac3 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
rac1-> ssh rac3 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
oracle@rac3'spassword:
rac1-> scp ~/.ssh/authorized_keys rac3:~/.ssh/authorized_keys
oracle@rac3'spassword:
authorized_keys 100% 1716 1.7KB/s 00:00
rac1-> scp ~/.ssh/authorized_keys rac3:~/.ssh/authorized_keys
authorized_keys 100% 1716 1.7KB/s 00:00
将authorized_keys copy 到rac2 主机, 建立与rac2 的ssh 信任
rac2-> scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys
authorized_keys 100% 1716 1.7KB/s 00:00
四、存储设置
The /dev/dm-N devices are used internally by device-mapper-multipath and are non-persistent across reboot, so should not be used. The /dev/mpath/ devices are created for multipath devices to be visible together, however, may not be available during early stages of boot, so, again, should not be used. However, /dev/mapper/ devices are persistent and created sufficiently early during boot - use only these devices to access and interact with multipathed devices.
在redhat 5.4 存储设置:
[root@rac2 ~]# more /etc/udev/rules.d/60-raw.rules
# Enter raw device bindings here.
ACTION=="add", KERNEL=="/dev/mapper/mpath6", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="/dev/mapper/mpath7", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="raw1", OWNER="root", GROUP="oinstall", MODE="777"
ACTION=="add", KERNEL=="raw2", OWNER="oracle", GROUP="oinstall", MODE="777"
[root@rac2 ~]# more /etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/bin/raw /dev/raw/raw1 /dev/mapper/mpath6
/bin/raw /dev/raw/raw2 /dev/mapper/mpath7
[root@rac2 ~]#
[root@rac1 ~]# chown -R oracle:oinstall /dev/mapper/mpath[1-5]
[root@rac1 ~]# chmod -R 755 /dev/mapper/mpath[1-5]
[root@rac1 ~]#
//////
ACTION=="add", KERNEL=="/dev/sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="/dev/sdb2", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="/dev/sdb3", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="/dev/sdb4", RUN+="/bin/raw /dev/raw/raw4 %N"
KERNEL=="raw1", OWNER="root", GROUP="oinstall", MODE="640"
KERNEL=="raw2", OWNER="oracle", GROUP="oinstall", MODE="640"
KERNEL=="raw3", OWNER="oracle", GROUP="dba", MODE="660"
KERNEL=="raw4", OWNER="oracle", GROUP="dba", MODE="660"
/etc/udev/rule.d/60-raw.rules
这种方法的配置如下:
[root@rac2 rules.d]# cat 60-raw.rules
# Enter raw device bindings here.
#
# An example would be:
# ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
# to bind /dev/raw/raw1 to /dev/sda, or
# ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
# to bind /dev/raw/raw2 to the device with major 8, minor 1.
ACTION=="add", KERNEL=="dm-7", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="dm-8", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="raw1", OWNER="root", GROUP="oinstall", MODE="660"
ACTION=="add", KERNEL=="raw2", OWNER="oracle", GROUP="oinstall", MODE="660"
-- 这个是对raw 设备进行权限设置的
[root@rac2 rules.d]# cat /etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/bin/raw /dev/raw/raw1 /dev/dm-7
/bin/raw /dev/raw/raw2 /dev/dm-8
-- 系统启动时挂载raw 设备
五、安装CRS
/runInstaller -ignoreSysPrereqs &
执行root.sh 失败,报错如下:
Failed to upgrade Oracle Cluster Registry configuration
原因是未删除干净,原来已安装有 Oracle RAC 软件,
如果你在装crs 的时候运行了root.sh 后提示上面的英文错误,再也无法运行了,可以尝试清理crs 残留信息,删除执行crs 目录结构后的最重要一步,执行下面的命令。
dd if=/dev/zero of=/dev/sdb1 bs=8192 count=2000
dd if=/dev/zero of=/dev/sdc1 bs=8192 count=2000
将/dev/raw/raw1-->/dev/sdb1 的设备清空 orc disk
将/dev/raw/raw2-->/dev/sdc1 的设备清空 vote disk
Oracle 10g RAC 在Linux 上手工清理的方法如下:
rm -f /etc/init.d/init.cssd
rm -f /etc/init.d/init.crs
rm -f /etc/init.d/init.crsd
rm -f /etc/init.d/init.evmd
rm -f /etc/rc2.d/K96init.crs
rm -f /etc/rc2.d/S96init.crs
rm -f /etc/rc3.d/K96init.crs
rm -f /etc/rc3.d/S96init.crs
rm -f /etc/rc5.d/K96init.crs
rm -f /etc/rc5.d/S96init.crs
rm -Rf /etc/oracle/scls_scr
rm -f /etc/inittab.crs
cp /etc/inittab.orig /etc/inittab
dd if=/dev/zero of=/dev/raw/raw1 bs=8192K count=100
dd if=/dev/zero of=/dev/raw/raw2 bs=8192K count=100
如果root.sh 报错如下:
Oracle Database 10g CRS Release 10.2.0.1.0 Production Copyright 1996, 2005 Oracle. All rights reserved.
2010-12-28 00:35:36.935: [ OCRCONF][1325856320]ocrconfig starts...
2010-12-28 00:35:36.935: [ OCRCONF][1325856320]Upgrading OCR data
2010-12-28 00:35:36.941: [ OCRCONF][1325856320]OCR already in current version.
2010-12-28 00:35:36.947: [ OCRCONF][1325856320]Failed to call clsssinit (21)
2010-12-28 00:35:36.947: [ OCRCONF][1325856320]Failed to make a backup copy of OCR
2010-12-28 00:35:36.947: [ OCRCONF][1325856320]Exiting [status=failed]...
[root@rac1 lost+found]#
这是Bug.4679769 FAILED TO FORMAT OCR DISK USING CLSFMT
综上,在oracle rac中使用raw device还是asmlib看情况而定,我一直使用raw device。在重装时,务必清理干净。bash_profile的配置大家可以参考。
这是10gRAC的,我还有一个关于11g RAC的安装总结,等有空整理出来,再放上来。希望得到您的支持。(虚荣心啊,人性的弱点吗?)
发表评论
-
Oracle分区表的分区交互技术实现数据快速转移
2013-01-22 11:48 14666有一个需求,将某业务表的某个时间点之前的记录转移到它的历史 ... -
等待事件enq TX row lock contention分析
2013-01-17 17:16 33207在Oracle数据库性能报告AWRRPT分析时,发现top ... -
Oracle的UNDO表空间管理总结
2013-01-14 15:06 12879UNDO是Oracle中的一个很 ... -
Oracle在不同windows系统中的迁移
2013-01-09 15:41 3700在Windows操作系统环境下 ... -
Oracle 10.2.0.1在windows 2008上安装失败经历
2013-01-07 10:29 8622这两天遇到这个一个项目上的数据库迁移的问题。原来的环境是数据库 ... -
所有的物化视图刷新脚本
2012-12-28 13:59 0select 'execute dbms_mview.refr ... -
Oracle数据库的SQL性能问题分析
2012-12-27 15:31 5227在Oracle 10.2.0.4数据库中,有一个SQL执行缓慢 ... -
db block gets和consistent gets的分析
2012-12-26 18:09 0在Oracle的文档中有这样一段解释: db block g ... -
创建增量同步Oracle物化视图问题
2012-12-25 14:07 15179我们采用Oracle的物化视图增量刷新机制定时将数据库A上的某 ... -
查归档日志文件每小时生成量
2012-12-18 16:13 10721在O racle数据库中,通过v$archived_lo ... -
如何删掉临时表空间的文件
2012-12-18 15:40 0Unlike Oracle datafiles which m ... -
Oracle sql性能诊断暨event 10046和10053使用
2012-12-17 10:24 0早上em grid control监控显示数据库的负载增加,其 ... -
查LOB字段占用的空间大小
2012-12-13 16:00 4486查询Oracle表中LOB字段的占用空间大小。表中每一个LOB ... -
Oracle Data Guard的重做日志传输和应用状况监控
2012-12-04 14:05 4020这是一个用来监控Oracle Data Guard环境下从主库 ... -
Oracle sql loader使用速成
2012-11-30 14:14 4827Oracle SQL LOADER是Oracle的 ... -
Oracle 11g2的监听器配置
2012-11-29 14:34 4308Oracle的监听器服务注册 ... -
Deleting archivelog on physical standby with RMAN in Oracle 10g
2012-11-28 13:25 0Turns out to be quite easy ... -
to_char将number转成string的小技巧
2012-11-27 14:14 10566很多数据转换处理操作时,会遇到将0.007007040000转 ... -
to_date转成字符串时ORA-01843 not a valid month 问题分析
2012-11-26 16:38 29141(注,本文三度易稿) 在开发Oracle SQL或PL/SQL ... -
Data Guard 10g 的保护级别为RESYNCHRONIZATION问题
2012-11-25 11:01 1874Oracle的data guard创建完成 ...
相关推荐
oracle11gRAC在Linux上安装步骤
手把手教你用VMware在Linux下安装Oracle 10g RAC
介绍在虚拟机上构建Oracle10g RAC集群的操作过程,其中介绍了裸机上安装虚拟机软件ESXi,SuSELinux上安装Oracle10g RAC集群。 安装RAC集群,首先要创建虚拟机共享磁盘,然后分区,挂载裸设备和进行ASM分区,然后安装...
Oracle 10g RAC on Linux 静默安装过程
oracle10g rac asm for linux oracle10g rac asm for linux
ORACLE10g RAC FOR SUSE LINUX安装
Oracle业界大侠Tom Kely 经典作品之一,描述Red Hat Enterprise Linux平台上搭建Oracle10g RAC的过程,详细讲解了RAC相关之技术精髓,由于上传档案大小限制原因,这是两个分割档案中之一,请与另一半一起解压缩
Oracle 11g RAC for Linux_安装部署手册,非常详细,很牛逼的文档
oracle RAC 在 linux下安装部署的文档,文档简单明了,需要有一点基础,Oracle11g 12c均可参考
介绍Linux环境下,Oracle RAC环境的安装配置。
Oracle10g RAC集群技术
oracle database 10g rac on linux英文版指导用书
OracleLinux6.5下安装Oracle11gRAC_Multipath_ASM20140606发行版
教程名称:Oracle 10g RAC安装过程视频讲解课程目录:【】Oracle10g RAC_1【】Oracle10g RAC_2【】Oracle10g RAC_3【】Oracle10g RAC_4【】Oracle10g RAC_5 资源太大,传百度网盘了,链接在附件中,有需要的同学自取...
RHEL 6.6 下安装配置 oracle 11g RAC 的文档,在 centos 6.6下是通用的。
WIN平台Linux系统软件安装规范(ORACLE 11G RAC on LINUX) WIN平台Linux系统软件安装规范(ORACLE 11G RAC on LINUX)
按个文档做不出来的话,那你就不要搞技术了。
vmserver1.04 oracle10g RAC安装文档
基于Vmware 15 + CentOS 7.6 + Oracle 11g RAC+DG安装配置
oracle 10g rac 描述,系统讲解oracle 10g rac的原理和基础。