最近因为需要,在学习Solaris系统上的Oracle应用的开发。于是从SUN公司的网站上下载了Solaris 11 for x86,从Oracle网站上下载了Oracle 10g Realse 2(10.2.0.2)x86,安装学习。由于初次接触Solaris系统,虽然参考了Oracle的安装文档B15697,《Oracle Database Installation Guide 10g Release 2 (10.2) for Solaris Operationg System (x86)》,整个安装过程还是颇费周折,在这里记录下来安装过程,与大家分享,也方便日后参考。
1. 安装操作系统
从SUN公司的网站上下载了Solaris 11。它捆绑了许多实用的软件,如Sun Studio 10, OpenOffice, MySql, Gedit, Realplay, Mplay等等,且在Oracle安装文档中提及的软件包和补丁都不用另行再安装了。
2. 下载Oralce 10g R2 for Solaris x86
10202_database_solx86.zip
3. 解压软件
#unzip 10202_database_solx86.zip
注意:一定要在Solaris环境的终端环境中用unzip工具解压,否则都解压不完全。我在Windows下,和在Solaris文件管理器中解压都出错,而且还不报错,害我一直以为自己系统其它配置不对,为此郁闷近两个星期。
4. 增加oracle用户和组
#groupadd oinstall
#groupadd dba
#groupadd oper
#useradd -g oinstall -G dba,oper -d /export/home/oracle oracle
#mkdir /export/home/oracle
#chown oracl:oinstall /export/home/oracle
#passwd oracle
5. 设置环境变量
a. 修改 /etc/system,在其中添加
#/etc/system
set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=256
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmni=100
注意:修改后重新启动系统,使之生效。
b. 以root用户身份,添加group.dba项目
#projadd -U oracle -p 100 group.dba
c. 修改/etc/user_attr,在其中添加
oracle::::project=group.dba
d. 切换到oracle用户环境,用id -p命令检验b、c两步的正确性。
#su oracle
$id -p
uid=100(oracle) gid=100(dba) projid=100(group.dba)
注意:如果id -p命令结果是oracle用户的默认project是新建的group.dba,则说明b、c两步操作正确。
e. 查看项目group.dba的资源配置
#prctl -n project.max-shm-memory -i project group.dba
project: 100: oracle
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory privileged 2.00GB - deny
f. 调整项目group.dba的资源分配
#prctl -n project.max-shm-memory -v 4gb -r -i project group.dba
#projmod -sK "project.max-shm-memory=(privileged,4294967295,deny)" group.dba
第一命令动态调整项目group.dba资源配置值,第二命令将调整值写入/etc/project文件中,使系统重启后调整值依然有效。
注意:为了调整项目group.dba的资源配置,必须保证系统此时至少有一个会话是以oracle用户身份登录的。即为了调整oracle用户的项目group.dba的资源,必须至少另开一个终端,以su oracle切换到oracle用户身份。
查看调整后的结果:
#cat /etc/project
system:0::::
user.root:1::::
noproject:2::::
default:3::::
group.staff:10::::
group.dba:100::::project.max-shm-memory=(privileged,4294967295,deny)
#
6. 创建oracle数据库的安装目录
#mkdir -p /database/app/oracle/product/10.2.0/db_1
#mkdir -p /database/app/oracle/oradata
#mkdir -p /database/app/oracle/flash_recovery_area
#chown -R oracle:oinstall /database
#chmod -R 755 /database
7. 创建oracle用户的启动文件/export/home/oracle/.profile,在其中设置oracle用户的环境参数。
#/export/home/oracle/.profile
#tmp directory settings
TMP=/tmp
export TMP
TMPDIR=$TMP
export TMPDIR
#oracle settings
ORACLE_BASE=/database/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_HOME
ORACLE_SID=jshu
export ORACLE_SID
#path settings
PATH=$ORACLE_HOME/bin:$PATH
export PATH
#display settings
DISPLAY=jinsonghu:0.0
export DISPLAY
#umask settings
umask 022
8. 启动OUI,安装oracle数据库
a. 首先,以root用户身份登录,给予终端运行X Window的权限
$su -
#xhost +jinsonghu
b. 切换到oracle用户,保证启动文件得以运行,环境参数得以设置
#su oracle
$. /export/home/oracle/.profile
注意:第二行中,.和/中间要有一个空格。
c. 进入前面用unzip解压后的目录,修改Oracle安装程序的两个配置文件:database/install/oraparam.ini和database/install/oraparamsilent.ini。将其中的5.10
[Certified Versions]
Solaris=5.10
Linux=redhat-3,SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2
……
[Solaris-5.10-required]
……
[Solaris-5.10-optional]
……
改成5.11。
[Certified Versions]
Solaris=5.11
Linux=redhat-3,SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2
……
[Solaris-5.11-required]
……
[Solaris-5.11-optional]
……
注意:因为Oracle 10g R2 for Solaris x86的默认Solaris版本是Solaris 10。
c. 启动OUI
$./runInstaller
一旦oracle数据库的安装界面起来了,后面的安装就简单了,其中在系统检查是发现系统是Solaris 11,会出现警告,忽略就行了。
9. 启动oracle数据库。类似于在Windows中开启数据库监听服务和数据库实例服务
#su oracle
$lsnrctl start
$sqlplus "/ as sysdba"
SQL>startup
SQL>exit
$
10. 在服务器端,启动OEM管理器。类似于在Windows中开启OEM管理服务
$emctl start dbconsole
11. 停止OEM管理器
$emctl stop dbconsole
注意:如果启动OEM管理器时,系统提示说系统中已有一个OEM管理器实例在运行了,但是浏览器中输入后,却打不开OEM管理页面,则先停止当前实例的运行,即先运行emctl stop dbconsole,再重新启动OEM管理器,emctl start dbconsole。
12. 停止oracle数据库
$sqlplus "/ as sysdba"
SQL>shutdown immediate
SQL>exit
$lsnrctl stop