1、 这一篇带来的是在Solaris 10上安装Oracle 10g 准备工作: 1、Solaris 10系统,安装过程就不多说了,详情可以参考我以前的文章。 注意一点 分区的时候要手动设置是swap 1.5G以上,这次设了2G,硬盘空间也要足够大,我用了20G。 2 、Oracle for Solaris的软件,可以到Oracle官方下载 3、 远程控制软件,我选择xmanager3,虽然是用虚拟机装的系统,但我们仍旧当它是一个远程机器。 修改shell Solaris 10 默认用的是古老的shell,不方便,想改为linux那种。 缺省的shell 就是古老的she
2、ll echo $SHELL /sbin/sh 不过据说为了安全不建议更改,但这里我就改了,不然操作很不方便。 #which bash /usr/bin/bash gedit /etc/passwd 修改如图1所示 注销一下 就可以发现已经更改过来了。 允许远程登录 默认的Solaris是不允许的 vi /etc/ssh/ssh_config 修改 PermitRootLogin yes 如图2 svcadm restart ssh 重启生效。 关闭solaris图形界面 如果不想开机显示图形界面,减少资源开销,可以如下操作 -bash-3.
3、00# /usr/dt/bin/dtconfig -d 已作 禁止桌面自动启动。 关闭自动启动图形 /usr/dt/bin/dtconfig -d 允许自动启动图形 /usr/dt/bin/dtconfig -e 启动图形界面 /usr/dt/bin/dtlogin -daemon exit 停止sendmail 重启过后,进入字符模式,当输入命令的时候总是出现图3中的现象 解决方法:svcadm disable sendmail 停掉sendmail 就不会了 这节做环境配置 需要远程登录到主机上操作,之前我用的是pu
4、tty,filezilla这样的工具,而今天用另一种xmanager,它的组件xftp、xshell、xstart已经可以完成所需工作
-bash-3.00# ifconfig -a
lo0: flags=2001000849
5、2 inet 192.168.116.128 netmask ffffff00 broadcast 192.168.116.255 ether 0:c:29:66:1a:f9 在主机上得出IP地址之后,就可以连接了。 用xshell连接,如图4 官方要求的包 SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt 查看是否安装了包 -bash-3.00# pkginfo -i
6、SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs 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
7、 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 错误: 未发现”S
8、UNWi1cs”的信息
错误: 未发现”SUNWi15cs”的信息
本来想把这两个包从光盘里挑出来传进去安装,但其实不行的,只能从光盘直接读取
安装包
-bash-3.00# pwd
/cdrom/sol_10_807_x86/Solaris_10/Product
-bash-3.00# pkgadd -d /cdrom/sol_10_807_x86/Solaris_10/Product/SUNWi1cs
处理软件包范例
9、 Support(i386) 2.0,REV=2004.10.17.15.04 Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. 使用>作为包的基本目录 ## 正在处理软件包信息. ## 正在处理系统信息. 8软件包路径名已经正确地安装 ## 检查软件包的从属性 ## 检查磁盘空间需求 ## 检查同已经安装的软件包之间的冲突. ## 检查setuid/setgid程序。 在这个软件包中包含了正文程序,只有具有超级-用户的权限才能
10、在这个软件包
的安装过程中执行它们.
要继续安装
11、i386) 2.0,REV=2004.10.17.15.04 Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. 使用>作为包的基本目录 ## 正在处理软件包信息. ## 正在处理系统信息. 6软件包路径名已经正确地安装 ## 检查软件包的从属性 ## 检查磁盘空间需求 ## 检查同已经安装的软件包之间的冲突. ## 检查setuid/setgid程序。 在这个软件包中包含了正文程序,只有具有超级-用户的权限才能在这个软件包 的
12、安装过程中执行它们.
要继续安装
13、cle oracle -bash-3.00# passwd oracle 新口令: 请重新输入新口令: passwd:oracle 的口令已成功更改 -bash-3.00# chown -R oracle:oinstall fantlam 设置环境变量 -bash-3.00# su – oracle Sun Microsystems Inc. SunOS 5.10 Generic January 2005 -bash-3.00$ vi .bash_profile export PATH ORACLE_BASE=/fantlam ORACLE_HOME=
14、ORACLE_BASE/oracle ORACLE_SID=fantlam PATH=$ORACLE_HOME/bin:$PATH DISPLAY=192.168.1.100:0.0 export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH DISPLAY -bash-3.00$ exit logout -bash-3.00$ su – oracle 口令: Sun Microsystems Inc. SunOS 5.10 Generic January 2005 -bash-3.00$ env | grep ORA
15、ORACLE_SID=fantlam ORACLE_BASE=/fantlam ORACLE_HOME=/fantlam/oracle 用xftp把软件传到主机上 图5 解压oracle -bash-3.00$ ls 10202_database_solx86.zip oracle -bash-3.00$ unzip 10202_database_solx86.zip -bash-3.00$ ls -l 总数 1330932 -rw-r–r– 1 oracle oinstall 681090961 1月 24日 01:02 10202_databa
16、se_solx86.zip drwxrwxr-x 6 oracle oinstall 512 2006 7月 25 database drwxr-xr-x 2 oracle oinstall 512 1月 24日 09:37 oracle -bash-3.00$ pwd /fantlam -bash-3.00$ chown -R oracle:oinstall database/ 修改参数 用root用户修改 vi /etc/system 从solaris 10开始,对sem,shm的配置无法通过/etc/system文件来进行修改,
17、更改方式如下:ITPUB个人空间&K5^;{;x&L\ 1) 设置max-shm-memory的值为4GB:ITPUB个人空间M1Jv^ |*f[ #projadd -U oracle –K "project.max-shm-memory=(priv,4096MB,deny)" user.oracle .Ya7O$jD/G_8U t0V|26278797查看设置是否生效: 8TOI(X2@'A26278797# cat /etc/project |/i8C.`!AS0}b ~26278797在project文件的末尾能够看到新增加的一行ITPUB个人空间|y,zZ'G2l[ u
18、ser.oracle:100::oracle::project.max-shm-memory "F*rB ~ G}B26278797=(priv, 4294967296,deny)ITPUB个人空间ni0Ci&sL t)`.o/U[ ?26278797 2) 修改参数max-sem-idsITPUB个人空间Gd;}[#T!t D e # projmod -s -K "project.max-sem-ids=(priv,256,deny)" user.oracle R8nv \[0?26278797 检查修改是是否生效 查看是否生效ITPUB个人空间c8boXh`
19、6sdZ # su - oracle k,C+G|Q UN8y26278797$ prctl –i project user.oracle m\Pt9uY#VZi9o26278797project: 100: user.oracleITPUB个人空间#KvUBI#Xvw NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT ,VoA'r)M8[26278797。。。。。。 .jAf!O)U[B26278797ITPUB个人空间9M ^ t3P O{ project.max-shm-memory 0hQb5@8kQ aWLz{2627879
20、7 privileged 4.00GB - deny - j ]}Mj(T26278797 system 16.0EB max deny - ? Y.@}*p+}w*T26278797project.max-shm-ids 'f\-F;C$VJ26278797 privileged 128 - deny - pfOiw\K\8pD26278797 system 16.8M max deny -ITPUB个人空间[TDR&f!WfG&g/Fz,y project.max-msg-ids LJ(nB2mIZ RQ26278797 privileged 128 - de
21、ny - :pFD:b-Bd!e26278797 system 16.8M max deny - '`5]{E!Un2L\26278797project.max-sem-idsITPUB个人空间*U3Z{X1[q z6C privileged 256 - deny -ITPUB个人空间eK+jA7j system 16.8M max deny -ITPUB个人空间,_ S fb4Vd TY *\,W3Q oFuW-c6g26278797。。。。。。ITPUB个人空间@2B l h6qw^W ITPUB个人空间.Qle9g:l/y*b#~ 除了设置sem,shm参数外,还
22、需要在/etc/system中增加noexec_user_stack参数ITPUB个人空间{0eob9ZB # cp /etc/system /etc/system.orig 1i*N's$[)]9Iu:_26278797Vi /etc/systemITPUB个人空间2H$Sl@8c3ty%I set noexec_user_stack=1 .Z(Ro.`3nIdT26278797set shmsys:shminfo_shmmax=4294967296ITPUB个人空间aD?&[Ojo ITPUB个人空间F#m"vBW y4p } 使用xstart登录到主机,可以进行图
23、形界面操作,其实用xshell也是可以直接调出的。 图6 接下来跟着图一步步走 图7 下一步 图8 选择企业版 图9 弹出框可以不理会 图10 通过了所有检查,可以继续 图11 仅安装软件 图12 开始安装 图13 等待 图14 安装完成,按照提示要执行脚本 图15 -bash-3.00# cd /fantlam -bash-3.00# pwd /fantlam -bash-3.00# ./oraInventory/orainstRoot.sh 更改权限/fantlam/oraInventory 到 770
24、 更改组名/fantlam/oraInventory 到 oinstall. 脚本的执行已完成 -bash-3.00# ./oracle/root.sh Running Oracle 10g root.sh script… The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /fantlam/oracle Enter the full pathname of the local bin directory: [/usr/local/bin]:
25、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 whe
26、n a database is created Finished running generic part of root.sh script. Now product-specific root actions will be performed. OK 安装成功。 图16 set semsys:seminfo_semmns=1024 set semsys:seminfo_semmsl=256 set semsys:seminfo_semvmx=32767 set shmsys:shminfo_shmmax=4294967295 set shmsys:shmi
27、nfo_shmmin=1 set shmsys:shminfo_shmmni=100 set shmsys:shminfo_shmseg=10 不需要重启 使用xstart登录到主机,可以进行图形界面操作,其实用xshell也是可以直接调出的。 安装完数据库软件,开始安装数据库 配置监听器 -bash-3.00$ netca 图17 完成之后查看进程 ps -ef | grep /fantlam 可以看到监听程序已经运行起来了 -bash-3.00$ ps -ef | grep /fantlam oracle 751 632 0 19:39:33
28、pts/1 0:00 grep /fantlam oracle 749 1 0 19:36:46 ? 0:00 /fantlam/oracle/bin/tnslsnr LISTENER -inherit 创建数据库 -bash-3.00$ dbca 图24 基本上按默认走 图25 起个数据库名,注意提示 图27 设置口令 图29 图32 选择字符集 图34 图35 完成 图36 等待创建 图37 为scott用户解锁 图38
29、 这样数据库就创建完毕 查询oracle数据库字符集 SQL> select userenv(‘language’) from dual; USERENV(‘LANGUAGE’) ——————————————————————————– AMERICAN_AMERICA.AL32UTF8 数据库在系统启动时候默认没有自启动 手动启动数据库 SQL*Plus: Release 10.2.0.2.0 – Production on Fri Jan 29 19:12:06 2010 Copyright (c) 1982, 2005, Oracle. All Rights R
30、eserved. SQL> conn /as sysdba Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 289406976 bytes Fixed Size 1279820 bytes Variable Size 117442740 bytes Database Buffers 167772160 bytes Redo Buffers
31、 2912256 bytes Database mounted. Database opened. 启动监听器 -bash-3.00$ lsnrctl start LSNRCTL for Solaris: Version 10.2.0.2.0 – Production on 29-JAN-2010 19:36:44 Copyright (c) 1991, 2005, Oracle. All rights reserved. Starting /fantlam/oracle/bin/tnslsnr: please wait… TNSLSNR for Solaris:
32、 Version 10.2.0.2.0 – Production System parameter file is /fantlam/oracle/network/admin/listener.ora Log messages written to /fantlam/oracle/network/log/listener.log Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=unknown)(PORT=1521))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(K
33、EY=EXTPROC0))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=unknown)(PORT=1521))) STATUS of the LISTENER ———————— Alias LISTENER Version TNSLSNR for Solaris: Version 10.2.0.2.0 – Production Start Date 29-JAN-2010 19:36:46 Uptime
34、 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /fantlam/oracle/network/admin/listener.ora Listener Log File /fantlam/oracle/network/log/listener.log
35、 Listening Endpoints Summary… (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=unknown)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0))) Services Summary… Service “PLSExtProc” has 1 instance(s). Instance “PLSExtProc”, status UNKNOWN, has 1 handler(s) for this service… The command completed successfully -bash-3.00$ -bash-3.00$ ps -ef | grep /fantlam oracle 751 632 0 19:39:33 pts/1 0:00 grep /fantlam oracle 749 1 0 19:36:46 ? 0:00 /fantlam/oracle/bin/tnslsnr LISTENER -inherit 关闭数据库方法 SQL> shutdown immediate;






