Oracle 10g R2 for Solaris x86在Solaris 11上的安装
最近因为需要,在学习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管理器实例在运行了,但是浏览器中输入http://jinsonghu:1158/em后,却打不开OEM管理页面,则先停止当前实例的运行,即先运行emctl stop dbconsole,再重新启动OEM管理器,emctl start dbconsole。
12. 停止oracle数据库- $sqlplus "/ as sysdba"
- SQL>shutdown immediate
- SQL>exit
- $lsnrctl stop
复制代码 |