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

posted @ 2010-06-24 21:44  killkill  阅读(2171)  评论(0编辑  收藏  举报