- 浏览: 1098999 次
- 性别:
- 来自: 南京
博客专栏
-
Oracle管理和开发
浏览量:353156
最新评论
-
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 14810有一个需求,将某业务表的某个时间点之前的记录转移到它的历史 ... -
等待事件enq TX row lock contention分析
2013-01-17 17:16 33298在Oracle数据库性能报告AWRRPT分析时,发现top ... -
Oracle的UNDO表空间管理总结
2013-01-14 15:06 12992UNDO是Oracle中的一个很 ... -
Oracle在不同windows系统中的迁移
2013-01-09 15:41 3807在Windows操作系统环境下 ... -
Oracle 10.2.0.1在windows 2008上安装失败经历
2013-01-07 10:29 8706这两天遇到这个一个项目上的数据库迁移的问题。原来的环境是数据库 ... -
所有的物化视图刷新脚本
2012-12-28 13:59 0select 'execute dbms_mview.refr ... -
Oracle数据库的SQL性能问题分析
2012-12-27 15:31 5289在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 15316我们采用Oracle的物化视图增量刷新机制定时将数据库A上的某 ... -
查归档日志文件每小时生成量
2012-12-18 16:13 10794在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 4584查询Oracle表中LOB字段的占用空间大小。表中每一个LOB ... -
Oracle Data Guard的重做日志传输和应用状况监控
2012-12-04 14:05 4081这是一个用来监控Oracle Data Guard环境下从主库 ... -
Oracle sql loader使用速成
2012-11-30 14:14 4955Oracle SQL LOADER是Oracle的 ... -
Oracle 11g2的监听器配置
2012-11-29 14:34 4391Oracle的监听器服务注册 ... -
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 10639很多数据转换处理操作时,会遇到将0.007007040000转 ... -
to_date转成字符串时ORA-01843 not a valid month 问题分析
2012-11-26 16:38 29315(注,本文三度易稿) 在开发Oracle SQL或PL/SQL ... -
Data Guard 10g 的保护级别为RESYNCHRONIZATION问题
2012-11-25 11:01 1923Oracle的data guard创建完成 ...
相关推荐
总结来说,Oracle 11g RAC的Linux安装涉及硬件配置、操作系统准备、软件包下载、系统参数配置、安装预处理、集群件安装和数据库配置等多个步骤。这不仅需要对Linux系统有深入了解,还需要对Oracle数据库的安装和配置...
本文将深入讲解如何在 VMware 虚拟环境中使用 Linux 操作系统来搭建 Oracle 10g RAC 环境。这一过程涉及多个步骤,包括虚拟机配置、Linux 安装、Oracle RAC 相关软件的安装和配置,以及故障排查。 首先,虚拟机的...
7.Oracle RAC 的实验环境搭建:文章中提到使用 VMware Server 1.0.6 创建虚拟机,安装 Linux Enterprise 5.1 操作系统,并安装 Oracle 10g RAC 软件,进行了详细的实验环境搭建。 8. 实验过程中的经验教训:文章中...
通过以上步骤,您应该能够在VMware环境下成功安装并配置Oracle 10g RAC。尽管整个过程较为复杂,但随着经验的积累,未来再次部署同类环境时将会更加得心应手。希望本指南能帮助您顺利完成Oracle 10g RAC的安装配置...
本书《Pro Oracle Database 11g RAC on Linux》由Steve Shaw和Martin Bach编写,旨在为读者提供Oracle Database 11g RAC在Linux环境下的安装、管理和性能优化等方面的深入指导。以下是对该书中关键知识点的详细说明...
【基于LINUX的Oracle10GRAC...总结,Oracle10g RAC在Linux环境下的管理维护是一个综合性的任务,涉及网络、存储、进程、数据库等多个方面,要求管理员具备深厚的Oracle知识和实践经验,以确保系统的稳定性和高可用性。
【描述】:本文档详细记录了一位专家在安装Oracle 10g RAC(Real Application Clusters)过程中的每一步,包括在vmware环境中设置Linux服务器以及解决问题的经验总结,适合初学者跟随操作。 【标签】:vmware、...
Oracle Database 10g Release 2 RAC(Real Application Clusters)的安装流程旨在指导新手及有经验的用户在Linux环境下部署RAC数据库。本文档详细阐述了安装过程的每一步骤,特别强调了它适用于学习和研究场景,而非...
### Oracle 10g RAC在VMware下的安装教程 #### 一、引言与准备工作 在当前数字化转型的大背景下,企业对数据处理能力的要求日益提高,Oracle 10g RAC(Real Application Clusters)作为一款高性能的数据库集群解决...
在本实验中,我们将详细介绍如何使用VMware Server、Linux Enterprise 5.1以及Oracle 10g for Linux (10.2.0.1)来搭建一个完整的Oracle Real Application Clusters (RAC)环境。此实验旨在模拟企业级数据库集群的应用...
在本教程中,我们将深入探讨如何在VMware Workstation环境下搭建Oracle 10g RAC (Real Application Clusters) 集群,并结合Automatic Storage Management (ASM)进行存储管理。Oracle RAC是一种高可用性解决方案,它...
《Pro Oracle Database 10g RAC on Linux: Installation, Administration, and Performance》是一本针对Oracle Database 10g RAC在Linux环境下部署、管理和性能优化的专业指南。通过对本书的学习,读者不仅可以掌握...
根据提供的信息,《Oracle Database 11g RAC手册 原书第2版》是一部针对Oracle Database 11g Real Application Clusters (RAC) 的专业指导书籍。尽管部分内容重复提及了一个与本书主题无关的Linux系统门户网站,我们...
- 在安装过程中,请确保安装 Development Packages,这包括编译工具等必需的软件包。 2. **配置内核参数** - 可以通过两种方式来调整内核参数: - 动态调整:适用于临时测试,但在系统重启后会丢失设置。 - 静态...
下面将详细介绍在Oracle中安装RAC的基本步骤和相关知识点。 一、环境准备 在开始安装前,确保操作系统(如Linux或Solaris)已经进行了适当的配置,包括设置正确的硬件资源、网络环境和权限。你需要至少两台服务器,...
总结来说,Oracle 11g RAC的实施是一个综合性的工程,涉及到多方面的技术和规划。从理解RAC的基本原理,到设计满足需求的系统架构,再到细致的网络配置,每一个环节都至关重要,需要专业知识和经验来确保实施的成功...
根据给定文件的信息,本文将深入探讨在Linux环境下安装Oracle RAC(Real Application Clusters)的详细步骤与关键配置要点。Oracle RAC是Oracle数据库的一种集群解决方案,它允许多个数据库实例同时访问同一组数据...
本文档旨在提供一个详尽的指南,帮助读者在虚拟环境中搭建Oracle 11gR2_RAC(Real Application Clusters)、ASM(Automatic Storage Management)以及DG(Data Guard)集群。通过本实验,读者不仅能够了解和掌握...