Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1544485
  • 博文数量: 416
  • 博客积分: 10061
  • 博客等级: 上将
  • 技术积分: 3287
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-05 11:12
个人简介

技术在于专研

文章分类

全部博文(416)

文章存档

2021年(3)

2015年(34)

2013年(2)

2012年(1)

2011年(2)

2010年(5)

2007年(344)

2006年(25)

分类: LINUX

2007-05-25 14:41:36

RedHat Enterprise Linux Advanced Server 4 (RHEL4)
上安装
ORACLE9i

1.      安装系统:
在安装rhel的时候,主要一定要确保选择以下的Package:

X windows system
GNOME Desktop Environment
Server Configuration Tools
Development Tools
Legacy Software Development
Administration Tools

(其他Package可以按需求安装)

2.      修改系统参数,安装相应版本补丁

  1. 修改/etc/sysctl.conf,添加以下内容:
kernel.sem = 256 32000 100 142
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.shmall = 3279547
fs.file-max = 327679
net.ipv4.ip_local_port_range = 1024 65000
kernel.msgmni = 2878
kernel.msgmnb = 65535
(重启后生效,具体数值可根据系统情况做相应调整)


  1. 检查系统是否以安装以下rpm软件包:
    compat-gcc-7.3-2.96.122
    compat-libstdc++-devel-7.3-2.96.122
    compat-gcc-c++-7.3-2.96.122
    compat-libstdc++-7.3-2.96.122
    compat-glibc-7.x-2.2.4.32.5
    compat-db-4.0.14-5
    openmotif-2.2.2-16
    openmotif-devel-2.2.2-16
    setarch-1.3-1
    (
    没有的话,可以从RHEL3第三张安装盘上找)


  2. gcc/g++版本替换为2.96
    mv /usr/bin/gcc /usr/bin/gcc343
    ln -s /usr/bin/gcc296 /usr/bin/gcc
    mv /usr/bin/g++ /usr/bin/g++343
    ln -s /usr/bin/g++296 /usr/bin/g++

3.      添加oracle用户,设置用户环境变量
groupadd -g 500 oinstall
groupadd -g 501 dba
useradd -u 502 -g oinstall -G dba -d /home/oracle oracle -s /bin/bash
设置用户环境变量,编辑/home/oracle/.bash_profile,添加以下内容
export LD_ASSUME_KERNEL=2.4.1
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/app/product/9.2.0
export ORACLE_SID=ora9i
export ORACLE_TERM=xterm
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
 执行. /home/oracle/.bash_profile后使环境变量生效

4.      安装oracle软件:

  1. 安装补丁:
需要的补丁:
p3095277_9204_LINUX.p 9.2.0.4.0的升级补丁包.
p3006854_9204_LINUX.p
在运行 runInstaller 之前打.
p3119415_9204_LINUX.p
在升级到9.2.0.4.0之后打.
p2617419_210_GENERIC.p
3119415补丁所需要的.
先打p3006854_9204_LINUX.p
unp p3006854_9204_LINUX.p
cd 3006854
# ./rhel3_pre_install.sh
  1. oracle软件的安装:
1)      将软件拷贝到硬盘上解压:
gp -d lnx_920_disk1.cpio.gz
gp -d lnx_920_disk2.cpio.gz
gp -d lnx_920_disk3.cpio.gz
cpio -idm lnx_920_disk1.cpio
cpio -idm lnx_920_disk2.cpio
cpio -idm lnx_920_disk3.cpio
解出三个目录Disk1/  Disk2/  Disk3/
2)      变成oracle身份,打开xwindows进行软件的安装
su - oracle
startx
i.                     进入安装目录,运行安装程序runInstaller:

ii.                   安装界面

iii.                  选择路径(按默认的就好)

iv.                 产品选择(选第一个Oracle9i Database 9.2.0.1.0)

v.                   语言选择(要加上Simplified Chinese)

vi.                 安装模式(选择Enterprise Edition)


vii.                选择安装数据库模式(选择software only只安装软件)

viii.              点击install进行安装

ix.                 relink 阶段,会报告两个错误:ins_oemagent.mk ins_ctx.mk. Ignore 忽略.要升级到9.2.0.4的版本才可以修复这两个Bug

3)                    升级到9.2.0.4.0
安装完成后,退出安装程序,开始打补丁.
unp p3095277_9204_LINUX.p
cpio -icvd < 9204_lnx32_release.cpio
现在可以再次运行runInstaller,OUI的界面中找到PatchStage文件,然后即可以进行升级.


首先要升级oui,否则不让升级到9.2.0.4.而且,升级完oui以后,要退出oui然后再重新运行oui, 再升级到9.2.0.4.不退出继续升级会报告错误.升级过程中,仍然会出现ins_oemagent.mk错误, Ignore 忽略.我们将在下一个步骤中修复该错误.

4)     升级过后,需要打补丁修复ins_oemagent.mk错误.
首先安装 opatch.
 unp p2617419_210_GENERIC.p
 cd 2617419/OPatch
 export PATH=$PATH:`pwd`:/sbin
注意:
修改PATH,除了要包括解压出来的OPatch目录外,还要包括/sbin目录,这样才可以找到 fuser命令.fuser命令也是
该补丁过程所需要的.
unp p3119415_9204_LINUX.p
cd 3119415
opatch apply

至此,oracle软件安装完毕
5.      建立数据库
  1. 建立相应目录结构:
    cd $ORACLE_BASE
mkdir -p admin/$ORACLE_SID
mkdir -p admin/$ORACLE_SID/adhoc
mkdir -p admin/$ORACLE_SID/arch
mkdir -p admin/$ORACLE_SID/bdump
mkdir -p admin/$ORACLE_SID/cdump
mkdir -p admin/$ORACLE_SID/create
mkdir -p admin/$ORACLE_SID/exp
mkdir -p admin/$ORACLE_SID/pfile
mkdir -p admin/$ORACLE_SID/udump
mkdir -p /db1/oradata/$ORACLE_SID
mkdir -p /db2/oradata/$ORACLE_SID

  1. 建立密码文件和pfile文件
orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=passwd entries=10
cd $ORACLE_HOME/dbs/
cp init.ora $ORACLE_BASE/admin/$ORACLE_SID/pfile/init$ORACLE_SID.ora
vi $ORACLE_BASE/admin/$ORACLE_SID/pfile/init$ORACLE_SID.ora

(根据需求编辑init$ORACLE_SID.ora文件)

ln -s $ORACLE_BASE/admin/$ORACLE_SID/pfile/init$ORACLE_SID.ora $ORACLE_HOME/dbs/init$ORACLE_SID.ora

  1. 创建数据库
    启动数据库到nomount状态
    sqlplus ‘/as sysdba'
    sql> startup mount

运行以下sql,创建数据库
CREATE DATABASE ora9i

LOGFILE
   GROUP 1 ('/db1/oradata/ora9i/redo101.log','/db2/oradata/ora9i/redo201.log') SIZE 10M REUSE,
   GROUP 2 ('/db1/oradata/ora9i/redo102.log','/db2/oradata/ora9i/redo202.log') SIZE 10M REUSE,
   GROUP 3 ('/db1/oradata/ora9i/redo103.log','/db2/oradata/ora9i/redo203.log') SIZE 10M REUSE,
   GROUP 4 ('/db1/oradata/ora9i/redo104.log','/db2/oradata/ora9i/redo204.log') SIZE 10M REUSE,
   GROUP 5 ('/db1/oradata/ora9i/redo105.log','/db2/oradata/ora9i/redo205.log') SIZE 10M REUSE
DATAFILE '/db1/oradata/ora9i/system01.dbf' SIZE 30M AUTOEXTEND ON NEXT 5M
DEFAULT TEMPORARY TABLESPACE tmp TEMPFILE '/db1/oradata/ora9i/tmp01.dbf' SIZE 50M AUTOEXTEND OFF
UNDO TABLESPACE undotbs DATAFILE '/db1/oradata/ora9i/undo01.dbf' SIZE 50M AUTOEXTEND OFF
    CONTROLFILE REUSE
    NOARCHIVELOG
    MAXLOGFILES 64
    MAXLOGMEMBERS 2
    MAXDATAFILES 512
    MAXINSTANCES 8
    MAXLOGHISTORY 7260
CHARACTER SET ZHS16CGB231280;
CREATE TABLESPACE data
DATAFILE '/db1/oradata/ora9i/DATA01.dbf' SIZE 100M
DEFAULT STORAGE (INITIAL 128K
                 NEXT    128K
                 MINEXTENTS 1
                 MAXEXTENTS 100000)
ONLINE;
CREATE TABLESPACE index_user
DATAFILE '/db1/oradata/ora9i/index_user.dbf' SIZE 50M
DEFAULT STORAGE (INITIAL 128K
                 NEXT    128K
                 MINEXTENTS 1
                 MAXEXTENTS 100000)
ONLINE;
create tablespace rbs_user
    datafile '/db1/oradata/ora9i/rbs_user.dbf' size 100M
    autoextend off
    default storage (initial 128k
                     next    64k
                     pctincrease 0
                     maxextents      unlimited )
ONLINE;
  1. 运行sql创建系统表/视图和过程:
    sql>
    @?/rdbms/admin/catalog.sql
    sql> @?/rdbms/admin/catproc.sql
    sql> connect system/manager
    sql> @?/sqlplus/admin/pupbld.sql
  2. 切换到archivelog模式
    sql> shutdown immediate
   sql> startup mount
   sql> alter database archivelog;
   sql> archive log start
   sql> alter database open;

首先要升级oui,否则不让升级到9.2.0.4.而且,升级完oui以后,要退出oui然后再重新运行oui, 再升级到9.2.0.4.不退出继续升级会报告错误.升级过程中,仍然会出现ins_oemagent.mk错误, Ignore 忽略.我们将在下一个步骤中修复该错误.

4)     升级过后,需要打补丁修复ins_oemagent.mk错误.
首先安装 opatch.
 unp p2617419_210_GENERIC.p
 cd 2617419/OPatch
 export PATH=$PATH:`pwd`:/sbin
注意:
修改PATH,除了要包括解压出来的OPatch目录外,还要包括/sbin目录,这样才可以找到 fuser命令.fuser命令也是
该补丁过程所需要的.
unp p3119415_9204_LINUX.p
cd 3119415
opatch apply

至此,oracle软件安装完毕
5.      建立数据库

  1. 建立相应目录结构:
    cd $ORACLE_BASE
mkdir -p admin/$ORACLE_SID
mkdir -p admin/$ORACLE_SID/adhoc
mkdir -p admin/$ORACLE_SID/arch
mkdir -p admin/$ORACLE_SID/bdump
mkdir -p admin/$ORACLE_SID/cdump
mkdir -p admin/$ORACLE_SID/create
mkdir -p admin/$ORACLE_SID/exp
mkdir -p admin/$ORACLE_SID/pfile
mkdir -p admin/$ORACLE_SID/udump
mkdir -p /db1/oradata/$ORACLE_SID
mkdir -p /db2/oradata/$ORACLE_SID

  1. 建立密码文件和pfile文件
orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=passwd entries=10
cd $ORACLE_HOME/dbs/
cp init.ora $ORACLE_BASE/admin/$ORACLE_SID/pfile/init$ORACLE_SID.ora
vi $ORACLE_BASE/admin/$ORACLE_SID/pfile/init$ORACLE_SID.ora

(根据需求编辑init$ORACLE_SID.ora文件)

ln -s $ORACLE_BASE/admin/$ORACLE_SID/pfile/init$ORACLE_SID.ora $ORACLE_HOME/dbs/init$ORACLE_SID.ora

  1. 创建数据库
    启动数据库到nomount状态
    sqlplus ‘/as sysdba'
    sql> startup mount

运行以下sql,创建数据库
CREATE DATABASE ora9i

LOGFILE
   GROUP 1 ('/db1/oradata/ora9i/redo101.log','/db2/oradata/ora9i/redo201.log') SIZE 10M REUSE,
   GROUP 2 ('/db1/oradata/ora9i/redo102.log','/db2/oradata/ora9i/redo202.log') SIZE 10M REUSE,
   GROUP 3 ('/db1/oradata/ora9i/redo103.log','/db2/oradata/ora9i/redo203.log') SIZE 10M REUSE,
   GROUP 4 ('/db1/oradata/ora9i/redo104.log','/db2/oradata/ora9i/redo204.log') SIZE 10M REUSE,
   GROUP 5 ('/db1/oradata/ora9i/redo105.log','/db2/oradata/ora9i/redo205.log') SIZE 10M REUSE
DATAFILE '/db1/oradata/ora9i/system01.dbf' SIZE 30M AUTOEXTEND ON NEXT 5M
DEFAULT TEMPORARY TABLESPACE tmp TEMPFILE '/db1/oradata/ora9i/tmp01.dbf' SIZE 50M AUTOEXTEND OFF
UNDO TABLESPACE undotbs DATAFILE '/db1/oradata/ora9i/undo01.dbf' SIZE 50M AUTOEXTEND OFF
    CONTROLFILE REUSE
    NOARCHIVELOG
    MAXLOGFILES 64
    MAXLOGMEMBERS 2
    MAXDATAFILES 512
    MAXINSTANCES 8
    MAXLOGHISTORY 7260
CHARACTER SET ZHS16CGB231280;
CREATE TABLESPACE data
DATAFILE '/db1/oradata/ora9i/DATA01.dbf' SIZE 100M
DEFAULT STORAGE (INITIAL 128K
                 NEXT    128K
                 MINEXTENTS 1
                 MAXEXTENTS 100000)
ONLINE;
CREATE TABLESPACE index_user
DATAFILE '/db1/oradata/ora9i/index_user.dbf' SIZE 50M
DEFAULT STORAGE (INITIAL 128K
                 NEXT    128K
                 MINEXTENTS 1
                 MAXEXTENTS 100000)
ONLINE;
create tablespace rbs_user
    datafile '/db1/oradata/ora9i/rbs_user.dbf' size 100M
    autoextend off
    default storage (initial 128k
                     next    64k
                     pctincrease 0
                     maxextents      unlimited )
ONLINE;
  1. 运行sql创建系统表/视图和过程:
    sql>
    @?/rdbms/admin/catalog.sql
    sql> @?/rdbms/admin/catproc.sql
    sql> connect system/manager
    sql> @?/sqlplus/admin/pupbld.sql
  2. 切换到archivelog模式
    sql> shutdown immediate
   sql> startup mount
   sql> alter database archivelog;
   sql> archive log start
   sql> alter database open;

至此,数据库创建完毕,可以正常使用了.



至此,数据库创建完毕,可以正常使用了

阅读(1961) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-07-26 23:48:21

你里面列出来的很多包 在RHEL AS 4 的安装包里面都找不到啊。。 难道不是原创?