【asm,1】ASM的安装+ oracle安装



注意:oracle  11g要想使用asm,必须首先要安装grid 软件,再安装oracle软件。
1.配置系统网络:

设置节点的ip:ip 不能冲突。
      a.修改主机名:/etc/sysconfig/network  ,不用设置网关。
            注意:搭好rac以后主机名是不允许修改的。
         NETWORKING=yes
         NEWWORKING_IPV6=no
         HOSTNAME=yueasm
      b.设置ip地址:  
       公共网卡:/etc/sysconfig/network-scripts/ifcfg-eth0 
             设置静态ip,设置子网掩码,设置网关
        【asm,1】ASM的安装+ oracle安装
     [root@yue2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82540EM Gigabit Ethernet Controller
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.3.32
NETMASK=255.255.255.0
GATEWAY=192.168.3.1
ONBOOT=yes

c.重启网络服务: service network restart

2.挂载磁盘:用于安装数据库软件 
        fdisk -l
        fdisk /dev/sdb  #分区 并使用主分区。
        mkfs.ext3 /dev/sdb1  #格式化
        mount /dev/sdb1 /u01 #挂载到u01目录上
        修改/etc/fstab   #设置为开机挂载
        【asm,1】ASM的安装+ oracle安装


3.配置安装环境

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 
【asm,1】ASM的安装+ oracle安装

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) 
#这个几个软件在操作系统的安装包中有,挂载操作系统的安装包。右击如图小图标->选一个虚拟光盘->找到安装包添加进去。
【asm,1】ASM的安装+ oracle安装
#挂载安装软件到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,1】ASM的安装+ oracle安装
#语言
【asm,1】ASM的安装+ oracle安装

#创建asm 磁盘:(这一步的创建磁盘不知是什么用途?): 用于存储OCR等。 
Redundancy: high:要5块盘,normal:要3块盘,external:要1块盘。

【asm,1】ASM的安装+ oracle安装

#指定asm 密码 ,提示密码简单 直接”yes“
【asm,1】ASM的安装+ oracle安装

#指点组,
【asm,1】ASM的安装+ oracle安装

#指定安装位置, 这里会提示 [INS-32018] ,是因为grid用户的变脸的问题,没影响。
【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装

#安装前检查
【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装

按顺序执行两个脚本:
【asm,1】ASM的安装+ oracle安装
[root@yueasm ~]# /u01/app/oraInventory/orainstRoot.sh 

(里面直接回车)
[root@yueasm ~]# /u01/11.2.0/grid/root.sh 

执行两个脚本完成后点击“ok”。

#安装完成:
【asm,1】ASM的安装+ oracle安装

#设置一个环境变量,用于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

##建立邮件,去掉下面的选框
【asm,1】ASM的安装+ oracle安装

#只安装软件
【asm,1】ASM的安装+ oracle安装

#单实例数据库
【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装

#选择数据库版本:
【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装
【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装

#执行脚本 第一次提示直接回车,其余三次输入:y
[root@yueasm soft]# /u01/app/oracle/product/11.2.0/db_1/root.sh 

#完成
【asm,1】ASM的安装+ oracle安装


7.创建asm磁盘组 (使用grid用户创建,可以使用命令和图形界面,这里使用图形界面)
建立三个asm磁盘组,ocr_vote已经在之前的步骤中创建了,存放database和recover area 的磁盘组在这里创建

#使用vnc创建磁盘组,在vnc完成下面命令:
[oracle@yue1 ~]#  su - grid  #切换成grid用户
[grid@yue1 ~]# asmca         #使用 asmca 命令

#创建磁盘组,点 “create”
【asm,1】ASM的安装+ oracle安装

# 添加磁盘组dg1:选择如图,点击‘ok‘
redundancy : high:需要3块盘,normal :需要2块盘,external :需要1块盘。

【asm,1】ASM的安装+ oracle安装

#出现了新添加的DG1磁盘组,状态为 MOUNTED

【asm,1】ASM的安装+ oracle安装

#再创建一个磁盘组 rcy1 ,点击“create”,

【asm,1】ASM的安装+ oracle安装

# 创建完成,点击“exit”。

【asm,1】ASM的安装+ oracle安装

②.上面执行完以后,使用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建库

【asm,1】ASM的安装+ oracle安装


【asm,1】ASM的安装+ oracle安装
#实例名称为 yueasm
【asm,1】ASM的安装+ oracle安装

#配置em
【asm,1】ASM的安装+ oracle安装

#密码
【asm,1】ASM的安装+ oracle安装

#指定存储数据文件的类型和位置

【asm,1】ASM的安装+ oracle安装

#指定ASMSNMP 的密码
【asm,1】ASM的安装+ oracle安装

#指定闪回区, 选择RCY1

【asm,1】ASM的安装+ oracle安装

#选择例子schema
【asm,1】ASM的安装+ oracle安装

#指定sga 为400m
【asm,1】ASM的安装+ oracle安装

#设置字符集, 为:ZHS16GBK-
【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装

#点击 finish
【asm,1】ASM的安装+ oracle安装

#点击ok
【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装


#安装时报错:

【asm,1】ASM的安装+ oracle安装

解决:
分别修改oracle用户和grid用户的用户变量,
修改.bash_profile文件中的export LD_LIBRARY_PATH=$ORACLE_HOME/lib 修改为:
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

如下:
【asm,1】ASM的安装+ oracle安装
 

#重新执行11步 
【asm,1】ASM的安装+ oracle安装


注意:oracle  11g要想使用asm,必须首先要安装grid 软件,再安装oracle软件。
1.配置系统网络:

设置节点的ip:ip 不能冲突。
      a.修改主机名:/etc/sysconfig/network  ,不用设置网关。
            注意:搭好rac以后主机名是不允许修改的。
         NETWORKING=yes
         NEWWORKING_IPV6=no
         HOSTNAME=yueasm
      b.设置ip地址:  
       公共网卡:/etc/sysconfig/network-scripts/ifcfg-eth0 
             设置静态ip,设置子网掩码,设置网关
        【asm,1】ASM的安装+ oracle安装
     [root@yue2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82540EM Gigabit Ethernet Controller
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.3.32
NETMASK=255.255.255.0
GATEWAY=192.168.3.1
ONBOOT=yes

c.重启网络服务: service network restart

2.挂载磁盘:用于安装数据库软件 
        fdisk -l
        fdisk /dev/sdb  #分区 并使用主分区。
        mkfs.ext3 /dev/sdb1  #格式化
        mount /dev/sdb1 /u01 #挂载到u01目录上
        修改/etc/fstab   #设置为开机挂载
        【asm,1】ASM的安装+ oracle安装


3.配置安装环境

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 
【asm,1】ASM的安装+ oracle安装

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) 
#这个几个软件在操作系统的安装包中有,挂载操作系统的安装包。右击如图小图标->选一个虚拟光盘->找到安装包添加进去。
【asm,1】ASM的安装+ oracle安装
#挂载安装软件到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,1】ASM的安装+ oracle安装
#语言
【asm,1】ASM的安装+ oracle安装

#创建asm 磁盘:(这一步的创建磁盘不知是什么用途?): 用于存储OCR等。 
Redundancy: high:要5块盘,normal:要3块盘,external:要1块盘。

【asm,1】ASM的安装+ oracle安装

#指定asm 密码 ,提示密码简单 直接”yes“
【asm,1】ASM的安装+ oracle安装

#指点组,
【asm,1】ASM的安装+ oracle安装

#指定安装位置, 这里会提示 [INS-32018] ,是因为grid用户的变脸的问题,没影响。
【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装

#安装前检查
【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装

按顺序执行两个脚本:
【asm,1】ASM的安装+ oracle安装
[root@yueasm ~]# /u01/app/oraInventory/orainstRoot.sh 

(里面直接回车)
[root@yueasm ~]# /u01/11.2.0/grid/root.sh 

执行两个脚本完成后点击“ok”。

#安装完成:
【asm,1】ASM的安装+ oracle安装

#设置一个环境变量,用于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

##建立邮件,去掉下面的选框
【asm,1】ASM的安装+ oracle安装

#只安装软件
【asm,1】ASM的安装+ oracle安装

#单实例数据库
【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装

#选择数据库版本:
【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装
【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装

#执行脚本 第一次提示直接回车,其余三次输入:y
[root@yueasm soft]# /u01/app/oracle/product/11.2.0/db_1/root.sh 

#完成
【asm,1】ASM的安装+ oracle安装


7.创建asm磁盘组 (使用grid用户创建,可以使用命令和图形界面,这里使用图形界面)
建立三个asm磁盘组,ocr_vote已经在之前的步骤中创建了,存放database和recover area 的磁盘组在这里创建

#使用vnc创建磁盘组,在vnc完成下面命令:
[oracle@yue1 ~]#  su - grid  #切换成grid用户
[grid@yue1 ~]# asmca         #使用 asmca 命令

#创建磁盘组,点 “create”
【asm,1】ASM的安装+ oracle安装

# 添加磁盘组dg1:选择如图,点击‘ok‘
redundancy : high:需要3块盘,normal :需要2块盘,external :需要1块盘。

【asm,1】ASM的安装+ oracle安装

#出现了新添加的DG1磁盘组,状态为 MOUNTED

【asm,1】ASM的安装+ oracle安装

#再创建一个磁盘组 rcy1 ,点击“create”,

【asm,1】ASM的安装+ oracle安装

# 创建完成,点击“exit”。

【asm,1】ASM的安装+ oracle安装

②.上面执行完以后,使用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建库

【asm,1】ASM的安装+ oracle安装


【asm,1】ASM的安装+ oracle安装
#实例名称为 yueasm
【asm,1】ASM的安装+ oracle安装

#配置em
【asm,1】ASM的安装+ oracle安装

#密码
【asm,1】ASM的安装+ oracle安装

#指定存储数据文件的类型和位置

【asm,1】ASM的安装+ oracle安装

#指定ASMSNMP 的密码
【asm,1】ASM的安装+ oracle安装

#指定闪回区, 选择RCY1

【asm,1】ASM的安装+ oracle安装

#选择例子schema
【asm,1】ASM的安装+ oracle安装

#指定sga 为400m
【asm,1】ASM的安装+ oracle安装

#设置字符集, 为:ZHS16GBK-
【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装

#点击 finish
【asm,1】ASM的安装+ oracle安装

#点击ok
【asm,1】ASM的安装+ oracle安装

【asm,1】ASM的安装+ oracle安装


#安装时报错:

【asm,1】ASM的安装+ oracle安装

解决:
分别修改oracle用户和grid用户的用户变量,
修改.bash_profile文件中的export LD_LIBRARY_PATH=$ORACLE_HOME/lib 修改为:
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

如下:
【asm,1】ASM的安装+ oracle安装
 

#重新执行11步 
【asm,1】ASM的安装+ oracle安装


【asm,1】ASM的安装+ oracle安装

上一篇:mysql索引原理


下一篇:初识数据库