RAC以及ASM安装全过程整理 --lisx 2009-6-19

更改主机名

第一步:
#hostname oratest
第二步:
修改/etc/sysconfig/network中的hostname
第三步:
修改/etc/hosts文件

设置hosts文件

可参考:

[root@amdocs01 mapper]# cat /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1       localhost.localdomain   localhost

172.19.201.188 amdocs02

172.19.201.189 amdocs02-vip

192.168.10.1    amdocs02-priv

设置IP

eth0

172.19.201.188

255.255.0.0

172.19.201.6

eth1

192.168.10.1

255.255.255.0

172.19.201.6

绑定裸设备

先在逻辑卷组上分出逻辑卷,全部为裸设备,必须包含:

逻辑盘: ocrlv ,votelv 是必须的,因为后面安装ASM要用到

data01,data02,data03,data04,data05,softlv,oralv可选

1、裸设备定义:
一块没有分区的硬盘,称为原始设备(RAWDEVICE)
或者是一个分区,但是没有用EXT3,OCFS等文件系统格式化,称为原始分区(RAWPARTITION)
以上两者都是裸设备 

2、裸设备的绑定
有文件系统的分区是采用mount的方式挂载到某一个挂载点的(目录)
而裸设备不能mount,只能绑定到/dev/raw/下的某一个设备名
比如/dev/raw/raw1

3、裸设备的绑定方法
有两种方法,这里介绍一种,还有一种修改/etc/rc.local文件增加,见后面,我采用的是修改/etc/rc.local文件
先介绍第一种方法:
修改/etc/sysconfig/rawdevices,添加以下内容,
这里sdd1和sdd2是原始分区名或者原始设备(硬盘)名,
raw1和raw2是/dev目录下的原始设备名,编号从raw1到raw8191,也就是最多可以绑定255个裸设备
/dev/raw/raw1/dev/sdd1
/dev/raw/raw2/dev/sdd2

然后修改裸设备的属主和访问权限
chown oracle:dba /dev/raw/raw1
chown oracle:dba /dev/raw/raw2
chmod 660 /dev/raw/raw1
chmod 660 /dev/raw/raw2

最后使得裸设备生效,并且在机器启动的时候就自动加载

执行/etc/init.d/rawdevices restart使裸设备生效

执行/sbin/chkconfig rawdevices on保证机器启动的时候裸设备能够加载,这一步很重要

裸设备的绑定方法第二种方法,修改/etc/rc.local文件的方法

[root@amdocs01 ~]# cat /etc/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

raw /dev/raw/raw1 /dev/mapper/vg00-ocrlv

raw /dev/raw/raw2 /dev/mapper/vg00-votelv

raw /dev/raw/raw3 /dev/mapper/vg00-data01

raw /dev/raw/raw4 /dev/mapper/vg00-data02

raw /dev/raw/raw5 /dev/mapper/vg00-data03

raw /dev/raw/raw6 /dev/mapper/vg00-data04

chmod 775 /dev/raw/raw1

chmod 775 /dev/raw/raw2

chmod 775 /dev/raw/raw3

chmod 775 /dev/raw/raw4

chmod 775 /dev/raw/raw5

chmod 775 /dev/raw/raw6

chown oracle:dba /dev/raw/raw1

chown oracle:dba /dev/raw/raw2

chown oracle:dba /dev/raw/raw3

chown oracle:dba /dev/raw/raw4

chown oracle:dba /dev/raw/raw5

chown oracle:dba /dev/raw/raw6

chown oracle:dba /dev/raw/raw7

modprobe hangcheck-timer hangcheck-tick=30 hangcheck_margin=180

4、裸设备的读写
不能用cp等命令操作,写入内容用dd命令,可以参阅相关资料

5、清空裸设备
相当于格式化啦bs是快的大小,blocksize
count是快的数量,这两者相乘大于裸设备的容量即可
ddif=/dev/zeroof=/dev/raw/raw1bs=8192count=12800
ddif=/dev/zeroof=/dev/raw/raw2bs=8192count=12800
-------
另外,注意:
rhel4使用udev来管理设备
手动修改/dev/raw/raw1不能永久生效
要想使得权限持久生效
需要修改文件/etc/udev/permissions.d/50-udev.permissions的第113行
raw/*:root:disk:0660
改成
raw/*:oracle:dba:0660
重启机器
如果/dev/下没有/raw/目录,可以自己手工建立。

配置Oracle ASMLib
1、安装Oracle ASMLib
需要的安装包
asmlib
asm-support
asm-kernel
asm-smp-kernel(多process版本)
下载地址:

http://www.oracle.com/technology/software/tech/linux/asmlib/rhel4.html
安装3个软件包:
# rpm -Uvh oracleasm-support-2.1.3-1.el4.x86_64.rpm

# rpm -Uvh oracleasm-2.6.9-78.ELsmp-2.0.5-1.el4.x86_64.rpm
# rpm -Uvh oracleasmlib-2.0.4-1.el4.x86_64.rpm

2、配置ASMLib
# /etc/init.d/oracleasm configure
Default user to own the driver interface [oracle]: oracle
Default group to own the driver interface [oinstall]: oinstall
Start Oracle ASM library driver on boot (y/n) [y]: y
Fix permissions of Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: [  OK  ]
Loading module [i]"[/i]oracleasm[i]"[/i]: [  OK  ]
Mounting ASMlib driver filesystem: [  OK  ]
Scanning system for ASM disks: [  OK  ]
以上操作将加载oracleasm.o驱动,并且mount上ASM文件系统,同时我们可以通过以下命令来手工的卸载和加载ASMLib
#/etc/init.d/oracleasm disable   //出错检查/var/log/messages文件,确认需要更新的内核版本
#/etc/init.d/oracleasm enable

添加init文件使系统启动时自动加载ASMLib
$su -
#cd /etc/rc3.d
#ln -s ../init.d/oracleasm S99oracleasm
#ln -s ../init.d/oracleasm K01oracleasm
注意:如果系统启动是自动进入图形界面,也就是系统的init level是5,那么上面生成链接的命令应该在/etc/rc5.d目录中操作,重新启动系统,确认ASMLib已经可以自动加载
#lsmod |grep oracleasm
#dmesg |grep oracleasm

3、创建ASM磁盘(说明:createdisk 是针对分区,不是针对磁盘,即:先应将磁盘分区),也可意在后面安装ASM实例的时候创建,我是在后面DBCA配置ASM的是创建的。
#/etc/init.d/oracleasm createdisk VOL1 /dev/sdb1
#/etc/init.d/oracleasm createdisk VOL2 /dev/sdc1
...
...      
#/etc/init.d/oracleasm listdisks   //列出ASM磁盘
VOL1
VOL2
VOL3
VOL4
如果要删除ASM磁盘通过以下命令
#/etc/init.d/oracleasm deletedisk VOL4
注意:
    如果是在RAC环境中的某一个节点中添加了ASM磁盘,那么需要在其他的节点上运行scandisk来获取这种变化
#/etc/init.d/oracleasm scandisks
OK,现在已经完成了创建ASM实例的物理基础,下面开始安装数据库

安装集群软件

安装10201_clusterware_linux_x86_64.cpio

首先要用root用户执行脚本/software/clusterware/rootpre/rootpre.sh

Specify cluster configuration的时候报错:

The specified nodes are not clusterable.

解决方案:

使用 SSH 建立用户等效性,在安装过程中能进行软件的复制,不提示输入口令,也就是直接认可所有节点,他们之间能相互通信。所以必须在所有节点上按照以下步骤进行设置
rac1-> mkdir ~/.ssh
rac1-> chmod 700 ~/.ssh
rac1-> ssh-keygen -t rsa
rac1-> ssh-keygen -t dsa

[oracle@amdocs02 .ssh]$ cat id_rsa.pub >> ~/.ssh/authorized_keys

设置完成然后测试通信:
ssh amdocs02 date

ssh amdos02-priv date

后面需要输入ocr和vote的地址:

/dev/raw/raw1

/dev/raw/raw2

安装集群软件的最后,检查报错:节点amdocs02不存在,打电话请教高手解决(多谢):

用root执行/app/oracle/product/10.2/bin/vipca,修改正确的ip,输入amdocs02-vip后按TAB键,会自动带出虚拟IP地址,注意子网掩码是否正确,可能也需要修改。

安装数据库软件

设置内核参数,则只需在以 root 用户身份登录后执行下命令。

vi /etc/sysctl.conf

 
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
 
/sbin/sysctl -p 
使之生效
 

为 oracle 用户设置 Shell 限制

cat >> /etc/security/limits.conf <<EOF

oracle soft   nofile 65536

oracle hard   nofile 65536

oracle soft   nproc 16384

oracle hard   nproc 16384

EOF

cat >> /etc/pam.d/login <<EOF
session    required     /lib/security/pam_limits.so
EOF
 

oracle 用户的环境变量

要使用 Oracle 产品,应该或必须设置几个环境变量。对于数据库服务器,建议设置以下环境变量:

ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH

可参考:

export ORACLE_BASE=/app/oracle
export ORACLE_CRS_HOME=/app/oracle/product/10.2/crs
export ORACLE_HOME=$ORACLE_BASE/product/10.2/db_1
export PATH=$ORACLE_CRS_HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=test2
export LD_LIBRARY_PATH=/app/oracle/product/10.2/lib:$LD_LIBRARY_PATH

创建ASM实例&建库

配置ASM实例的是遇到错误:ORA-27504:IPC error creating OSD context

后来找到原因:因为有一根网线没有插好,导致的。

正常的解决思路是运行oifcfg,检查配置接口

[root@amdocs02 bin]# pwd

/app/oracle/product/10.2/bin

[root@amdocs02 bin]# ./oifcfg getif

eth0 172.19.0.0 global public

eth1 192.168.10.0 global cluster_interconnect

以 oracle 身份登录并启动 DBCA:
$ dbca
  1).欢迎
     单击 Next。  
  2).操作  
    选择 Create a Database。  
  3).数据库模板  
     选择 General Purpose。  
  4).数据库标识
     输入全局数据库名称。  
  5).管理选项  
     选择 Configure the Database with Enterprise Manager。
     选择 Use Database Control for Database Management。  
  6).数据库证书  
     选择 Use Same Password for All Accounts。
     输入口令并确认。  
  7).存储选项  
     选择 Automatic Storage Management (ASM)。  
  8).创建 ASM 实例
     输入 ASM 实例的口令并确认。  
  9).弹出一个窗口,提示 DBCA 将立即创建并启动 ASM 实例。  
     单击 OK。  
  10).创建 ASM 实例时弹出一个带齿轮箱窗口。  
  11).ASM 磁盘组  
      由于这是新 ASM 实例且您尚未创建任何 ASM 实例,因此该窗口未显示可用磁盘组。
      单击 Create New。  
  12).创建磁盘组  
      磁盘组名称
      输入磁盘组名称,如 DATA1。  
          冗余
              - High 镜像数据两次。
              - Normal 镜像数据一次。
              - External 不镜像 ASM 中的数据。如果外部 RAID 阵列提供冗余,则通常使用此选项。  
   选择成员磁盘
- 您必须手动指示 ASM 到什么地方查找 ASMLib 磁盘,因此,单击 Change Disk Discovery Path
- 弹出一个窗口,提示输入磁盘发现路径。如下所示将磁盘发现路径更改为“ORCL:*”。
- 单击 OK 继续。

您将返回到 Select Member Disks 窗口。您的所有 ASMLib 磁盘现在应显示在此窗口中。
单击该行开头的框,选择加入磁盘组的磁盘。完成后单击 OK。

如果是逻辑卷上的裸设备,只要单击创建,就可以很容易的找到,选中即可。

13).ASM 磁盘组
您将返回到 ASM Disk Groups 窗口。此时,出现在上一步中创建的磁盘组。  
单击该行开头的框选择此磁盘组。(在此实例中使用单个磁盘组。)  
单击 Next。
14).数据库文件位置
选择 Use Oracle-Managed Files。
确保已将 Database Area 设置为您创建的磁盘组。它包含一个前导加号 — 例如,+DATA1。
15).恢复配置
选择 Specify Flash Recovery Area。
- 快速恢复区 — 输入要用于快速恢复的 ASM 磁盘组。
- 快速恢复区大小 — 接受默认值 2048。
如果要使用归档日志模式,则选中 Enable Archiving。对于评估数据库,可以不选该项。
16).数据库内容
   选择 Sample Schemas。
   我们不使用定制脚本,因此单击 Next。
17).初始化参数
   接受默认值,然后单击 Next。
18).数据库存储
   接受默认值,然后单击 Next。
19).创建选项
   选择 Create Database(默认值)并单击 Finish。
20).确认
   检查完数据库详细信息后单击 OK。
21).DBCA 显示一个操作列表和一个进度条。根据硬件的不同,数据库创建可能需要几分钟到几小时的时间。
22).当数据库创建完成时,将显示一个显示摘要窗口。记下 Enterprise Manager URL,然后单击 Exit。
注意:安装好asm后,数据库实例会在原来的实例名后面增加数字1,2,3等等

如果要sqlplus顺利登陆的话,需要修改.bash_profile或者重设ORACLE_SID

ASM database简单管理
 启动:
 srvctl start database -d test2

查看

crs_stat -t

转载于:https://www.cnblogs.com/caibird2005/archive/2009/06/23/1509346.html

RAC以及ASM安装全过程整理相关推荐

  1. Ubuntu18.04 ROS Melodic安装全过程整理

    主要的安装过程参考博客1 1. 更换源 可以更换清华源. 2. 设置source.list sudo sh -c 'echo "deb http://packages.ros.org/ros ...

  2. 使用OpenFiler来模拟存储配置RAC中ASM共享盘及多路径(multipath)的测试

    第一章 本篇总览 之前发布了一篇<Oracle_lhr_RAC 12cR1安装>,但是其中的存储并没有使用多路径,而是使用了VMware自身提供的存储.所以,年前最后一件事就是把多路径学习 ...

  3. 【RAC】 RAC For W2K8R2 安装--共享磁盘的配置(三)

    [RAC] RAC For W2K8R2 安装--共享磁盘的配置(三) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学 ...

  4. 【RAC】 RAC For W2K8R2 安装--总体规划 (一)

    [RAC] RAC For W2K8R2 安装--总体规划 (一) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一 ...

  5. 资源放送丨《Oracle RAC 集群安装部署》PPT视频

    点击上方"蓝字" 关注我们,享更多干货! 前段时间,墨天轮邀请数据库资深专家 邦德 老师分享了<Oracle RAC 集群安装部署>,在这里我们将课件PPT和实况录像分 ...

  6. 今晚8点直播(内含福利)丨 Oracle RAC集群安装部署

    Oracle RAC集群安装部署-9月16日20:00 Oracle RAC真正的应用集群,它可以多个主机共同分散业务,来达到负载均衡和高可用,目前企业也大规模应用,具有稳定,很好的扩展性等特点. 作 ...

  7. 本周四直播预告(内含福利)丨 Oracle RAC集群安装部署

    Oracle RAC集群安装部署-9月16日20:00 Oracle RAC真正的应用集群,它可以多个主机共同分散业务,来达到负载均衡和高可用,目前企业也大规模应用,具有稳定,很好的扩展性等特点. 作 ...

  8. 金仓KFS for Oracle RAC one node安装部署

    KFS for Oracle RAC one node安装部署 Oracle RAC one node是运行在Oracle RAC集群上的单实例数据库,当实例所在的节点出现问题后,实例可以自动转移到其 ...

  9. 一步一步搭建11gR2 rac+dg之安装rac出现问题解决(六)

    一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之安装rac出现的问题 (六) 本章主要是搜集了一些安装rac的过程中出现的问题 ...

  10. 【RAC】 RAC For W2K8R2 安装--grid的安装(四)

    [RAC] RAC For W2K8R2 安装--grid的安装(四) [RAC] RAC For W2K8R2 安装--grid的安装(四) 一.1  BLOG文档结构图 一.2  前言部分 一.2 ...

最新文章

  1. 我们生活在一个虚拟世界的概率有多大?
  2. golang 返回值报错 cannot use nil as type string in return argument
  3. 【Python学习系列二十六】networkx库图最短路径求解
  4. smtplib python教程_python使用smtplib模块发送邮件
  5. 清理cin输入缓冲区_输入缓冲区究竟有啥秘密?
  6. Cortex-M3-建立堆栈
  7. 入门机器学习,这一步必不可少!
  8. 如何 配置apache 读取php模块中的 配置文件
  9. 动态设置全屏、取消全屏的方法,以及切换全屏保持内容位置不变的方法
  10. 利用计算机计算问题的案例,两个基于计算思维培养的高中信息技术教学案例
  11. 计算机网络 CDN技术介绍
  12. 用计算机亩换算成平方,平方换算成亩怎么算(平方米换算亩计算器)
  13. python培训班深圳-深圳python人工智能培训班
  14. 清翔电子51单片机小结——可调表时钟
  15. 关于常用颜色小聚:有据说是令人舒服的颜色值,有R G B 常用颜色列表
  16. 我的世界杯 - 诸神黄昏之战
  17. ndows 资源管理器,什么是windows资源管理器
  18. 谷歌为AI再上“紧箍咒”:道德团队审查产品,确保AI不作恶
  19. VisualDrag低代码拖拽模板
  20. stm32驱动LCD12864液晶屏驱动程序,亲测可行,复制直接能用!

热门文章

  1. JS实现查找数组中对象的属性值是否存在
  2. 47. 不用加减乘除做加法(C++版本)
  3. 多个切点 boot spring_spring基于aspectJ的切点表示
  4. IDEA 编写JDBC 第一个示例
  5. mac php编译freetype,mac OS X自带PHP环境,没有freetype的解决办法
  6. linux下载搜狗命令,搜狗输入法linux安装 以及 12个依赖包下载链接分享(示例代码)...
  7. java8 metaspacesize_java-8 – Java8 MetaspaceSize标志不起作用
  8. Java进阶:SpringMVC中获取web.xml中的全局参数
  9. Vue:进入组件显示蒙版及文字,离开隐藏
  10. Java编程:马踏棋盘算法(骑士周游问题)