环境:REDHAT5.3+ORACLE 11G R2
1.检查系统资源
检查内存 # grep MemTotal /proc/meminfo MemTotal: 1024868 kB
11.2中内存要求 :至少1G,建议2G
检查swap # grep SwapTotal /proc/meminfo SwapTotal: 2048276 kB
检查空闲空间 #free
total used free shared buffers cachedMem: 1024868 615040 409828 0 27856 353440-/+ buffers/cache: 233744 791124Swap: 2048276 0 2048276
检查共享内存 # df -h /dev/shm/ 注意:如果使用自动内存管理,则空闲的共享内存必须大于memory_max_target参数,否则报错
Filesystem Size Used Avail Use% Mounted ontmpfs 501M 0 501M 0% /dev/shm
检查系统版本 #uname -a 所有信息 -r kernal版本 -m位数
Linux sean 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linux
检查磁盘空间:
a.需要1G的临时空间 #df -h /tmp 如果空间不如,删除不必要的临时文件;或者设置ORACLE的环境变量,映射到较大的文件夹下
b.需要的磁盘空间 linux 64位需要 4.7G空间
Enterprise Edition | 4.7 |
2.检查版本要求
11GR2支持的64位版本
Oracle Linux 4 Update 7
Oracle Linux 5 Update 2 (with Red Hat Compatible Kernel)
Oracle Linux 5 Update 5
Oracle Linux 6
Oracle Linux 6 (with Red Hat Compatible Kernel)
Red Hat Enterprise Linux 4 Update 7
Red Hat Enterprise Linux 5 Update 2
Red Hat Enterprise Linux 5 Update 5 (with the Oracle Unbreakable Enterprise Kernel for Linux)
Red Hat Enterprise Linux 6
Red Hat Enterprise Linux 6 (with the Oracle Unbreakable Enterprise Kernel for Linux)
SUSE Linux Enterprise Server 10 SP2
SUSE Linux Enterprise Server 11
#cat /proc/version
Linux version 2.6.18-128.el5 (mockbuild@hs20-bc1-7.build.redhat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)) #1 SMP Wed Dec 17 11:41:38 EST 2008
# lsb_release -id
Description: Red Hat Enterprise Linux Server release 5.3 (Tikanga)
内核要求:
On Asianux Server 3, Oracle Linux 5, and Red Hat Enterprise Linux 5
2.6.18 or later
3.需要安装的包(对安装ORACLE 非GRID)
Oracle Database Package Requirements for Linux x86-64
Asianux Server 3, Oracle Linux 5, and Red Hat Enterprise Linux 5 | The following packages (or later versions) must be installed: 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 (32 bit) or later unixODBC-devel-2.2.11 (64 bit) or later unixODBC-2.2.11 (64 bit) or later |
这里配置一下本地的yum源
挂载光盘到 /mnt/cdrom,redhat的安装光盘中,包放在Server目录下
# vi /etc/yum.repos.d/rhel-debuginfo.repo
修改如下:
baseurl=file:///mnt/cdrom/Server --光盘中包所在的文件夹
enabled=1
gpgcheck=1
执行yum clean all清空元数据
yum install binutils
yum install compat-libstdc++-33-3.2.3
yum install elfutils-libelf-0.125
yum install elfutils-libelf-devel-0.125
yum install gcc-4.1.2
yum install gcc-c++-4.1.2
yum install glibc-2.5-24
yum install glibc-2.5-24
yum install glibc-common-2.5
yum install glibc-devel-2.5
yum install glibc-devel-2.5
yum install glibc-headers-2.5
yum install ksh-20060214
yum install libaio-0.3.106
yum install libaio-0.3.106
yum install libaio-devel-0.3.106
yum install libaio-devel-0.3.106
yum install libgcc-4.1.2
yum install libgcc-4.1.2
yum install libstdc++-4.1.2
yum install libstdc++-4.1.2
yum install libstdc++-devel 4.1.2
yum install make-3.81
yum install sysstat-7.0.2
yum install unixODBC-2.2.11
yum install unixODBC-devel-2.2.11
yum install unixODBC-2.2.11
4.设置安装环境
1.在有多个网卡并且每个网上都对应 一个主机名的机器上,设置ORACLE_HOSTNAME变量。
5.设置用户组
oracle建议对每个软件一个拥有者,比如oracle用户拥有database.为了创建软件拥有者并区分操作系统权限,这些用户都必须将Oracle central inventory group (oraInventory
group,安装软件时有一些文件和跟踪信息放在这里)做为其主要的组,这个组就是oinstall组。数据库软件拥有都oracle必须有$grid_home上的OSDBA组权限,意思是oracle和grid用户都要在OSDBA组中。oracle用户需要将OSOPER 作为自己的第二个组,osoper可以不创建。
oracle和grid用户必须在oinstall组中。为了使用ASM,grid用户也必须在OSDBA中,以便访问oracle数据库目录。
注意:oraInventory、OSDBA并不是操作系统中的组,只是一个称呼。
总结一下:如果用ASM,则oracle用户和grid用户都必须在oinstall用户组中(实际上oracle软件的拥有者都必须在oinsatll组中),oracle用户必须在grid用户的OSDBA组中(asmdba),grid用户也必须在oracle用户的OSDBA组中(dba)
1.非GRID设置用户组:
OSDBA组:即dba组。该组的用户拥有oracle的sysdba权限。安装时oracle软件会根据用户组决定哪些用户有什么权限
OSOPER组:即oper组,可选组。相当oracle数据库的oper,拥有除启动关闭数据库外的所有权限(可选的组)。This group cannot directly connect as SYSOPER
, unless explicitly granted。注意,该组的用户不
能直接用sysoper登录,需要给权限
2.GRID的设置
OSDBA for ASM:asmdba组(也可以设置为与数据库的OSDBA组相同,即dba组,不过一般建议设置asmdba).为grid 软件的拥有者,可以访问ASM文件
OSASM组:asmadmin组,可选组。用来管理asm实例,拥有sysasm权限(ASM实例最高权限),不能访问oracle数据库实例。如果不定义OSASM(asmadmin),则asmdba默认有asmadmin权限
OSOPER:asmoper组,可选组。有sysoper权限。如果创建了asmoper组,grid用户一定要在其中。
操作过程:
1. 创建组
1.创建inventory 组。
如果用OUI安装ORACLE软件,会自己创建oraInst.loc文件 ,该文件定义inventory组的名称(一般是oinstall)和 Oracle Inventory directory路径。如下
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
创建oinstall # /usr/sbin/groupadd oinstall
2.创建OSDBA for ORACLE
# /usr/sbin/groupadd -g 502 dba
3. 创建OSOPER for ORACLE
# /usr/sbin/groupadd -g 503 oper
4.创建OSASM for grid
# /usr/sbin/groupadd -g 504 asmadmin
5.创建OSDBA FOR GRID
# /usr/sbin/groupadd -g 506 asmdba
6.创建OSOPER FOR GRID
# /usr/sbin/groupadd -g 505 asmoper
2.创建软件用户
1.创建ORACLE用户
检测ORACLE用户是否存在
# id oracle
如果不存在,创建ORACLE
# /usr/sbin/useradd -u 502 -g oinstall -G dba,asmdba oracle u指定uid,g指定primary group,G 要加入哪些组中
如果存在 ,添加到对应组
# /usr/sbin/usermod -g oinstall -G dba,asmdba[,oper] oracle
然后修改密码
passwd oracle
2.创建GRID
# id grid
不存在创建grid
# /usr/sbin/useradd -u 505 -g oinstall -G asmdba,asmadmin,asmoper,dba grid
存在就修改
# /usr/sbin/usermod -g oinstall -G asmdba,asmadmin,asmoper,dba grid
6.检查用户限制
Resource Shell Limit | Resource | Soft Limit | Hard Limit |
---|---|---|---|
Open file descriptors | nofile | at least 1024 | at least 65536 |
Number of processes available to a single user | nproc | at least 2047 | at least 16384 |
Size of the stack segment of the process | stack | at least 10240 KB | at least 10240 KB, and at most 32768 KB
|
用oracle或grid用户登录系统
检查文件限制
$ ulimit -Sn
$ ulimit -Hn
检查单个用户可以使用的进程限制
$ ulimit -Su
$ ulimit -Hu
检查进程能够使用的段
$ ulimit -Ss
$ ulimit -Hs
如果不能达到要求,修改/etc/security/limits.conf添加相应项目(以下为示例)
oracle hart nofile 65536
oracle soft nofile 1024
7.设置内核参数
修改 /etc/sysctl.conf,添加以下内容
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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 = 1048576
# /sbin/sysctl -p 让更改生效
8.创建目录
1.ORACLE_BASE目录结构
/mount_point/app/software_owner 类似 /u01/app/oracle /u01/app/grid
注意,不同的操作系统用户要有不同的ORACLE_BASE
2.创建安装目录oraInventory
oraInventory是所有oracle软件安装时共享的目录(如安装database\grid都会用同一个目录),如果已经存在这个目录,下次安装时会继续使用。一般在/u01/app/oraInventory,安装用户需要对该目录有读写权限。如果设置了$ORACLE_BASE变量,则该目录在$ORACLE_BASE同级目录下。$ORACLE_BASE=/u01/app/oracle,则该在/u01/app/oraInvenotry.如果没有设置,则在/home/oracle/oraInventory下
3.oracle_home目录
这里先设置一下环境变量
su -l oracle
vi .bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/dbhome_1
PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH
# mkdir -p $ORACLE_HOME
# chown -R oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01/app/oracle
su -l grid
vi .bash_profile
export ORACLE_BASE=/u01/app/gridexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/gridPATH=$PATH:$ORACLE_HOME/binexport LD_LIBRARY_PATH=$ORACLE_HOME/libexport PATH
# mkdir -p $ORACLE_HOME
# chown -R grid:oinstall /u01/app/grid
# chmod -R 775 /u01/app/grid
9.安装ASMLIB 。到官网下载对应的ASMLIB
oracleasm-2.6.18-128.el5-2.0.5-1.el5.x86_64.rpm
oracleasmlib-2.0.4-1.el5.i386.rpm
oracleasm-support-2.1.8-1.el5.i386.rpm
安装顺序:
oracleasm-support-2.1.8-1.el5.i386.rpm \
oracleasm-2.6.18-128.el5-2.0.5-1.el5.x86_64.rpm \
oracleasmlib-2.0.4-1.el5.i386.rpm
如果安装oracleasmlib-2.0.4-1.el5.i386.rpm出错,执行oracleasm update-driver再安装
10.创建ASM磁盘组
在虚拟机上创建ASM磁盘组,首先向虚拟机添加磁盘。停掉虚拟机,点VM-settings-hard disk,添加两块3G硬盘磁盘,立即分配空间
然后启动虚拟机用fdisk /dev/sdb命令格式化分区
[root@sean ~]#chmod 777 /dev/sdb1
[root@sean ~]#chmod 777 /dev/sdc1
配置ASMLIB
[root@sean ~]# /etc/init.d/oracleasm configure
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 ]
创建ASM 磁盘
[root@sean ~]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb1
Marking disk "VOL1" as an ASM disk: [ OK ]
[root@sean ~]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdc1
Marking disk "VOL2" as an ASM disk: [ OK ]
[root@sean ~]# oracleasm listdisks
VOL1
VOL2
11.安装GRID软件
[root@sean ~]# xhost +
access control disabled, clients can connect from any host
su -l grid
打开grid安装目录,运行
./runInstaller
看不到磁盘时,查看磁盘的权限 ls -l /dev/sdb1 ls -l /dev/sdc1
[root@sean ~]# chmod -R 777 /dev/sdb1
[root@sean ~]# chmod -R 777 /dev/sdc1
有些系统参数没修改好,可以重新修改好再运行OUI,如果只是自己练习用,点ignorce忽略就行了.
如果重启后CRS服务启动不了:
http://blog.chinaunix.net/uid-77311-id-3352011.html