Solaris10上安装64位Oracle9201

  根据Oracle官方文档的步骤进行安装,首先是对系统需求的检查:

# /usr/sbin/prtconf | grep "Memory size"
Memory size: 16384 Megabytes
# /usr/sbin/swap -l
swapfile dev swaplo blocks free
/dev/dsk/c1t0d0s1 118,9 16 36877808 36877808
# df -k /ora9i
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c1t1d0s0 140788090 65553 139314657 1% /ora9i

  内存必须大于512M,SWAP的大小应该大于1G或者内存的大小,对于一个数据库来说,磁盘空间应该不是问题的。

  下面是检查操作系统的情况:

# uname -a
SunOS ttsola10 5.10 Generic_118833-33 sun4u sparc SUNW,Sun-Fire-V490  

  检查系统包和字体包的安装情况:

# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot SUNWtoo SUNWi1of 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  

  最后检查JRE所需版本,最新版本要求是1.1.8

# java -version
java version "1.5.0_07"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-b03)
Java HotSpot(TM) Server VM (build 1.5.0_07-b03, mixed mode)  

  满足安装Oracle的最小要求后,就可以使用root用户来设置系统参数并创建Oracle用户了。

  在/etc/system文件后面添加下面内容:

set shmsys:shminfo_shmmax=8589934592
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10
set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=256
set semsys:seminfo_semmns=1024

  这是对系统内存参数的调整,修改完毕后重新操作系统。

# groupadd dba
# groupadd oinstall
# mkdir /export/home/oracle
# useradd -g oinstall -G dba -d /export/home/oracle oracle
# passwd oracle  

  建立组和用户后,为oracle设置安装软件的路径和权限:

# chown -R oracle:oinstall /export/home/oracle
# chown -R oracle:oinstall /ora9i  

  下面root用户的工作结束,切换到oracle用户:

# su - oracle
$ vi .profile

  编辑.prifle文件,添加下列内容:

ORACLE_SID=test
export ORACLE_SID
ORACLE_BASE=/ora9i/oracle/ora92
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/9.2
export ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/bin:/usr/bin:/usr/ccs/bin:/etc:/usr/openwin/bin
export PATH
NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export NLS_LANG
DISPLAY=172.25.6.201:1.0
export DISPLAY

  由于使用XManager,因此设置DISPLAY为IP:1.0。然后建立所需安装路径:

$ mkdir -p /ora9i/oracle/ora92/product/9.2

  使用XManager用root登陆,执行

# xhost +
access control disabled, clients can connect from any host
# su - oracle  

  进入disk1目录,执行./runInstaller,进入Oracle的安装图形界面:

  在UNIX Group Name的地方填入刚才建立oinstall,点击NEXT,然后以root执行/tmp/orainstRoot.sh脚本。

  再安装过程中选择产品的时候把简体中文语言Simplified Chinese选择上,剩下的一路NEXT就可以了。

  当软件安装结束后,会提示以root执行$ORACLE_HOME目录下的root.sh脚本,执行后,点击ok,Oracle软件部分就安装完成了。

  配置TNSNAME和LISTENER步骤很简单,就不描述了。

  下面是建立数据库,这个过程也没有什么好说的,整个过程也没有什么值得一提的。

  虽然过程本身很简单,但是我还是碰到了一点麻烦。用dbca生成脚本的时候,dbca本身的bug,在修改文件的大小时,Oracle没有在原有数据文件上修改大小,而是新增了一条数据文件。而我生成脚本的时候也没有注意。等到建立数据库的时候报错才发现问题。

  由于Solaris10系统是第一次使用,首先怀疑到操作系统对数据库支持有问题。不过一般情况下,出错都发生在安装过程中,数据库建立一般很 少出错。检查alert脚本,根据错误信息描述,感觉似乎是空间不足造成的。可是目标目录明明有足够的空间,于是又把怀疑的目光放到操作系统的限制上,结 果在尝试修改建库脚本中数据文件的大小时才发现,dbca为SYSTEM表空间添加了5M的数据文件。解决这个问题后,建库过程顺利完成。

  其实,如果是一个熟悉的操作系统,那么可能定位问题会更快一些。当碰到问题的时候,总是习惯于将怀疑的对象定位于不熟悉的部分,很多时候确实是由于不熟悉的部分引发的错误,但是有的时候却容易误入歧途,本来很容易定位的问题,需要绕过一个很大的圈子才找到错误的原因。