grid 软件包下载地址:
http://download.oracle.com/otn/linux/oracle11g/R2/linux_11gR2_grid.zip
安装前准备工作:
1、检查下列包是否安装,若未安装则要先安装:
binutils-2.17.50.0.6-2.el5
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.125-3.el5
elfutils-libelf-devel-0.125
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
gcc-4.1.1-52
gcc-c++-4.1.1-52
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.1-52
libstdc++-4.1.1
libstdc++-devel-4.1.1-52.e15
make-3.81-1.1
sysstat-7.0.0
unixODBC-2.2.11
unixODBC-devel-2.2.11
检查发现以下软件包未安装:
libaio-devel-0.3.106-5.i386.rpm
sysstat-7.0.2-3.el5_5.1.i386.rpm
unixODBC-2.2.11-7.1.i386.rpm
unixODBC-devel-2.2.11-7.1.i386.rpm
安装软件包
rpm -ivh libaio-devel*.rpm sysstat-7.0.2-3*.rpm unixODBC-2.2.11-7.1.i386.rpm unixODBC-devel-2.2.11-7.1.i386.rpm
2> 检查内存与虚拟内存
[root@node1 opt]# free
total used free shared buffers cached
Mem: 681540 415396 266144 0 4612 310660
-/+ buffers/cache: 100124 581416
Swap: 2048276 84 2048192
3> 检查磁盘空间
[root@node1 opt]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 5.3G 12G 33% /
/dev/sda1 190M 12M 169M 7% /boot
tmpfs 333M 0 333M 0% /dev/shm
3、创建用户以及目录
[root@node1 /]# groupadd -g 500 oinstall
[root@node1 /]# groupadd -g 501 dba
[root@node1 /]# groupadd -g 502 oper
[root@node1 /]# groupadd -g 600 asmadmin
[root@node1 /]# groupadd -g 601 asmoper
[root@node1 /]# groupadd -g 602 asmdba
[root@node1 /]# useradd -g oinstall -G dba,asmdba,oper oracle
[root@node1 /]# useradd -g oinstall -G asmadmin,asmdba,asmoper,dba grid
[root@node1 /]# mkdir -p /u01/app/oracle/product/grid
[root@node1 /]# mkdir -p /u01/app/oracle/product/db
[root@node1 /]# chown -R grid:oinstall /u01
[root@node1 /]# chown -R oracle:oinstall /u01/app/oracle/product/db
[root@node1 /]# chmod -R 775 /u01
[root@node1 /]# passwd oracle
Changing password for user oracle.
New UNIX password: //oracle11
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@node1 /]# passwd grid
Changing password for user grid.
New UNIX password: //grid11
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully
配置 grid 用户环境变量:
[root@node1 /]# vi /home/grid/.bash_profile
export ORACLE_SID=+ASM
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/grid
export ORACLE_TERM=xterm
export TMP=/tmp
export TMPDIR=$TMP
PATH=$PATH:$HOME/bin
export PATH=/usr/sbin:$PATH:$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
[root@node1 /]# source /home/grid/.bash_profile
配置oracle 用户环境变量:
[root@node1 /]# vi /home/oracle/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=ora11g
export ORACLE_OWNER=oracle
export ORACLE_TERM=vt100
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
[root@node1 /]#source /home/oracle/.bash_profile
修改系统内核参数:
[root@node1 opt]# vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.aio-max-nr = 1048576
fs.file-max = 65536
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
[root@node1 /]# sysctl -p
设定用户限制
# vi /etc/security/limits.conf
#ORACLE SETTING
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
用户界面安全设置
[root@node1 opt]# vi /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
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
物理添加磁盘后,将磁盘分区
root@node1 /]# fdisk -l
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 280 2048287+ 82 Linux swap / Solaris
/dev/sda3 281 2610 18715725 83 Linux
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
[root@node1 /]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
The number of cylinders for this disk is set to 1044.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1044, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1044, default 1044): +2000M
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (245-1044, default 245):
Using default value 245
Last cylinder or +size or +sizeM or +sizeK (245-1044, default 1044): +2000M
Command (m for help): N
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (489-1044, default 489):
Using default value 489
Last cylinder or +size or +sizeM or +sizeK (489-1044, default 1044): +2000M
Command (m for help): N
Command action
e extended
p primary partition (1-4)
E
Selected partition 4
First cylinder (733-1044, default 733):
Using default value 733
Last cylinder or +size or +sizeM or +sizeK (733-1044, default 1044):
Using default value 1044
Command (m for help): N
First cylinder (733-1044, default 733):
Using default value 733
Last cylinder or +size or +sizeM or +sizeK (733-1044, default 1044):
Using default value 1044
Command (m for help): P
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 244 1959898+ 83 Linux
/dev/sdb2 245 488 1959930 83 Linux
/dev/sdb3 489 732 1959930 83 Linux
/dev/sdb4 733 1044 2506140 5 Extended
/dev/sdb5 733 1044 2506108+ 83 Linux
Command (m for help): W
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@node1 /]#
配置ASM程序包:
[root@node1 /]# /etc/init.d/oracleasm configure
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 <ENTER> 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
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]
[root@node1 /]#
[root@node1 /]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb
sdb sdb1 sdb2 sdb3 sdb4 sdb5
创建ASM磁盘:
[root@node1 /]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb1
Marking disk "VOL1" as an ASM disk: [ OK ]
[root@node1 /]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdb2
Marking disk "VOL2" as an ASM disk: [ OK ]
[root@node1 /]# /etc/init.d/oracleasm createdisk VOL3 /dev/sdb3
Marking disk "VOL3" as an ASM disk: [ OK ]
[root@node1 /]# /etc/init.d/oracleasm createdisk VOL4 /dev/sdb5
Marking disk "VOL4" as an ASM disk: [ OK ]
[root@node1 /]# /etc/init.d/oracleasm listdisks;
VOL1
VOL2
VOL3
VOL4
安装 linux_11gR2_grid.zip 软件包:
[root@node1 /] unzip linux_11gR2_grid.zip
[root@node1 /]# xhost +
[root@node1 /]# su - grid
[root@node1 /]# cd /grid
[root@node1 grid]# ./runInstaller
............................
[root@node1 ~]# su - grid
[grid@node1 ~]$ srvctl status asm
ASM is running on node1
[grid@node1 ~]$ srvc
srvconfig srvctl
[grid@node1 ~]$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): node1
[grid@node1 ~]$ ps -ef |grep +ASM
grid 11239 1 0 03:12 ? 00:00:00 asm_pmon_+ASM
grid 11241 1 0 03:12 ? 00:00:00 asm_vktm_+ASM
grid 11245 1 0 03:12 ? 00:00:00 asm_gen0_+ASM
grid 11247 1 0 03:12 ? 00:00:00 asm_diag_+ASM
grid 11249 1 0 03:12 ? 00:00:00 asm_psp0_+ASM
grid 11251 1 0 03:12 ? 00:00:00 asm_dia0_+ASM
grid 11253 1 0 03:12 ? 00:00:00 asm_mman_+ASM
grid 11255 1 0 03:12 ? 00:00:00 asm_dbw0_+ASM
grid 11257 1 0 03:12 ? 00:00:00 asm_lgwr_+ASM
grid 11259 1 0 03:12 ? 00:00:00 asm_ckpt_+ASM
grid 11261 1 0 03:12 ? 00:00:00 asm_smon_+ASM
grid 11263 1 0 03:12 ? 00:00:00 asm_rbal_+ASM
grid 11265 1 0 03:12 ? 00:00:00 asm_gmon_+ASM
grid 11267 1 0 03:12 ? 00:00:00 asm_mmon_+ASM
grid 11269 1 0 03:12 ? 00:00:00 asm_mmnl_+ASM
grid 11419 11350 0 03:33 pts/3 00:00:00 grep +ASM
[grid@node1 ~]$