B. Oracle安装经验

  1. 建立dba组oinstall组及oracle用户

    #groupadd  dba
    #groupadd  oinstall
    #useradd -g oinstall -G dba oracle
    #passwd oracle
    
  2. 建立oracle 安装点目录

    # mkdir  /db/oracle
    # chown  oracle:oinstall  oracle
    
  3. 建立oracle用户环境

    #在 .bash_profile 文件中加入:
    ORACLE_HOME=/db/oracle ;export ORACLE_HOME
    LD_LIBRARY_PATH=$ORACLE_HOME/lib ;export LD_LIBRARY_PATH
    PATH=$PATH: $ORACLE_HOME/bin ;export PATH
    ORACLE_BASE=$ORACLE_HOME; export ORACLE_BASE
    ORACLE_SID=ORC1 ;export ORACLE_SID
    NLS_LANG= "FRENCH_FRANCE.WE8ISO8859P1" ;export NLS_LANG
    Umask  022
    
  4. 安装过程

    以oracle 用户登录运行 
    $startx
    在Xwindows中run  /mnt/cdrom/.runInstaller
    1. WELCOME 页中选  next
    2. FILE  LOCATIONS页中若Destination...  path为/db/oracle  选 next
    3. UNIX GROUP NAME 页中输入UNIX Group Name: oinstall  选 next 
    4. 弹出一个提示窗要求以root run  /db/oracle/orainstRoot.sh 
    打开一个terminal ,#su ,#orainstRoot.sh   此shell 
    create Oracle Inventory pointer file (/etc/oraInst.loc) 
    create groupname of /db/oracle/oraInventory to oinstall
    then  press  retry
    5. Available Products 页中选 Oracle8i Enterprise Edition 8.1.6.1.0选 next
    6. Installation Types  页中选 Typical(540MB)                选 next
    7. Database Identification页中输入 Global Database Name: orc1.est.com.cn 
    SID: orc1  
    选 next
    8. Database File Location 页中通过Browse或input  Directory for Database Files: /db/oracle
    选 next
    9. Summary 页中  选 Install
    10. Install 页  安装过程中弹出Setup Privileges 窗口要求run  /db/oracle/root.sh
    打开一个terminal ,#su ,#root.sh   此shell 
    create /etc/oratab file and set 
    ORACLE_OWNER=oracle
    ORACLE_HOME = /db/oracle
    ORACLE_SID= orc1 
    then    选next 
    11. Configuration Tools  页 完成安装。
    12. Web Server(Apache) support
    修改/www/apache/bin/apachectl脚本,使启动支持中文ORACLE环境:
    在文件中67行("start)")下面加入几行:
    export ORACLE_HOME=/db/oracle
    export ORACLE_BASE=$ORACLE_HOME
    export ORACLE_SID=ORC1
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    ;export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
    ;export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280"
    export NLS_LANG="FRENCH_FRANCE.WE8ISO8859P1"
    
    
  5. 安装完成以后修改 /etc/oratab 中

    orc1:/db/oracle:N  为   orc1:/db/oracle:Y
    修改 /db/oracle/bin/dbstart  中85行
    /PL\/SQL (Release|Version)/{substr($3,1,3) ;
    print substr($3,1,3)}'`
     为 /Edition Release/ {substr($5,1,3) ;
        print substr($5,1,3)}'` 
         注意:不可插入多余的字符,最好在修改模式下进行,否则可能会造成不能启动。
    
  6. 启动ORACLE

    以oracle 登录 run
    lsnrctl   start  listener
    dbstart 
    
  7. 自动启动ORACLE

    建立脚本 /etc/rc.d/init.d/oracle8i  ; chmod +x ;内容如下:
    ;*************start  *************
    ORA_HOME=/db/oracle
    ORA_OWNER=oracle
    
    case "$1" in
    
    'start')
    echo -n "Starting Oracle8i Release 2: "
    su - $ORA_OWNER -c $ORA_HOME/bin/dbstart 
    touch /var/lock/subsys/oracle8i
    echo 
    
    ;;
    
    'stop')
    
    echo -n "Shutting down Oracle8i Release 2:"
    su - $ORA_OWNER -c $ORA_HOME/bin/dbshut 
    rm -f /var/lock/subsys/oracle8i
    echo
    
    ;;
    'restart')
    echo -n "Restarting Oracle8i Release 2:"
    $0 stop
    $0 start
    echo 
    
    ;;
    
    *)
    echo "Usage: oracle8i { start | stop | restart }"
    exit 1
    
    esac
    exit 0
    ;***************end ****************
    建立链接 ln -s /etc/rc.d/init.d/oracle8i  /etc/rc.d/rc0.d/K10oracle8i    ;Runlevel 0 是 HALT
    建立链接 ln -s /etc/rc.d/init.d/oracle8i  /etc/rc.d/rc6.d/K10oracle8i    ;Runlevel6 是 reboot
    建立链接 ln -s /etc/rc.d/init.d/oracle8i  /etc/rc.d/rc3.d/S99oracle8i    ;Runlevel3 是 缺省运行级别
    
    此时listener 还没运行,需运行 lsnrctl   start  listener  
    或则在dbstart 开始处加入此命令。
    至此以oracle 用户登录就可以发现oracle 和 listener 都已启动。
    
    注意:
    若脚本名字不是oracle8i 则相应的修改下列行中的脚本名
    touch /var/lock/subsys/oracle8i
    rm -f /var/lock/subsys/oracle8i
    
  8. 其它:修改字符集

    附录:
    ORACLE中修改字符集( 用此方法也可修改全局数据库名)
    Backup your database
    Svrmgrl
    Connect internal
    Update props$ set value$=' WE8ISO8859P1'         ;划线部分必须大写
    Where name='NLS_CHARACTERSET';            ;划线部分必须大写
    Commit
    Shutdown
    Startup
    Exit
    
    常用字符集代码
    SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    
    NLS_LANG = AMERICAN_AMERICA.US7ASCII
    or 
    NLS_LANG = FRENCH_FRANCE.WE8ISO8859P1
    or 
    NLS_LANG = FRENCH_CANADA.WE8DEC
    or 
    NLS_LANG = JAPANESE_JAPAN.JA16EUC