重新整理:CentOS 5.5 安装 Oracle 11g R2

安装步骤:(原文连接http://keji.kv27.com/index.php/article/linux/05-01/2874.html

首先发个牢骚,利用工作时间想搭建个学习的平台Cent5.5 构建Oracle11g R2,结果一边上班一边弄,弄了3天斗失败,极度失望和消极,在网上找了很多教程,文字的,视频的,总是不成功,不是因为CentOS版本不一样,导致最后出现问题,就是Oracle版本不同,最后还是故障一大堆。。。。终于在第四天,经过很久的心理调整,再次安装终于成功了。Setup Oracle11g R2 under CentOS5.5 to pass!

开始言归正传,首先要确认你使用的CentOS(下面简称COS),本人用的是最新的5.5版本,建议使用同样版本进行安装,用的是CentOS-5.5-i386-bin-DVDOracle用的是最新的版本linux_11gR2_database_1of2一共有两个包(linux_11gR2_database_1of2linux_11gR2_database_2of2),务必版本一样。否则可能出现未知的故障!

第一步.首先使用虚拟机vmware安装COS,安装过程比较简单,细节就不详细介绍,注意在VMWARE设置时,网卡模式选择host-only,COS安装过程中,网卡IP设置时,使用固定IP地址,例如192.168.0.99 默认网关255.255.255.0这样是方便后期使用时,远程控制,和FTP文件传输,防火墙要关闭。COS的软件包选项中,要把DEVLOPMENT选项中的development tools legacy software development选上。这样COS环境就已经构建好了。

第二步.接下来,是对安装的COS进行补丁包安装,因为缺少一些安装ORACLE的文件包,所以这里要找到缺少了哪些补丁,然后一个一个找出来,再一个一个安装上去,此环境需要如下的包:

binutils-2.17.50.0.6   

compat-libstdc++-33-3.2.3  

elfutils-libelf-0.125   
elfutils-libelf-devel-0.125  
elfutils-libelf-devel-static-0.125 
gcc-4.1.2    
gcc-c++-4.1.2    
glibc-2.5-24    

glibc-common-2.5   
glibc-devel-2.5    
glibc-headers-2.5   
kernel-headers-2.6.18   
ksh-20060214    
libaio-0.3.106    
libaio-devel-0.3.106    
libgcc-4.1.2    
libgomp-4.1.2    
libstdc++-4.1.2    
libstdc++-devel-4.1.2   
make-3.81    
numactl-devel-0.9.8.i386  
sysstat-7.0.2    
unixODBC-2.2.11    
unixODBC-devel-2.2.11 

补丁包安装方法:(针对所有入门级朋友)在COSROOT登陆,使用命令rpm -qa | grep xxxx 这样可以查找出,是否安装了需要的补丁包(XXXX就是该补丁包名称,后面数字代表版本,数字不一样没关系的),大概我用的版本就缺少6个包,找到缺少的包的名称后,去哪里找呢?其实你们手里都有。就是刚才下载的CentOS-5.5-i386-bin-DVD.rar压缩包里,打开该压缩包,里面有个文件夹叫CentOS,打开里面就是所有补丁包了。到里面去找你缺少的,然后把他们解压出来,单独放到一个小文件夹里。通过第三方软件传进COS系统下的文件里(在另外一篇文章中会介绍第三方软件使用方法,很简单。),这样需要的补丁包已经全部到COS里面了,接下来就是安装了,使用CD 命令进入到补丁包文件夹中输入rpm -ivh *.rpm这样就可以了,他会把你缺少的文件包全部安装好(如果提示xxxneed by xxx,说明是依赖关系,还需要其他的包),安装包一定要仔细,不能缺少哦。

第三步.是对即将安装ORACLE建好他的家,和他的主人,也就是他的文件夹和用户组,这里是很简单的,只要复制命令就可以,这个网上命名都是统一的。

groupadd oinstall
groupadd dba
mkdir -p /u01/oracle           --------创建一个根文件夹01,其文件夹oracle

添加一个oracle用户, 根目录是 /u01/oracle,主的组是 oinstall 副的组是dba
useradd -g oinstall -G dba -d /u01/oracle oracle

这里会有一些,提示,意思就是该用户的变量没有去自动复制,所以要自己手动复制。

cp /etc/skel/.bash_profile /u01/oracle

cp /etc/skel/.bashrc /u01/oracle

cp /etc/skel/.bash_logout /u01/oracle

接下来为oracle用户设置密码 456456

passwd oracle

ls -l
chown -R oracle:oinstall u01        -----u01文件的所有者改为oracle组为oinstall
ls -l

id nobody                          

/usr/sbin/useradd -g nobody          -----检查nobody账户是否存在,不太晓得其意义何在
第四步.粮食包装好了,房子主人也都有了,接下来就是装修环境了.环境变量的设置,操作和简单,直接复制要添加的内容,复制在文件内容的最最最最后。

内核参数貌似可以不用改,Oracle安装时会自动检测,如果检测到内核参数不符合要求,根据提示执行脚本就可以搞定

vi /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
-------------
vi /etc/security/limits.conf

oracle           soft    nproc   2047
oracle           hard    nproc   16384
oracle           soft    nofile  1024
oracle           hard    nofile  65536
------------
vi /etc/pam.d/login

session    required     pam_limits.so
=================================================

设置oracle 用户环境变量

su - oracle                  ----切换到oracle用户

pwd                          ----用户默认文件夹位置
ls -la

---------------              ----下面第四行john位置,可以自行起名,但要记住SID后期填写别填错了
vi .bash_profile

ORACLE_BASE=/u01
ORACLE_HOME=$ORACLE_BASE/oracle
ORACLE_SID=john
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin(Linux中,path的分隔符是冒号,不是分号,为了这个问题折腾了几个小时)

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

===================================

linux_11gR2_database_1of2.rar,linux_11gR2_database_2of2.rar通过第三方软件COPYCOS里面,然后到其目录下使用命令对其解包

unzip linux_11gR2_database_1of2.rar

unzip linux_11gR2_database_2of2.rar

cd ~                        ---切换到根目录(或者是你解压缩oracle文件包所在的位置默认在根)

mv database /u01/           ---将解好的文件包COPY/U01文件夹下

cd /u01                    
ls -l

chown -R oracle:oinstall database/                      --改变ORACLE文件夹的权限

所有准备工作全部做完了。接下来就是接待女主人的到来了。

第五步.重启一下reboot,以ORACLE用户身份,登陆进入图形界面。在桌面右键--Terminal--输入cd /u01/database  ----  ./runInstaller 注意大小写,然后就开始安装了。

安装选项提示:第一个界面默认,第二个界面选择第二项install database software only(这个是关键,如果选择第一项,结果只能是挂掉,必死无疑。主要原因是Oracle不支持CentOS,虽然Oracle支持RedHat,但RedHat和CentOS还是有差别的),第三个界面选择Single instance database installation默认的,第四个界面默认,第五个界面默认企业版就,第六个界面Oracle Base: /u01  Software Loacation: /u01/oracle自动检测出来了,如果不是,说明前面设置肯定有问题,第七个界面会提示目录不存在,需要切换到文字界面使用ROOT登陆去创建这个文件夹命令如下:mkdir /oraInventory   chown -R oracle:oinstall oraInventory 即可,第八个界面默认,第九个界面,自动检测后,会提示最多3个问题:第一个物理内存不足physcial memory,第二个swap size,第三个package pdksh如果只有这三个表示,你前面操作完全正确,这里可以选择ignore 忽略。然后点FINISH。就可以了。安装开始喽,完成后,会有提示说:安装启动2个脚本,直接切换到文字界面,复制下面命令就可以了。/oraInventory/orainstRoot.sh    /u01/oracle/root.sh 中间如果有提示,直接回车默认就可以了。成功后,表示软件已经安装完毕,接下来就是启动了,也很简单。在terminal界面输入

netca
一直默认下一步 ,最后完成

ps -ef 可以查看Listener是否配置成功

-----------
dbca
一直 Next, Global Database Name SID 都是输入 john (之前那里你输入的是什么,这里就是什么)

选择 User the Same.....All Accounts

密码: 456456

 

选择 Sample Schemas

Memory 内存分配,默认就可以了
Character Sets 选择 Use Unicode(AL32UTF8)

然后一直 Next 到最后 Finish

弹出一个 Confirmation , 点击 OK 就可以了,然后自动进行安装。到此已经全部安装结束,如果需要去做实验,需要将数据库启动,这个就是ORACLE里面的知识了。STARTUP命令就是启动。这里就不细讲了。

 

sqlplus无法启动(SELinux搞的鬼,和Oracle不兼容,每次启动都要执行一次命令。这破玩意和Windows的UAC有的一拼): 

/usr/sbin/getenforce

/usr/sbin/setenforce 0

Commands, as root:
======================
getenforce       (returns “Enforcing”)
setenforce 0
getenforce       (returns “Permissive”)

This allows SELinux to continue running, and logging denial messages, but SELinux will not actually deny any operations. Once Development has resolved this issue, you can (and should) return SELinux to the default “Enforcing” mode as follows:

Commands, as root:
======================
setenforce 1
getenforce       (returns “Enforcing”)

 

绝对不可以这样修改,否则必须死翘翘(CentOS会挂掉)

=======================

[root@oracle ~]# vi /etc/selinux/config

# 设置SELINUXdisabled

SELINUX=disabled

========================

 

配置控制台(启动之前需要关闭SELinux功能):

emctl start dbconsole

 

手动启动数据库:

sqlplus / as sysdba
startup;

 

可以直接修改文件,启动数据库服务更方便

vi /oracle/oracle/product/11.2.0/db_1/bin/dbstart
ORACLE_HOME_LISTNER=$1
#修改为:
ORACLE_HOME_LISTNER=$ORACLE_HOME 

启动数据库命令和设置:

[root@oracle ~]# vi /etc/oratab

#修改为

ORCL:/u01/app/oracle/product/11.1.0/db_1:Y

数据库服务 启动 | 关闭

[oracle@oracle bin]$ dbstart | dbshut

监听器 启动 | 关闭。

[oracle@oracle bin]$ lsnrctl start | stop

em 控制台 启动 | 关闭

[oracle@oracle bin]$ emctl start | stop dbconsole

访问 https://localhost:1158/em

iSQL*Plus 启动 | 关闭

[oracle@oracle bin]$ isqlplusctl start | stop

访问 http://localhost:5560/isqlplus

 

修改IP地址(动态地址DHCP无法启动Oracle服务):(原文连接http://hi.baidu.com/cc_gq/blog/item/054f2c1d56bebe9c86d6b610.html

CentOS设置IP & DNS & Hostname
设置Hostname
修改/etc/hostname

127.0.0.1       localhost.localdomain   localhost orcltest(这里必须加一个自己的主机名,其他的不能改,否则netca无法启动。)

10.95.136.51    centos

设置网关
修改/etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=centos (这里要换成自己的主机名:orcltest

GATEWAY=10.95.136.1

静态设置IP
修改/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

IPADDR=10.95.136.51

NETMASK=255.0.0.0

BROADCAST=255.255.255.255

HWADDR=00:0C:29:A9:70:C3

TYPE=Ethernet

ONBOOT=yes

NETWORK=10.95.136.1

 

动态ip

DEVICE=eth0

BOOTPROTO=‘dhcp’

HWADDR=00:0C:29:A9:70:C3

TYPE=Ethernet

ONBOOT=yes

设置DNS

修改/etc/resolv.conf

nameserver   202.103.24.68

重启网络服务
service network restart

 

posted @ 2011-05-23 11:12  daweibalaomao  阅读(2759)  评论(0编辑  收藏  举报