RHEL6(CentOS6)安装 Oracle 11g R2 手记(完整详细可用版)

选型:

32位的内存是个瓶颈,已经是64位的时代了。使用64位的CentOS6 和 64位的Oracle 11g R2

在使用VMware player 5在虚拟机器安装,采用hostonly方式设置网络

注意:能上网的网卡要设置一下ICS(Internet连接共享)给VMware Network Adapter VMnet1

这样对于虚拟机,网关是192.168.137.1,IP地址请也要设置在192.168.137.0/24段

硬盘40G,内存2G



1、下载软件

1.1、CentOS 6.3(x86_64)

http://mirrors.163.com/centos/



1.2、Oracle 11g R2(Linux x86-64)

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

附:Oracle 10g下载址:

http://www.cnblogs.com/wenlg/archive/2010/05/19/1738893.html



二、安装CentOS安装

虚拟机,40G HDD, 2GRAM

2.1、安装规划

机器名:dbserver

a、安装时设置

b、或装好后vi /etc/sysconfig/network



2.2、网络

IPADDR:192.168.137.15

NETMASK:255.255.255.0

GATEWAY:192.168.137.1

DNS1:202.102.192.68

DNS2:8.8.8.8

自动连接设置为yes

a、安装时设置

b、装好后使用setup

c、装好后vi /etc/sysconifg/network-scripts/ifcfg-eth0,改好后service network restart|force-reload



2.3、磁盘规划

磁盘有限,分区可能不太合理,尽量用LVM

/boot 200M 主分区

/ 5GB 主分区

/home 5GB

swap 2000M swap分区

/var 10G 扩展分区

/u01 剩下所有空间 扩展分区



swap 大小参考以下:

Available RAM Swap Space Required

Between 1 GB and 2 GB 1.5 times the size of the RAM

Between 2 GB and 16 GB Equal to the size of the RAM

More than 16 GB 16 GB



2.4、安装时主要设置

简体中文

美式键盘

CentOS6安装时选Basic Server,然后选“现在自定义”

”基本系统“中去掉Java

“应用程序”中最好选上Emacs和互联网应用程序

“桌面”中选上除了KDE桌面外的所有组件



重启后设置:

ntp最好选上,保证时间正确,并在高级选项中选上“快速启动同步”

kdump可以不要

再重启,OK



3、系统检查

3.1、内存推荐2GB以上

# grep MemTotal /proc/meminfo

# free

3.2、swap 分区设置见下

# swapon -s

/tmp 目录大于1G

# df -h /tmp

# du -sm /tmp

3.3、磁盘空间应该都没问题

# df -h

3.4、系统架构

# cat /proc/version

# uname -a

# uname -r

# lsb_release -a



4、设置系统

4.1、操作系统

系统只支持Red Hat Enterprise Linux 6,CentOS 6其实就是RHEL6,但Oracle不认,所以要改一下

vi /etc/redhat-release

#CentOS release 6.3 (Final)这行注释掉,加上下面的

Red Hat Enterprise Linux 6

4.2、核心

2.6.32-71.el6.x86_64 or later

# uname -r 检查一下

一般都是没有问题的。

4.3、包需求

这是最烦人的。无数人死在这上面或精力耗在这上面

不过11g很人性化了,增加了检查的机制,还有就是不象10g那样在64位下要安装很多的32位包,只需要安装一个gcc-32bit-4.3就OK了。

下列表必须要安装:

binutils-2.20.51.0.2-5.11.el6 (x86_64)

compat-libcap1-1.10-1 (x86_64)

compat-libstdc++-33-3.2.3-69.el6 (x86_64)

compat-libstdc++-33-3.2.3-69.el6.i686

gcc-4.4.4-13.el6 (x86_64)

gcc-c++-4.4.4-13.el6 (x86_64)

glibc-2.12-1.7.el6 (i686)

glibc-2.12-1.7.el6 (x86_64)

glibc-devel-2.12-1.7.el6 (x86_64)

glibc-devel-2.12-1.7.el6.i686

ksh

libgcc-4.4.4-13.el6 (i686)

libgcc-4.4.4-13.el6 (x86_64)

libstdc++-4.4.4-13.el6 (x86_64)

libstdc++-4.4.4-13.el6.i686

libstdc++-devel-4.4.4-13.el6 (x86_64)

libstdc++-devel-4.4.4-13.el6.i686

libaio-0.3.107-10.el6 (x86_64)

libaio-0.3.107-10.el6.i686

libaio-devel-0.3.107-10.el6 (x86_64)

libaio-devel-0.3.107-10.el6.i686

make-3.81-19.el6

sysstat-9.0.4-11.el6 (x86_64)

技巧(包名不要加版本号,即第一个“-数字”后面的不要,如gcc)

rpm -q 包名

yum list installed | grep '^包名'

没装的配好网络或配置好dvd2

yum install 包名

yum install 包名*

yum search 包名

yum whatprovides 文件名

yum install 文件名

yum 不到的google找到rpm

wget xxxx.rpm

rpm -ivh xxx.rpm



好,安装,安装前用先更新一下系统到最新版本

# yum list updates

# yum upgrade

# reboot

我已经将上面包写成安装一个命令了,除非人品不好,不然应该一次成功

yum install \

binutils \

compat-libcap1  \

compat-libstdc++-33 \

compat-libstdc++-33*.i686 \

elfutils-libelf-devel \ #这个官方文档是没有的

gcc \

gcc-c++ \

glibc*.i686 \

glibc \

glibc-devel \

glibc-devel*.i686 \

ksh \

libgcc*.i686 \

libgcc \

libstdc++ \

libstdc++*.i686 \

libstdc++-devel \

libstdc++-devel*.i686 \

libaio \

libaio*.i686 \

libaio-devel \

libaio-devel*.i686 \

make \

sysstat \

unixODBC \

unixODBC*.i686 \

unixODBC-devel \

unixODBC-devel*.i686



安装libXp

yum -y install libXp



5、selinux,防火墙,不必要服务,机器名

5.1、selinux 关掉吧(不建议)

vi /etc/sysconfig/selinux

SELINUX=enforcing改成SELINUX=disabled



5.2、防火墙

iptables

ip6tables

关掉


5.3、不必要的服务

cups 打印机

postfix 等



关服务命令

1、ntsysv 可视化界面配置保存

2、chkconifg

chkconfig --list | grep on 看哪些服务开着在

service 服务名 stop 或 /etc/init.d/服务名 stop

chkconfig 服务名 off



5.4、机器名

hostname

/etc/sysconfig/network中的hostname要与/etc/hosts中的一致

vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=dbserver

GATEWAY=192.168.137.1

NTPSERVERARGS=iburst

就是上面的HOSTNAME=dbserver

vim /etc/hosts

127.0.0.1   localhost dbserver

::1         localhost dbserver

#ip dbserver

有人还加上最后一行的ip设置(我没加)



6、建立用户,组,安装目录

6.1、建立用户和组(官方文档)

groupadd oinstall

groupadd dba

useradd -g oinstall -G dba oracle

echo "oracle" | passwd --stdin oracle #密码设置为oracle,为安全,改一下吧,也可以直接用交互式的passwd命令

如果oralce用户存在,第三个命令变成:

usermod -g oinstall -G dba oracle



还有一种加oper组的(建议这种)

groupadd oinstall

groupadd dba

groupadd oper

useradd -g oinstall -G dba,oper oracle

echo "oracle" | passwd --stdin oracle


查看一下

id oracle

uid=501(oracle) gid=501(oinstall) 组=501(oinstall),502(dba),503(oper)



6.2、建立安装目录(google一下OFA)

mkdir -p /u01/app/oracle/product/11.2.0/db_1

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01/app/oracle



7、修改很多参数

7.1、内核参数

vi /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 1200000000

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



最需要注意的是shmmax 这个参数,最小500M,最大比内存少一个字节就可以了,推荐比内存的一半大一点点

Minimum: 536870912

Maximum: A value that is 1 byte less than the physical memory

Recommended: More than half the physical memory

See My Oracle Support Note 567506.1 for additional information about configuring shmmax.

还有特别注意sysctl.conf中shmmax ,shmall 已经有了,要注释掉

改好后,使之生效

sysctl -p



7.2、改文件限制

vim /etc/security/limits.conf

oracle              soft    nproc   2047

oracle              hard    nproc   16384

oracle              soft    nofile  1024

oracle              hard    nofile  65536

oracle              soft    stack   10240

注意:修改此文件是即时生效的,但可能要重登录后再看

ulimit -Sn

ulimit -Hn

ulimit -Sn

ulimit -Sn

ulimit -Sn



vi /etc/pam.d/login (感觉好象没有必要)

#session required /lib/security/pam_limits.so

session required pam_limits.so



7.3、修改ulimit(感觉好象没有必要)

vi /etc/profile

if [ $USER = "oracle" ]; then

   if [ $SHELL = "/bin/ksh" ]; then

       ulimit -p 16384

       ulimit -n 65536

   else

       ulimit -u 16384 -n 65536

   fi

fi



7.4、修改oracle用户环境变量

vi ~oracle/.bash_profile

ORACLE_BASE=/u01/app/oracle #修改和OFA路径一致

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

ORACLE_SID=ORADB #修改

export ORACLE_BASE ORACLE_HOME ORACLE_SID



PATH=$ORACLE_HOME/bin:$PATH

export PATH



或者下面的,都差不多啦

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

ORACLE_HOSTNAME=dbserver; export ORACLE_HOSTNAME

ORACLE_UNQNAME=ORADB; export ORACLE_UNQNAME

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME

ORACLE_SID=ORADB; export ORACLE_SID

PATH=/usr/sbin:$PATH; export PATH

PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH



8、安装

下载的oracle文件ssh到/u01/app/oracle

# xhost + #一定要运行一下

# su - oracle

$ cd /u01/app/oracle

$ unzip linux.x64_11gR2_database_1of2.zip

$ unzip linux.x64_11gR2_database_2of2.zip

$ unset LANG LANGUAGE #解决中文乱码

$ cd /u01/app/oracle/databse

$ ./runInstaller



执行先决条件检查时,会有不少包要求装,大部分是过时的,可以ignore掉。不过也要一个一个看一下。

一切顺利,到最后,要用root执行两个脚本,按提示就OK

浏览器打开https://localhost:1158/em



最后:http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm




oracle11G在linux环境下的卸载操作


1.使用SQL*PLUS停止数据库

[oracle@OracleTest oracle]$ sqlplus log

SQL> connect / as sysdba

SQL> shutdown [immediate]

SQL> exit



2.停止Listener

[oracle@OracleTest oracle]$ lsnrctl stop



3.停止HTTP服务

[root@OracleTest /root]# service httpd stop



4.用su或者重新登录到root(如想重新安装可以保留oracle用户,省得输入环境变量了)



5.将安装目录删除

[root@OracleTest /root]# rm -rf /u01/oracle/

[root@OracleTest /root]# rm -rf /u01/oraInventory/



6.将/usr/bin下的文件删除

[root@OracleTest /root]# rm /usr/local/bin/dbhome

[root@OracleTest /root]# rm /usr/local/bin/oraenv

[root@OracleTest /root]# rm /usr/local/bin/coraenv



7.将/etc/oratab删除

[root@OracleTest /root]# rm /etc/oratab



8.将/etc/oraInst.loc删除

[root@OracleTest /root]# rm /etc/oraInst.loc



9.将oracle用户删除(若要重新安装,可以不删除)

[root@OracleTest /root]# userdel �Cr oracle



10.将用户组删除(若要重新安装,可以不删除)

[root@OracleTest /root]# groupdel oinstall

[root@OracleTest /root]# groupdel dba



11.将启动服务删除

[root@OracleTest /root]# chkconfig --del dbora

到此为止重启后,你的Linux系统下的Oracle数据库已完全删除了!!!



以上是CentOS5.4+Oracle 11g的环境。



如果要再次安装, 最好先做一些备份工作。

包括用户的登录脚本,数据库自动启动关闭的脚本,和Listener自动启动的脚本。

要是有可能连创建数据库的脚本也保存下来。


你可能感兴趣的:(oracle,R2,11g,RHEL6)