RedHat.Enterprise.Linux.5.5 x64 oracle10g R2安装记录

花了一天半的时间终于把RHEL5.5及oracle10g的安装搞定了,安装过程中碰到了N多的波折,包括RHEL5安装,打系统补丁包,解决oracle10g安装过程中的居多问题,整个过程让我有点晕头转向,不禁想起windows带给我们的美好世界,特记录下linux下的整个安装流程,防止遗忘。安装过程中参考了好友写的一篇文档,原文如下:http://kyle.itpub.net/post/1626/458512 ,参照他的过程安装还是出现很多的问题,其中有些地方不是很全,这可能跟RHEL的版本有关,我是RHEL5.5 x64的,我对其中的细节进行了修改和调整,内容如下:

 

一.RHEL5安装前须知
  1.RHEL5不支持串口硬盘(SATA硬盘),shit,居然不支持SATA
  2.为了能够顺畅的运行oracle10g,要求物理内存2G以上,swap>2G。/tmp设置1G以上。
  3.由上可知,分区需要采用自定义方式。交换空间(swap)一般设置为物理内存容量的1~2倍,物理内存越大相应的swap一般设置倍数就较小,例如1G内存设置swap为2G,4G内存设置swap为6G。swap(相当于windows的虚拟内存)并不是越大越好,太大了,也用不了,建议封顶8G。
  4.RHEL5通用安装号:6efd911e6fea5d91,2515dd4e215225dd
  5.使用的RHEL版本为RedHat.Enterprise.Linux.5.5
二.RHEL5的安装和配置的注意事项
  1.服务器上安装RHEL5,一般不需要服务器自带的引导盘启动加载驱动程序,可以直接插入RHEL5光盘即可顺利安装。
  2.语言选择:简体中文(便于后面的描述,当然可以选择英文)
  3.设置磁盘分区:选择定制,swap 设置2G以上且为物理内存的1~2倍,/boot设置100M以上,/tmp设置1G以上,为oracle10g设置/oracle分配6G以上(视应用设置,例如4G用于oracle软件,3G用于数据库,10G用于存放备份),/var设置1G以上,一般将分配剩余的空间给/home
  4.网络设置:使用静态IP,启用IPV4,禁止DHCP,禁止IPV6,输入主机名(可为域名),IP地址,子网掩码,网关,DNS。
  5.软件包安装(关键):选择定制,安装oracle10g的必需的系统组件清单如下,强调说明,这里没选好,后面安装oracle10g前检查环境打rpm包会打的你晕头转向:
    桌面环境→GNOME桌面环境
    应用程序→图形化互联网、基于文本的互联网、编辑器
    开发→开发工具、开发库、老的软件开发
    服务器→服务器配置工具
    基本系统→X窗口系统、基本、管理工具、系统工具、老的软件支持,一般这里全选
  6.配置防火墙:要么禁用,要么至少设置ssh(22端口)和1521端口(oracle默认监听端口)通过
  7.SELinux:禁用
  8.RHEL5对英文字母大小写是区分的,这点在安装完打开终端输命令的时候要注意。

     9. 安装oracle10g前需要更新系统补丁包,打包过程如下:

         ⑴.插入第1张安装盘
            mount /dev/cdrom /opt/cdrom
            cd /opt/cdrom/Server
            rpm -Uvh setarch-2*
            rpm -Uvh make-3*
            rpm -Uvh glibc-2*
            rpm -Uvh libaio-0*

            rpm -Uvh libaio-devel-0.3.106-5.i386.rpm 

           cd /
           umount -l /opt/cdrom
          eject

(网上的资料这个rpm包没有说明,结果数据  库安装过程中报ORA-12547: TNS:lost contact错误,打上这个包后启动电脑,重新安装oracle就OK了,)

         ⑵.插入第2张安装盘
           mount /dev/cdrom /opt/cdrom
           cd /opt/cdrom/Server
           rpm -Uvh compat-libstdc++-33-3*
           rpm -Uvh compat-gcc-34-3*
           rpm -Uvh compat-gcc-34-c++-3*
           rpm -Uvh gcc-4*
           rpm -Uvh libXp-1*
           cd /
           umount -l /opt/cdrom
           eject
          ⑶.插入第3张安装盘
            mount /dev/cdrom /opt/cdrom
            cd /opt/cdrom/Server
            rpm -Uvh openmotif-2*
            rpm -Uvh compat-db-4*
           rpm -ivh openmotif-2.3.0-0.3.el5.x86_64.rpm
           cd /
          umount -l /opt/cdrom
          eject

备注:购买正版的RHEL5是三张光盘,rpm包分别在三张光盘中,我是网上下载的RHEL5,一张光盘就搞定
三.Oracle10g的安装和配置注意事项
  1.Root身份下通过lsb_release -a检查linux版本,修改/etc/redhat-release文件的版本号为4,oracle10g支持最高RHEL4版本,安装前会检测,可在安装完oracle10g后修改回来。
  2.Root身份下修改/etc/hosts文件里的127.0.0.1为你机器的静态IP,oracle10g安装过程中会检测。
  3.Root身份下往/etc/sysctl.conf文件追加(vi命令)以下内容,注意空格的存在:
    kernel.shmmni=4096
    kernel.sem=250 32000 100 128
    fs.file-max=65536
    net.ipv4.ip_local_port_range=1024 65000
    net.core.rmem_default=4194304
    net.core.wmem_default=262144
    net.core.rmem_max=4194304
    net.core.wmem_max=262144
   保存后使用/sbin/sysctl -p命令使设置生效。
  4.Root身份下创建oracle用户和组并为oracle用户设置密码,打开终端输入以下命令:
    /usr/sbin/groupadd oinstall
    /usr/sbin/groupadd dba
    /usr/sbin/useradd -m -g oinstall -G dba oracle
    passwd oracle
  5.Root身份下打开终端创建存放数据库的文件夹并授权:
    mkdir -p /oracle/database
    chown -R oracle:oinstall /oracle
    chmod -R 775 /oracle
  6.Oracle10g建议对每个linux 帐户可以使用的进程数和打开的文件数设置限制,那么我们需要用root身份修改(使用vi命令)4个文件:
   ⑴往/etc/security/limits.conf文件里追加以下内容:
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
   ⑵往/etc/pam.d/login文件里追加以下内容:
    session required /lib/security/pam_limits.so
   ⑶往/etc/profile文件里追加以下内容:
    if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
    else
    ulimit -u 16384 -n 65536
    fi
    umask 022
    fi
   ⑷往/etc/csh.login文件里追加以下内容:
    if ( $USER == "oracle" ) then
    limit maxproc 16384
    limit descriptors 65536
    umask 022
    endif
  7.切换到oracle帐户下(su oracle),往~/.bash_profile文件里追加环境参数:
    export LANG="en_SU.UTF-8"
    export NLS_LANG="Simplified Chinese_china".ZHS16GBK(设置oracle字符集)
    export ORACLE_BASE=/oracle/
    export ORACLE_HOME=/oracle/product/10g
    export ORACLE_SID=kms(kms可设置为你想定义的其他数据库实例名)
    export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin (PATH本来就有,这边追加内容)
   保存后使用source ~/.bash_profile命令使设置生效。注意括号里的内容为注释,不可照抄到~/.bash_profile文件里。
  8.至此,我们已经将oracle10g所需要的所有RHEL5环境都设置好了。
  9.下面开始安装oracle10g。
   ⑴root身份下将oracle10g安装光盘里的database文件夹复制到硬盘,例如复制到/opt目录里,将光盘放入光驱:
    mkdir -p /mnt/dvd
    mount /dev/cdrom /mnt/dvd
    cp -r /mnt/dvd/database/ /opt
   注意复制好了进入/opt/database文件夹使用chmod -R a+x *命令授权。
   ⑵用oracle身份进入/opt/database文件夹下,使用以下命令安装,注意字母大小写敏感:
    ./runInstaller
   ⑶选择Advanced Installation来定制安装。
   ⑷数据库ORACLE_HOME设置为/oracle/product/10g
   ⑸因为前面的配置,我们设置ORACLE_SID=kms(kms可设置为你想定义的其他数据库实例名)
   ⑹数据库选择存放在/oracle/database文件夹
   ⑺数据库字符集选Simplified Chinese ZHS16GBK
   ⑻安装过程中需要你用root身份根据提示执行两个sh脚本。
   ⑼其他无说明的步骤采用默认设置即可。
四.验证
  1.用oracle帐户登录
  2.在终端里打入lsnrctl start 启动监听
  3.在终端里打入sqlplus "/ as sysdba"进入sqlplus
  4.SQL状态里startup启动数据库

 

     我按照上面的安装后验证不通过,最好查阅了tnsnames.ora文件,发现端口为null,我修改成1521,查阅tnsnames.ora文件,发现端口也为null,修改成1521,另外客户端连接的时候也报ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务错误,我在listener.ora文件中加入

(SID_DESC =
        (GLOBAL_DBNAME = jam)
        (ORACLE_HOME = /oracle/product/10g)  
        (SID_NAME = jam)
   ) 后解决问题,现在我把修改后的listener.ora和tnsnames.ora内容贴出来

listener.ora文件:


SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /oracle/product/10g)
      (PROGRAM = extproc)
    )
   (SID_DESC =
        (GLOBAL_DBNAME = jam)
        (ORACLE_HOME = /oracle/product/10g)  
        (SID_NAME = jam)
   )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = jam)(PORT = 1521))
    )
  )

 

tnsnames.ora文件:


JAM =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = jam)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = jam)
    )
  )

LISTENER_JAM =
  (ADDRESS = (PROTOCOL = TCP)(HOST = jam)(PORT = 1521))


EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )


五.开启oracle10g的开机自动启动服务(以下都用root身份修改)
  1.打开终端执行vi /etc/oratab,把orcl:/opt/oracle/oracle/product/10g:N这一行最后的N改成Y,保存退出。
  2.打开终端执行vi /oracle/product/10g/bin/dbstart,修改
    ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle为
    ORACLE_HOME_LISTNER=/oracle/product/10g/
  3.打开终端执行vi /etc/rc.local,追加以下内容让oracle随系统启动(注意-和oracle之间的空格存在):
    su - oracle -c "/oracle/product/10g/bin/dbstart"
六.Oracle10g的每天定时自动备份
  1.判断计划任务是否启动,root身份下执行:
    /sbin/service crond status
   查看启动状态,如果没有启动,
    vi /etc/rc.d/rc.local
   将/sbin/service crond start语句加入rc.loca文件,使开机自启。
  2.创建备份存放目录,oracle身份下执行:
    mkdir -p /oracle/backup
  3.创建自动备份脚本,oracle身份cd /home/oracle后vi backup.sh,加入以下内容,语句功能是备份并删除一个月前的过期备份:
    export LANG="en_SU.UTF-8"
    export NLS_LANG="Simplified Chinese_china".ZHS16GBK
    export ORACLE_BASE=/oracle/
    export ORACLE_HOME=/oracle/product/10g
    export ORACLE_SID=kms
    export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
    ##########################################
    backuptime=`date +"%Y%m%d%H"`
    deletetime=`date -d "1 month ago" +"%Y%m%d%H"`
    ##########################################
    rm -f /oracle/backup/mvs_$deletetime.dmp
    exp mvs/mvs file=/oracle/backup/mvs_$backuptime.dmp full=y
   保存后chmod +x backup.sh将执行权限赋予自己。然后./backup.sh执行下试验效果。
  4.Oracle身份下,调用计划任务来执行backup.sh脚本,完成自动备份,执行:
    crontab –e
   调出计划任务编辑界面后,录入以下内容,完成每天3点自动备份的功能:
    00 03 * * * /home/oracle/backup.sh
七.关于oracle10g的卸载
  1.做好备份工作
  2.用oracle帐户登录
  3.在终端里打入lsnrctl stop停止监听
  4.在终端里打入sqlplus "/ as sysdba"进入sqlplus
  5.SQL状态里shutdown immediate停止数据库
  6.用root帐户登录
  7.删除oracle安装目录及/etc/ora*.*
八.安装完RHEL5后你可能用到的命令:
  1.查看物理内存:
    grep MemTotal /proc/meminfo
  2.查看交换空间:
    grep SwapTotal /proc/meminfo
  3.查看cpu状况:
    grep "model name" /proc/cpuinfo
  4.查看/tmp使用情况:
    df -k /tmp
  5.查看所有分区使用情况:
    df -k
九.补充说明
  RHEL5安装完,自带的jdk初始版本是1.4,oracle10g的安装无需更高的jdk版本。当然你可根据自身需求自行升级jdk。

 

十.LINUX 操作系统重启Oracle数据库

  1. 停应用层的各种程序

  2. 停Oralce的监听进程

  $ lsnrctl stop

  3. 在独占的系统用户下,备份控制文件:

  $ sqlplus "/as sysdba"

  SQL> alter database backup controlfile to trace;

  4. 在独占的系统用户下,手工切换重作日志文件,确保当前已修改过的数据存入文件:

  SQL> alter system switch logfile;

  5. 在独占的系统用户下,运行下面SQL语句,生成杀数据库用户连接的kill_all_session.sql文件:

  SQL> set head off;

  SQL> set feedback off;

  SQL> set newpage none;

  SQL> spool ./kill_session.sql

  SQL> select 'alter system kill session '''  sid  ','  serial#  ''';' from v$session where username is not null;

  SQL> spool off;

  6. 在独占的系统用户下,执行杀数据库用户连接的kill_session.sql文件

  SQL> @./kill_session.sql

  7. 在独占的系统用户下,用immediate方式关闭数据库:

  SQL> shutdown immediate;

  或者

  SVRMGRL> shutdown immediate;

  8. 启动oralce的监听进程

  $ lsnrctl start

  9. 进入独占的系统用户下,启动Oralce数据库

  $ sqlplus /nolog

  SQL> connect / as sysdba

  SQL> startup;

     或者
  $ svrmgrl
  SVRMGRL> connect internal;
  SVRMGRL> startup;
  10.启动应用层的各种程序

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值