3.1.建立用户和组:
[root@node1 ~]# groupadd -g 200 oinstall
[root@node1 ~]# groupadd -g 201 dba
[root@node1 ~]# groupadd -g 202 oper
[root@node1 ~]# groupadd -g 203 asmadmin
[root@node1 ~]# groupadd -g 204 asmoper
[root@node1 ~]# groupadd -g 205 asmdba
[root@node1 ~]#
[root@node1 ~]# useradd -u 200 -g oinstall -G dba,asmdba,oper oracle
[root@node1 ~]# su - oracle
[oracle@node1 ~]$ id
uid=200(oracle) gid=200(oinstall) groups=200(oinstall),201(dba),202(oper),205(asmdba)
[root@node1 ~]# useradd -u 201 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
#设置密码 密码都为oracle
[root@node1 ~]# passwd oracle
[root@node1 ~]# passwd grid
建立用户组和建立用户时 ,两个节点上的用户和组的id号要相同。 (因为节点要做NFS共享)
例:groupadd -g 200 oinstall #-g 指定组id id号0到99 是系统用户的。
grid用户作用:管理集群和管理共享存储
3.2.创建目录:
mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/oraInventory/
chmod -R 775 /u01/app/oraInventory/
mkdir -p /u01/11.2.0/grid
chown -R grid:oinstall /u01/11.2.0/grid/
chmod -R 775 /u01/11.2.0/grid/
mkdir -p /u01/app/oraInventory/
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/cfgtoollogs
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
3.3.修改oracle用户的环境变量
在/home/oracle/.bash_profile 文件中添加如下内容:
export EDITOR=vi
export ORACLE_SID=yueasm
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib # 该配置会导致下面报错详见下文
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
umask 022
3.4.修改grid用户的环境变量:
在/home/grid/.bash_profile 文件中添加如下内容:
export EDITOR=vi
export ORACLE_SID=+ASM
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/11.2.0/grid
export GRID_HOME=/u01/11.2.0/grid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib # 该配置会导致下面报错详见下文
export THREADS_FLAG=native
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
umask 022
3.5.设置网络环境: 修改hosts文件
[root@yue1 ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost
192.168.3.54 yueasm
3.5.修改内核参数:
a.修改/etc/sysctl.conf 添加如下:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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 = 1048586
-------内核参数修改生效
[root@node1 ~]# sysctl -p
b.修改/etc/security/limits.conf 添加如下内容:
[root@node1 ~]# cat /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
c.修改/etc/pam.d/login 文件,添加如下一行:
session required /lib/security/pam_limits.so
d.修改/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
fi
3.6.调整swap区
[root@yue1 ~]# free -m
total used free shared buffers cached
Mem: 1582 1300 282 0 29 1137
-/+ buffers/cache: 133 1449
Swap: 2047 0 2047
#创建一个空文件, bs指定块大小,count指定块的数量。of 指定生成目录
[root@yue1 ~]# dd if=/dev/zero of=/u01/swf1 bs=1024k count=2048
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 19.3151 seconds, 111 MB/s
[root@yue1 ~]# mkswap -c /u01/swf1
Setting up swapspace version 1, size = 2147479 kB
[root@yue1 ~]# swapon /u01/swf1
[root@yue1 ~]# free -m
total used free shared buffers cached
Mem: 1582 1541 40 0 5 1400
-/+ buffers/cache: 136 1446
Swap: 4095 0 4095
#防止系统重启以后swap区变回原来的大小,修改/etc/fstab文件追加如下一行。
[root@yue1 ~]# vi /etc/fstab
/u01/swf1 swap swap defaults 0 0
3.7.安装 os的软件:
需要安装的软件:
binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 compat-libstdc++-33-3.2.3 (32 bit) elfutils-libelf-0.125 elfutils-libelf-devel-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24 glibc-2.5-24 (32 bit) glibc-common-2.5
glibc-devel-2.5 glibc-devel-2.5 (32 bit) glibc-headers-2.5 ksh-20060214 libaio-0.3.106 libaio-0.3.106 (32 bit) libaio-devel-0.3.106 libaio-devel-0.3.106 (32 bit) libgcc-4.1.2 libgcc-4.1.2 (32 bit) libstdc++-4.1.2 libstdc++-4.1.2 (32 bit) libstdc++-devel
4.1.2 make-3.81 sysstat-7.0.2 unixODBC-2.2.11 unixODBC-2.2.11 (32 bit) unixODBC-devel-2.2.11 unixODBC-devel-2.2.11 (32 bit)
#这个几个软件在操作系统的安装包中有,挂载操作系统的安装包。右击如图小图标->选一个虚拟光盘->找到安装包添加进去。
#挂载安装软件到media目录下
[root@yue1 ~]# mount /dev/cdrom /media/
[root@yue1 ~]# ls /media/
#搭建YUM仓库 解决安装的依赖关系:
[root@yue1 ~]# cd /etc/yum.repos.d/
[root@yue1 yum.repos.d]# ll
total 8
-rw-r--r-- 1 root root 561 Mar 10 2010 rhel-debuginfo.repo
[root@yue1 yum.repos.d]# cp rhel-debuginfo.repo yum.repo
#修改仓库文件,为如下内容
[root@yue1 yum.repos.d]# vi yum.repo
[base]
name=Red Hat Enterprise Linux
baseurl=file:///media/Server
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
#安装软件命令:
[root@yue1 yum.repos.d]# yum install -y libaio*
[root@yue1 yum.repos.d]# yum install -y sysstat*
[root@yue1 yum.repos.d]# yum install -y unix*
[root@yue1 yum.repos.d]# yum install -y vnc* #安装vnc
4.设置共享存储:ASMlib 管理磁盘。
(可以使用通过asm、ocfs、raw、nfs 方式实现贡献存储,oracle推荐使用asm,这里使用ASM)。
①.磁盘设置:(对磁盘进行分区)
a.存放database 需要2个分区
c.存放 recovery area 需要2个分区。
由上面得出:2个主分区(各5g),1个扩展分区,扩展分区再分成2个逻辑分区。
Device Boot Start End Blocks Id System
/dev/sdc1 1 609 4891761 83 Linux
/dev/sdc2 610 1218 4891792+ 83 Linux
/dev/sdc3 1219 2610 11181240 5 Extended
/dev/sdc5 1219 1827 4891761 83 Linux
/dev/sdc6 1828 2436 4891761 83 Linux
/dev/sdc7 2437 2610 1397623+ 83 Linux
# /dev/sdc1,/dev/sdc2,/dev/sdc5,/dev/sdc6
四个磁盘大小为5g。
②.安装asm软件: 只有linux 和windows 系统需要安装软件,安装下面三个软件。
[root@yueasm asm]# uname -r
2.6.18-194.el5
[root@yue1 asm]# ls
oracleasm-2.6.18-194.el5-2.0.5-1.el5.i686.rpm #要与上面的内核版本对应。
oracleasmlib-2.0.4-1.el5.i386.rpm
oracleasm-support-2.1.3-1.el5.i386.rpm
#安装软件,
[root@yueasm asm]# rpm -ivh *.rpm
③.建立ASM disk
#配置asm (service oracleasm configure命令
等同于 /etc/init.d/oracleasm configure 命令)
[root@yueasm asm]# service 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]:
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]
[root@yueasm asm]# service oracleasm #查看asm所有命令
Usage: /etc/init.d/oracleasm {start|stop|restart|enable|disable|configure|createdisk|deletedisk|querydisk|listdisks|scandisks|status}
#建立ASM磁盘
[root@yueasm asm]# service oracleasm createdisk ASM_DSK1 /dev/sdc1
Marking disk "ASM_DSK1" as an ASM disk: [ OK ]
[root@yueasm asm]# service oracleasm createdisk ASM_DSK2 /dev/sdc2
Marking disk "ASM_DSK2" as an ASM disk: [ OK ]
[root@yueasm asm]# service oracleasm createdisk ASM_DSK3 /dev/sdc5
Marking disk "ASM_DSK3" as an ASM disk: [ OK ]
[root@ yueasm asm]# service oracleasm createdisk ASM_DSK4 /dev/sdc6
Marking disk "ASM_DSK4" as an ASM disk: [ OK ]
[root@yueasm asm]# service oracleasm listdisks #查看asm磁盘
ASM_DSK1
ASM_DSK2
ASM_DSK3
ASM_DSK4
ASM_DSK5
[root@ yueasm asm]# ls -l /dev/oracleasm/disks/ #查看asm磁盘的设备文件
total 0
brw-rw---- 1 grid asmadmin 8, 33 Aug 30 17:07 ASM_DSK1
brw-rw---- 1 grid asmadmin 8, 34 Aug 30 17:08 ASM_DSK2
brw-rw---- 1 grid asmadmin 8, 37 Aug 30 17:08 ASM_DSK3
brw-rw---- 1 grid asmadmin 8, 38 Aug 30 17:08 ASM_DSK4
brw-rw---- 1 grid asmadmin 8, 39 Aug 30 17:09 ASM_DSK5
5.安装GRID infrastructure: (grid用户安装)
10g 是单独安装CRS
11g 是构建GI架构时会自安装CRS
①.使用VNC安装GI架构 .
#启动vnc服务,并设置密码为oracle
[root@yue1 ~]# vncserver
You will require a password to access your desktops.
Password:
Verify:
xauth: creating new authority file /root/.Xauthority
New ‘yue1:1 (root)‘ desktop is yue1:1
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/yue1:1.log
#在浏览器输入如下地址: 并输入设置的密码登陆vnc。 前提是系统要安装jdk软件,否则打不开vnc
#vnc中完成如下命令:
[root@yueasm ~]$ xhost + #在允许任何用户访问服务器
[root@ yueasm ~]$ su - grid #切换成grid用户安装grid架构
[grid@ yueasm ~]$ cd /u01/soft/grid
#进入grid软件放置的目录
[grid@ yueasm ~]$ ./runInstaller #运行安装软件的脚本,出现图形化的安装界面
#选择单机
#语言
#创建asm 磁盘:(这一步的创建磁盘不知是什么用途?): 用于存储OCR等。
Redundancy: high:要5块盘,normal:要3块盘,external:要1块盘。
#指定asm 密码 ,提示密码简单 直接”yes“
#指点组,
#指定安装位置, 这里会提示 [INS-32018] ,是因为grid用户的变脸的问题,没影响。
#安装前检查
按顺序执行两个脚本:
[root@yueasm ~]# /u01/app/oraInventory/orainstRoot.sh
(里面直接回车)
[root@yueasm ~]# /u01/11.2.0/grid/root.sh
执行两个脚本完成后点击“ok”。
#安装完成:
#设置一个环境变量,用于root用户能使用grid的命令:
[root@yue1 ~]# vi /etc/profile
export PATH=$PATH:/u01/11.2.0/grid/bin
快速生效
[root@yue1 ~]# source /etc/profile
#登录asm,说明GI安装成功。
[grid@yueasm grid]$ sqlplus / as sysasm
SQL*Plus: Release 11.2.0.1.0 Production on Sat Aug 30 19:19:57 2014
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Automatic Storage Management option
#查看磁盘组状态
SQL> select name, state from v$asm_diskgroup;
NAME STATE
------------------------------ -----------
COR_VOTE MOUNTED
6.安装oracle软件(oracle 用户安装)
6.1.解压oracle软件
[root@yueasm soft]# unzip linux_11gR2_database_1of2.zip ; unzip linux_11gR2_database_2of2.zip
6.2.在vnc中使用oracle用户安装oracle软件
#vnc中完成如下命令:
[grid@yueasm ~]# su
- oracle
[oracle@yueasm ~]# cd
/u01/soft/database
[oracle@yueasm ~]# ./runInstaller
##建立邮件,去掉下面的选框
#只安装软件
#单实例数据库
#选择数据库版本:
#执行脚本 第一次提示直接回车,其余三次输入:y
[root@yueasm soft]# /u01/app/oracle/product/11.2.0/db_1/root.sh
#完成
7.创建asm磁盘组 (使用grid用户创建,可以使用命令和图形界面,这里使用图形界面)
建立三个asm磁盘组,ocr_vote已经在之前的步骤中创建了,存放database和recover
area 的磁盘组在这里创建
#使用vnc创建磁盘组,在vnc完成下面命令:
[oracle@yue1 ~]# su - grid #切换成grid用户
[grid@yue1 ~]# asmca #使用 asmca 命令
#创建磁盘组,点 “create”
# 添加磁盘组dg1:选择如图,点击‘ok‘
redundancy : high:需要3块盘,normal :需要2块盘,external :需要1块盘。
#出现了新添加的DG1磁盘组,状态为 MOUNTED
#再创建一个磁盘组 rcy1 ,点击“create”,
# 创建完成,点击“exit”。
②.上面执行完以后,使用sql命令检查磁盘状态:
[root@yueasm ~]# su - grid
#登录asm实例
[grid@yueasm ~]$ sqlplus ‘/as sysasm‘
SQL*Plus: Release 11.2.0.1.0 Production on Sat Aug 16 16:46:53 2014
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Real Application Clusters and Automatic Storage Management options
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_unique_name string +ASM
instance_name string +ASM
lock_name_space string
service_names string +ASM
#查看磁盘组状态, 都问mount状态即可
SQL> select name,state from v$asm_diskgroup;
NAME STATE
------------------------------ -----------
OCR_VOTE MOUNTED
DG1 MOUNTED
RCY1 MOUNTED
8.dbca 创建数据库 (使用oracle 用户执行)
#使用vnc 创建数据库:在vnc下执行如下命令:
[grid@yueasm ~]# su - oracle
[oracle@yueasm ~]# dbca #dbca建库
#实例名称为 yueasm
#配置em
#密码
#指定存储数据文件的类型和位置
#指定ASMSNMP 的密码
#指定闪回区, 选择RCY1
#选择例子schema
#指定sga 为400m
#设置字符集, 为:ZHS16GBK-
#点击 finish
#点击ok
#安装时报错: