我申请这个blog是为了督促自己,把自己平时的一些想法和思考结果保留下来。 本博客所有内容均为原创,如有转载请注明作者和出处

Solaris10上安装64位Oracle9201

上一篇 / 下一篇  2007-02-06 00:00:00 / 个人分类:ORACLE

第一次接触Solaris10,记录一下安装过程:


JSG[!NE5O7590422

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

# /usr/sbin/prtconf | grep "Memory size" ITPUB个人空间k;yn!{3T0HeODA
Memory size: 16384 MegabytesITPUB个人空间}5DFq,A
# /usr/sbin/swap -l
$f'Re{|.w*[7590422swapfile dev swaplo blocks freeITPUB个人空间0l*k1_e"B%saS.j
/dev/dsk/c1t0d0s1 118,9 16 36877808 36877808
1c(TLn&F7590422# df -k /ora9iITPUB个人空间 M2t sS9|I'_$B"wwD
Filesystem kbytes used avail capacity Mounted on
Ru{'oB IS7590422/dev/dsk/c1t1d0s0 140788090 65553 139314657 1% /ora9i

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

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

# uname -aITPUB个人空间i\6R#F&Z:X2L
SunOS ttsola10 5.10 Generic_118833-33 sun4u sparc SUNW,Sun-Fire-V490

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

# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot SUNWtoo SUNWi1of SUNWxwfntITPUB个人空间1z d%E7s*h_T ^ m(k/|
system SUNWarc Lint Libraries (usr)
Kgr _X({!ma7590422system SUNWbtool CCS tools bundled with SunOSITPUB个人空间B0yjZ K6jY
system SUNWhea SunOS Header Files
@7@LeW3pg F7590422system SUNWi1of ISO-8859-1 (Latin-1) Optional Fonts
1|1yH N4h u aV+s7590422system SUNWlibm Math & Microtasking Library Headers & Lint Files (Usr)ITPUB个人空间7A?5fD+Hz{
system SUNWlibms Math & Microtasking Libraries (Usr)ITPUB个人空间 |Xy$iGR q
system SUNWsprot Solaris Bundled tools
Iid@O7590422system SUNWtoo Programming ToolsITPUB个人空间cmvYm6yq
system SUNWxwfnt X Window System platform required fonts

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

# java -versionITPUB个人空间F&`\k:DyI
java version "1.5.0_07"
$ji&J"H-W0X2pN7590422Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-b03)
h/\d/XL }R!^K7590422Java HotSpot(TM) Server VM (build 1.5.0_07-b03, mixed mode)

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

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

set shmsys:shminfo_shmmax=8589934592
4Y~{4D%F u7590422set shmsys:shminfo_shmmin=1
"L\W6YQ_ qKK7590422set shmsys:shminfo_shmmni=100
8~WjOc#BG f7590422set shmsys:shminfo_shmseg=10ITPUB个人空间DU,_`.` }tT
set semsys:seminfo_semmni=100ITPUB个人空间#|$a_K9h x'L8T
set semsys:seminfo_semmsl=256ITPUB个人空间~1y2Ktf3q.z%~
set semsys:seminfo_semmns=1024

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

# groupadd dba
9}E#K'ex,}7590422# groupadd oinstallITPUB个人空间z@o3o r9C%i
# mkdir /export/home/oracle
#ua&S%H5_&grXk7590422# useradd -g oinstall -G dba -d /export/home/oracle oracle
C(@y'i8~!HGF%{M0O7590422# passwd oracle

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

# chown -R oracle:oinstall /export/home/oracle
mdG hO.{(|F7590422# chown -R oracle:oinstall /ora9i

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

# su - oracle

$ vi .profile

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

ORACLE_SID=testITPUB个人空间1W+k4]e4Z0S
export ORACLE_SID
e[2?:f~[%nc7590422ORACLE_BASE=/ora9i/oracle/ora92ITPUB个人空间s\!^4G m
export ORACLE_BASEITPUB个人空间V![0a F:N
ORACLE_HOME=$ORACLE_BASE/product/9.2ITPUB个人空间 u_ TY1A*}W0MPv
export ORACLE_HOMEITPUB个人空间O![;u6b-g H?k
PATH=$PATH:$ORACLE_HOME/bin:/usr/bin:/usr/ccs/bin:/etc:/usr/openwin/binITPUB个人空间sn1G8T\ d
export PATH
hk;t7E.q5{g~7590422NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
pAP.~{4a8hc7590422export NLS_LANGITPUB个人空间{B\3?sN2p
DISPLAY=172.25.6.201:1.0
6L2`R9?$d$G%}7590422export DISPLAY

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

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

使用XManagerroot登陆,执行

# xhost +ITPUB个人空间];d vwT(Q1V
access control disabled, clients can connect from any host
$B?V/\ M+[A m7590422# su - oracle

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

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

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

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

配置TNSNAMELISTENER步骤很简单,就不描述了。

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

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

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

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


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar