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

centos 5.4 安装 Oracle 11G

2013-04-24 15:19 483 查看
安装Oracle 第一次安装参考, 我用的是centos 5.4 64 安装完成

安装的时候要注意的是变量,跟依赖软件,呵呵安装的时候遇到点点麻烦都解决了!

OS:Fedora 15

DB:Oracle 11gR2

将Oracle安装到home/oracle_11目录

[c-sharp] view plaincopyprint?

至少需要1GB的内存

查看机器内存大小

# grep MemTotal /proc/meminfo

至少需要1GB的内存 查看机器内存大小 # grep MemTotal /proc/meminfo


2.2 swap空间要求

[c-sharp] view plaincopyprint?

内存大小 swap空间大小

1 GB ~ 2 GB 内存大小*1.5

2 GB ~ 16 GB 内存大小

> 16 GB 16 GB

查看swap空间大小

# grep SwapTotal /proc/meminfo

[c-sharp] view plaincopyprint?

/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

/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 plaincopyprint?

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

[c-sharp] view plaincopyprint?

创建Oracle Inventory 组

# groupadd oinstall

创建OSDBA 组

# groupadd dba

创建Oracle软件创建者

# useradd -g oinstall -G dba oracle

修改oracle用户的密码

# passwd oracle

创建Oracle Inventory 组 # groupadd oinstall 创建OSDBA 组 # groupadd dba 创建Oracle软件创建者 # useradd -g oinstall -G dba oracle 修改oracle用户的密码 # passwd oracle


5. 配置系统内核参数值

[c-sharp] view plaincopyprint?

编辑/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

[c-sharp] view plaincopyprint?

修改/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

修改/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 plaincopyprint?

# mkdir -p /home/oracle_11/app/

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

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

[c-sharp] view plaincopyprint?

编辑 /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

编辑 /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 plaincopyprint?

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

# echo $DISPLAY

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

[c-sharp] view plaincopyprint?

# cd /tmp

# unzip linux_11gR2_database_1of2.zip linux_11gR2_database_2of2.zip

# xhost +

# su - oracle

$ export DISPLAY=:0

$ cd /database

$ ./runInstaller

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

# 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 plaincopyprint?

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

进入sqlplus

$ sqlplus /nolog

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

SQL> conn /as sysdba

SQL> startup

退出sqlplus,运行Listener

SQL> exit

$ lsnrctl start

[c-sharp] view plaincopyprint?

$ emctl start dbconsole

$ emctl start dbconsole


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

使用dbstart和dbstop来启动Oracle服务

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

[c-sharp] view plaincopyprint?

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

[c-sharp] view plaincopyprint?

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

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


部分内容如下

[c-sharp] view plaincopyprint?

# 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

[c-sharp] view plaincopyprint?

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

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


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

[c-sharp] view plaincopyprint?

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

[c-sharp] view plaincopyprint?

#!/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

#!/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 plaincopyprint?

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

# chkconfig --add oradb

[c-sharp] view plaincopyprint?

# service oradb stop

# service oradb start

# service oradb stop # service oradb start


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

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

Tip:Oracle数据库的默认端口号:1521,Oracle提供的EM管理器默认端口号是1158。安装
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息