数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
RHAS 3.0上的Oracle 9i的安装

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

RHAS 3.0上的Oracle 9i的安装

原文来自 :好好先生 llmmysun 修改后发布
参考文档:http://www.puschitz.com/InstallingOracle9i.shtml
另外还参考了一篇csdn上的安装文档,在此一并表示感谢!
声明:本文可任意转载,但请保留上述信息
    Oracle是世界上使用最广泛的数据库,它可以运行在各种计算机上;也是当前最优秀的关系型数据库。以前,一至无缘接触。这两天,正好有空。就在自己的计算机上装了一遍,领略了一番她的魅力!

    一、准备工作 
     rpm -aq |grep compat*
--以下的包是必须安装的
gcc
cpp
glibc-devel
compat-libstdc++
glibc-kernheaders
binutils
--检查这些包是否已经安装
rpm -q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils 

     1.下载oracle 9i for linux的源码包(一共有三个cpio.gz的文件:lnx_920_disk1.cpio.gz,lnx_920_disk2.cpio.gz,lnx_920_disk3.cpio.gz)
     2.下载补丁。至少需要四个补丁文件:
    [quote:db788a2c24]p3095277_9204_LINUX.zip 9.2.0.4.0的升级补丁包.
      p3006854_9204_LINUX.zip 在运行 runInstaller 之前打.   --保证正常启动图形界面
      p3119415_9204_LINUX.zip 在升级到9.2.0.4.0之后打.   
      p2617419_210_GENERIC.zip 打3119415补丁所需要的.    --ORACLE opatch 工具,是一个perl程序
      这几个补丁文件都可以在google上搜索到,其中p3095277_9204_LINUX.zip这个补丁有300多M,我在网上搜到了一个国内的下载站,速度有30多K/秒。另外三个,在itpub有人打包上传了。http://www.itpub.net/showthread.php?s=&threadid=171693&perpage=15&pagenumber=1
                                                                                
     3.修改内核参数 
    echo "kernel.sem="250 32000 100 128"" >> /etc/sysctl.conf
      #echo "kernel.shmmax=2147483648" >> /etc/sysctl.conf[/quote:db788a2c24] 
                                                                                                               
     第一条命令中的 250、32000、100、128 分别对应SEMMSL、SEMMNS、SEMOPM、SEMMNI这四个核心参数。
     上面是典型的核心参数配置.您可能需要根据您的实际环境进行适当的变动.
     4.检查设置 
    more /etc/sysctl.conf | grep kernel.s
        kernel.sysrq = 0
        kernel.shmmax=2147483648
        kernel.sem="250 32000 100 128"[/quote:db788a2c24]
     5.检查安装所需的rpm包是否齐全,确认以下rpm包都已经安装(如果你安装时选择了软件开发,那么基本上下面所列的包都已经安装了,如果没有安装,大部分在第三张光盘上,安装时注意一下顺序) 
   rpm -qa | grep compat
        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
                                                                                                                   # rpm -qa | grep openmotif
        openmotif-2.2.2-16
        openmotif-devel-2.2.2-16
                                                                                                                  # rpm -qa | grep setarch
        setarch-1.3-1[/quote:db788a2c24]
                                                                                                            
     6.把gcc,g++更换为2.96的版本。 
 mv /usr/bin/gcc /usr/bin/gcc323
# ln -s /usr/bin/gcc296 /usr/bin/gcc 
# mv   /usr/bin/g++ /usr/bin/g++323   
# ln -s /usr/bin/gcc296 /usr/bin/gcc
[/quote:db788a2c24]
                                                                                                               
     7.设置用户及环境变量、安装目标路径
     a.增加用户和组
       [quote:db788a2c24]groupadd dba          # 创建数据库管理员组
       groupadd oinstall     # 创建oracle文件的所有组
       useradd -c "Oracle software owner" -g oinstall -G dba oracle #创建oracle用户
       passwd oracle         #设置oracle用户的密码[/quote:db788a2c24]
     b.创建安装目标路径
       [quote:db788a2c24]mkdir /opt/oracle
       mkdir /opt/oracle/product
       mkdir /opt/oracle/product/9.2.0
       chown -R oracle.oinstall /opt/oracle
                                                                                                               
       mkdir /var/opt/oracle
       chown oracle.dba /var/opt/oracle
       chmod 755 /var/opt/oracle[/quote:db788a2c24]
     c.设置环境变量
      [quote:db788a2c24]su  - oracle
      vi .bash_profile加入下面的内容
      export LD_ASSUME_KERNEL=2.4.1 #这个参数必须指定,否则Java安装界面无法启动,这个参数实际上是为了避免Linux上的NPTL(Native POSIX Thread Library)和Oracle应用不兼容的问题.
     # Oracle Environment
     export ORACLE_BASE=/opt/oracle
     export ORACLE_HOME=/opt/oracle/product/9.2.0
     export ORACLE_SID=test
     export ORACLE_TERM=xterm
     # export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in $ORACLE_HOME/network/admin
     export NLS_LANG=AMERICAN;
     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
                                                                                                               
     # Set shell search paths
     export PATH=$PATH:$ORACLE_HOME/bin                                                                                                                
    然后执行
    $ source .bash_profe #让配置文件生效
                                                                                                                
    8.设置swap和临时文件夹
     oracle对内存和swap要求比较高,Oracle 建议 Oracle 9i  服务器至少需要 512M 内存,两倍内存或不少于 400M 的交换 (swap) 空间。如果你没有足够的交换空间或内存,在数据库创建过程中,你的 Oracle 服务器将变得非常迟钝。 我的内存只有256M,512M的swap。在此,我新增了1000M的swap。 
    su – root
    dd if=/dev/zero of=tmpswap bs=100M count=10
    chmod 600 tmpswap
    mkswap tmpswap
    swapon tmpswap[/quote:db788a2c24]
                                                                                                               
    另外,oracle的安装至少需要400M的/tmp临时空间。如果你/tmp下的空间不够,可以可以临时在另一个文件系统中建立一个/tmp 目录。 
                                                                                                                
   su – root
   mkdir //tmp
   chown root.root //tmp
   chmod 1777 //tmp
   export TEMP=/ # used by Oracle
   export TMPDIR=/ # used by Linux programs[/quote:db788a2c24]

  当安装完 Oracle 之后,关闭 Oracle 并删除临时目录:
  [quote:db788a2c24]su – root
  rmdir //tmp
  unset TEMP
  unset TMPDIR[/quote:db788a2c24]
                                                                                                               
   Oracle 磁盘空间 (Sizing Oracle Disk Space)
  仅安装数据库软件,大约需要2.5G 的磁盘空间。如果执行一个标准的数据库安装而不是自定义安装,则大约需要3.5G空间。
                                                                                                               
   9.解包安装文件。
    把下载的文件拷贝到/tmp中。最好以root身份来解压,否则可能会报错。
    a.解压
    gunzip lnx_920_disk1.cpio.gz lnx_920_disk2.cpio.gz lnx_920_disk3.cpio.gz Linux9i_Disk3.cpio.gz
    b.解包 
   cpio -idmv < lnx_920_disk1.cpio
   cpio -idmv < lnx_920_disk2.cpio
   cpio -idmv < lnx_920_disk3.cpio
    会生成Disk1,Disk2,Disk3三个文件夹, 好了,准备工作告一段落。万事俱备,只久安装了!
   二、安装
    1.打第一个补丁。
    运行runInstaller之前,需要打补丁3006854: 注意,必须以root身份运行.
                                                                                                               
   [quote:db788a2c24]# unzip p3006854_9204_LINUX.zip[/quote:db788a2c24]
   会在当前目录下创建一个目录,进入到该目录中
   [quote:db788a2c24] # cd 3006854
    #chmod +x *.sh
    # ./rhel3_pre_install.sh
    2.以root身份执行xhost +
     如果以oracle身份执行,会出现提示不能连接到display 0.0之类的错误。
    3.运行runinstall(激动人心的时刻到了!)

     su - oracle
     /tmp/Disk1/runInstaller (有文章说不要进入到Disk1的文件夹中再执行./runInstaller,否则会找不到其它的盘。我没有实验那样是否不行。)
      根据提示往下面安装,中间会提示你,有一个地方要组名,输入oinstall,
     另一个地方添数据库名和SID,请均填入orcl。 还会提示你用root身份执行一个脚本,按ctrl+shift+n新开一个终端窗口, 然后执行/tmp/的一个.sh文件。
     另外,relink 阶段,会报告两个错误:ins_oemagent.mk 和 ins_ctx.mk. 点 Ignore忽略,安装后升级到9.2.0.4的版本来消除这个bug.
    4.升级
   解包:
   unzip p3095277_9204_LINUX.zip
   cpio -icvd < 9204_lnx32_release.cpio 这个地方最好还以root身份解包,否则可能还会提示你权限不够。                                                                                                                
   现在可以再次运行runInstaller,要先升级oui(最后一个选项)否则不让升级到9.2.0.4.而且,升级完oui以后,要退出oui然后再重新运行oui, 再升级到9.2.0.4.不退出继续升级会报告错误.升级过程中,仍然会出现ins_oemagent.mk错误,点 Ignore 忽略(可以通过下面的补丁解决)。然后还会提示你用root身份来执行一个/opt中的一个脚本,你同样开一个终端,用root身份来执行就可以了。
   5.打补丁
   [quote:db788a2c24]su - oracle
$ unzip p3119415_9204_LINUX.zip
$ cd 3119415
$ export PATH=$PATH:/tmp/OPatch
$ export PATH=$PATH:/sbin        # the patch needs "fuser" which is located in /sbin
$ which opatch
/tmp/OPatch/opatch
$ opatch apply
[/quote:db788a2c24]
   这个地方有一个问题需要注意,直接用oracle身份解压可能提示权限不够,用root身份解压,然后用oracle身份来执行还会提示你权限不够,你用root解压然后执行chmod 777 3119415,然后su - oracle;/tmp/Opatch/opatch apply就ok了。
   好了,大功告成了!  运行dbca命令来创建数据库,还有文档上说这个时候可能会出错,要修改dbca文件来解决,我没有遇到这个问题,如果你遇到了可以上google上找相关文档,来解决这个问题。
   三、清扫战场及实验
     1.删除临时文件(这些临时文件将近3G,不用我再说删除的意义了吧?)
       [quote:db788a2c24]cd /tmp
       rm -rf *[/quote:db788a2c24]
    2.改回gcc,g++的版本,否则在以后编译安装其他软件时可能会有问题
      [quote:db788a2c24]# mv /usr/bin/gcc323 /usr/bin/gcc
      # mv /usr/bin/g++323 /usr/bin/g++[/quote:db788a2c24]
    3.连接一下数据库,检查一下自己的劳动成果吧!
      [quote:db788a2c24]su - oracle
      oracle$ sqlplus /nolog
      SQL> connect / as sysdba
      SQL> startup   


附:

sqlplus  /nolog
connect  /  as sysdba
startup nomount
1.

CREATE DATABASE ivps
MAXINSTANCES 1
MAXLOGHISTORY 1
MAXLOGFILES 7
MAXLOGMEMBERS 3
MAXDATAFILES 100
DATAFILE '/home/oracle/oradata/ivps/system01.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT  10240K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL
DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/home/oracle/oradata/ivps/temp01.dbf' SIZE 512M REUSE AUTOEXTEND ON NEXT  640K MAXSIZE UNLIMITED
UNDO TABLESPACE "UNDOTBS" DATAFILE '/home/oracle/oradata/ivps/undotbs01.dbf' SIZE 1024M REUSE AUTOEXTEND ON NEXT  5120K MAXSIZE UNLIMITED
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1 ('/home/oracle/oradata/ivps/redo01.log') SIZE 20480K,
GROUP 2 ('/home/oracle/oradata/ivps/redo02.log') SIZE 20480K,
GROUP 3 ('/home/oracle/oradata/ivps/redo03.log') SIZE 20480K,
GROUP 4 ('/home/oracle/oradata/ivps/redo04.log') SIZE 20480K,
GROUP 5 ('/home/oracle/oradata/ivps/redo05.log') SIZE 20480K,
GROUP 6 ('/home/oracle/oradata/ivps/redo06.log') SIZE 20480K;

2.
CREATE TABLESPACE "INDX" LOGGING DATAFILE '/home/oracle/oradata/ivps/indx01.dbf' SIZE 1024M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO ;
CREATE TABLESPACE "USERS" LOGGING DATAFILE '/home/oracle/oradata/ivps/users01.dbf' SIZE 250M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO ;
CREATE TABLESPACE "TOOLS" LOGGING DATAFILE '/home/oracle/oradata/ivps/tools01.dbf' SIZE 50M REUSE AUTOEXTEND ON NEXT  320K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO ;

3.
connect SYS/change_on_install as SYSDBA
@/home/oracle/product/92/rdbms/admin/catalog.sql;
@/home/oracle/product/92/rdbms/admin/catproc.sql;
connect SYSTEM/manager
@/home/oracle/product/92/sqlplus/admin/pupbld.sql;




相关文章

相关软件