Chinaunix首页 | 论坛 | 博客
  • 博客访问: 810852
  • 博文数量: 167
  • 博客积分: 7173
  • 博客等级: 少将
  • 技术积分: 1671
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-04 23:07
文章分类

全部博文(167)

文章存档

2018年(1)

2017年(11)

2012年(2)

2011年(27)

2010年(88)

2009年(38)

分类: Oracle

2009-08-21 17:12:23

今次第三次在Solaris 上安装Oracle 10g了,写出来留念一下:(现对那内核参数的设置也自己发觉比以前更多不懂了,下个星期到实验做多几次实验才行)
安装环境的需求:至少要2G free disk(这包含装了一个初始数据库的大少了);内存 至少256M(最好在
512M以上);
今次我下载了zip形式的压缩包;
 回顾一下要修改的几个文件/etc/system  $oraclehome/.profile
/etc/system 要增加的内核参数:
官方文件默认设置的参数和值:
set shmsys:shminfo_shmmax = 4294967296
set shmsys:shminfo_shmmin = 1
set shmsys:shminfo_shmmni = 200
set shmsys:shminfo_shmseg = 30
set semsys:seminfo_semmni = 100
set semsys:seminfo_semmsl = 510
set semsys:seminfo_semmns = 1520
set semsys:seminfo_semopm = 100
set semsys:seminfo_semvmx = 32767
set noexec_user_stack=1
set noexec_user_stack_log=1


   shmmax - 共享内存段,建议设大点, 达到最大SGA  
  shmmin - 最小的共享内存段.  
  shmmni - 共享内存标志符的数量.  
  shmseg - 一个进程可分配的最大内存段数.  
  shmall - 最大可允许的内存数,比SGA还要大.  
  semmns - 信号量,跟ORACLE的PROCESS数有关.  
  semmsl - 一个信号量中最大的信号量数.  


   shmsys:shminfo_shmmni;shmsys:shminfo_shmmax两个参数已过时;不再需要修改/etc/system文件并reboot,而是通过prctl 命令来进行实时修改,再用projmod命令可以将此保存,重启后仍然生效。projmod命令是 将参数保存在 /etc/project文件中。
   在solaris10中如果采用默认方式安装Oracle10g,只需要修改max-shm-memory这一个参数即可。
在ORACLE的官方文档中,将max-shm-memory和shmsys:shminfo_shmmax这l两个参数对应起来,并加了一个推荐值4294967295,但实际上这两个参数意义并不相同。shmsys:shminfo_shmmax是一个共享内存段的最大值,而project.max-shm-memory是属于同一个project的用户所能够创建的共享内存总和最大值,在数值上,project.max-shm-memory=shmsys:shminfo_shmmax*shmsys:shminfo_shmmni(这一段参考其他人的文章)
   如果project.max-shm-memory为4G的话,在不考虑其他用户使用共享内存的情况下,则oracle用户下所有数据库的SGA和不能超过4G,如果只有一个数据库,则这个数据库的SGA不能大过4G。
    安装过程中会报out of memory 错误,应该是由于Oracle创建shared memory segment 时,其大小超过了设置的max-shm-memory值,而Oracle创建shared memory segment 是根据SGA/PGA 大小的,所以由此得到两种解决办法:一是调小SGA,另一个是将max-shm-memory改大(也不是越大越好,一般为物理内存的一半即可,具体根据实际情况修改)。(这一段参考其他人的文章)


$oraclehome/.profile增加所需要的环境变量:
ORACLE_BASE=/export/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.0
ORACLE_SID=ora10g
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
PATH=$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:/usr/local/lib:/usr/lib
DISPLAY=127.0.0.1:0.0
TMPDIR=/var/tmp
export ORALCE_BASE ORACLE_HOME ORACLE_SID NLS_LANG PATH
LD_LIBRARY_PATH
DISPLAY TMPDIR
umask 022
SHMMAX    4294967296
SHMMIN     1
SHMMNI     200
SHMSEG    30
SEMMNI     100
SEMMSL     510
SEMMNS     1520
SEMOPM     100
SEMVMX     32767


改好这system这个文件就可以进行安装了:
创建用户组和用户
#groupadd oracle
#useradd -g oracle -d /export/home/oracle -m oracle
#passwd oracle
(设置oracle改用户密码)

为什么要创建oracle这个用户和组呢;就是用这个身份去安装oracle的 在安装的过程中呈现会自动搜索到这个用户的信息;如下图:


基本系统的设置都已完成,需要重新启动下设备,让更改的系统内核参数生效
#shutdown -y -g0 -i6

(如果是下载了cpio.gz的  可以通过gunzip oracle.cpio.gz;cpio -ivmd < oracle.cpio进行解压)
$cd /export/oracle/oracle10g
//以下更改权限的操作只是我自己的情况,发现解压后有些文件没有相应的权限,为了不麻烦就把它变成777
$chown 777 runInstaller
$cd install
$chown 777 resource response .oui addLangs.sh addNode.sh lsnodes oraparam.ini
   oraparamsilent.ini runInstaller.sh unzip
//以上我为了方便把全部文件都改了777   其实只要把.oui unzip 文件改为可执行的就行了  因为在
安装过程中要运行这两个   如果你在安装过程中遇到.oui can not execute 其中有一个原因是因为这个
执行权限问题   另一个我碰到的原因是oracle的跟操作系统的类型系列不匹配 PS:不是版本哦  因为版本的错可以通过修改文件就能通过的

这样就可以运行安装程序了
$./runInstaller
接下来就是图形化的安装了,跟win下的安装一样(我是通过Xmanager进行远程图形化安装的)





"/export/oracle/ora10g/product/10.2.0/db_1/cfgtoollogs/configToolFailedCommands"脚本包含所有失败的,跳过的或者取消的命令.可以使用此围歼在OUI外运行这些Configuration Assistant. 

下次写一下安装完之后怎么测试所装的oracle 的性能。


阅读(2195) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

weiyean2009-09-05 20:06:13

有空到unix实验室玩,www.unix010.com