zoukankan      html  css  js  c++  java
  • 【Oracle】安装Oracle 10gR2 For CentOS

    Oracle10gR2安装
    安装环境
    项目     版本信息     备注
    操作系统     CentOS5.364bit    
    Oracle数据库     Oracle10.2.0.4 64bit    

    硬件信息:
    名称:answer     备注
    机型     PC机     ora10g
    CPU     Pentium(R) Dual-Core CPU E5700 @3.00GHz     1核
    内存     1G    
    硬盘     SATA     1块
    分区类型及大小     /dev/sda     28.7G    /
    /dev/sda     58.7G    /opt
    /dev/sda     192M     /boot
    Tmpfs        501M     /dev/shm    
    操作系统详细版本     CentOS release 5.3(Final)
    内部版本号:2.6.18-128.el5    
    操作系统登录用户     root/a1b2c3    
    其它登录系统用户     oracle/a1b2c3    
    网卡一    
    IP地址     192.168.0.200    
    子网掩码     255.255.0.0    
    默认网关     192.168.200.62    
    首选DNS服务器     192.168.200.63    
    备用DNS服务器         

    安装条件:
    资源需要:
    至少1024MB物理内存

    1024-2048需1.5倍的交互空间 2048-8192需1倍的交互空间 8192-需0.75倍的交互空间  至少400MB/tmp临时目录空间  oracle软件需要1.5GB到3.5GB磁盘空间 默认数据库需要1.2GB  查看系统资源相关语句:
    cat /etc/issue
    uname –r
    grep MemTotal /proc/meminfo
    grep SwapTotal /proc/meminfo
    grep "model name" /proc/cpuinfo
    free
    df –k /tmp
    df -k

    安装前检查和准备
    安装前的检查和准备工作:
    rpm -q binutils compat-libstdc++-296 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc-c++ sysstat unixODBC unixODBC-devel libXtst
    rpm -q glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel libXp make openmotif gcc

    配置可以从光盘使用yum安装包
    mkdir -p /media/cdrom                     ####创建挂载目录
    mount /dev/cdrom /media/cdrom

    安装缺少的包
    yum --disablerepo=* --enablerepo=c5-media -y install binutils compat-libstdc++-296 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc-c++ sysstat unixODBC unixODBC-devel libXtst
    yum --disablerepo=* --enablerepo=c5-media -y install glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel libXp make openmotif gcc

    创建数据库安装的准备工作: 1,创建user/group;
    groupadd -g 501 oinstall
    groupadd -g 502 dba
    groupadd -g 503 oper
    useradd -m -u 501 -g oinstall -G dba,oper -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle
    如果nobody用户不存在(id nobody命令查看),则创建:
    useraddnobody

    2,建立oracle安装文件夹;
    mkdir -p /opt/oracle/product/10g
    chown -R oracle:oinstall  /opt/oracle
    chmod -R 775 /opt/oracle


    2,配置环境变量;
    使用oracle用户登录
    su – oracle
    vi ~oracle/.bash_profile
    添加如下行:
    RACLE_BASE=/opt/oracle/
    ORACLE_HOME=$ORACLE_BASE/product/10g
    ORACLE_SID=kyy       ####这个需要根据实际情况调整
    PATH=$ORACLE_HOME/bin:$PATH
    TNS_ADMIN=$ORACLE_HOME/network/admin
    NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
    LANG=en_US
    export ORACLE_BASE ORACLE_HOME ORACLE_SID TNS_ADMIN NLS_LANG LANG PATH
    配置完成,使用source ~oracle/.bash_profile命令使配置生效


    4,设置系统参数;
    切换到root用户:
    su – root
    a)修改/etc/sysctl.conf(vi /etc/sysctl.conf), 添加以下是oracle建议(如果系统默认参数值大于这些,就不要去改变它):
    #Shmmax最大共享内存,官方文档建议是内存的1/2,
    # 2G/2=1073741824
    # 8G/2=4294967296
    #16G/2=8589934592
    #Shmmni4096KB.
    #Shmall
    #sem4个参数依次为:
    #SEMMSL(每个用户拥有信号量最大数);
    #SEMMNS(系统信号量最大数);
    #SEMOPM(每次semopm系统调用操作数);
    #SEMMNI(系统辛苦量集数最大数).
    kernel.shmmax = 536870912
    #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=1048576
    net.core.rmem_default=262144
    net.core.wmem_default=262144
    net.ipv4.tcp_keepalive_probes=5
    net.ipv4.tcp_keepalive_intvl=15
    net.core.netdev_max_backlog=3000
    net.core.somaxconn=3000
    net.ipv4.tcp_keepalive_time=1800
    net.ipv4.tcp_max_syn_backlog=8192
    net.ipv4.tcp_fin_timeout=30
    net.ipv4.tcp_tw_reuse=1
    net.ipv4.tcp_tw_recycle=1
    net.ipv4.tcp_rmem=8192 4194304 8388608
    net.ipv4.tcp_wmem=4096 2097152 8388608
    net.core.netdev_max_backlog=3000
    net.core.rmem_max=8388608
    net.core.wmem_max=8388608
    vm.swappiness = 5
    net.ipv4.tcp_max_tw_buckets = 10000
    修改后运行"/sbin/sysctl-p"命令使得内核改变立即生效;  
     B)设置oracle对文件的要求: 编辑文件:vi /etc/security/limits.conf加入以下语句:
    oracle           soft    nproc           2047
    oracle           hard    nproc           16384
    oracle           soft    nofile          1024
    oracle           hard    nofile          65536

    编辑文件:vi /etc/pam.d/login加入以下语句:
    session          required          /lib64/security/pam_limits.so
    session          required          pam_limits.so
    (注意:根据最后一条session规则的注释,应该加在最后一条规则之前)

    解压缩Oracle10G的安装文件:
    1.Oracle
    (1)简化过程(以oracle登录,释放安装文件,使用更少的磁盘空间,速度更快)
    gunzip 10201_database_linux32.cpio.gz
    cpio –idcmv < 10201_database_linux32.cpio

    unzip 10201_database_linux32

    开始安装oracle
    (一)开始安装:
    1.以oracle用户登录系统,进行Oracle的安装:
    cd /opt/database (或者你解压缩安装程序包的目录)
    ./runInstaller -ignoreSysPrereqs
    过一会儿就会出现Oracle的安装界面
    注意:(LANG要设置为en_US)
    a、选择advance install
    b、数据库home设置为/opt/oracle/product/10g
    c、数据库全局名称设置为kyy
    d、数据库字符集选Simplified Chinese ZHS16GBK

    2.其他用默认设置!
    注意:安装过程中会提示以root用户登陆执行一些脚本,执行后再按“ok”按钮继续安装。


    3、登陆并启动数据库的操作。
    [oracle@oracleoracle]$lsnrctl start
    [oracle@oracleoracle]$sqlplus /nolog
    SQL*Plus:Release9.2.0.0-ProductiononSatMar1222:58:532005
    Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.
    SQL>connect / as sysdba
    Connected.
    SQL>shutdown immediate关闭数据库
    Databaseclosed.
    Databasedismounted.
    ORACLEinstanceshutdown.
    SQL>startup;启动数据库
    ORACLEinstancestarted.
    TotalSystemGlobalArea236000356bytes
    FixedSize451684bytes
    VariableSize201326592bytes
    DatabaseBuffers33554432bytes
    RedoBuffers667648bytes Databasemounted. Databaseopened.  
     
    4,数据库创建完成后,修改vi/etc/oratab,把boss那一行最后的N改成Y,然后执行dbstart启动数据库数据库可能无法启动,报告Can’t find init file…的错误,需要复制一个初始化文件:
    cp /opt/oracle/admin/ge01/pfile/init.ora.* /opt/oracle/product/10.2.0/dbs/initge01.ora
    重新执行dbstart就可以了。
    为了方便管理,可以写一个启动脚本ora10g:
    以root身份进入,编写以下脚本:
    #!/bin/sh
    #
    # chkconfig: 2345 91 19
    # description: starts the oracle listener and instance
    status() {
        pid=`ps -ef | grep ora_pmon | grep -v grep | awk '{print $8}'`
        if [ "X$pid" = "X" ]
        then
            echo "oracle10g is not running."
            exit 1
        else
            echo "oracle10g is running."
            exit 0
        fi
    }
    case "$1" in
        start)
            #startup the listener and instance
            echo -n "oracle begin to startup: "
            su - oracle -c "lsnrctl start"
            su - oracle -c "dbstart"
            echo "oracle10g started"
            ;;
        stop)
            # stop listener, apache and database
            echo -n "oracle begin to shutdown:"
            su - oracle -c "lsnrctl stop"
            su - oracle -c "dbshut"
            echo "oracle10g shutdowned"
            ;;
        reload|restart)
            $0 stop
            $0 start
            ;;
        'status')
            status
            ;;
         *)
            echo "Usage: ora10g [start|stop|reload|restart]"
            exit 1
    esac
    exit 0

    存为ora10g后,然后
    chmod a+x ora10g
    ln -s /opt/oracle/product/10.2.0/bin/ora10g/etc/rc.d/init.d/ 即可在以后以root身份运行/etc/rc.d/init.d/ora10gstart|stop来管oracle的启动和停止了。
    如果要将这个脚本加入到系统中使其可开机运行,那么要运行以下命令:
    chkconfig--level345ora10gon

    或者可在/etc/rc.d/rc.local中加入如下:
    su - oracle -c "lsnrctlstart"
    su - oracle -c "dbstart"

    5.在备份数据库机上配置异机数据库逻辑备份任务,具体见backupDb.sh

    6,关于数据库删除重新安装的问题:
    把ORACLE安装目录删除及/etc/ora*.*删除就行了
    #rm –f /etc/ora*.*

    7.数据库参数要求
    每个连接的游标数:
    alter system set open_cursors=500 scope=spfile;
    总连接数:
    show parameter processes
    show parameter sessions
    alter system set processes=1000 scope=spfile;
    alter system set sessions=1000 scope=spfile;

    解决enterprisemanager乱码
    su - oracle
    rm -f $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs/*
    cd /opt/oracle/product/10g/jdk/jre/lib
    mv font.properties font.propertiesbk
    cp font.properties.zh_CN.Redhatfont.properties
    emctl stop dbconsole
    emctl start dbconsole

    解决监听hang的bug
    vi network/admin/listener.ora
    增加:
    SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF






  • 相关阅读:
    使用js固定div的高度
    iphone开发常用编码
    php mssql扩展SQL查询中文字段名解决方法
    Android带进度条文件上传
    PHP中替换换行符
    Android Timer计时器
    语法:MySQL中INSERT INTO SELECT的使用
    mysql的多表关联更新怎么写?
    Page Utility
    How do use CheckBoxList Utility
  • 原文地址:https://www.cnblogs.com/leemoby/p/3583385.html
Copyright © 2011-2022 走看看