voting disk(Grid) ASM 共享磁盘
OCR(Grid) ASM 共享磁盘
数据库软件 本地文件系统 本地磁盘
数据库 ASM 共享磁盘
节点主机 主机公网IP 虚拟IP 私网IP(内部网络)
rac1 192.168.10.101 192.168.10.11 100.100.0.101
rac2 192.168.10.102 192.168.10.12 100.100.0.102
SCAN名称: rac-scan, SCAN IP: 192.168.10.170 192.168.10.171
=======
RAC1
=======设置DNS解析,修改2台虚拟机rac01,rac02上的/etc/hosts文件,添加以下内容:
#public
192.168.10.101 rac1.fedge.com rac1
192.168.10.102 rac2.fedge.com rac2
#vip
192.168.10.11 rac1-vip
192.168.10.12 rac2-vip
#private
100.100.0.101 rac1-priv
100.100.0.102 rac2-priv
#scan
192.168.10.170 scan.fedge.com rac-scan
192.168.10.171 scan.fedge.com rac-scan
#dns
192.168.10.4 dns.fedge.com dns12c
===========================================
#rac01,rac02上的/etc/resolv.conf,添加
search fedge.com
nameserver 192.168.10.4
cat >> /etc/sysconfig/network-scripts/ifcfg-eth0 <<EOF
DNS1=192.168.10.4
EOF
======================================
yum install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh*
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++
rpm -q glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel
rpm -q libgcc libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel
mount /dev/cdrom /mnt/hgfs/
rpm -ivh /mnt/hgfs/Server/Packages/numactl-devel-2.0.7-6.el6.x86_64.rpm
rpm -ivh /mnt/hgfs/Server/Packages/compat-db42-4.2.52-15.el6.x86_64.rpm
rpm -ivh /mnt/hgfs/Server/Packages/compat-db43-4.3.29-15.el6.x86_64.rpm
rpm -ivh /mnt/hgfs/Server/Packages/compat-db-4.6.21-15.el6.x86_64.rpm
rpm -ivh /mnt/hgfs/Server/Packages/compat-libcap1-1.10-1.x86_64.rpm
vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
vi /etc/selinux/config
service iptables save
service iptables stop
/etc/rc.d/init.d/iptables status
#禁用 NTP 采用 CTSS
/sbin/service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.original
rm /var/run/ntpd.pid
rpm -ivh /mnt/hgfs/Server/Packages/iscsi-initiator-utils-*
service iscsi start
service iscsid start
chkconfig iscsid on
chkconfig iscsi on
service iscsid start
chkconfig --list | grep iscsi
cat messages | grep iscsi
rpm -Uvh /mnt/hgfs/Server/Packages/iscsi-initiator-utils-*
iscsiadm -m discovery -t sendtargets -p 100.100.0.43
100.100.0.43:3260,1 iqn.2006-01.com.openfiler:racdb.fra1
100.100.0.43:3260,1 iqn.2006-01.com.openfiler:racdb.data1
100.100.0.43:3260,1 iqn.2006-01.com.openfiler:racdb.crs1
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.crs1 -p 100.100.0.43 -l
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.data1 -p 100.100.0.43 -l
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.fra1 -p 100.100.0.43 -l
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.crs1 -p 100.100.0.43 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.data1 -p 100.100.0.43 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.fra1 -p 100.100.0.43 --op update -n node.startup -v automatic
1. 得到磁盘的ID_SERIAL
(cd /dev/disk/by-path; ls -l *openfiler* | awk '{FS=" "; print $9 " " $10 " " $11}')
ip-100.100.0.43:3260-iscsi-iqn.2006-01.com.openfiler:racdb.crs1-lun-0 -> ../../sdd
ip-100.100.0.43:3260-iscsi-iqn.2006-01.com.openfiler:racdb.data1-lun-0 -> ../../sdc
ip-100.100.0.43:3260-iscsi-iqn.2006-01.com.openfiler:racdb.fra1-lun-0 -> ../../sde
2. 创建规则文件
udevadm info --query all --name=/dev/sdd
udevadm info --query all --name=/dev/sdc
udevadm info --query all --name=/dev/sde
显示:
DEVLINKS=/dev/block/8:48 /dev/disk/by-id/scsi-14f504e46494c45524f4452576c352d4d58386e2d4a7a6a53 /dev/disk/by-path/ip-100.100.0.43:3260-iscsi-iqn.2006-01.com.openfiler:racdb.crs1-lun-0
DEVLINKS=/dev/block/8:32 /dev/disk/by-id/scsi-14f504e46494c4552467248686c4c2d693570742d49314d6f /dev/disk/by-path/ip-100.100.0.43:3260-iscsi-iqn.2006-01.com.openfiler:racdb.data1-lun-0
DEVLINKS=/dev/block/8:64 /dev/disk/by-id/scsi-14f504e46494c455255476461584a2d734a31382d63724845 /dev/disk/by-path/ip-100.100.0.43:3260-iscsi-iqn.2006-01.com.openfiler:racdb.fra1-lun-0
touch /etc/udev/rules.d/99-asm-iscsi.rules
cat >>/etc/udev/rules.d/99-asm-iscsi.rules <<EOF
SUBSYSTEM=="block",KERNEL=="sd*",ENV{ID_SERIAL}=="14f504e46494c45524f4452576c352d4d58386e2d4a7a6a53", BUS=="scsi",SYMLINK+="iscsi/crs1/part"
SUBSYSTEM=="block",KERNEL=="sd*",ENV{ID_SERIAL}=="14f504e46494c4552467248686c4c2d693570742d49314d6f", BUS=="scsi",SYMLINK+="iscsi/data1/part"
SUBSYSTEM=="block",KERNEL=="sd*",ENV{ID_SERIAL}=="14f504e46494c455255476461584a2d734a31382d63724845", BUS=="scsi",SYMLINK+="iscsi/fra1/part"
EOF
3. 启动进程,使规则生效
udevadm trigger
start_udev
4.这样你就会在/dev/下看到
# ls -l /dev/iscsi/*
/dev/iscsi/crs1:
总用量 0
lrwxrwxrwx 1 root root 10 10月 21 15:29 part -> ../../sdd1
/dev/iscsi/data1:
总用量 0
lrwxrwxrwx 1 root root 10 10月 21 15:29 part -> ../../sde1
/dev/iscsi/fra1:
总用量 0
lrwxrwxrwx 1 root root 10 10月 21 15:29 part -> ../../sdc1
service iscsi stop
service iscsi start
**********************************************************************************************0
su - root
userdel grid
groupadd -g 1200 asmadmin
groupadd -g 1201 asmdba
groupadd -g 1202 asmoper
useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -d /home/grid -s /bin/bash -c "Grid Infrastructure Owner" grid
chown -R grid:oinstall /home/grid
chown -R grid:asmadmin /dev/iscsi/*
mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/oracle
chown -R grid:oinstall /u01
chown -R grid:oinstall /u01/app/grid
chmod -R 775 /u01/
id grid
------------------
su - grid
vi .bash_profile
# ---------------------------------------------------
# .bash_profile
# ---------------------------------------------------
# OS User: grid
# Application: Oracle Grid Infrastructure
# Version: Oracle 11g release 2
# ---------------------------------------------------
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
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
export LANG=en_US.UTF-8
umask 022
-------------------
su - root
groupadd -g 1301 oper
usermod -g oinstall -G dba,oper,asmdba -c "Oracle Software Owner" oracle
chown -R oracle:oinstall /u01/app/oracle
su - oracle
---------------
vi .bash_profile
# ---------------------------------------------------
# .bash_profile
# ---------------------------------------------------
# OS User: oracle
# Application: Oracle Database Software Owner
# Version: Oracle 11g release 2
# ---------------------------------------------------
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
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="YYYY-MON-DD 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
----------------------
su - root
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
------------------------------
cat >> /etc/csh.login <<EOF
if ( \$USER == "oracle" || \$USER == "grid" ) then
limit maxproc 16384
limit descriptors 65536
endif
EOF
-----------------------
cat /proc/meminfo | grep MemTotal
cat /proc/meminfo | grep SwapTotal
dd if=/dev/zero of=tempswap bs=1k count=4000000
chmod 600 tempswap
mke2fs tempswap <<EOF
y
EOF
mkswap tempswap
swapon tempswap
*******************************************************************************************1
-------------------------
cat /etc/sysctl.conf
-------------------------
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n"| grep ssh
openssh-clients-5.3p1-84.1.el6 (x86_64)
libssh2-1.4.2-1.el6 (x86_64)
openssh-5.3p1-84.1.el6 (x86_64)
openssh-server-5.3p1-84.1.el6 (x86_64)
openssh-askpass-5.3p1-84.1.el6 (x86_64)
-------------------------------
#grid oracle 各执行一次
su - grid
mkdir ~/.ssh
chmod 700 ~/.ssh
/usr/bin/ssh-keygen -t dsa
--------------------------------
#(替代方法)利用OUI 界面 cluster node -> setup 步骤安装
touch ~/.ssh/authorized_keys
ls -l ~/.ssh
ssh rac1 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh rac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ls -l ~/.ssh
scp ~/.ssh/authorized_keys rac2:.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
-------------------------------------
ssh rac1 "date;hostname"
ssh rac2 "date;hostname"
-------------------------
ssh rac1 hostname
ssh rac2 hostname
------------------------
rpm -ivh /media/soft/oracleasmlib-2.0.4-1.el6.x86_64.rpm
rpm -ivh /media/soft/oracleasm-support-2.1.8-1.el6.x86_64.rpm
----------------------
/usr/sbin/oracleasm configure -i <<EOF
grid
asmadmin
y
y
EOF
/usr/sbin/oracleasm init
------------------------
为了防止selinux阻止访问disk header
备份/etc/selinux/config
# cp /etc/selinux/config /etc/selinux/config_bak
b)修改/etc/selinux/config
注释掉 SELINUX=enforcing
添加 SELINUX=disabled
vi /etc/selinux/config
# SELINUX=enforcing
SELINUX=disabled
c)重启操作系统
# reboot
su - root
chown -R grid:asmadmin /dev/iscsi/*
dd if=/dev/zero of=/dev/iscsi/crs1/part bs=1024 count=100
dd if=/dev/zero of=/dev/iscsi/data1/part bs=1024 count=100
dd if=/dev/zero of=/dev/iscsi/fra1/part bs=1024 count=100
fdisk /dev/sdd
fdisk /dev/sdc
fdisk /dev/sde
oracleasm deletedisk CRSVOL1
oracleasm deletedisk DATAVOL1
oracleasm deletedisk FRAVOL1
/usr/sbin/oracleasm createdisk CRSVOL1 /dev/iscsi/crs1/part
/usr/sbin/oracleasm createdisk DATAVOL1 /dev/iscsi/data1/part
/usr/sbin/oracleasm createdisk FRAVOL1 /dev/iscsi/fra1/part
/usr/sbin/oracleasm scandisks
/usr/sbin/oracleasm listdisks
-------------------------
unzip grid oracle soft
--------------------
su - root
cd /media/soft/gridsoft/grid/rpm/
CVUQDISK_GRP=oinstall; export CVUQDISK_GRP
rpm -ivh cvuqdisk-1.0.9-1.rpm
su - grid
cd /media/soft/gridsoft/grid/
./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose
su - grid
cd /media/soft/gridsoft/grid/
./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose
cluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose
-------------------------
如果 已配置DNS服务器 则跳过这一步
-------------------------
mv /usr/bin/nslookup /usr/bin/nslookup.original
cat >> /usr/bin/nslookup <<EOF
#!/bin/bash
HOSTNAME=${1}
if [[ $HOSTNAME = "rac-scan" ]]; then
echo "Server: 24.154.1.34"
echo "Address: 24.154.1.34#53"
echo "Non-authoritative answer:"
echo "Name: rac-scan"
echo "Address: 192.168.10.170"
else
/usr/bin/nslookup.original $HOSTNAME
fi
EOF
chmod 755 /usr/bin/nslookup
------------------------------
install grid cluster
*************************************************************
-----------------------------
su - grid
cd /media/soft/gridsoft/grid/
./runcluvfy.sh comp scan -verbose
cluvfy comp scan -verbose
Verifying scan
Checking Single Client Access Name (SCAN)...
SCAN Name Node Running? ListenerName Port Running?
---------------- ------------ ------------ ------------ ------------ ------------
rac-scan rac1 true LISTENER_SCAN1 1521 true
Checking TCP connectivity to SCAN Listeners...
Node ListenerName TCP connectivity?
------------ ------------------------ ------------------------
rac2 LISTENER_SCAN1 yes
TCP connectivity to SCAN Listeners exists on all cluster nodes
Checking name resolution setup for "rac-scan"...
SCAN Name IP Address Status Comment
------------ ------------------------ ------------------------ ----------
rac-scan 192.168.10.170 passed
Verification of SCAN VIP and Listener setup passed
Verification of scan was successful.
-------------------------------------------
install oracle database
--------------------------------
su - oracle
mkdir ~/.ssh
chmod 700 ~/.ssh
/usr/bin/ssh-keygen -t dsa
--------------------------------
touch ~/.ssh/authorized_keys
ls -l ~/.ssh
ssh rac1 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh rac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ls -l ~/.ssh
scp ~/.ssh/authorized_keys rac2:.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
-------------------------------------
#机器的网络设备名称一样的话(忽略)
oifcfg setif -global eth4/100.100.0.0:cluster_interconnect
oifcfg setif -global eth5/192.168.10.0:public
oifcfg setif -global eth7/192.168.10.0:public
oifcfg setif -global eth6/100.100.0.0:cluster_interconnect
oifcfg delif -global */100.100.0.0
oifcfg delif -global */192.168.10.0
----------------
create rac database
su - grid -c "crsctl status resource -w \" TYPE co 'ora'\" -t"
crsctl check crs
crsctl status resource -t
crs_stat -t -v
-------------------
#stop rac
[oracle@rac1 ~]$ srvctl stop database -d racdb
[root@rac1 ~]# /u01/app/11.2.0/grid/bin/crsctl stop cluster
#start rac
[root@rac1 ~]# /u01/app/11.2.0/grid/bin/crsctl start cluster
[oracle@rac1 ~]$ srvctl start database -d racdb
srvctl start instance -d racdb -i racdb1
srvctl start instance -d racdb -i racdb2
-----------------
su - oracle
emctl start dbconsole
=======
RAC2
=======
yum install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh*
mount /dev/cdrom /mnt/hgfs/
rpm -ivh /mnt/hgfs/Server/Packages/numactl-devel-2.0.7-6.el6.x86_64.rpm
rpm -ivh /mnt/hgfs/Server/Packages/compat-db42-4.2.52-15.el6.x86_64.rpm
rpm -ivh /mnt/hgfs/Server/Packages/compat-db43-4.3.29-15.el6.x86_64.rpm
rpm -ivh /mnt/hgfs/Server/Packages/compat-db-4.6.21-15.el6.x86_64.rpm
rpm -ivh /mnt/hgfs/Server/Packages/compat-libcap1-1.10-1.x86_64.rpm
vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/oracle
chown -R root:dba /u01
chown -R oracle:oinstall /u01/app/oracle
chown -R grid:oinstall /u01/app/grid
chmod -R 775 /u01/
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.original
rm /var/run/ntpd.pid
rpm -ivh /mnt/hgfs/Server/Packages/iscsi-initiator-utils-*
iscsiadm -m discovery -t sendtargets -p openfiler
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.crs1 -p 100.100.0.43 -l
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.data1 -p 100.100.0.43 -l
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.fra1 -p 100.100.0.43 -l
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.crs1 -p 100.100.0.43 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.data1 -p 100.100.0.43 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.fra1 -p 100.100.0.43 --op update -n node.startup -v automatic
(cd /dev/disk/by-path; ls -l *openfiler* | awk '{FS=" "; print $9 " " $10 " " $11}')
1. 得到磁盘的ID_SERIAL
(cd /dev/disk/by-path; ls -l *openfiler* | awk '{FS=" "; print $9 " " $10 " " $11}')
ip-100.100.0.43:3260-iscsi-iqn.2006-01.com.openfiler:racdb.crs1-lun-0 -> ../../sdd
ip-100.100.0.43:3260-iscsi-iqn.2006-01.com.openfiler:racdb.data1-lun-0 -> ../../sdc
ip-100.100.0.43:3260-iscsi-iqn.2006-01.com.openfiler:racdb.fra1-lun-0 -> ../../sde
2. 创建规则文件
udevadm info --query all --name=/dev/sdd
udevadm info --query all --name=/dev/sdc
udevadm info --query all --name=/dev/sde
DEVLINKS=/dev/block/8:48 /dev/disk/by-id/scsi-14f504e46494c45524f4452576c352d4d58386e2d4a7a6a53 /dev/disk/by-path/ip-100.100.0.43:3260-iscsi-iqn.2006-01.com.openfiler:racdb.crs1-lun-0
DEVLINKS=/dev/block/8:32 /dev/disk/by-id/scsi-14f504e46494c4552467248686c4c2d693570742d49314d6f /dev/disk/by-path/ip-100.100.0.43:3260-iscsi-iqn.2006-01.com.openfiler:racdb.data1-lun-0
DEVLINKS=/dev/block/8:64 /dev/disk/by-id/scsi-14f504e46494c455255476461584a2d734a31382d63724845 /dev/disk/by-path/ip-100.100.0.43:3260-iscsi-iqn.2006-01.com.openfiler:racdb.fra1-lun-0
#vi /etc/udev/rules.d/99-asm-iscsi.rules
SUBSYSTEM=="block",KERNEL=="sd*",ENV{ID_SERIAL}=="14f504e46494c45524f4452576c352d4d58386e2d4a7a6a53", BUS=="scsi",SYMLINK+="iscsi/crs1/part"
SUBSYSTEM=="block",KERNEL=="sd*",ENV{ID_SERIAL}=="14f504e46494c4552467248686c4c2d693570742d49314d6f", BUS=="scsi",SYMLINK+="iscsi/data1/part"
SUBSYSTEM=="block",KERNEL=="sd*",ENV{ID_SERIAL}=="14f504e46494c455255476461584a2d734a31382d63724845", BUS=="scsi",SYMLINK+="iscsi/fra1/part"
3. 启动进程,使规则生效
udevadm trigger
start_udev
4.这样你就会在/dev/下看到
# ls -l /dev/iscsi/*
/dev/iscsi/crs1:
total 0
lrwxrwxrwx. 1 root root 9 Mar 3 17:28 part -> ../../sdd
/dev/iscsi/data1:
total 0
lrwxrwxrwx. 1 root root 9 Mar 3 17:28 part -> ../../sdc
/dev/iscsi/fra1:
total 0
lrwxrwxrwx. 1 root root 9 Mar 3 17:28 part -> ../../sde
#service iscsi stop
#service iscsi start
userdel grid
groupadd -g 1200 asmadmin
groupadd -g 1201 asmdba
groupadd -g 1202 asmoper
useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -d /home/grid -s /bin/bash -c "Grid Infrastructure Owner" grid
chown -R grid:oinstall /home/grid
id grid
su - grid
gedit .bash_profile
# ---------------------------------------------------
# .bash_profile
# ---------------------------------------------------
# OS User: grid
# Application: Oracle Grid Infrastructure
# Version: Oracle 11g release 2
# ---------------------------------------------------
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
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
export LANG=en_US.UTF-8
umask 022
-------------------
groupadd -g 1301 oper
usermod -g oinstall -G dba,oper,asmdba -c "Oracle Software Owner" oracle
su - oracle
--------------
gedit .bash_profile
# ---------------------------------------------------
# .bash_profile
# ---------------------------------------------------
# OS User: oracle
# Application: Oracle Database Software Owner
# Version: Oracle 11g release 2
# ---------------------------------------------------
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
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
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
export LANG=en_US.UTF-8
umask 022
----------------------
su - root
mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
chown -R grid:oinstall /u01
mkdir -p /u01/app/oracle
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01
---------------------
vi /etc/profile
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
------------------------------
cat >> /etc/csh.login <<EOF
if ( \$USER == "oracle" || \$USER == "grid" ) then
limit maxproc 16384
limit descriptors 65536
endif
EOF
---------------------------
cat /proc/meminfo | grep MemTotal
cat /proc/meminfo | grep SwapTotal
dd if=/dev/zero of=tempswap bs=1k count=4000000
chmod 600 tempswap
mke2fs tempswap
mkswap tempswap
swapon tempswap
********************************************************************************1
-----------------------------------
cat /etc/sysctl.conf
--------------------
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n"| grep ssh
-------------------------
su - grid
mkdir ~/.ssh
chmod 700 ~/.ssh
/usr/bin/ssh-keygen -t dsa
-------------------------
ssh rac1 "date;hostname"
ssh rac2 "date;hostname"
*************************************************************
---------------------------
rpm -ivh /media/soft/oracleasmlib-2.0.4-1.el6.x86_64.rpm
----------------------
/usr/sbin/oracleasm configure -i
grid
asmadmin
y
y
/usr/sbin/oracleasm init
------------------------
为了防止selinux阻止访问disk header
备份/etc/selinux/config
# cp /etc/selinux/config /etc/selinux/config_bak
b)修改/etc/selinux/config
注释掉 SELINUX=enforcing
添加 SELINUX=disabled
# vi /etc/selinux/config
# SELINUX=enforcing
SELINUX=disabled
c)重启操作系统
# reboot
su - root
chown -R grid:asmadmin /dev/iscsi/*
/usr/sbin/oracleasm scandisks
/usr/sbin/oracleasm listdisks
-------------------------
CVUQDISK_GRP=oinstall; export CVUQDISK_GRP
rpm -ivh cvuqdisk-1.0.9-1.rpm
vi /etc/sysconfig/ntpd
# Drop root to id 'ntp:ntp' by default.
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
# Set to 'yes' to sync hw clock after successful ntpdate
SYNC_HWCLOCK=no
# Additional options for ntpdate
NTPDATE_OPTIONS=""
*********************************************************************
-----------------------------------
mv /usr/bin/nslookup /usr/bin/nslookup.original
cat >> /usr/bin/nslookup <<EOF
#!/bin/bash
HOSTNAME=${1}
if [[ $HOSTNAME = "rac-scan" ]]; then
echo "Server: 24.154.1.34"
echo "Address: 24.154.1.34#53"
echo "Non-authoritative answer:"
echo "Name: rac-scan"
echo "Address: 192.168.0.170"
else
/usr/bin/nslookup.original $HOSTNAME
fi
EOF
chmod 755 /usr/bin/nslookup
su - grid
cd /media/soft/gridsoft/grid/
./runcluvfy.sh comp scan -verbose
-------------------------------------------
[grid@rac1 ~]$ crsctl stop crs
CRS-4563: Insufficient user privileges.
CRS-4000: Command Stop failed, or completed with errors.
dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1
---------------------------
[root@rac2 ~]# su - oracle
[oracle@rac2 ~]$ emctl status dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.3.0
Copyright (c) 1996, 2011 Oracle Corporation. All rights reserved.
https://rac1:1158/em/console/aboutApplication
EM Daemon is not running.
------------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/11.2.0/dbhome_1/rac2_racdb/sysman/log
[oracle@rac2 ~]$ emctl start dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.3.0
Copyright (c) 1996, 2011 Oracle Corporation. All rights reserved.
https://rac1:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 11g Database Control ....... started.
------------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/11.2.0/dbhome_1/rac2_racdb/sysman/log