在Linux enterprise 5下安装Oracle 10g

在Linux enterprise 5下安装Oracle 10g

一、安装系统

首先安装Linux系统,根据Oracle官方文档的建议,在机器内存小于1G的情况下,swap分区大小应该设置为内存的2倍大,若内存大于2G则swap分区设置为与内存大小一样。

在系统安装的过程中,一定选择安装所有开发包,建议不要安装SELinux或者安装后在系统中禁止SELinux运行,否则会出现一些莫名其妙的问题。

#vi/etc/selinux/config

修改

SELINUX=disabled

为防止Oracle安装过程中出现乱码,建议使用英文作为系统语言,进行Oracle的安装工作

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

1.检查需要的软件包

使用rpm -qa|grep 软件包关键词命令进行检测,一般情况下会需要手动安装如下的软件包:

  From RedHatAS5 Disk 1(32 Bit)

  # rpm -Uvhsetarch-2*
  # rpm -Uvh make-3*
  # rpm -Uvh glibc-2*
  # rpm -Uvh libaio-0*

  From RedHatAS5 Disk 2(32 Bit)

  # rpm -Uvhcompat-libstdc -33-3*
  # rpm -Uvh compat-gcc-34-3*
  # rpm -Uvh compat-gcc-34-c -3*
  # rpm -Uvh gcc-4*
  # rpm -Uvh libXp-1*

  From RedHatAS5 Disk 3(32 Bit)

  # rpm -Uvhopenmotif-2*
  # rpm -Uvh compat-db-4*

如果使用DVD安装介质的话,会很方便。

2.修改Linux发行版本信息

由于Oracle 10g发行的时候,RedHat EnterpriseLinux 5没有发行,所以Oracle 10g并没有对RedHat Enterprise Linux 5确认支持,我们有两种方法可以让Oracle 10g支持RedHat EnterpriseLinux 5。

方法一:

我们需要手工修改Linux的发行注记,让Oracle 10g支持RedHat Enterprise Linux 5。

编辑/etc/redhat-release文件

# vi /etc/redhat-release

将其中的内容Red Hat Enterprise Linux Server release 5(Tikanga)修改为Red Hat EnterpriseLinux AS release 4 (Nahant Update 4)

方法二:

还有文章说修改Oracle安装包中install/oraparam.ini文件的内容,也可以让Oracle 10g支持RedHat EnterpriseLinux 5,修改方法如下:

# viinstall/oraparam.ini

在其中的Certified Versions段落增加redhat-5

#[CertifiedVersions]
Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2]

再添加
[Linux-redhat-5.0-optional]
TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256

3.修改系统内核参数

# vi/etc/sysctl.conf

kernel.shmall =2097152   //  该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改

kernel.shmmax =2147483648           //  该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G
kernel.shmmni =4096                      //  这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改
kernel.sem = 250 32000 100 128       //  表示设置的信号量
fs.file-max =65536                           //  表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量
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          //  发送窗口的最大大小

修改好内核参数后,执行如下命令使新的设置生效

# /sbin/sysctl -p

4.创建Oracle用户、组、安装目录

 (1) 创建Oracle用户组

# groupadd oinstall
# groupadd dba

(2) 创建Oracle用户

# useradd -m -goinstall -G dba oracle

(3) 设置Oracle用户口令

# passwd oracle

(4) 创建Oracle安装目录以及数据存放目录

# mkdir -p/DBSoftware/app/oracle
# mkdir -p /DBData/oradata

(5) 修改目录权限

# chown -Roracle:oinstall /DBSoftware/app/oracle/ /DBData/oradata/
# chmod -R 755 /DBSoftware/app/oracle/ /DBData/oradata/

5.添加以下内容到/etc/security/limits.conf

# vi/etc/security/limits.conf

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

6.添加以下内容到/etc/pam.d/login

# vi /etc/pam.d/login

session required/lib/security/pam_limits.so
session required pam_limits.so

7.添加以下内容到/etc/profile

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

8.配置Linux主机

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

9.配置oracle用户环境变量

# su - oracle
$ vi ~/.bash_profile

增加如下内容:

exportORACLE_BASE=/DBSoftware/app/oracle   // 上面创建的Oracle安装文件夹
export ORACLE_SID=orcl
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

exportPATH=$PATH:$ORACLE_HOME/bin
export LD_LIBARY_PATH=$ORACLE_HOME/lib

export PATH
umask 022

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

$ source~/.bash_profile

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

1.解压缩安装文件

Oracle的安装包有这样几种格式:

(1) zip

这种格式最好解压缩,直接使用命令unzip 文件名即可

(2) cpio.gz

这种格式有这样几种解压缩方式

# zcat XXXX.cpio.gz| cpio -idmv

# gunzipXXXX.cpio.gz      解压出XXXX.cpio文件

# cpio -idvm <XXXX.cpio  (此时要把cpio文件COPY到刚刚建立的安装文件夹内)

解压缩完成后,设置oracle帐户可以操作安装文件所在的目录

chown -R oracle:oinstall“安装文件所在目录”

2. 用oracle帐户进入安装文件所在目录,执行如下命令即可看到安装界面:

$ ./runInstaller

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

# exportDISPLAY=:0.0
# xhost +   (此时SELINUX一定要已经禁用了,否则会报错。)
$ ./runInstaller

出现安装界面后,根据界面提示进行相关的设置,我的建议是在安装过程中不创建数据库,只安装程序,监听和创建数据库等安装完成后再进行相关的操作。

安装过程中,需要使用root权限执行两个脚本。

3. 安装完成后,将/etc/redhat-release文件中的内容修改回Red Hat Enterprise Linux Server release 5(Tikanga)

4.创建监听以及创建数据库

(1) 创建监听程序

使用Oracle提供的NET CONFIGURATIONASSISTANT创建TNS监听

$ netca

基本上就是一直Next就可以了,当然你也可以在这期间修改TNS的监听端口号

TNS监听创建完成后可以使用如下命令进行检查:

# netstat-atln    检查监听端口是否打开
$ lsnrctl status    检查TNS监听状态

确认监听已经成功启动后,即可执行Database Configure Assistant进行数据库的创建,执行命令如下:

$ dbca

在创建数据库的过程中,建议将数据库的字符集设置为Unicode UTF-8,防止出现乱码。

四、数据库的启动脚本 (本人不建议用这种方法,测试未通过)

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

===== Script ====

#!/bin/bash

#

# chkconfig: 35 951

# description: initscript to start/stop oracle database 10g, TNS listener, EMS

 

# match thesevalues to your environment:

exportORACLE_BASE=/u01/app/oracle

exportORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export ORACLE_TERM=xterm

exportPATH=/u01/app/oracle/bin:$ORACLE_HOME/bin:$PATH

exportORACLE_SID=demo1

exportDISPLAY=localhost:0

exportORACLE_USER=oracle

 

# see how we arecalled:

case $1 in

       start)

       su - "$ORACLE_USER"<<EOO

       lsnrctl start

       sqlplus /nolog<<EOS

       connect / as sysdba

       startup

EOS

   emctl start dbconsole

EOO

touch/var/lock/subsys/$scriptname

   ;;

   stop)

   su - "$ORACLE_USER"<<EOO

   lsnrctl stop

   sqlplus /nolog<<EOS

   connect / as sysdba

   shutdown immediate

EOS

   emctl stop dbconsole

EOO

rm -f/var/lock/subsys/scriptname

   ;;

   *)

   echo "Usage: $0 {start|stop}"

   ;;

esac

===========end ofscript==============

授权 :chown root.root/etc/rc.d/init.d/oracle

修改文件属性:chmod 755 /etc/rc.d/init.d/oracle

以后启动/关闭Oracle可以使用如下命令操作:

# service oraclestart     //  启动监听、数据库以及em
# service oracle stop      //  关闭监听、数据库以及em

推荐方法

1)、以root编辑/etc/oratab,类似 orcl:/u01/product/10.2.0/db_1:N 这种格式,其中orcl是你的ORACLE_SID,/u01/product/10.2.0/db_1是ORACLE_HOME,这里需要把N改为Y,即orcl:/u01/product/10.2.0db_1:Y这样。

2)、以oracle编辑$ORACLE_HOME/bin/dbstart,找到其中第78行:ORACLE_HOME_LISTNER=改为你自己的路径,或者可以改成ORACLE_HOME_LISTNER=$ORACLE_HOME

保存脚本,以oracle用户运行dbshut和dbstart看是否能关闭、启动数据库。如果不能,一般是参数设置,根据报错找到对应位置更改。

3)、利用rc.local 直接把dbstart加到rc.local中,实现开机自动启动。这里需要注意的是必须以oracle启动该脚本。

用root编辑/etc/rc.local,添加下面一行:

su - oracle -c"/dbsoftware/app/oracle/product/10.2.0/db_1/bin/dbstart"

至此,用reboot重启主机,可以自动启动oracle.

五、常见问题(FAQ)

错误1

在./runInstaller运行时出现,

错误描述:Exception in thread "main"java.lang.UnsatisfiedLinkError:/tmp/OraInstall2007-09-25_10-54-49PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6:cannot open shared object file: No such file or directory

 

atjava.lang.ClassLoader$NativeLibrary.load(Native Method)

atjava.lang.ClassLoader.loadLibrary0(Unknown Source)

atjava.lang.ClassLoader.loadLibrary(Unknown Source)

atjava.lang.Runtime.loadLibrary0(Unknown Source)

atjava.lang.System.loadLibrary(Unknown Source)

atsun.security.action.LoadLibraryAction.run(Unknown Source)

atjava.security.AccessController.doPrivileged(Native Method)

atsun.awt.NativeLibLoader.loadLibraries(Unknown Source)

atsun.awt.DebugHelper.<clinit>(Unknown Source)

atjava.awt.Component.<clinit>(Unknown Source)

这个错误的出现原因是因为RatHat Enterprise Linux 5标准安装时,缺少libXp-1.0.0-8.i386.rpm包的缘故,我安装时尽管选的是全安装,还是出现这个问题。在光盘的Server文件下找到libXp-1.0.0-8.i386.rpm,在该目录下使用命令:

错误2

在oracle Universal Installer:Install过程中出现,

错误描述:

Exception String:Error in invoking target 'all_no_orcl ihsodbc' of makefile'/oracle/oracle/product/10.2.0/rdbms/lib/ins_rdbms.mk'. See '/oracle/oraInventory/logs/installActions2007-09-25_03-42-11AM.log'for details.

Exception Severity:1

这个原因也是由于缺少相应的包compat-libstdc++-33-3.2.3-61.i386.rpm,手动安装吧。进到光盘的Sever目录下,运行下面命令:

[root@localhost Server ]#rmp -ivh compat-libstdc++-33-3.2.3-61.i386.rpm

 

【原文】出自百度文库  http://wenku.baidu.com/view/667cfcdb6f1aff00bed51e6b.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值