如何搭建oracle 11gr2 基于 asm 的单实例 dave
发布网友
发布时间:2022-04-25 14:08
我来回答
共1个回答
热心网友
时间:2022-04-09 07:23
1 安装需要的RPM 包
binutils-2.20.51.0.2-5.11.el6 (x86_64)
glibc-2.12-1.7.el6 (x86_64)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
lio-0.3.107-10.el6 (x86_64)
libXext-1.1 (x86_64)
libXtst-1.0.99.2 (x86_64)
libX11-1.3 (x86_64)
libXau-1.0.5 (x86_64)
libxcb-1.5 (x86_64)
libXi-1.3 (x86_64)
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
ksh <== 任何版本的 ksh 都可以。
libstdc++-devel-4.4.4-13.el6 (x86_64)
lio-devel-0.3.107-10.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (i686)
glibc-2.12-1.7.el6 (i686)
glibc-devel-2.12-1.7.el6 (i686)
libgcc-4.4.4-13.el6 (i686)
libstdc++-4.4.4-13.el6 (i686)
libstdc++-devel-4.4.4-13.el6 (i686)
lio-0.3.107-10.el6 (i686)
lio-devel-0.3.107-10.el6 (i686)
libXext-1.1 (i686)
libXtst-1.0.99.2 (i686)
libX11-1.3 (i686)
libXau-1.0.5 (i686)
libxcb-1.5 (i686)
libXi-1.3 (i686)
2 创建ASM disk 并用UDEV 绑定
创建6个3G 的disk,这个直接使用VirtualBox命令来创建。 创建之前需要先关闭虚拟机。
用如下脚本获取绑定脚本:
for i in b c d e f g;
do
echo"KERNEL==\"sd*\", BUS==\"scsi\",PROGRAM==\"/sbin/scsi_id -g -u
/dev/\$name\", RESULT==\"`/sbin/scsi_id -g -u/dev/sd$i`\",
NAME=\"12casm-disk$i\", OWNER=\"grid\",GROUP=\"asmadmin\", MODE=\"0660\""
done
KERNEL=="sd*",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u
/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB626d9087-8bf68e7e",NAME="12casm-diskb",
OWNER="grid",GROUP="asmadmin", MODE="0660"
KERNEL=="sd*",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u
/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VBf5a8c435-19b9adf9",NAME="12casm-diskc",
OWNER="grid",GROUP="asmadmin", MODE="0660"
KERNEL=="sd*",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u
/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB13895f62-318c2cb4",NAME="12casm-diskd",
OWNER="grid",GROUP="asmadmin", MODE="0660"
KERNEL=="sd*",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u
/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB5049991a-741b6a85",NAME="12casm-diske",
OWNER="grid",GROUP="asmadmin", MODE="0660"
KERNEL=="sd*",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u
/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB6ad43135-cac8a708",NAME="12casm-diskf",
OWNER="grid",GROUP="asmadmin", MODE="0660"
KERNEL=="sd*",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u
/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VBe6fb6130-2a921dde",NAME="12casm-diskg",
OWNER="grid",GROUP="asmadmin", MODE="0660"
将产生的结果添加到/etc/udev/rules.d/99-oracle-asmdevices.rules文件。
--重启udev:
[root@12cAsm dave]# start_udev
Starting udev: [ OK ]
[root@12cAsm dave]#
--查看设备:
[root@12cAsm dave]# ll /dev/12casm*
brw-rw----. 1 grid asmadmin 8, 16 Nov 2900:35 /dev/12casm-diskb
brw-rw----. 1 grid asmadmin 8, 32 Nov 2900:35 /dev/12casm-diskc
brw-rw----. 1 grid asmadmin 8, 48 Nov 2900:35 /dev/12casm-diskd
brw-rw----. 1 grid asmadmin 8, 64 Nov 2900:35 /dev/12casm-diske
brw-rw----. 1 grid asmadmin 8, 80 Nov 2900:35 /dev/12casm-diskf
brw-rw----. 1 grid asmadmin 8, 96 Nov 2900:35 /dev/12casm-diskg
[root@12cAsm dave]#
至此配置结束,在ASM的配置中,ASM_DISKSTRING参数指向'/dev/asm-disk*'就可以了。
3 禁用防火墙和SELNUX
关闭防火墙:
service iptables status
service iptables stop
chkconfig iptables off
chkconfig iptables --list
设置/etc/selinux/config 文件,将SELINUX设置为disabled。
4 创建目录结构
mkdir -p /u01/grid
mkdir -p /u01/app/grid/12.1.0
chown -R grid:oinstall /u01
mkdir -p /u01/app/oracle/12.1.0/db_1
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01
5 添加组和用户并设置环境变量
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 -Gasmadmin,asmdba,asmoper,dba -d /home/grid -s
/bin/bash grid
useradd -m -u 1101 -g oinstall -Gdba,oper,asmdba -d /home/oracle -s /bin/bash
oracle
确认用户信息:
[root@rac1 ~]# id oracle
uid=502(oracle)
gid=507(oinstall)groups=507(oinstall),502(dba),503(oper),506(asmdba)
[root@rac1 ~]# id grid
uid=1100(grid)
gid=507(oinstall)groups=507(oinstall),504(asmadmin),506(asmdba),505(asmoper)
修改密码:
passwd oracle
passwd grid
配置环境变量
--Grid用户
修改grid用户的.bash_profile.注意每个节点的不同内容:
export ORACLE_SID=+ASM
export ORACLE_BASE=/u01/grid
export ORACLE_HOME=/u01/app/grid/12.1.0
exportPATH=$ORACLE_HOME/bin:$PATH:/usr/local/bin/:.
export TEMP=/tmp
export TMP=/tmp
export TMPDIR=/tmp
umask 022
--Oracle 用户
修改oracle 用户的.bash_profile,注意每个节点的不同内容:
ORACLE_SID=dave;export ORACLE_SID
ORACLE_UNQNAME=dave;export ORACLE_UNQNAME
JAVA_HOME=/usr/local/java; export JAVA_HOME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/12.1.0/db_1; exportORACLE_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; exportNLS_LANG
TNS_ADMIN=$ORACLE_HOME/network/admin; exportTNS_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 022
6 为安装用户设置资源*
6.1 修改/etc/security/limits.conf
以 root 用户身份,在节点上,在 /etc/security/limits.conf 文件中添加如下内容,或者执行执行如下命令:
[root@12cAsm dave]# cat >>/etc/security/limits.conf <<EOF
> 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
> EOF
[root@12cAsm dave]#
6.2 修改/etc/pam.d/login
[root@12cAsmdave]# cat >> /etc/pam.d/login <<EOF
>session required pam_limits.so
> EOF
[root@12cAsmdave]#
6.3 shell 的*
对默认的 shell 启动文件进行以下更改,以便更改所有 Oracle 安装所有者的 ulimit 设置:
[root@12cAsm dave]# cat >>/etc/profile <<EOF
> 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
> EOF
[root@12cAsm dave]#
7 修改内核参数/etc/sysctl.conf
在sysctl.conf 中加入以下内容:
kernel.shmmni = 4096
net.ipv4.ip_local_port_range = 9000 65500
kernel.panic_on_oops = 30