> CentOS > CentOS服务器 >

CentOS 6.3 下安装Oracle 11.2

  下载了CentOS 6.3,新建一个Linux 64位机,选择稍后安装系统,如果在创建的同时安装会自动安装,不能在安装时做设置了。

新建一个 以Mini Desktop的方式安装到了虚拟机上。装好了VMWare-Tools,iso文件映射在 media下面。

注意:安装VMWARE都采用默认网络设置,NAT方式可以共享上网,host-only方式不能上网,采用NAT方式就好了。

相关阅读:

VMware虚拟机安装CentOS 6.3图文教程 : 点击查看

 下面开始安装Oracle 11.2

1. 上Oracle的网站上下载最新的Oracle 11.2安装包,因为CentOS6装的是x86_64的,所以,Oracle也选择Linux x86_64的安装包。下载下来是2个zip文件包
2。安装Oracle需要的软件包
yum -y install binutils "compat-libstdc++" elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++ make "pdksh" sysstat unixODBC unixODBC-devel
yum -y install compat-libstdc++-33.x86_64 ksh.x86_64 
yum -y install libaio.i686 glibc.i686 compat-libstdc++-33.i686 libaio-devel.i686 libgcc.i686 libstdc++.i686 unixODBC.i686 unixODBC-devel.i686
用下面命令,看看是否安装了所有的包,

rpm -q  binutils compat-libstdc elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat

 最好把这些包都装上,我有2个包没有装上,也可以用 :)

3。创建oracle用户

/usr/sbin/groupadd oinstall 
/usr/sbin/groupadd dba 
/usr/sbin/useradd -g oinstall -G dba oracle 
passwd oracle

4。更改内核参数
在/etc/sysctl.conf后面增加如下参数
# Modify for Oracle 
fs.aio-max-nr = 1048576 
fs.file-max = 6815744 
kernel.shmall = 2097152 
kernel.shmmax = 2147483648 
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
/sbin/sysctl -p 确认更改

 

5。更改Oracle用户的shell限制
在/etc/security/limits.conf后面增加如下行
oracle soft nproc 2047 
oracle hard nproc 16384 
oracle soft nofile 1024 
oracle hard nofile 65536
在/etc/pam.d/login 后面增加如下行
session required pam_limits.so
在 /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
如果使用C-shell,则更改 /etc/csh.login
if ( $USER == "oracle" ) then 
limit maxproc 16384 
limit descriptors 65536 
endif

6。创建Oracle安装目录
我的oracle安装在了/opt/oracle/
Inventory目录在 /opt/oraInventory/
mkdir -p /opt/oracle/ 
chown -R oracle:oinstall /opt/oracle/ 
chmod -R 775 /opt/oracle/

mkdir -p /opt/oraInventory/ 
chown -R oracle:oinstall /opt/oraInventory/ 
chmod -R 775 /opt/oraInventory/

7。更改Oracle用户的profile
以Oracle用户登录,运行
vi .bash_profile
增加下列行
umask 022 
ORACLE_BASE=/opt/oracle 
ORACLE_SID=<your sid> 
export ORACLE_BASE ORACLE_SID

unset ORACLE_HOME 
unset TNS_ADMIN
更改完成后,退出oracle用户,重新登录,用以下命令检查是否更改成功
umask 
env | more
7。至此,环境配置完毕,可以开始安装Oracle了,选择先安装软件,再安装数据库


先把两个下载的zip文件,复制到桌面。在桌面上创建一个临时文件夹ora,用unzip命令把zip的内容接压缩到ora
unzip *.zip ./ora
进入ora/database目录,运行 runInstaller
./runInstaller
出现如下安装画面

CentOS 6.3 下安装Oracle 11.2

按屏幕提示,一步一步完成安装。
数据库的字符集选择的是UTF-8, Server模式,去掉了Enterprise里面的一些不需要的功能。
最后在做packages检查的时候,发现缺少下列包,用rpm -q查了下,oracle找的名称是i386,实际已安装的是i686,直接忽略,继续。pdksh貌似有冲突,在第一步安装依赖包的时候,已经用ksh代替了

CentOS 6.3 下安装Oracle 11.2

安装过程中,提示Oracle Configuration Manager安装失败,反正是个可选组件,失败就失败吧,我也用不到。估计是我的系统上没有JRE造成的。

CentOS 6.3 下安装Oracle 11.2

执行完2个root的脚本,oracle就大体安装完毕了
可以打开https://localhost:1158/em来看看具体的情况。

 

8.  直接运行 dbca, 安装数据库,默认就好

9  直接运行 netca,配置listener和tnsnames

10 运行 Oracle ,

1 ) 在 oracle用户的终端,lsnrctl start 启动监听,stop 停止,status状态

2)  可以 sqlplus / as sysdba ,  运行 startup

或者 直接用 dbstart启动 ,

a) 需要修改dbstart文件(在orcle主目录的bin下)

vi dbstart

将 ORACLE_HOME_LISTNER=$1

改为  ORACLE_HOME_LISTNER=$ORACLE_HOME

b) 修改/etc/oratab文件,注意在rac环境下有可能实例名并不正确,需要修改为正确的实例名(格式为:$ORACLE_SID:$ORACLE_HOME:Y/N)

将最后的N改为Y

3)关闭数据库,dbshut

同样,vi dbshut

将 ORACLE_HOME_LISTNER=$1

改为  ORACLE_HOME_LISTNER=$ORACLE_HOME

11) 运行起来后,可以用  lsnrctl status 看一下实例的状态,为ready就OK

如果有配置好的tns, 用  tnsping  tns名字 , OK表示oracle已启动

12)在安装完成以后遇到个 新问题,

在其他机器上 访问 tnsname时, 报

TNS-12543: TNS:destination host unreachable

将过痛苦的查找,原来是防火墙之类的东西没有关,阻止了其他机器的访问。

13) 关闭防火墙

iptables  -vnL  可以看到防火墙的策略,

62  6911 REJECT    all  --  *      *      0.0.0.0/0            0.0.0.0/0          reject-with icmp-host-prohibited

这条表示出了允许的端口外,其它的请求全部拒绝,

我们是测试用,所以直接关掉防火墙,

chkconfig iptables off

这下就可以访问啦!

14)

设置Oracle开机自动启动,关机自动关闭

首先编辑/etc/oratab, 把最后的 :N 改成 :Y

教程完!

 

(责任编辑:IT)