zoukankan      html  css  js  c++  java
  • 64位Linux平台安装Oracle11gR2

    虚拟机 VMWare ESXi 5.0 / VMWorkstation 8.0
    主机环境:RedHat Enterprise Linux 5 / CentOS 5.8 / CentOS 6.2
    数据库 Oracle11gR2.0.1 / Oracle11gR2.0.3


    1 操作系统安装,RHEL5的安装比较简单,只对其中的重点进行说明
    磁盘分区:这一部分需非常注意,尤其是SWAP分区的大小,应该是RAM1~·1.5倍大小


    Package
    安装部分,选择Customize now,勾选中以下Package Groups

    Desktop Environments

    GNOME Desktop Environment

    Applications

    Editors

    Graphical Internet

    Text-based Internet

    Development

    Development Libraries

    Development Tools

    Legacy Software Development

    Servers

    Server Configuration Tools

    Base System

    Administration Tools

    Base

    Java

    Legacy Software Support

    System Tools 
       X Window System

    CentOS 安装mini desktop 即可


    共享内存:这个值在/etc/fstab 件中配置,用 df -h /dev/shm查看
    默认情况下,RHEL5会使用50%RAM来使用,我手工指定一个最大值

    /dev/VolGroup00/LogVol00 / ext3 defaults 1 1
    LABEL=/boot /boot ext3 defaults 1 2
    tmpfs /dev/shm tmpfs defaults,size=3276M 0 0
    devpts /dev/pts devpts gid=5,mode=620 0 0
    sysfs /sys sysfs defaults 0 0
    proc /proc proc defaults 0 0
    /dev/VolGroup00/LogVol01 swap swap defaults 0 0


    修改之后需要重新加载

    [root@enterprice64 ~]# umount /dev/shm
    [root@enterprice64 ~]# mount /dev/shm

    PS: CentOS某些时候修改dev/shm出现问题,参考这里 CentOS 下修改/dev/shm 大小解决ORA-00845

    安装必要的包  (可以在 http://rpm.pbone.net/ 下载相应的部分)

    可以先检查下需要的包是否已经安装,另,RHEL下使用yum请看 RHEL配置yum本地源

    # rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' \binutils compat-db

    # yum  -y  install binutils  compat-db compat-gcc-34  compat-gcc-34-c++  compat-libstdc++-33 elfutils-libelf-devel gcc gcc-c++ glibc-* libXp.so.6 libXt.so.6 libXtst.so.6 libgcc_s.so.1 ksh libXp libaio-devel numactl numactl-devel  unixODBC unixODBC-devel pdksh

     

    如果:pdksh包在CentOS环境下yum不到,需要手工安装

    # rpm -e ksh   如果和 ksh有冲突,可以把ksh卸载掉

    # rpm -i pdksh-5.2.14-37.el5.i386.rpm

    # rpm -i pdksh-5.2.14-37.el5.x86_64.rpm2

    2准备工作

    系统服务:禁用掉一些系统服务,也可以进行细粒度设置

    chkconfig iptables off

    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config  (连接目录是 /etc/sysconfig/selinux)


    内核参数:在 /etc/sysctl.conf文件中修改/添加如下内核参数

    ------- 11g配置-------------------

    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    fs.file-max = 6815744
    fs.aio-max-nr = 1048576
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 4194304
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576

    ------- 10g配置-------------------

    kernel.shmmax = 2147483648
    kernel.shmall = 2097152
    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=1048576
    net.core.rmem_max=1048576
    net.core.wmem_default=262144
    net.core.wmem_max=262144

    参数修改之后,使用 /sbin/sysctl -p 把参数立刻生效

    Shell Limits
    配置:为了让Oracle数据库在Linux系统上获得更佳 的表现,Oracle推荐对Shell Limits进行配置

    vi /etc/security/limits.conf  
    # Added for Oracle Shell Limits

    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle soft stack 10240


    vi /etc/pam.d/login
    # Added for Oracle Shell Limits
    session required /lib/security/pam_limits.so
    session required pam_limits.so

    如果是CentOS 5上安装Oracle10gR2,还需要修改这里,满足OUI的安装检查

    cp /etc/redhat-release /etc/redhat-release.original
    echo “redhat-4″ > /etc/redhat-release

     

    创建用户,组,目录

    组和用户
    # /usr/sbin/groupadd oinstall
    # /usr/sbin/groupadd dba
    # /usr/sbin/useradd -g oinstall -G dba -d /home/oracle -s /bin/bash -m oracle
    # passwd oracle

    安装目录
    # mkdir -p /u01/app/
    # chown -R oracle:oinstall /u01/app/
    # chmod -R 775 /u01/app/

    环境变量
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=${ORACLE_BASE}/product/11.2.0/dbhome_1
    export ORACLE_HOME_LISTNER=${ORACLE_HOME}
    export ORACLE_PATH=${ORACLE_HOME}/rdbms/admin
    export ORACLE_SID=data
    export PATH=${PATH}:${ORACLE_HOME}/bin
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ORACLE_HOME}/lib
    export NLS_LANG=AMERICAN_AMERICA.UTF8



    3
     安装数据库之后的配置

    修改默认的初始化参数
    -- enable AMM
    alter system set memory_max_target=1000m scope=spfile;
    alter system set memory_target=1000m scope=spfile;
    alter system set sga_target=0 scope=spfile;
    alter system set pga_aggregate_target=0 scope=spfile;


    -- misc
    alter system set processes=1000 scope=spfile;
    alter system set open_cursors=3000;
    alter system set undo_retention=86400;
    alter system set db_recovery_file_dest_size=8G;


    -- archive log
    -- mkdir -p /u01/app/oracle/oradata/archived
    alter system set log_archive_dest_1='LOCATION=/u01/app/oracle/oradata/archived/';
    alter system set log_archive_format = '%T_%S_%r.arc' scope=spfile;
    -- startup mount
    -- alter database archivelog;

    静态监听:默认是动态监听,可以设置成静态

    LISTENER = 
      (DESCRIPTION = 
        (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) 
      ) 

    SID_LIST_LISTENER = 
      (SID_LIST = 
        (SID_DESC = 
          (GLOBAL_DBNAME = data) 
          (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1) 
          (SID_NAME = data) 
        ) 
      )

    TNSNAMES.ORA

    DATA211 = 
      (DESCRIPTION = 
        (ADDRESS_LIST = 
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.254.211)(PORT = 1521)) 
        ) 
        (CONNECT_DATA = 
          (SERVER = DEDICATED) 
          (SERVICE_NAME = data) 
        ) 
      )


    4
    其他

    中文乱码
    如果有中文乱码,设置 export NLS_LANG=AMERICAN_AMERICA.UTF8
    VIM显示GBK
    Vim中可以直接查看文件编码 :set fileencoding 即可显示文件编码格式。


    文件编码转换
    如果想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么可以在
    ~/.vimrc
    文件中添加以下内容:
    set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936

    其中encodingvim的默认显示编码格式,fileencodingsvim打开文件时检测的编码格式,存在这种类型的编码即转换为utf-8编码。
    这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。

     


    RLWrap
    安装rlwrap实现sqlplus上下键功能

    PS:如果不想安装,看这里 转载:Static Version of rlwrap for sqlplus


    如果默认没有安装readlineOS的安装光盘里提供了readline.

    # rpm -Uvh readline*
    error: Failed dependencies: libtermcap-devel is needed by readline-devel-5.1-1.1.i386.rpm
    # rpm -Uvh libtermcap-devel-2.0.8-46.1.i386.rpm
    # rpm -Uvh readline*
    package readline-5.1-1.1 is already installed
    # rpm -Uvh readline-devel-5.1-1.1.i386.rpm

    安装rlwrap

    Download
    http://utopia.knoware.nl/~hlub/uck/rlwrap/rlwrap-0.37.tar.gz

    # tar -zxvf rlwrap-0.30.tar.gz
    # cd rlwrap-0.30
    # ./configure
    # make
    # make install

    # vi /home/oracle/.bash_profile
    添加
    alias sqlplus='rlwrap sqlplus'
    alias rman='rlwrap rman'


    自动启动
    # vi /etc/oratab
    data:/u01/app/oracle/product/11.2.0/dbhome_1:Y

    $ vi $ORACLE_HOME/bin/dbstart  和 dbshut
    # First argument is used to bring up Oracle Net Listener
    ORACLE_HOME_LISTNER=$ORACLE_HOME

    方法1:

    # vi /etc/rc.local
    su - oracle -c "dbstart"
    su - oracle -c "emctl start dbconsole"

    方法2:

    # cd /etc/rc.d/init.d
    # vi /etc/rc.d/init.d/oracle11g

    #!/bin/bash
    # chkconfig: 345 99 10
    # description: Startup Script for Oracle Databases
    # /etc/init.d/oracle11g

    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
    export ORACLE_HOME_LISTNER=$ORACLE_HOME
    export ORACLE_PATH=$ORACLE_HOME/rdbms/admin
    export ORACLE_SID=data
    export PATH=$PATH:$ORACLE_HOME/bin

    case "$1" in
        start)
        su oracle -c "$ORACLE_HOME/bin/dbstart"
        su - oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
        touch /var/lock/subsys/oracle11g
        echo "OK"
        ;;
    stop)
        echo -n "Shutdown Oracle: "
        su oracle -c "$ORACLE_HOME/bin/dbshut"
        rm -f /var/lock/subsys/oracle11g
        echo "OK"
        ;;
    *)
        echo "Usage: '$0' start|stop"
        exit 1

    esac
    exit 0

    可以使用chkconfig工具来配置自动启动

    # cd /etc/rc.d/init.d
    # chmod +x oracle11g
    # chkconfig –add oracle11g
    # chkconfig oracle11g on

    也可以手工建立软连接

    # ln -s /etc/rc.d/init.d/oracle11g /etc/rc.d/rc3.d/S99oracle11g
    # ln -s /etc/rc.d/init.d/oracle11g /etc/rc.d/rc4.d/S99oracle11g
    # ln -s /etc/rc.d/init.d/oracle11g /etc/rc.d/rc5.d/S99oracle11g
    #
    # ln -s /etc/rc.d/init.d/oracle11g /etc/rc.d/rc3.d/K10oracle11g
    # ln -s /etc/rc.d/init.d/oracle11g /etc/rc.d/rc4.d/K10oracle11g
    # ln -s /etc/rc.d/init.d/oracle11g /etc/rc.d/rc5.d/K10oracle11g

  • 相关阅读:
    ORACLE修改列名与列类型
    ORACLE的显式游标与隐式游标
    ORACLE 异常错误处理
    ORACLE的强制索引
    看懂ORACLE执行计划
    ORACLE建立物化视图
    普通视图和物化视图的区别
    ORACLE 中 TRANSLATE的用法
    随手小代码——归并排序
    随手小代码——选择算法排序
  • 原文地址:https://www.cnblogs.com/wait4friend/p/2334579.html
Copyright © 2011-2022 走看看