CentOS 6.5下安装Oracle 11g

最近开始学习CentOS使用,做些记录。

参考文献: Cent OS 6_5(x86_64)下安装Oracle 11g

一、硬件要求

1、内存&swap

Minimum:1 GB of RAM
Recommended: 2 GB of RAM or more


检查内存情况

#grep MemTotal /proc/meminfo

#grep SwapTotal /proc/meminfo

2、硬盘

由于CentOS安装后差不多有4~5G,再加上Oracle等等的安装,所以请准备至少10G的硬盘空间。

检查磁盘情况

#df -h

二、软件

系统平台:CentOS6.5(x86_64)

(我这里安装的是DeskTop版。安装精简版的需要单独yum桌面程序)

Oracle版本:Oracle11g

p13390677_112040_Linux-x86-64_1of7.zipp13390677_112040_Linux-x86-64_2of7.zip

三、系统安装注意

系统安装时一定要安装桌面模式,否则无法安装oracle,另外请勿开启SELinuxoracle官方不建议使用SELinux,防火墙也请暂时关闭,减少安装时的困扰。为防止Oracle安装过程中出现乱码,建议使用英文作为系统语言,进行Oracle的安装工作。

本文中所描述的系统命令,未经特殊标示,均为“#”代表root权限,“$”代表oracle权限。

四、安装Oracle前的系统准备工作

首先,请先以root账号登入作一些前置设定作业。

1.关闭、防火墙(SELinux临时关闭命令:setenforce 0 防火墙临时关闭命令:service iptables stop)

2.安装依赖包

以下RPM包拷贝到/opt目录下,进行opt目录,执行以下命令。

#rpm -ivh libstdc++-devel-4.4.7-4.el6.x86_64.rpm

#rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm

#rpm -ivh cpp-4.4.7-4.el6.x86_64.rpm

#rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm

#rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm

#rpm -ivh gcc-4.4.7-4.el6.x86_64.rpm

#rpm -ivh gcc-c++-4.4.7-4.el6.x86_64.rpm

#rpm -ivh compat-libcap1-1.10-1.x86_64.rpm

#rpm -ivhcompat-libstdc++-33-3.2.3-69.el6.x86_64.rpm

#rpm -ivh libaio-devel-0.3.107-10.el6.x86_64.rpm

#rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm

#rpm -ivhelfutils-libelf-devel-0.152-1.el6.x86_64.rpm

3.创建用户和组

(1)建立群组oinstall、dba

#groupadd oinstall
#groupadd dba

(2)新增使用者oracle并将其加入dba群组

#useradd -m -g oinstall -G dba oracle

(4)测试oracle账号是否建立完成

#id oracle

(5)建立oracle的新密码

#passwd oracle


4.将oracle使用者加入到sudo群组中

#vi /etc/sudoers

找到
root       ALL=(ALL)       ALL
 
这行,并且在底下再加入

oracle       ALL=(ALL)       ALL
输入 wq! (由于这是一份只读文档所以需要再加上 ! )并且按下 Enter

5、配置系统内核参数

#vi /etc/sysctl.conf

修改和添加以下内容:

fs.aio-max-nr= 1048576

fs.file-max= 6815744

#kernel.shmall= 2097152

#官方文档kernel.shmmax= 536870912,实际软件中需要kernel.shmmax= 980742144

#kernel.shmmax = 980742144

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

vm.hugetlb_shm_group= 501

#oracle用户组dbaid 为501,以彻底解决ORA-27125错误。

#id oracle

可以看到oracledbaid 501

会有一些与目前的参数重复的,就修改成文件上提供的。

编辑完之后,储存,然后执行:

#sysctl –p

启用刚刚所做的变更。

6、编辑/etc/security/limits.conf

#vi /etc/security/limits.conf

添加以下四行

oracle soft        nproc  2047
oracle  hard       nproc   16384
oracle  soft       nofile  1024
oracle  hard       nofile  65536

7、编辑/etc/pam.d/login

#vi /etc/pam.d/login

添加以下两行

sessionrequired /lib64/security/pam_limits.so
session requiredpam_limits.so

8、修改/etc/profile

#vi /etc/profile

将以下代码新增到profile档案中。

if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh"]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi

10、创建Oracle安装文件夹以及数据存放文件夹

#mkdir/opt/oracle
#mkdir /opt/oracle/112
#mkdir/opt/oraInventory
#chown -R oracle:dba /opt/oracle
#chown-R oracle:dba /opt/oraInventory
#chown-R oracle:dba /opt

11、配置Linux主机

检查/etc/hosts文件中是否有localhost的记录(指向127.0.0.1即可),若没有的话,在后面配置Oracle监听的时候会出现一些问题,导致无法启动监听,在此手工添加此记录即可。

增加以下配置IP地址加主机名称 映射

192.168.1.101CentOS-Oracle

(此处前面的192.168.1.101为安装机器的IP地址 CentOS-Oracle为安装机器的主机名称 请各位根据自己的情况填写)

第一阶段到此完毕,接下来,完成这些设定之后,请先注销root账号,并且以oracle账号再次登入系统。

12、配置oracle用户环境变量

#su oracle

$cd /home/oracle
$ vi .bash_profile

修改并加入以下內容

ORACLE_BASE=/opt/oracle                    #上面创建的Oracle安装文件夹
ORACLE_HOME=$ORACLE_BASE/112
ORACLE_SID=orcl
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin

exportORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH

#PATH=$PATH:$HOME/bin

#exportPATH

保存后使用如下命令,使设置生效:

$source /home/oracle/.bash_profile

五、安装Oracle,并进行相关设置

1、解压缩安装文件

将下载的p13390677_112040_Linux-x86-64_1of7.zipp13390677_112040_Linux-x86-64_2of7.zip放至即将安装oracle的文件夹/opt/oracle

回到终端模式并且进入到oracle文件夹:

$cd /opt/oracle
解压缩
$unzip p13390677_112040_Linux-x86-64_1of7.zip
$unzip p13390677_112040_Linux-x86-64_2of7.zip

接着会看到一连串的解压缩动作。

解压缩完成会在同一个文件夹中看到database的文件夹,请进入到database文件夹中:

$cd database

准备执行数据库安装,如果你的操作系统是中文环境,安装时会出现中文乱码,请使用以下指令

$export LANG=en_US.UTF-8

一定不能少了.UTF-8,否则会提示以下错误:

    [oracle@databasedatabase]$ export LANG=en_US
    [oracle@databasedatabase]$ ./runInstaller
    ERROR:Unable to convert from "UTF-8" to "ISO-8859-1"for NLS!
    redhat-3,SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
    /tmp/OraInstall2013-09-06_09-17-04AM.[oracle@database database]$
接着执行(这里建议切换为oracle登录桌面再执行)

$./runInstaller

(下面的问题基本是由于远程工具安装本地安装基本不会出现)

如果无法看到安装界面,请使用root帐户执行如下命令后再运行安装程序:

#export DISPLAY=:0.0

# xhost + 

切换回ORACLE用户

$./runInstaller

开始执行安装程序。

最后出现InstallSummary画面,此时只要按下Install按钮,系统即开始安装。

选择“高级安装”,以指定字符集ZH16GBK

2、安装过程(略)

3、安装完成登录EM控制台

地址:https://db:1158/em



使用SYS、SYSTEM登录验证安装成功。

六、参考

6.1、设置Oracle服务开机自启动

1.修改Oracle系统配置文件:/etc/oratab,只有这样,Oracle自带的dbstartdbshut才能够发挥作用。

#vi /etc/oratab

orcl:/opt/oracle/102:Y
#Entries are of the form:
#  $ORACLE_SID:$ORACLE_HOME:<N|Y>:

2./etc/init.d/下创建文件oracle,内容如下:

#vi /etc/init.d/oracle

#!/bin/bash
# chkconfig: 35 80 10
# description: Oracle auto start-stop script.

#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.
ORA_HOME=/opt/oracle/1<span style="font-family:宋体;">1</span>2
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
    echo "Oracle startup: cannot start"
    exit
fi
case "$1" in
'start')
# Start the Listener:
echo "Starting Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle
echo "Done."
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
touch /var/lock/subsys/oracle

# Start the Oracle databases:
echo "Starting Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle
echo "Done"

# Start the dbconsole:
echo "Starting Oracle dbconsole  ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle dbconsole as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/emctl start dbconsole" >>/var/log/oracle
echo "Done."
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;

'stop')
# Stop the Oracle dbconsole:
echo "Stoping Oracle dbconsole ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle dbconsole as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/emctl stop dbconsole" >>/var/log/oracle
echo "Done."

# Stop the Oracle Database:
echo "Stoping Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle
echo "Done."
echo ""
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle

# Stop the Oracle Listener:
echo "Stoping Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle
echo "Done."
rm -f /var/lock/subsys/oracle
;;

'restart')
$0 stop
$0 start
;;
<style type="text/css">P { margin-bottom: 0.08in; direction: ltr; text-align: justify; }</style><style type="text/css">P { margin-bottom: 0.08in; direction: ltr; text-align: justify; }</style>esac

3.改变文件权限

#chmod 755 /etc/init.d/oracle

4.添加服务

#chkconfig --level 35 oracle on

5.需要在关机或重启机器之前停止数据库,做一下操作

#ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle   //关机
#ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle   //重启 

6.使用方法

#service oracle start       //启动oracle
#service oracle stop       //关闭oracle
#service oracle restart     //重启oracle

7.测试

a. 开机自启动
b. service oracle stop
c. service oracle start
d. service oracle restart

至此,Oracle服务启动&停止脚本与开机自启动设置完毕。


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值