前一段时间本打算安装Solaris上的Oracle,可惜一是没有安装文档,二是操作系统版本不够高,最近下载了一个最新的Solaris 10,安装一下Oracle 11.2.0.1 for Solaris 10 sparc。
首先检查硬件情况:
# /usr/sbin/prtconf | grep "Memory size"
Memory size: 4096 Megabytes
# /usr/sbin/swap -l交换文件 dev swaplo blocks free
/dev/dsk/c2t0d0s1 118,9 16 8389632 8389632
# /bin/isainfo -kv
64-bit sparcv9 kernel modules
# df -k /tmp文件系统 千字节 用了 可用 容量 挂接在
swap 7109504 80 7109424 1% /tmp
# df -k /data文件系统 千字节 用了 可用 容量 挂接在
/dev/dsk/c2t1d0s7 35024906 1282138 33392519 4% /data
硬件一般都不是问题,连这个N年的老480都能满足要求。
下面看软件要求:
# uname -r
5.10
# more /etc/release
Solaris 10 10/09 s10s_u8wos_08a SPARC
Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
Use is subject to license terms.
Assembled 16 September 2009
Oracle要求的系统版本必须是U6以上,08年10月之后的版本。
检查系统包:
# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibC SUNWlibm SUNWlibms SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt SUNWcsl
system SUNWarc Lint Libraries (usr)
system SUNWbtool CCS tools bundled with SunOS
system SUNWcsl Core Solaris, (Shared Libs)
system SUNWhea SunOS Header Files
system SUNWi1of ISO-8859-1 (Latin-1) Optional Fonts
system SUNWlibC Sun Workshop Compilers Bundled libC
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
错误: 未发现"SUNWi1cs"的信息
错误: 未发现"SUNWi15cs"的信息
这里缺少了SUNWi1cs和SUNWi15cs两个包,不过记得以前的版本似乎确实这两个包也能安装成功,这里暂时忽略这个问题。
下面检查系统patch信息:
120753-06
139574-03
119963-14
124861-15
125555-03
140796-01
140899-01
141016-01
139555-08
141414-10
141736-05
对于SPARC芯片的CPU,确保操作系统安装的补丁大于上面补丁号,可以通过patchadd –p | grep来检查补丁安装情况:
# patchadd -p | grep 120753
Patch: 120753-07 Obsoletes: Requires: Incompatibles: Packages: SUNWlibmsr SUNWlibm
其中前面两个是必须的,随后的两个对于编译C/C++ OCI等程序所需。
最后的几个是Database Smart Flash Cache所需的。
下面创建组和用户:
# groupadd oinstall
# groupadd -g 502 dba
# groupadd -g 503 oper
# groupadd -g 504 asmadmin
# groupadd -g 505 asmoper
# groupadd -g 506 asmdba
# useradd -u 502 -g oinstall -G dba,asmdba,oper oracle
# passwd -r files oracle
# mkdir /export/home/oracle
# chown -R oracle:dba /export/home/oracle
# usermod -d /export/home/oracle oracle
在Oracle用户下检查SHELL的限制:
# su – oracle
$ ulimit -t -f -d -s -n -v时间(秒) 没有限制文件(块) 没有限制数据(千字节) 没有限制栈(千字节) 8192文件数(描述符) 256存储区(千字节) 没有限制
堆栈和文件数设置比推荐值小,对这两个参数进行设置
编辑Oracle的启动shell脚本:
$ vi .profile
".profile"[新文件]
ulimit -s 32768
ulimit -n 65536
ORACLE_SID=ora112
export ORACLE_SID
ORACLE_BASE=/data/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2
export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH
export PATH
DISPLAY=172.25.0.115:1.0
export DISPLAY
利用root建立Oracle的ORACLE_BASE目录,并授权:
# mkdir -p /data/oracle/product/11.2
# chown -R oracle:oinstall /data
最后修改系统的参数限制:
set noexec_user_stack=1
set semsys:seminfo_semmni=100
set semsys:seminfo_semmns=1024
set semsys:seminfo_semmsl=256
set semsys:seminfo_semvmx=32767
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmni=100
在/etc/system文件中添加上面的配置。如果愿意可以重新系统使配置生效,不过11gr2的安装程序,可以自动调整系统的配置。
下面解压文件后,用root登陆图形界面设置xhost +后,就可以开始安装过程了:
# xhost +
access control disabled, clients can connect from any host
# su - oracle
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
$ cd /data/database
$ ./runInstaller
安装界面最开始的部分就是提供给Oracle支持的邮件地址信息以及metalink帐号,Oracle把支持部分的内容放到了第一个页面,其中深意不言而喻了。这里如果不提供用户信息,Oracle还会弹出一个告警的对话框。
安装选项部分可以选择安装配置数据库、只安装软件和升级已经存在的数据库。这里选择了只安装软件,一会打算手工启动DBCA来安装数据库。
接着是网格配置,选择单实例数据库还是RAC环境。
语言选择添加简体中文。
然后安装版本选择企业版。
在安装位置设置合适的ORACLE_BASE和ORACLE_HOME目录。
确认组选项后,开始操作系统、硬件的检查。
这里检查出操作系统的内核设置不满足要求,不过可以利用安装程序自动修复。点击修补并再次检查后,弹出对话框,要求用root执行一个脚本:
# /var/tmp/CVU_11.2.0.1.0_oracle/runfixup.sh
/usr/bin/id
Response file being used is :/var/tmp/CVU_11.2.0.1.0_oracle/fixup.response
Enable file being used is :/var/tmp/CVU_11.2.0.1.0_oracle/fixup.enable
Log file location: /var/tmp/CVU_11.2.0.1.0_oracle/orarun.log
Setting Kernel Parameters...
99
修复后,还有一个补丁的错误,这里选择忽略。
最后运行两个脚本后,安装顺利完成:
# /data/oraInventory/orainstRoot.sh更改权限/data/oraInventory.添加组的读取和写入权限。删除全局的读取, 写入和执行权限。
更改组名/data/oraInventory 到 oinstall.脚本的执行已完成。
# /data/oracle/product/11.2/root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /data/oracle/product/11.2
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Creating /usr/local/bin directory...
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /var/opt/oracle/oratab file...
Entries will be added to the /var/opt/oracle/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
首先利用NETCA配置监听和本地服务命令,然后利用dbca完成建库操作。
bash-3.00$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期三 7月 7 15:15:15 2010
Copyright (c) 1982, 2009, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select * from v$version;
BANNER
------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Solaris: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production