zoukankan      html  css  js  c++  java
  • [原]在Solaris 10/09上静默安装和升级Oracle 10g和Oracle 11g(一)

    使用 Linux 也挺长时间了,其中仅有 1% 的时间使用图形界面,在这 1% 的时间仅有 1% 的时间不是花在安装 Oracle 上的 -_- 。最近搞到一台 Sun Fire V890 小型机,刚装好 Solaris 10/09,这次懒得开图形界面了,尝试了一下 Oracle 的静默安装,整理成这篇文章,本系列共分3篇:

    (一)环境设置

    (二)静默安装 Oracle 10gR2

    (三)静默安装 Oracle 11gR2

    一、自此创建完所需的运行用户

    我的安装计划是这样的,在同一台 Sun Fire V890 上面同时安装 Oracle 10gR2 和 Oracle 11gR2 ,他们运行在不同的用户下。

    [root@V890 /]$ groupadd oracle
    [root@V890 /]$ useradd -g oracle -d /home/ora10g -s /bin/bash -m  ora10g
    UX: useradd: ERROR: Unable to create the home directory: Operation not applicable.
    # 这里出了点小问题。
    # 问题描述可以从这里找到:http://www.science.uva.nl/pub/solaris/solaris2/Q3.4.html
    # svcadm  disable /system/filesystem/autofs  OK了
    [root@V890 /]$ useradd -g oracle -d /home/ora11g -s /bin/bash -m  ora11g
    [root@V890 /]$ passwd ora10g
    [root@V890 /]$ passwd ora11g

    二 检查相关的安装包

    有一次安装Oracle,装到 79% 的时候失败,查看日志发现竟然没有 gcc -_-!

    [root@V890 /]$ pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot \
    [root@V890 /]> SUNWsprox SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt
    system      SUNWarc   Lint Libraries (usr)
    system      SUNWbtool CCS tools bundled with SunOS
    system      SUNWhea   SunOS Header Files
    system      SUNWi1of  ISO-8859-1 (Latin-1) Optional Fonts
    system      SUNWlibm  Math & Microtasking Library Headers & Lint Files (Usr)
    system      SUNWlibms Math & Microtasking Libraries (Usr)
    system      SUNWsprot Solaris Bundled tools
    system      SUNWtoo   Programming Tools
    system      SUNWxwfnt X Window System platform required fonts
      错误: 未发现"SUNWsprox"的信息   # 这个在 Solaris 10 中没有了,不用管
      错误: 未发现"SUNWi1cs"的信息    # 在光盘中有
      错误: 未发现"SUNWi15cs"的信息   # 在光盘中有
    [root@V890 Product]$ cd /cdrom/sol_10_1009_sparc/Solaris_10/Product
    [root@V890 Product]$ pkgadd -d ./ SUNWi1cs SUNWi15cs 

    三、调整内核参数

    Solaris 10 的调整方式还是比较麻烦的,可以看一下这篇文章:http://www.chinaitproject.com/viewthread.php?tid=1043 Solaris 10使用新的方式修改内核参数了。

    [root@V890 etc]$ id -p ora10g  
    uid=101(ora10g) gid=100(oracle) projid=3(default)
    [root@V890 etc]$ id -p ora11g
    uid=102(ora11g) gid=100(oracle) projid=3(default)
    [root@V890 etc]$ projadd -U ora10g -p 99910 -c "ora10g parameters setting" user.ora10g
    [root@V890 etc]$ projadd -U ora11g -p 99911 -c "ora11g parameters setting" user.ora11g
    [root@V890 etc]$ id -p ora10g
    uid=101(ora10g) gid=100(oracle) projid=99910(user.ora10g)
    [root@V890 etc]$ id -p ora11g
    uid=102(ora11g) gid=100(oracle) projid=99911(user.ora11g)
    
    # 10g
    [root@V890 etc]$ projmod -a -K "project.max-shm-memory=(priv,16442450944,deny)" user.ora10g
    [root@V890 etc]$ projmod -a -K "project.max-sem-ids=(priv,128,deny)" user.ora10g
    [root@V890 etc]$ projmod -a -K "process.max-sem-nsems=(priv,512,deny)" user.ora10g
    [root@V890 etc]$ projmod -a -K "project.max-shm-ids=(priv,128,deny)" user.ora10g 
    
    # 11g
    [root@V890 etc]$ projmod -a -K "project.max-shm-memory=(priv,16442450944,deny)" user.ora11g
    [root@V890 etc]$ projmod -a -K "project.max-sem-ids=(priv,128,deny)" user.ora11g
    [root@V890 etc]$ projmod -a -K "process.max-sem-nsems=(priv,512,deny)" user.ora11g
    [root@V890 etc]$ projmod -a -K "project.max-shm-ids=(priv,128,deny)" user.ora11g 

    四、创建相应目录

    参考 Oracle 的 OFA 建议,目录建得很深。

    # 创建目录:
    # 建立oracle_base的上一级目录
    [root@V890 /]$ mkdir -p /u01/app/
    [root@V890 /]$ chmod -R  777 /u01
    # 建立oracle_home
    [root@V890 /]$ su - ora10g
    Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
    [ora10g@V890 ~]$ echo $LOGNAME
    # 10g
    [ora10g@V890 ~]$ cd /u01/app/
    [ora10g@V890 app]$ mkdir -p $LOGNAME/product/10.2.0/db_1 
    [ora10g@V890 app]$ mkdir -p $LOGNAME/oraInventory 
    [ora11g@V890 ora10g]$ mkdir -p $ORACLE_BASE/flash_recovery_area
    [ora10g@V890 app]$ cd ora10g/
    [ora10g@V890 ora10g]$ ls
    oraInventory  product
    [ora10g@V890 ~]$ mkdir -p  /u02/oradata/$LOGNAME/$ORACLE_SID
    [ora10g@V890 app]$ exit
    
    # 11g
    [root@V890 /]$ su - ora11g       
    Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
    [ora11g@V890 ~]$ echo $LOGNAME
    ora11g
    [ora11g@V890 ~]$ cd /u01/app/
    [ora11g@V890 app]$ mkdir -p $LOGNAME/product/11.2.0/db_1
    [ora11g@V890 app]$ mkdir -p $LOGNAME/oraInventory 
    [ora11g@V890 ora11g]$ mkdir -p $ORACLE_BASE/flash_recovery_area
    [ora11g@V890 app]$ cd ora11g/
    [ora11g@V890 ora11g]$ ls
    oraInventory  product
    [ora11g@V890 ~]$ mkdir -p  /u02/oradata/$LOGNAME/$ORACLE_SID 
    [ora11g@V890 app]$ exit

    五、添加环境变量

    这几个变量相信大家都比较熟悉了。

    # 10g
    [root@V890 /]$ su - ora11g  
    # 将以下文本添加到 ~/.profile 中
    # oracle common path
    ORACLE_SID=ORA10G
    ORACLE_BASE=/u01/app/$LOGNAME
    ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
    export ORACLE_SID ORACLE_BASE ORACLE_HOME
    
    # oracle exe path
    PATH=$ORACLE_HOME/bin:$PATH
    export PATH
    
    # lib/class  path
    CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/lib:/usr/lib
    export CLASSPATH LD_LIBRARY_PATH
    
    
    # 11g 用户
    [root@V890 /]$ su - ora11g  
    # 将以下文本添加到 ~/.profile 中
    # oracle common path
    ORACLE_SID=ORA11G
    ORACLE_BASE=/u01/app/$LOGNAME
    ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    export ORACLE_SID ORACLE_BASE ORACLE_HOME
    
    # oracle exe path
    PATH=$ORACLE_HOME/bin:$PATH
    export PATH
    
    # lib/class  path
    CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/lib:/usr/lib
    export CLASSPATH LD_LIBRARY_PATH

    自此,Oracle 的安装前准备基本上设置完成,下一步可以开始安装 Oracle 。

  • 相关阅读:
    【Win 10 应用开发】Toast通知激活应用——前台&后台
    MySQL深入理解
    mysql 索引中的USING BTREE 的意义
    关于PHP将对象数据写入日志的问题
    Golang学习笔记
    git flow 使用步骤
    git flow常用命令
    Nginx Log日志统计分析常用命令
    Nginx配置中的log_format用法梳理(设置详细的日志格式)
    回调函数的原理及PHP实例
  • 原文地址:https://www.cnblogs.com/killkill/p/1754616.html
Copyright © 2011-2022 走看看