Oracle10GInstallonSuSE10环境anticell-suse:~#uname-aLinuxanticell-suse2.6.16.46-0.12-bigsmp#1SMPThuMay1714:00:09UTC2007i686i686i386GNU/Linuxanticell-suse:~#free-mtotalusedfreesharedbufferscachedMem:4048133427140561109-/+buffers/cache:1673880Swap:205502055*Shared为0,后面会碰到问题。花了2个小时查这个问题。*swap为2055,太小,OS检查无法通过,需要增加Oracle安装过程1、确认各种软件是否已安装C/C++ToolSuSE默认安装的gcclibaio2、创建DBA和OINSTALL用户组:groupadd–g202dbagroupadd–g201oinstall3.创建oracle用户useradd-d/home/oracle–goinstall-Gdba-m-poracle-u1001-s/bin/bashoracle修改oracle用户的密码passwdoracle修改安装软件以及数据库目录权限:新建/opt/oracle目录chown–Roracle:dba/opt/oracle*其中默认NLS_LANG=AMERICAN,如果在中文OS下安装界面会产生乱码。建议在英文环境下安装。如果安装界面是乱码的话,到时可先exportLC_CTYPE=en_US.UTF-8,再安装即可。4、设置oracle环境变量a、vi.profile最后加入以下exportORACLE_BASE=/opt/oracleexportORACLE_HOME=$ORACLE_BASE/products/10.2.0/db_1exportORACLE_SID=test01exportPATH=$PATH:$HOME/bin:$ORACLE_HOME/binexportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/libb、编辑/etc/sysctl.conf文件:(修改核心参数,如果没有这个文件,自己vi一个)oracle@linux:~more/etc/sysctl.conf#Disableresponsetobroadcasts.#Youdon'twantyourselfbecomingaSmurfamplifier.net.ipv4.icmp_echo_ignore_broadcasts=1#enablerouteverificationonallinterfacesnet.ipv4.conf.all.rp_filter=1#enableipV6forwarding#net.ipv6.conf.all.forwarding=1###############net.core.rmem_default=262144net.core.rmem_max=262144net.core.wmem_default=262144net.core.wmem_max=262144kernel.shmall=2097152kernel.shmmax=2147483648kernel.shmmni=4096kernel.sem=25032000100128fs.file-max=65536net.ipv4.ip_local_port_range=102465000最大共享内存段尺寸(字节):shmmax=xxxxx*1024*2(为内存的2倍,切换到字节。要是超过这个值,在运行dbca时会出现Ora-27123:Unabletoattachtosharedmemeroysegment)----后来看到网上说官方文档建议是内存的1/2,Shmmni最小共享内存4096KB.Shmall所有内存大小,但是我照内存的2倍也能成功安装oracle。#最小共享内存段尺寸(字节)Shmmni4个参数依次为SEMMSL(每个用户拥有信号量最大数);SEMMNS(系统信号量最大数);SEMOPM(每次semopm系统调用操作数);SEMMNI(系统辛苦量集数最大数).注解:可以用sysctl–p来确认参数文件/etc/sysctl.conf中的内容,使用#/etc/init.d/boot.sysctlstart命令使参数文件中设置的参数生效,在这里要注意的一点是在系统重新启动之后不能自动读取刚才创建的文件。需要调整一下:#chkconfigboot.sysctlonc、编辑/etc/security/limits.conf文件,设置oracle对文件的要求linux:~#vi/etc/security/limits.conf#/etc/security/limits.conf#Eachlinedescribesalimitforauserintheform:#domaintypeitemvalue#Where:#domaincanbe:#-anusername#-agroupname,with@groupsyntax#-thewildcard*,fordefaultentry#-thewildcard%,canbealsousedwith%groupsyntax,#formaxloginlimit#typecanhavethetwovalues:#-softforenforcingthesoftlimits#-hardforenforcinghardlimits#itemcanbeoneofthefollowing:#-core-limitsthecorefilesize(KB)#-data-maxdatasize(KB)#-fsize-maximumfilesize(KB)#-memlock-maxlocked-in-memoryaddressspace(KB)#-nofile-maxnumberofopenfiles#-rss-maxresidentsetsize(KB)#-stack-maxstacksize(KB)#-cpu-maxCPUtime(MIN)#-nproc-maxnumberofprocesses#-as-addressspacelimit#-maxlogins-maxnumberofloginsforthisuser#-priority-theprioritytorunuserprocesswith#-locks-maxnumberoffilelockstheusercanhold#domaintypeitemvalue#*softcore0#*hardrss10000#@studenthardnproc20#@facultysoftnproc20#@facultyhardnproc50#ftphardnproc0#@student-maxlogins4#Endoffile#oraclesoftnproc2047#oraclehardnproc16384#oraclesoftnofile1024#oraclehardnofile65536#oraclehardnofile65536#oraclesoftnofile65536oraclehardnproc16384oraclesoftnproc16384d、修改/etc/profile文件ulimit–n1024005、启动oracle的xwindows,需要将root注销,用oracle用户登录启动xwindows:startx,不然无法启动oracle的xwindows,会提示说已经有用户启动xwindows。错误提示如下FatalservererrorServerisalreadyactivefordisplay0WhenyougetanerrorlikeFatalservererror:Serverisalreadyactivefordisplay0Ifthisserverisnolongerrunning,remove/tmp/.X0-lockandstartagain.如果你不注销root可以通过尝试方式Thisisdisplaynumber(0,default)andyoucan'truntwodisplayinsamesystemwithidenticaldisplaynumber.Ifyouwan'ttocheckifanyxserverisreallyrunning,invokepsaux|grep`cat/tmp/.X0-lock`andthiswillyeildanoutput164:foo79770.00.13928760pts/1S+23:210:00grep-i--colour-n14847fooisuser'sname,thepersonrunningthatstartxsession.Torunyoursession,youhavetwooption1)becomesuperuserandkillthethecorrespondingPID2)or,inabetterway,startadifferentX-sessionbyinvokingacommandlikestartx--:1tostartaserverwithdisplay1(Iwillpreferthisoption).补充下:我是通过vnc安装的,如果是telnet过去的话,远程装的话,还需要xhost+本机IP6、用oracle用户减压软件包unzip/tmp/oracle/10201_database_linux32.zip7、运行./runInstaller–ignoresysprereqs开始安装Oracle,–ignoresysprereqs忽略对操作系统的认证,Oracle10g默认不能安装在SUSELinux10上。当然也可以将安装文件拷贝到硬盘,修改database/install/oraparam.ini文件,将其中添加SuSE-10,这样可以不使用–ignoresysprereqs参数。但是这两种方法都只是在第一次OS认证时通过检测,在第二次时还是无法通过,第二次时需要手动选择这些没有通过的项目,就会变成“自己检测“而继续安装。8、先选择安装oracle,不建db。默认,点击“下一步“如果验证结果有错误,需要修正后再重新验证。待验证通过后再继续。如果有内存太小等警告可以忽略继续。然后点击”下一步”。这里报警swap太小,所以按照Swap=2phisicalmemory扩展swap从扩展到8096M,目前是2055Mddif=/dev/zeroof=/tmp/swapbs=1kcount=6041000mkswap/tmp/swapswapon/tmp/swap若要想使开机时自启用,则需修改文件/etc/fstab中的swap行:/tmp/swapswapswapdefaults00此时关掉安装界面重新开启后会报如下错误Oui-10030,因为我们之前装过一次,已经在/opt/oracle下面产生文件夹products和oraInventory。先删除之前产生的文件夹/opt/oracle/products和/opt/oracle/oraInventory.cd/opt/oracle/rm–rf*--此命令要小心下,会删除/opt/oracle/下面所有的文件,如果还有有用的文件时,需要制定文件夹删除,rm–rfproducts在安装的最后会要求以root用户执行两个脚本,如下图所示:打开一个终端用root用户执行如下命令(脚本文件的目录要和图中所示一致):sh/opt/oracle/oraInventory/orainstRoot.shsh/opt/oracle/10.2.0/root.sh然后点击”确定”结束Oraclesoftware的安