grid 軟件包下載地址:
http://download.oracle.com/otn/linux/oracle11g/R2/linux_11gR2_grid.zipnode
安裝前準備工做:
一、檢查下列包是否安裝,若未安裝則要先安裝:
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.11linux
檢查發現如下軟件包未安裝:
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.rpmc++
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/shmbash
三、建立用戶以及目錄
[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 successfullysession
配置 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
配置oracle 用戶環境變量:
[root@node1 /]# vi /home/oracle/.bash_profileapp
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_profileide
修改系統內核參數:
[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 -pui
設定用戶限制
# 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 ~]$