ITPub博客

首页 > 数据库 > 数据库开发技术 > Openfiler+RAC的安装之六--安装前的准备工作

Openfiler+RAC的安装之六--安装前的准备工作

原创 数据库开发技术 作者:jolly10 时间:2012-08-10 11:18:19 0 删除 编辑

安装oracle数据库及asm的一些准备工作包括以下:

1.创建任务角色划分操作系统权限组、用户和目录

2.为 Oracle 软件安装用户设置资源限制

3.为 Oracle 配置 Linux 服务器

4.配置 RAC 节点以便可以使用 SSH 进行远程访问(可选)

5.安装并配置ASMLib 2.0

[@more@]

1.创建任务角色划分操作系统权限组、用户和目录

[root@racnode1 ~]# groupadd -g 1000 oinstall
[root@racnode1
~]# groupadd -g 1200 asmadmin
[root@racnode1 ~]# groupadd -g 1201 asmdba
[root@racnode1 ~]# groupadd -g 1202 asmoper
[root@racnode1 ~]# useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -d
/home/grid -s /bin/bash -c "Grid Infrastructure Owner" grid
[root@racnode1 ~]# passwd grid

[root@racnode1 ~]# su - grid

: 在为每个 Oracle RAC 节点设置 Oracle 环境变量时,确保为每个 RAC 节点指定唯一的 Oracle SID。对于此示例,我使用:

  • racnode1ORACLE_SID=+ASM1
  • racnode2ORACLE_SID=+ASM2

[grid@racnode1 ~]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs
alias ls="ls -FA"

ORACLE_SID=+ASM1; export ORACLE_SID
JAVA_HOME=/usr/local/java; export JAVA_HOME
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOME
ORACLE_PATH=/u01/app/oracle/common/oracle/sql; export ORACLE_PATH
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT
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
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/u01/app/common/oracle/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 022
[grid@racnode1 ~]$

为 Oracle 数据库软件创建组和用户

[root@racnode1 ~]# groupadd -g 1300 dba
[root@racnode1 ~]# groupadd -g 1301 oper
[root@racnode1 ~]# useradd -m -u 1101 -g oinstall -G dba,oper,asmdba -d
/home/oracle -s /bin/bash -c "Oracle Software Owner" oracle

[root@racnode1 ~]# passwd oracle


为 oracle 用户帐户创建登录脚本

: 在为每个 Oracle RAC 节点设置 Oracle 环境变量时,确保为每个 RAC 节点指定唯一的 Oracle SID。对于此示例,我使用:

  • racnode1ORACLE_SID=racdb1
  • racnode2ORACLE_SID=racdb2

[oracle@racnode1 ~]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs
alias ls="ls -FA"
ORACLE_SID=racdb1; export ORACLE_SID
ORACLE_UNQNAME=racdb; export ORACLE_UNQNAME
JAVA_HOME=/usr/local/java; export JAVA_HOME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_PATH=/u01/app/common/oracle/sql; export ORACLE_PATH
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/u01/app/common/oracle/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 022

安装软件之前,执行以下过程,以验证在两个 Oracle RAC 节点上存在用户 nobody

# id nobody
如果没有nobody用户,需要创建:

# /usr/sbin/useradd nobody
                                 
 
创建 Oracle 基目录路径 
[root@racnode1 ~]# mkdir -p /u01/app/grid
[root@racnode1 ~]# mkdir -p /u01/app/11.2.0/grid
[root@racnode1 ~]# chown -R grid:oinstall /u01
[root@racnode1 ~]# mkdir -p /u01/app/oracle
[root@racnode1 ~]# chown oracle:oinstall /u01/app/oracle
[root@racnode1 ~]# chmod -R 775 /u01
2.为 Oracle 软件安装用户设置资源限制
将下面的内容复制到 /etc/security/limits.conf
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
将下面的内容复制到 /etc/pam.d/login
session    required     pam_limits.so
对默认的 shell 启动文件进行以下更改,以便更改所有 Oracle 安装所有者的 ulimit 设置(注意这里的示例显示 oraclegrid 用户): 
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
3.为 Oracle 配置 Linux 服务器 
内存和交换空间考虑事项

RHEL/OEL 的最小 RAM 要求为:1.5 GB 用于集群的 Grid Infrastructure,或 2.5 GB 用于集群的 Grid Infrastructure 和 Oracle RAC。在本指南中,每个 Oracle RAC 节点上将运行 Oracle Grid Infrastructure 和 Oracle RAC,因此每台服务器至少需要 2.5 GB RAM

所需的最小交换空间为 1.5 GB。对于 RAM 等于或小于 2 GB 的系统, Oracle 建议您将交换空间设置为 RAM 容量的 1.5 倍。对于 RAM 在 2 GB 到 16 GB 之间的系统,请使用与 RAM 同等大小的交换空间。对于 RAM 大于 16 GB 的系统,请使用 16 GB 的交换空间。

但我是虚拟机环境,ram只有1G,swap为2G。
由于我用的是RHEL/OEL 5,一些配置已经不需要象RHEL那样都设置了,比如kernel.shmall,kernel.shmmax
都不需要再设置,将下面的内容增加到/cat/sysctl.conf:
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048576
fs.aio-max-nr=1048576
激活刚刚的内核参数:
[root@racnode1 ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
4.配置 RAC 节点以便可以使用 SSH 进行远程访问(可选)
配置grid和oracle两个用户的ssh互信的工作为什么是可选的,不是因为不需要了,
而是因为 11g 第 2 版中的 OUI 界面包含了一个新的特性,该特性可以在 Oracle 软件的实际安装阶段为执行该安装的用户帐户自动配置SSH.
我决定放弃手动配置 SSH 连接,试一下这个新功能。
5.安装并配置ASMLib 2.0 
安装asm的内核驱动程序及驱动程序支持文件,一般系统不会默认安装的,需要手动来安装:
[root@racnode1 ~]# cd /media/
[root@racnode1 media]# cd Enterprise Linux dvd 20090908/
[root@racnode1 Enterprise Linux dvd 20090908]# cd Server/
[root@racnode1 Server]# rpm -Uvh oracleasm-support-2.1.3-1.el5.x86_64.rpm
warning: oracleasm-support-2.1.3-1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing... ########################################### [100%]
1:oracleasm-support ########################################### [100%]
[root@racnode1 Server]# rpm -Uvh oracleasm-2.6.18-164.el5-2.0.5-1.el5.x86_64.rpm
warning: oracleasm-2.6.18-164.el5-2.0.5-1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing... ########################################### [100%]
1:oracleasm-2.6.18-164.el########################################### [100%]
 还需要Oracle ASMLib 用户空间库,这个文件需要oracle官方网站下载:
http://www.oracle.com/technetwork/software/tech/linux/asmlib/files/RPMS/rhel5/amd64/2.0.4/oracleasmlib-2.0.4-1.el5.x86_64.rpm
[root@racnode1 home]# rpm -Uvh oracleasmlib-2.0.4-1.el5.x86_64.rpm
warning: oracleasmlib-2.0.4-1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing... ########################################### [100%]
1:oracleasmlib ########################################### [100%]
配置 ASMLib
[root@racnode1 home]# /usr/sbin/oracleasm configure
ORACLEASM_ENABLED=false
ORACLEASM_UID=
ORACLEASM_GID=
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER=""
ORACLEASM_SCANEXCLUDE=""
[root@racnode1 home]# /usr/sbin/oracleasm configure -i
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
输入以下命令以加载 oracleasm 内核模块: 
[root@racnode1 ~]# /usr/sbin/oracleasm init 
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module "oracleasm": oracleasm
Mounting ASMlib driver filesystem: /dev/oracleasm
对两个节点都需要做此动作。
下面对oracle创建asm磁盘,只需要在一个节点进行:
[root@racnode1 home]# /usr/sbin/oracleasm createdisk CRSVOL1 /dev/iscsi/crs2/part1
Writing disk header: done
Instantiating disk: done
[root@racnode1 home]# /usr/sbin/oracleasm createdisk DATAVOL1 /dev/iscsi/data1/part1
Writing disk header: done
Instantiating disk: done
[root@racnode1 home]# /usr/sbin/oracleasm createdisk FRAVOL1 /dev/iscsi/fra1/part1
Writing disk header: done
Instantiating disk: done

要使磁盘可用于集群中其他节点 (racnode2),以 root 用户身份在每个节点上输入以下命令:

[root@racnode2 ~]# /usr/sbin/oracleasm scandisks 
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
Instantiating disk "FRAVOL1"
Instantiating disk "DATAVOL1"
Instantiating disk "CRSVOL1"

现在,我们可以使用以下命令在 RAC 集群中的两个节点上以 root 用户帐户测试是否成功创建了 ASM 磁盘。此命令指出连接的节点的、标记为自动存储管理磁盘的共享磁盘:

[root@racnode1 ~]# /usr/sbin/oracleasm listdisks 
CRSVOL1
DATAVOL1
FRAVOL1

[root@racnode2 ~]# /usr/sbin/oracleasm listdisks
CRSVOL1
DATAVOL1
FRAVOL1

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/271283/viewspace-1059139/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-02-20

  • 博文量
    263
  • 访问量
    772959