您的位置:首页 > 数据库 > Oracle

linux中安装oracle11g

2016-05-14 11:39 681 查看

linux下安装oracle 11g R2



Linux环境配置

 

 

 

[c-sharp] view
plaincopy

OS:Fedora 15  

DB:Oracle 11gR2  

将Oracle安装到home/oracle_11目录  

 

 

 

配置过程:本文来自Oracle官方文档+网上资料

 

Oracle官方文档:http://www.oracle.com/pls/db112/homepage

 

1. 以root用户登录到Linux

 

2. 检查机器硬件要求

 

2.1 内存要求

 

 

 

[c-sharp] view
plaincopy

至少需要1GB的内存  

查看机器内存大小  

# grep MemTotal /proc/meminfo  

 

 

 

2.2 swap空间要求

 

 

 

[c-sharp] view
plaincopy

内存大小                 swap空间大小  

1 GB ~ 2 GB             内存大小*1.5  

2 GB ~ 16 GB            内存大小  

> 16 GB          16 GB  

查看swap空间大小  

# grep SwapTotal /proc/meminfo  

 

 

 

2.3 空闲硬盘要求

 

 

 

[c-sharp] view
plaincopy

/tmp目录需要1 GB的空闲空间  

查看/tmp目录的空闲空间  

# df -h /tmp  

安装Oracle软件需要的硬盘空间  

Enterprise Edition   3.95(software files)+1.7(data files)  

Standard Edition     3.88(software files)+1.5(data files)  

查看机器中每个磁盘的空闲空间  

# df -h  

 

 

 

3. 检查操作系统软件要求

 

Oracle官方文档中包含了多个Linux系统的要求,详细请参考官方文档

 

Fedora 15 (RHEL 5.x)的软件要求列表如下:

 

 

 

[c-sharp] view
plaincopy

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  

查看系统是否安装了该软件包  

# rpm -q package_name  

 

 

 

4. 创建安装Oracle需要的系统组和用户

 

 

 

[c-sharp] view
plaincopy

创建Oracle Inventory 组  

# groupadd oinstall  

创建OSDBA 组  

# groupadd dba  

创建Oracle软件创建者  

# useradd -g oinstall -G dba oracle  

修改oracle用户的密码  

# passwd oracle  

 

 

 

5. 配置系统内核参数值

 

 

 

[c-sharp] view
plaincopy

编辑/etc/sysctl.conf文件  

vim /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  

改变当前系统内核参数值(让/etc/sysctl.conf立即生效)  

# sysctl -p  

 

 

 

6. 检查Oracle安装用户(oracle)资源限制

 

 

 

[c-sharp] view
plaincopy

修改/etc/security/limits.conf文件  

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  

 

 

 

7. 创建安装Oracle软件所需要的目录

 

 

 

[c-sharp] view
plaincopy

# mkdir -p /home/oracle_11/app/  

# chown -R oracle:oinstall /home/oracle_11/app/  

# chmod -R 775 /home/oracle_11/app/  

 

 

 

8. 配置安装Oracle安装用户(oracle)的环境

 

 

 

[c-sharp] view
plaincopy

编辑 /home/oracle/.bash_profile  

vim /home/oracle/.bash_profile  

在打开的文件中添加下面内容  

umask 022  

export ORACLE_BASE=/home/oracle_11/app  

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

export ORACLE_SID=orcl --Oracle实例名,可修改  

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

编辑 /etc/pam.d/login  

vim /etc/pam.d/login  

在打开的文件中添加下面内容  

session required /lib/security/pam_limits.so  

session required pam_limits.so  

编辑 /etc/profile  

vim /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  

 

 

 

9. 查看系统是否支持图形界面

 

 

 

[c-sharp] view
plaincopy

查看root用户下是否已设置DISPLAY变量  

# echo $DISPLAY  

如果有值出现,则说明已设置DISPLAY变量;否则,就需要手动设置DISPLAY  

 

 

 

10. 开始安装Oracle软件

 

 

 

[c-sharp] view
plaincopy

# cd /tmp  

# unzip linux_11gR2_database_1of2.zip linux_11gR2_database_2of2.zip  

# xhost +  

# su - oracle  

$ export DISPLAY=:0  

$ cd /database  

$ ./runInstaller  

接下来系统会启动Oracle图形安装界面,安装过程和Windows下一样  

 

 

 

在安装过程中,会提示在root用户下运行两个脚本文件(具体是哪两个,不记得了,按提示操作即可)。

 

Linux下的Oracle在安装结束后是处于运行状态的。重启机器后,Oracle不会像在Windows下那样将Oracle添加到Windows服务,在linux下需要手动启动Orcle服务

 

 

 

[c-sharp] view
plaincopy

以oracle用户下,执行下面的命令  

进入sqlplus  

$ sqlplus /nolog  

以sysdba的身份连接到数据库,并启动Oracle数据库引擎  

SQL> conn /as sysdba  

SQL> startup  

退出sqlplus,运行Listener  

SQL> exit  

$ lsnrctl start  

 

 

 

这样就可以连接到Oracle数据库了。如果想用Oracle提供的EM来管理Oracle的话还需要启动EM控制台,运行如下命令:

 

 

 

[c-sharp] view
plaincopy

$ emctl start dbconsole  

 

 

 

这样就可以通过http://localhost:1158/em/ 来访问EM控制台了。

 

 

 

使用dbstart和dbstop来启动Oracle服务

 

可能使用dbstart命令来启动数据库更方便一些,但初次安装完oracle之后使用dbstart命令会报这样的错误

 

 

 

[c-sharp] view
plaincopy

ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener  

Usage: /u01/app/oracle/product/11.2/db/bin/dbstart ORACLE_HOME  

 

 

 

出现这样错误的原因是由于没有设置ORACLE_HOME_LISTNER的原因,我们查看一下dbstart这个文件

 

 

 

[c-sharp] view
plaincopy

more  /home/oracle_11/app/oracle/product/11.2/db/bin/dbstart  

 

 

 

部分内容如下

 

 

 

[c-sharp] view
plaincopy

# First argument is used to bring up Oracle Net Listener  

ORACLE_HOME_LISTNER=$1  

if [ ! $ORACLE_HOME_LISTNER ] ; then  

  echo "ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener"  

  echo "Usage: $0 ORACLE_HOME"  

else  

  LOG=$ORACLE_HOME_LISTNER/listener.log  

  # Set the ORACLE_HOME for the Oracle Net Listener, it gets reset to  

  # a different ORACLE_HOME for each entry in the oratab.  

  export ORACLE_HOME=$ORACLE_HOME_LISTNER  

 

 

 

解决方案就算将$ORACLE_HOME赋值给$ORACLE_HOME_LINTNER,保存,退出

 

再一次执行dbstart,但是没有反映,没有报错,如果我们需要使用dbstart,则需要在/etc/oratab这个文件中的实例最后的N改成Y,如下

 

 

 

[c-sharp] view
plaincopy

orcl:/home/oracle_11/app/oracle/product/11.2/db:Y  

 

 

 

OK,保存,再试一下dbstart命令,返回结果如下

 

 

 

[c-sharp] view
plaincopy

Processing Database instance "orcl": log file /home/oracle_11/app/oracle/product/11.2.0/db_1/startup.log  

 

 

 

dbshut进行同样的设置.这样,以后就可以在启动监听之后直接使用dbstart和dbshut命令来启动和关闭数据了

 

 

 

将Oracle服务添加到Linux开机启动项,以root用户建立/etc/rc.d/init.d/oradb脚本文件,文件内容如下:

 

 

 

[c-sharp] view
plaincopy

#!/bin/bash  

# chkconfig: 2345 90 10  

export ORACLE_BASE=/home/oracle_11/app/  

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

export ORACLE_SID=orcl  

export PATH=$PATH:$ORACLE_HOME/bin  

ORCL_OWN="oracle"  

# if the executables do not exist -- display error  

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]  

then  

   echo "Oracle startup: cannot start"  

   exit 1  

fi  

# depending on parameter -- start, stop, restart  

# of the instance and listener or usage display  

case "$1" in  

start)  

# Oracle listener and instance startup  

echo -n "Starting Oracle: "  

su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbstart"  

touch /var/lock/subsys/oradb  

su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl start dbconsole"  

echo "OK"  

;;  

stop)  

# Oracle listener and instance shutdown  

echo -n "Shutdown Oracle: "  

su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl stop dbconsole"  

su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbshut"  

rm -f /var/lock/subsys/oradb  

echo "OK"  

;;  

reload|restart)  

$0 stop  

$1 start  

;;  

*)  

echo "Usage: 'basename $0' start|stop|restart|reload"  

exit 1  

esac  

exit 0  

 

 

 

将该文件添加到开机启动

 

 

 

[c-sharp] view
plaincopy

# chmod 755 /etc/rc.d/init.d/oradb  

# chkconfig --add oradb  

 

 

 

重启服务

 

 

 

[c-sharp] view
plaincopy

# service oradb stop  

# service oradb start  

 

 

 

下次启动机器的时候,Oracle服务会随机器一起启动。

 

Oracle数据库安装、配置完成。

 

Tip:Oracle数据库的默认端口号:1521,Oracle提供的EM管理器默认端口号是1158。





1.png (53.49 KB)
2011-7-5 19:51

可以留空,忽略错误(Oracle补丁需要帐号来支持了)







2.png (52.18 KB)
2011-7-5 19:51

选择安装软件并创建数据库,也可只安装软件不创建数据库







3.png (49.09 KB)
2011-7-5 19:51

选择Server版本







4.png (52.4 KB)
2011-7-5 19:51

单实例数据库







5.png (48.81 KB)
2011-7-5 19:51

高级模式







6.png (52.49 KB)
2011-7-5 19:51

添加中文支持







7.png (59.01 KB)
2011-7-5 19:51

企业版







8.png (59.81 KB)
2011-7-5 19:51

安装目录







9.png (54.42 KB)
2011-7-5 19:51







10.png (50.6 KB)
2011-7-5 19:51







11.png (58.69 KB)
2011-7-5 19:51

数据库名及服务名







12.png (69.73 KB)
2011-7-5 19:51

自动内存管理及其他设置







13.png (61.28 KB)
2011-7-5 19:51

启用oracle企业管理控制台OEM







14.png (53.82 KB)
2011-7-5 19:51

选择文件系统及数据库文件目录







15.png (63.97 KB)
2011-7-5 19:51

自动备份管理







16.png (54.72 KB)
2011-7-5 19:51

数据库的用户名密码设置







17.png (60.89 KB)
2011-7-5 19:51







18.png (68.75 KB)
2011-7-5 19:51

数据库预安装检测,缺乏软件包错误可忽略,是因软件版本引起的,只要确认安装了rhel6 dvd里的软件版本即可。







19.png (67.08 KB)
2011-7-5 19:51







20.png (80.55 KB)
2011-7-5 19:51

安装完成后根据提示用root身份执行两个sh脚本

8.让oracle和oem随机启动
8.1.修改/etc/oratab
[root@oracle ~]#vim /etc/oratab
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y(N改为Y)

8.2.修改$ORACLE_HOME/BIN/dbstart和$ORACLE_HOME/BIN/dbshut[root@oracle
~]#vim /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart

[root@oracle ~]#vim /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut

ORACLE_HOME_LISTNER=$ORACLE_HOME ($1改为$ORACLE_HOME)

8.3.建立启动脚本
[root@oracle ~]#/etc/rc.d/init.d/oracle

#!/bin/bash
# chkconfig: 2345 99 10
# description: Startup Script for oracle Databases

# /etc/rc.d/init.d/oracle
export ORACLE_BASE=/u01/app/oracle/
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
case "$1" in
start)
echo "-----startup oracle-----" >> /var/log/racle11log
su oracle -c "$ORACLE_HOME/bin/dbstart"
su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch /var/lock/subsys/oracle
echo "-----startup oracle successful-----" >> /var/log/oraclelog
echo "OK"
;;
stop)
echo "-----shutdwn oracle-----" >> /var/log/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbshut"
su oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f /var/lock/subsys/oracle
echo "-----shutdown oracle successful-----" >> /var/log/oraclelog
echo "OK"
;;
*)
echo "Usage: 'basename $0' start|stop"
exit 1
esac
exit 0
8.4.给脚本设置权限
[root@oracle ~]#chmod 755 /etc/rc.d/init.d/oracle

8.5.建立服务
[root@oracle ~]#chkconfig --add oracle

[root@oracle ~]#chkconfig oracle on
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux oracle 11g