Chinaunix首页 | 论坛 | 博客
  • 博客访问: 198591
  • 博文数量: 42
  • 博客积分: 2520
  • 博客等级: 少校
  • 技术积分: 392
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-26 16:41
文章分类

全部博文(42)

文章存档

2010年(4)

2009年(38)

我的朋友

分类: Oracle

2009-05-07 20:55:33

 

注意:说明手册中运行命令带‘#’号的表明以root用户的身份登录系统;带‘$’号的表明以oracle用户身份登录。

一、检查硬件是否满足要求。

n         至少需要512M内存

n         SWAP空间大于等于内存的1倍(8192M内存以内,超过8192M时为内存的0.75

n         400M以上的/tmp目录

n         1.5G3.5G的硬盘空间用于安装Oracle软件(不包括数据库的数据文件)

 

1、查看内存大小的命令:

# grep MemTotal /proc/meminfo

2、查看SWAP大小的命令:

# grep SwapTotal /proc/meminfo

3、查看RAMSWAP可用空间命令:

# free

4、查看/tmp大小的命令:

# df -k /tmp

5、查看硬盘空间的命令:

# df -k

6、查看计算机CPU情况的命令:

# grep "model name" /proc/cpuinfo

二、创建磁盘分区

   #cat /proc/partitions

   #fdisk /dev/sdb

             p

              d

              n

                     1

              w

       #mkfs.ext3 /dev/sdb1

       #vi /etc/fstab

              /dev/sdb1 /opt ext3 defaults 0 0

       #mount -a

、检查系统软件是否满足安装要求。

1.         Linux的内核版本:Red Hat Enterprise Linux 4.0 2.6.9-11.EL

2.        针对Redhat AS4.0,计算机所安装的系统(或开发)软件需包含以下版本的包:

binutils-2.15.92.0.2-10.EL4

compat-db-4.1.25-9

control-center-2.8.0-12

gcc-3.4.3-9.EL4

gcc-c++-3.4.3-9.EL4

glibc-2.3.4-2

glibc-common-2.3.4-2

gnome-libs-1.4.1.2.90-44.1

libstdc++-3.4.3-9.EL4

libstdc++-devel-3.4.3-9.EL4

make-3.80-5

pdksh-5.2.14-30

sysstat-5.0.5-1

xscreensaver-4.18-5.rhel4.2

注意:以上内容直接从Oracle数据库的安装手册上得到,其实这个清单即使安装完全,也并不足以使oracle数据库的安装顺利完成。因此在安装Linux操作系统时,在不是非常了解所需的必备软件包的情况下,建议选择安装全部可安装的软件。

n         Redhat4.0需要安装Gcc3.2.3版本,SUN JDK1.5.0以上版本。

1、查看Linux的安装版本命令:

# cat /proc/version

2、查看Linux的内核版本命令:

# uname -r

3、查看已经安装的包的版本的命令:

# rpm -q package_name

    如果系统显示的安装版本不符合要求,需要到Redhat的官方网站下载所需rpm,更新即可;如果系统显示所需软件没有安装,则应立即安装。

 (安装rpm包,需要解压缩Linux格式的一些rpm包:tar –xvf 包名;强制安装包:rpm –Uvh 包名,以上操作需以root用户身份完成。另外,有的包还具有相关性,需要下载相关的包才能安装,如:内核包的升级需要安装mkinitrd包才可以)

 

、检查网络设置是否满足安装要求

    网络设置一般在安装时按照具体情况进行配置即可。当因为网络情况引起安装问题时,应按照安装手册的说明对网络情况进行检查。也可以暂时不考虑网络因素。

 

、创建安装所需的操作系统组和用户

    必须添加的系统组有:oinstalldba(大小写敏感)oper组不属于必须安装选项。

n         创建Oracle首要组oinstall

1、用命令查看oracle首要组的安装情况:

# more /etc/oraInst.loc

如果有信息输出表明首要组存在,否则就需要创建。命令为:

# /usr/sbin/groupadd oinstall

2、用命令查看oracle dba组的是否存在:

# grep dba /etc/group

    如果不存在,用以下命令创建:

# /usr/sbin/groupadd dba

3、创建oper组的命令:

# /usr/sbin/groupadd oper

 

n         创建oracle的属主用户(oracle

1、查看oracle用户的情况:

# id oracle

2、创建oracle用户命令:

# /usr/sbin/useradd -g oinstall -G dba oracle

3、修改oracle数据库属主用户(oracle)的属性,使oinstall作为oracle用户的首选组:

# /usr/sbin/usermod -g oinstall -G dba oracle

4、要确认nobody用户存在,如果不存在创建它。

# id nobody

# /usr/sbin/useradd nobody

 

、配置内核参数

    要使你的操作系统上所设置的内核参数大于等于以下相应值:

semmsl  250

semmns  32000

semopm  100

semmni  128

shmall  2097152

shmmax  物理内存的一半

shmmni  4096

file-max    65536

ip_local_port_range Minimum:1024 Maximum:65000

rmem_default 262144

rmem_max 262144

wmem_default 262144

wmem_max 262144

1、用以下命令查看相应的参数值

/sbin/sysctl -a | grep sem(参数名)

如果参数值达不到上述要求,则需要修改/etc/sysctl.conf文件,在其中添加或修改以下内容:

kernel.shmall = 2097152

kernel.shmmax = 物理内存的一半(1024*1024*物理内存)

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 262144

net.core.rmem_max = 262144

net.core.wmem_default = 262144

net.core.wmem_max = 262144

注意:若使此参数配置生效,需要重启操作系统。(在suse linux下则不需要)

2、为oracle用户设置shell限制:

u       首先在/etc/security/limits.conf文件中添加以下内容:

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

u       然后在/etc/pam.d/login文件中添加以下内容:

session required pam_limits.so

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

、确认将要安装的的软件目录

n         oracle首选目录一般为:oracle_base/oraInventory

n         oracle home目录一般为:oracle_base/product/10.2.0

n         确认并生成oracle base目录(在我的安装过程中,oracle base目录是/opt/oracle

上述具体目录由你自己确定。

1、创建oracle base目录

在创建之前,需要确认你所创建的目录满足oracle的安装空间需要。创建例子为:

#mkdir p /opt/oracle

创建完毕,需要将该目录的属主限授予oracle首选组,并改变其操作权限,例子如下:

# chown -R oracle:oinstall /opt/oracle

# chmod -R 775 /opt/oracle

注:对于使用裸设备和ASM(自动存储管理)的oracle数据库的特别安装配置,在此不作特别说明,如果需要,可参考oracle数据库的完整安装手册。

 

、配置用户环境变量

1、设定maskDISPLAY环境变量。

oracle用户的根目录下的文件/home/oracle/.bash_profile中添加如下内容:

$umask 022

$DISPLAY=:0.0; export DISPLAY

远程安装的,还需要在运行安装程序之前。在根用户下运行xhost + rlinux.localdomain(你的完整机器名)。如果ORACLE_SID, ORACLE_HOME, ORACLE_BASE等环境变量在profile文件中已经存在,请注释或删除掉相应内容。

2、修改配置文件/etc/inittab , x:5:respawn:/etc/X11/prefdm –nodaemon 修改为 x:3:respawn:/etc/X11/prefdm –nodaemon

3、重启

#reboot

#su – oracle

$startx

3、运行以下命令,使oracle的一些参数生效:(不要添加到profile中,安装完成后再添加不迟)

$ export ORACLE_BASE=/opt/oracle

$ export ORACLE_SID=db_1

$ export ORACLE_HOME=/opt/oracle/product/10.2.0

 

、安装

在安装目录下运行安装程序:

上传10201_database_linux_x86_64.cpio

#cp 10201_database_linux_x86_64.cpio /home/oracle

#su - oracle

$cd /home/oracle

$cpio –imd < 10201_database_linux_x86_64.cpio

 

$ export ORACLE_BASE=/opt/oracle

$ export ORACLE_SID=db_1

$ export ORACLE_HOME=/opt/oracle/product/10.2.0

 

$./runInstaller

安装过程全部是用户图形界面,与在windows环境下的安装界面没有多大区别,用户按照系统要求和你自己计算机的情况完成即可。安装过程中,需要注意的是oracle首选组的选择、oracle home的输入以及可能出现的错误提示和解决办法。(具体出错提示和解决办法参考本手册附带内容)。另外,安装过程中,安装程序会检测你为系统配置的参数是否存在问题并显示结果报告,如果结果存在问题,应先退出,待修正问题以后再启动安装。

    安装结束前,安装界面会弹出窗口,需要以root用户身份运行两个命令:

# /home/oracle/oraInventory/orainstRoot.sh

# $ORACLE_HOME/root.sh

安装完成,需要立即备份root.sh文件,以便将来安装新的oracle产品时使用。如果要删除oracle数据库,需要通过运行dbca命令首先删除oracle数据库实例,然后再运行$ORACLE_HOME/oui/install/runInstaller命令,进入安装界面,根据需要选择删除全部或需要删除的部分软件即可。

 

、安装完成后的配置

n       oracle安装完成后,需要设置相应的环境变量,即将环境变量添加到/home/oracle/.bash_profile中。

export ORACLE_BASE=/opt/oracle

ORACLE_HOME=/opt/oracle/product/10.2.0

export ORACLE_HOME

ORACLE_SID=orcl

export ORACLE_SID

NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export NLS_LANG

TNS_ADMIN=$ORACLE_HOME/network/admin

export TNS_ADMIN

ORA_NLS33=$ORACLE_HOME/nls/data

export ORA_NLS33

PATH=$PATH:$ORACLE_HOME/bin

export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib

export LD_LIBRARY_PATH

CLASS_PATH=$CLASS_PATH:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib

export CLASS_PATH

 

       自动启动oracle数据库:

首先,在root用户模式下修改/etc/oratab 文件,如下:

SID:ORACLE_HOME:AUTO

O10g:/opt/oracle/product/10.2.:Y  <-- 设成Y,dbstart才会启动这个实例

其次,在根用户模式下在/etc/rc.d/init.d目录下添加文件oracle(此文件中含OEM的启动与停止,不需要的可去掉相应内容):

#!/bin/sh

#

#/etc/rc.d/init.d/oracle

#racle 数据库和监听程序

# 检查如何执行脚本文件

case "$1" in

  start)

        echo -n "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 - oracle -c dbstart >> /var/log/oracle

        echo "Done."

        echo -n "Starting Oracle Listeners: "

        su - oracle -c "lsnrctl start" >> /var/log/oracle

       echo "Done."

       echo "Startup Oracle Enterprise Manager Console" >> /var/log/oracle

       su - oracle -c "emctl start dbconsole" >> /var/log/oracle

        echo "Done."

        echo ""

        echo "----------------------------------------------------" >> /var/log/oracle

        date +"! %T %a %D : Finished." >> /var/log/oracle

        echo "----------------------------------------------------" >> /var/log/oracle

        touch /var/lock/subsys/oracle

        ;;

  stop)

        echo -n "Shutting Down Oracle Listeners: "

        echo "----------------------------------------------------" >> /var/log/oracle

        date +"! %T %a %D : Shutting Down Oracle Databases as part of system down." >> /var/log/oracle

       echo "Stop Oracle Enterprise Manager Console" >> /var/log/oracle

       su - oracle -c "emctl stop dbconsole" >>/var/log/oracle

       echo "Done."

        echo "----------------------------------------------------" >> /var/log/oracle

        su - oracle -c "lsnrctl stop" >> /var/log/oracle

        echo "Done."

        rm -f /var/lock/subsys/oracle

        echo -n "Shutting Down Oracle Databases: "

        su - oracle -c dbshut >> /var/log/oracle

        echo "Done."

        echo ""

        echo "----------------------------------------------------" >> /var/log/oracle

        date +"! %T %a %D : Finished." >> /var/log/oracle

        echo "----------------------------------------------------" >> /var/log/oracle

        ;;

  restart)

        echo -n "Restarting Oracle Databases: "

        echo "----------------------------------------------------" >> /var/log/oracle

        date +"! %T %a %D : Restarting Oracle Databases as part of system up." >> /var/log/oracle

        echo "----------------------------------------------------" >> /var/log/oracle

        su - oracle -c dbstop >> /var/log/oracle

        su - oracle -c dbstart >> /var/log/oracle

        echo "Done."

        echo -n "Restarting Oracle Listeners: "

        su - oracle -c "lsnrctl stop" >> /var/log/oracle

        su - oracle -c "lsnrctl start" >> /var/log/oracle

        echo "Done."

       echo -n "Restarting Oracle Emterprise Mnaager Console:"

       su - oracle -c "emctl stop dbconsole" >> /var/log/oracle

       su - oracle -c "emctl start dbconsole" >> /var/log/oracle

       echo "Done."

        echo ""

        echo "----------------------------------------------------" >> /var/log/oracle

        date +"! %T %a %D : Finished." >> /var/log/oracle

        echo "----------------------------------------------------" >> /var/log/oracle

        touch /var/lock/subsys/oracle

        ;;

  *)

        echo "Usage: oracle {start|stop|restart}"

        exit 1

esac


注意,此文件的第一个注释# !/bin/sh必须存在,否则,该文件无法执行。文件建立后,执行chmod 777 oracle命令修改该文件的权限。

最后,在根用户模式下,执行以下命令以便在系统运行等级目录中建立链接:

# ln -s ../init.d/oracle /etc/rc.d/rc2.d/S99oracle    #启动

# ln -s ../init.d/oracle /etc/rc.d/rc3.d/S99oracle    #启动

# ln -s ../init.d/oracle /etc/rc.d/rc5.d/S99oracle    #启动

# ln -s ../init.d/oracle /etc/rc.d/rc0.d/K01oracle   #停止

# ln -s ../init.d/oracle /etc/rc.d/rc6.d/K01oracle   #重新启动

 

附:安装前后出现的错误、出错原因以及解决办法:

1、安装开始后即退出,无法进入安装用户图形界面。

一般是由于DISPLAY设置错误造成的,需要重新设置DISPLAY环境变量。

2、安装过程中,出现错误提示,make 文件ins_ctx.mkins_rdbms.mk 时出错。

       出现make ins_ctx.mk文件出错,一般是由于glibc6-dev包没有安装造成的,重新安装即可。而出现make ins_rdbms.mk文件出错,则一般可以忽略。另外,可以查看当时的安装日志,具体情况具体分析。

3、安装完成后,用dbca运行数据库的配置运行到2%时报错。TNS-12547TNS:lost contact

       这通常是由于安装前环境变量的配置出错造成的;也有可能是操作系统安装不全造成的。需要对照安装手册检查环境变量或重新安装操作系统。

4、安装完成后,用dbstart命令启动数据库时报错找不到路径/ade/vikrkuma_new/oracle

这是oracle安装软件本身的一个bug造成的。可以编辑$ORACLE_HOME/bin/dbstart文件,找到相应的路径,将该路径修改为$ORACLE_HOME即可

5、安装完成后,用dbstart命令启动数据库时出现ora-12547的错误。

       这个问题通常是表现为用户已完成dbca的配置,但在配置dbca过程中出现过TNS-12547的错误,用户选择了忽略并完成安装。那么,这个问题出现的原因与3同样。

6、安装完成后,用SQLPLUS启动数据库出现ora-12547错误,同时显示libaio.so.l文件不存在。

       出现这个问题有可能是异步开关的问题,也有可能同3的原因一样。解决异步开关的问题,可以通过对异步开关进行配置完成。

备注:出现安装错误时,可利用google搜索中英文页面,一般能在网上找到翔实的解决方案。 网站上有很多oralce数据库安装、配置问题相关的解决方案。
阅读(947) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~