ORACLE-RAC-11G-R2_INSTALL
ORACLE 11.2.0.3 RAC INSTALL
2013-06-09 __Yoon
挂载镜像:
mkdir /media/disk
mount /dev/cdrom /media/disk
安装oracle-linux依赖的所有包:
vi /etc/yum.repos.d/public-yum-el5.repo
[oel5]
name = Enterprise Linux 5.7 DVD
baseurl=file:///media/disk/Server/
gpgcheck=0
enabled=1
yum install oracle-validated --执行并安装依赖的包
修改hosts,配置域名:
vi /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
#127.0.0.1 rac1 localhost.localdomain localhost
#::1 localhost6.localdomain6 localhost6
127.0.0.1 localhost
192.168.228.161 rac1
192.168.228.168 rac1-vip
1.1.1.161 rac1-priv
192.168.228.162 rac2
192.168.228.169 rac2-vip
1.1.1.162 rac2-priv
192.168.228.170 rac-scan
添加组和用户:
groupadd -g 1000 oinstall
groupadd -g 1200 asmadmin
groupadd -g 1201 asmdba
groupadd -g 1202 asmoper
groupadd -g 1300 dba
groupadd -g 1301 oper
useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -d /home/grid -s /bin/bash grid
useradd -m -u 1101 -g oinstall -G dba,oper,asmdba -d /home/oracle -s /bin/bash oracle
创建oralce、grid 密码:
id oracle
id grid
passwd oracle
passwd grid
创建安装目录:
mkdir -p /u01/app/grid/11.2.0
chown -R grid:oinstall /u01
mkdir -p /u01/app/oracle/11.2.0/db_1
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01
配置服务器时间同步:(10g需要配置,在11gR2中不用ntp配置)
rac1:
vi /etc/ntp.conf
server 127.127.1.0
fudge 127.127.1.0 stratum 11
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
rac2:
vi /etc/ntp.conf
server 192.168.228.161 prefer --192.168.228.161为主节点的IP地址
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
/etc/init.d/ntpd restart --重启
配置SSH: (在10g需要配置ssh通信,在11g R2新特性 无需配置SSH)
在rac1、rac2:
su - oracle
mkdir ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
在rac1:
cat ~/.ssh/id_rsa.pub >> ./.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ./.ssh/authorized_keys
ssh rac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh rac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys
在rac1:
ssh rac1 date
ssh rac2 date
ssh rac1-priv date
ssh rac2-priv date
在rac2:
ssh rac1 date
ssh rac2 date
ssh rac1-priv date
ssh rac2-priv date
时间同步,配置ctss: (在11g r2中不需要配置)
在rac1、rac2:
/sbin/service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.original
chkconfig ntpd --list
rm /var/run/ntpd.pid
安装完后要确认ctssd处于活动状态,用grid用户输入:
$ crsctl check ctss
在grid下配置.bash_profile:
rac1:
export ORACLE_SID=+ASM1
#export ORACLE_SID=+ASM2
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/grid/11.2.0
export PATH=$ORACLE_HOME/bin:$PATH:/usr/local/bin/:.
export TEMP=/tmp
export TMP=/tmp
export TMPDIR=/tmp
umask 022
rac2:
#export ORACLE_SID=+ASM1
export ORACLE_SID=+ASM2
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/grid/11.2.0
export PATH=$ORACLE_HOME/bin:$PATH:/usr/local/bin/:.
export TEMP=/tmp
export TMP=/tmp
export TMPDIR=/tmp
umask 022
在oracle下配置.bash_profile:
rac1和rac2: 注意SID
ORACLE_SID=yoon1; export ORACLE_SID
#ORACLE_SID=yoon2; export ORACLE_SID
ORACLE_UNQNAME=yoon; export ORACLE_UNQNAME
JAVA_HOME=/usr/local/java; export JAVA_HOME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/11.2.0/db_1; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="YYYY:MM:DD HH24:MI:SS"; export NLS_DATE_FORMAT
NLS_LANG=american_america.ZHS16GBK; export NLS_LANG
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
# ---------------------------------------------------
# UMASK
# ---------------------------------------------------
# Set the default file mode creation mask
# (umask) to 022 to ensure that the user performing
# the Oracle software installation creates files
# with 644 permissions.
# ---------------------------------------------------
umask 022
关闭防火墙:
Service iptables status
Service iptables stop
chkconfig iptables off
chkconfig iptables --list
安装ASMlib:
oracleasm-2.6.18-274.0.0.0.1.el5-2.0.5-1.el5.x86_64.rpm
oracleasm-2.6.18-274.el5-2.0.5-1.el5.x86_64.rpm
oracleasm-support-2.1.7-1.el5.x86_64.rpm
安装配置oracleasm
/etc/init.d/oracleasm configure
/etc/init.d/oracleasm createdisk DATA /dev/mapper/Mpath2p1
/etc/init.d/oracleasm listdisks
/etc/init.d/oracleasm scandisks
在grid用户下:
执行./ runInstaller
在oracle下执行./ runInstaller,安装数据库软件
在grid用户下运行asmca创建ASM磁盘组:
su - grid
[grid@rac1 ~]$asmca
在oracle用户下创建数据库:
su - oracle
执行dbca
OK
--------------------------------------------------------------------------------------------------
Maclean Liu 所创脚本:
####udev 创建裸设备脚本#######
for i in b c d e f g h i j k ;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -s %p\", RESULT==\"`scsi_id -g -u -s /block/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"oracle\", GROUP=\"oinstall\", MODE=\"0660\""
done
#############################
udev方式创建裸设备:
vi /etc/udev/rules.d/60-raw.rules
ACTION=="add",KERNEL=="sdb1",RUN+="/bin/raw/dev/raw/raw1 %N"
ACTION=="add",KERNEL=="sdb2",RUN+="/bin/raw/dev/raw/raw2 %N"
ACTION=="add",KERNEL=="sdb3",RUN+="/bin/raw/dev/raw/raw3 %N"
ACTION=="add",KERNEL=="raw*",OWNER=="oracle",GROUP=="oinstall", MODE=="0660"
在root下执行:
start_udev
创建完oracleasm组后,无法删除:
service oracleasm stop
service oracleasm deletedisk /dev/mapper/mpath2p1
service oracleasm start
/etc/init.d/oracleasm scandisks
/etc/init.d/oracleasm listdisks
ASM磁盘无法识别几种现象:
1) gi家目录或者其子目录权限错误
2)asm磁盘的权限错误
3)asm实例未启动或者asm磁盘组没有mount上
4)asm磁盘组资源没有在线
5)oracle用户的权限错误
6)oracle($ORACLE_HOME/bin)可执行文件的权限错误
OK,那我就按照上面的分析结果进行逐一排查:
1) gi家目录或者其子目录权限错误
[root@rac1 ~]# ls -ld /u01/app/11.2.0/grid/
drwxr-x--- 66 root oinstall 4096 Apr 19 01:36 /u02/app/11.2.0/grid/
我先简单查看了GI的家目录权限,这是正常的。这里想要提醒大家,有些DBA有意无意中看到这样的目录权限,发现所属主是root,以为出了问题,理所应当地通过命令去更改,如果只更改该目录权限问题也不大,回退方法很简单,但一旦加上-R参数递归方式把子目录、子文件的权限一并更改,那故障就发生了。所以,大家在操作的时候不要盲目去做没有把握的事情,掌握每个操作后面的原理以及其带来的后果,以至于充分准备好回退方法.
2) asm磁盘的权限错误
[root@rac1 ~]# ls -l /dev/oracleasm/disks/
total 0
brw-rw---- 1 grid asmadmin 8, 17 Apr 19 01:22 ASMDISK1
brw-rw---- 1 grid asmadmin 8, 33 Apr 19 01:22 ASMDISK2
如果发现权限不对,通过如下命令修改:
[root@rac1 ~]# oracleasm configure -I
或者
[root@rac1 ~]# /etc/init.d/oracleasm configure
修改之后查看:
[root@rac1 ~]# oracleasm configure
ORACLEASM_ENABLED=true
ORACLEASM_UID=grid
ORACLEASM_GID=asmadmin
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER=""
ORACLEASM_SCANEXCLUDE=""
3) asm实例未启动或者asm磁盘组没有mount上
4) asm磁盘组资源没有在线:
[grid@rac1 ~]$ crsctl stat res –t
---------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
---------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE rac1
ora.FLASH.dg
ONLINE ONLINE rac1
ora.GRID.dg
ONLINE ONLINE rac1
ora.LISTENER.lsnr
ONLINE ONLINE rac1
ora.asm
ONLINE ONLINE rac1 Started
ora.ons
OFFLINE OFFLINE rac1
---------------------------------------------------------------------
Cluster Resources
---------------------------------------------------------------------
ora.cssd
1 ONLINE ONLINE rac1
ora.diskmon
1 OFFLINE OFFLINE
ora.evmd
1 ONLINE ONLINE rac1
5) oracle用户的权限错误
[root@rac1 ~]# id oracle
uid=1101(oracle) gid=1000(oinstall) groups=1000(oinstall),1300(dba),1301(oper),1201(asmdba)
oracle用户需要加入到asmdba组,如果发现没有加入,进行如下操作:
[root@rac1 ~]# gpasswd -a oracle asmdba
Adding user oracle to group asmdba
6) oracle($ORACLE_HOME/bin)可执行文件的权限错误
[root@rac1 ~]# su - oracle
[oracle@rac1 ~]$ cd $ORACLE_HOME/bin
[oracle@rac1 bin]$ ls -l oracle
-rwsr-s--x 1 oracle oinstall 232399473 Apr 19 07:04 oracle
oracle可执行文件的权限不正确:
[root@rac1 ~]# cd /u01/app/oracle/product/11.2.0/dbhome_1/bin/
[root@rac1 bin]# chown oracle.asmadmin oracle
[root@rac1 bin]# ls -l oracle
-rwxr-x--x 1 oracle asmadmin 232399473 Apr 19 07:04 oracle
[root@rac1 bin]# chmod +s oracle
[root@rac1 bin]# ls -l oracle
-rwsr-s--x 1 oracle asmadmin 232399473 Apr 19 07:04 oracle
ORACLE-RAC-11G-R2_INSTALL的更多相关文章
- Linux 上Oracle RAC 10g 升级到 Oracle RAC 11g
了解如何在 Oracle Enterprise Linux 5 上逐步将 Oracle RAC 10g 第 2 版升级到 Oracle RAC 11g. Oracle 数据库 11g(即,新一代网格计 ...
- Oracle RAC 11g DG Broker配置和测试
Oracle RAC 11g DG Broker配置和测试 之前在<RHEL6.4 + Oracle 11g DG测试环境快速搭建参考>已经简单说过. 本篇在实验环境中实际配置 环境: R ...
- 安装Oracle RAC 11g
1.Oracle Enterprise Linux 和 iSCSI 上构建 Oracle RAC 11g 集群 2.Oracle RAC 的所有共享磁盘存储将基于 iSCSI,iSCSI 使用在第三个 ...
- 如何获得 oracle RAC 11g asm spfile S档
方法一: [root@vmrac1 ~]# su - grid [grid@vmrac1 ~]$ sqlplus / as sysasm SQL*Plus: Release 11.2.0.3.0 ...
- ORACLE RAC 11G 更改 /etc/hosts文件
来自官方文档:()Can I change the public hostname in my Oracle Database 10g Cluster using Oracle Clusterware ...
- oracle RAC 11g sqlload 生产表导入数据(ORA-12899)
背景:由于即将来临的双十一,业务部门(我司是做京东,天猫的短信服务),短信入库慢,需要DBA把数据库sqlload进数据库. 表结构如下: MRS VARCHAR2(100), STATUS VARC ...
- ORACLE RAC 11G 添加以及删除UNDO表空间
在生产环境上,由于闪存盘的容量有限,现在需要将闪存盘里面的UNDO表空间,替换到非闪存的磁盘里面. 磁盘的使用情况如下: 表空间使用情况如下: RAC两个节点占用将近167G的空间. 操作步骤如下: ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)
集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...
- Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之ORACLE集群概念和原理(二)
ORACLE集群概念和原理(二) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)
RAC 工作原理和相关组件(三) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...
随机推荐
- 【翻译习作】 Windows Workflow Foundation程序开发-第一章03
1.2.2.Visual Studio 2005扩展包 微软也为Windows Workflow开发者提供了Visual Studio 2005扩展包.扩展包将许多功能集成到Visual Studio ...
- Android开发-API指南-任务和回退栈
Task and Back Stack 英文原文: http://developer.android.com/guide/components/tasks-and-back-stack.html 采集 ...
- 【教程】【FLEX】#002 请求服务端数据(UrlLoader)
为什么Flex需要请求服务端读取数据,而不是自己读取? Flex 是一门界面语言,主要是做界面展示的,它能实现很多绚丽的效果,这个是传统Web项目部能比的. 但是它对数据库和文件的读写 没有良好的支持 ...
- sc delete 服务器名提示“指定的服务已经标记为删除”
症状:停止服务后,右键无法点击“启动”,打开命令输入SC删除服务后提示如标题描述 原因:进程还在 解决方案:打开任务管理器,进程,找到你的已停止服务名,右键,结束进程,再操作即可删除服务
- js 数组对象,数组的使用
var a =new Array(1,2,3,4,'a','b','c',{x:1,y:2}); alert(a[7].x); //数组之中可以定义数组. var b=['a','b','c']; c ...
- 洛谷P1457 城堡 The Castle
P1457 城堡 The Castle 137通过 279提交 题目提供者该用户不存在 标签USACO 难度提高+/省选- 提交 讨论 题解 最新讨论 暂时没有讨论 题目描述 我们憨厚的USACO ...
- .net验证码生成及使用
验证码的作用: 几年前,大部分网站.论坛之类的是没有验证码的,因为对于一般用户来说验证码只是增加了用户的操作,降低了用户的体验.但是后来各种灌水机器人.投票机器人.恶意注册机器人层出不穷,大大增加了网 ...
- Handler 取不到session 解决办法
Handler需要继承 Handler : IHttpHandler, IReadOnlySessionState, IRequiresSessionState
- luigi学习8--使用中央调度器
--local-scheduler一般用在开发阶段,这在一个产品中是不建议这样使用的.使用中央调度器有两个目的: 保证两个相同的task不会同时运行两次 提供一个可视化的界面 注意:中央调度器并不会帮 ...
- varnish状态引擎1
vcl: state engine:各引擎之间存一定程度上的相关性:前一个engine如果可以有多种下游engine,则上游engine需要用return指明 要转移的下游engine vcl_rec ...