oracle在linux下怎么安装

red hat linux 下安装 oracle 10g
racle考资料:
Oracle官方网站: http://download.oracle.com/docs/html/B10813_01/toc.htm


一、以root用户登录, 进行如下操作:

1 检查硬件要求
* 主要包括:
********************************************************************
* 内存:                              >=512M                               *
* 交换空间:                         1.0 GB或者2倍内存大小 *
* 临时空间(/tmp>):>=400M                                        *
* 软件所需空间:   >=2.5G                                          *
* 数据库文件:     >=1.2G                                           *
********************************************************************
# cat /etc/issue
# uname -r
# grep "model name" /proc/cpuinfo
# grep MemTotal /proc/meminfo
# grep SwapTotal /proc/meminfo
# free
# df -k /tmp
# df -k

2 检查软件要求(安装软件包)
说明:虽然官方文档只要求如下几个软件包(具体版本号可能不一样),
            但实际上在真正安装的时候,往往需要更多.
            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

快速检查方法:
rpm -q binutils
rpm -q compat-db
rpm -q compat-libstdc++
rpm -q control-center
rpm -q gcc
rpm -q gcc-c++
rpm -q glibc
rpm -q glibc-common
rpm -q gnome-libs
rpm -q libstdc++
rpm -q libstdc++-devel
rpm -q make
rpm -q pdksh
rpm -q sysstat
rpm -q xscreensaver
rpm -q setarch
rpm -q libaio


        
   2.1 首先,在你的RHEL光盘里找到如上RPM包;

   2.2 然后,执行以下命令:
         # rpm -Uvh binutils*  
         # rpm -Uvh compat-db*           
         # rpm -Uvh control-center*       
         # rpm -Uvh gcc-3.4*              
         # rpm -Uvh gcc-c++*           
         # rpm -Uvh glibc-2.3*              
         # rpm -Uvh glibc-common*          
         # rpm -Uvh gnome-libs*    
         # rpm -Uvh libstdc++-3.4*        
         # rpm -Uvh libstdc++-devel*  
         # rpm -Uvh make*                 
         # rpm -Uvh pdksh*              
         # rpm -Uvh sysstat*              
         # rpm -Uvh xscreensaver*    
                 
        说明:若执行以上命令时提示须安装其它,则再从RHEL4的安装盘拷贝相应的包,然后再继续安装

3 创建安装数据库的用户、组和安装目录
   3.1 创建用户和相关的组
         # groupadd oinstall
         # groupadd dba
         # useradd -g oinstall -G dba oracle
         # passwd oracle

3.2 建立相关目录并授权
       # mkdir -p /oracle (the Oracle base directory)
       # mkdir -p /oradata    (an optional Oracle datafile directory)
       # chown -R oracle:oinstall /oracle /oradata
       # chmod -R 775 /oracle /oradata

4 配置内核参数
   4.1 修改核心参数并检查
         4.1.1 修改参数
                  # vi /etc/sysctl.conf
                  说明:在该文件末尾加入如下内容:
                   kernel.shmmax = 2147483648
                   kernel.shmmni = 4096
                   kernel.shmall = 2097152
                   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
       
      4.1.2 启用新参数
               # /sbin/sysctl -p

      4.1.3 检查参数
               # /sbin/sysctl -a | rpm sem
               # /sbin/sysctl -a | rpm shm
               # /sbin/sysctl -a | rpm file-max
               # /sbin/sysctl -a | rpm ip_local_port_range

4.2 设置oracle用户的shell限制
        4.2.1 编辑limits.conf
                 # vi /etc/security/limits.conf
                 说明:添加如下的行
                  # nofile(可打开的文件描述符的最大数)和nproc(单个用户可用的最大进程数量)
                   *               soft    nproc   2047
                   *               hard    nproc   16384
                   *               soft    nofile 1024
                   *               hard    nofile 65536

      4.2.2 编辑/etc/pam.d/login,添加1行:
               # vi /etc/pam.d/login
               session    required     /lib/security/pam_limits.so
           
       4.2.3 编辑/etc/profile,添加如下部分:
                # vi /etc/profile
CODE:

                  if [ $USER = "racle" ]; then
                      if [ $SHELL = "/bin/ksh" ]; then
                           ulimit -p 16384
                           ulimit -n 65536
                      else
                           ulimit -u 16384 -n 65536
                       fi
                  fi
              
5 装载CD,或上传并解压缩文件
   5.1 若装载CD:
         # mount /media/cdrom
     
   5.2 若上传并解压缩文件
         5.2.1 上传:可用ftp命令或ftp工具
         5.2.2 解压缩:
                  # unzip 10201_database_linux32.zip -d /tmp/oracle
         5.2.3 改变属主和权限:
                  # chown oracle /tmp/oracle
                  # chmod -R +755 /tmp/oracle
  
   5.3 设置在安装Oracle的机器上以oracle用户安装
         # xhost localhost:oracle
                       
           
二、以oracle用户登录, 进行如下操作

1 配置oracle用户的环境变量
1.1 切换到Oracle用户
       # su - oracle
      $ cd
                       
1.2 设置环境变量
       $ vi .bash_profile (在文件后面添加如下内容)
CODE:

       
        export ORACLE_BASE=/oracle
        export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
        export ORACLE_SID=INFODB
        export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
        #export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
        export LANG=zh_CN.GBK
        #export NLS_LANG="SIMPLIFIED CHINESE_CHINA".ZHS16GBK
        export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
1.3 使环境变量生效
       $ source .bash_profile
     
1.4 设置本地字符集类型
       $ export LC_CTYPE=en_US.UTF-8
     
2 开始安装
说明:为了便于后结安装,最好在安装前打开两个shell窗口,1个以root登录,另外1个以oracle登录

2.1 $ ./runInstaller

2.2 根据安装提示进行相应操作,中间需要root执行2个脚本:
       # $ORACLE_BASE/oraInventory/orainstRoot.sh
      # $ORACLE_HOME/root.sh
      说明:把$ORACLE_BASE和$ORACLE_HOME替换成实际的目录即可
  
2.3 安装过程中,不要选择创建数据库;

其它就没什么了,只须根据提示进行相应操作,直至安装成功。


三、安装过程的问题

1 Q: 执行./runInstaller后,弹不出安装界面,提示如下错误信息:
---------------------------------------------------------------------------------------------
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Error: Can't open display: :0.0
       
A: 在安装Oracle的机器上,以root身份运行命令:
      # xhost localhost:oracle

2 Q:安装时,弹出的界面出现乱码
---------------------------------------------------------------------------------------------
A:以oracle用户身份,设置本地字符集类型
     $ export LC_CTYPE=en_US.UTF-8

3 Q:安装过程中,提示OUI-10066错误:
     Not all the dependencies for the component Oracle Database 10g 10.2.0.1.0 could be found.
     Missing component oracle.doc 10.2.0.1.0.
---------------------------------------------------------------------------------------------
A:可能是oracle安装文件没有完全解压缩,重新解压缩一下再安装
     注意:若用root解压后,更改其属主为oracle

4 Q:INFO: /bin/sh: /usr/bin/gcc: No such file or directory
     ......
     INFO: cannot stat `ntcontab.o'
     INFO: No such file or directory
     ......
     Exception Name: MakefileException
     Exception String: Error in invoking target 'ntcontab.o' of  
     makefile '/usr/app/oracle/product/10.2.0/db_1/network/lib/ins_net_client.mk'  
---------------------------------------------------------------------------------------------
A: 检查Linux系统的所有补丁是否安装,尤其是gcc包,然后再继续安装


四 创建与配置数据库(使用oracle用户登录RHEL)
  
1 创建数据库
1.1 以oracle用户登录RHEL, 输入:
    $ dbca
1.2 在输入数据库SID时, 要注意保持与oracle配置文件的$ORACLE_SID的值一致.
    否则,创建完数据库后就启动不了(具体看下节).
    
2 配置服务名
修改listener.ora
$ vi $ORACLE_HOME/network/admin/tnsname.ora  
    增加以下内容:
   --------------------------------------------------------------------------
   # 说明: 把HOST的值设置为你要安装数据库那台机器的IP
         SHDB =
           (DESCRIPTION =
             (ADDRESS_LIST =
               (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.10)(PORT = 1521))
             )
             (CONNECT_DATA =
               (SERVICE_NAME = INFODB)
             )
           )

3 配置数据库的监听器
3.1 修改listener.ora
     $ vi $ORACLE_HOME/network/admin/listener.ora  
       输入以下内容:
     --------------------------------------------------------------------------
     # 说明: 把HOST的值设置为你要安装数据库那台机器的IP
     LISTENER =                                                           
        (DESCRIPTION_LIST =                                               
           (DESCRIPTION =                                                  
              (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))                   
                 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.10)(PORT = 1521))
               )                                                                
         )                                                                 
                                                                 
     SID_LIST_LISTENER =                                                  
        (SID_LIST =                                                        
            (SID_DESC =                                                     
               (SID_NAME = PLSExtProc)                                        
                  (ORACLE_HOME = /oracle/product/10.2.0/db_1)           
                     (PROGRAM = extproc)                                            
                   )                                                                
               (SID_DESC =                                                     
                  (SID_NAME = INFODB)                                              
                  (ORACLE_HOME = /oracle/product/10.2.0/db_1)           
                )                                                                
          )
                    
3.2 启动监听器
     $ lsnrctl start

4 启动数据库                                   
$ sqlplus / as sysdba
$ startup
若数据库能正常启动, 则配置到此结束


五、配置数据库的问题
  
1 Q: TNS-01155: Incorrectly specified SID_LIST
     NL-00303: syntax error in NV string
---------------------------------------------------------------------------------------------
A: 可能是profile中设置的sid和你创建的DB的SID不一致

     (1) 查看数据库的SID是否与.bash_profile的ORACLE_SID一致
         $ echo $ORACLE_SID
        $ ls $ORACLE_HOME/dbs/init*.ora
          
     (2) 修改.bash_profile的ORACLE_SID为你创建DB的SID, 然后保存并生效
         $ source .bash_profile
          
     (3) 创建pfile
         $ sqlplus /nolog
         SQL> connect /as sysdba
         SQL> create pfile=/oracle/product/10.2.0/db_1/initSHDB.ora' from spfile=/oracle/product/10.2.0/db_1/dbs/spfileSHDB.ora';
         SQL> startup pfile='/oracle/product/10.2.0/db_1/initSHDB.ora'
         或
          SQL> startup nomount pfile='/oracle/product/10.2.0/db_1/initSHDB.ora'
         或
          SQL> startup
        说明: 把pfile和spfile的路径修改成这两个文件在系统的实际位置即可
     
2 Q: ORA-01102:cannot mount database in EXCLUSIVE mode
---------------------------------------------------------------------------------------------
A: 可能是关闭异常,造成数据库已经装载或共享的假象,而造成以下问题:

     (1) "lk<sid>" and "sgadef<sid>.dbf"这两个用于锁内存的文件存在着。
           oracle$cd $ORACLE_HOME/dbs
          oracle$ls -l sgadef<sid>.dbf
         * 如果存在删掉它
             oracle$rm sgadef<sid>.dbf
           oracle$ls -l lk<sid>
         * 如果存在删掉它
             oracle$rm lk<sid>
              
     (2) pmon、smon、lwgw及dbwr这些后台进程依然存在着
           oracle$ps -ef | grep ora_ | grep $ORACLE_SID
         * 如果有pmon这些后台进程的残留,kill -9掉它
           oracle$kill -9 pid
           
     (3) Oracle开辟的共享内存没有释放掉
           ① 清共享内存段
              oracle$ipcs -m   --显示一下,看owner是Oracle用户的
              oracle$ipcrm -m <Shared_Memory_ID>
          ② 清信号集
               oracle$ipcs -s   --显示一下,看owner是Oracle用户的
               oracle$ipcrm -s <Semaphore_ID>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值