首页 > 数据库 > Oracle > 正文

RHAS 3.0上的Oracle 9i的安装

2020-03-09 22:45:52
字体:
来源:转载
供稿:网友
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;


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表