[原]在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 。