您的当前位置:首页ORACLE10+RAC+ASM安装全过程(linux)

ORACLE10+RAC+ASM安装全过程(linux)

2021-08-11 来源:爱问旅游网
ORACLE RAC+ASM安装全过程(linux)

更改主机名

第一步:

#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.

解决方案:

和县房产http://www.hexian.ccoo.cn/post/fangwu/

使用 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 <oracle soft nofile 65536 oracle hard nofile 65536 oracle soft nproc 16384 oracle hard nproc 16384 EOF

cat >> /etc/pam.d/login <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 继续。

和县招聘http://www.hexian.ccoo.cn/post/job/

您将返回到 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

因篇幅问题不能全部显示,请点此查看更多更全内容