程序员人生 网站导航

SUSE Linux安装oracle10及问题解决

栏目:数据库应用时间:2015-02-06 09:09:52

总结了自己在Redhat5.5和SUSE10.1上装oracle10g的经验。


SUSE10安装了OraRun的时候,会自动建oracle用户,oinstall组和dba组,在etc/profile.d/目录下面生成oracle.sh脚本(设置ORACLE环境变量),在etc/sysconfig目录下生成名为“oracle”的文件(配置文件)。安装前用户需要先手动修改etc/passwd文件中oracle用户的默许shell,本人修改后为 oracle:x:103:108:Oracle user:/opt/oracle:/bin/bash ,然后root身份履行 “ passwd oracle”为其设置密码,再用oracle进入安装。


虽然说Orarun号称oracle安装的懒人包,不行的是第1次用倒惹来很多麻烦。觉得不如不用,毕竟最好是自己掌握安装的信息。主观以为Orarun会代替我们配置内核参数,但貌似不然,否则咱咋没见过有让我们选择内核参数的东西,难道Orarun用的内核参数都是统1的么。SUSE10下面没见/etc/sysctl.conf里面有内核同享内存方面的配置。但是肯定有1个地方决定这些内核参数的值。哪位大神能解答,希望留言赐教。暂时建议大家手动填写sysctl.conf中的内核参数,以便清晰自己系统当前内核参数是如何。


如果安装界面为乱码:修改环境变量 export LANG=CN 或 export LANG=EN


问题1:dhcp问题

Checking Network Configuration requirements ... 
Check complete. The overall result of this check is: Not executed <<<< 

解决方案:

    首先肯定自己机器是配置的静态IP地址,不要dhcp自动获得。如果不是error而是“1 requirement to be verified ”,就选中上面的框retry1下,可以理解为这里是让用户核实。开始在这里纠结了很久,由于没有理解英文的意思其实。retry以后下1步并没有甚么提示就说明正常。重要的是,其实不需要像网上的那样修改hosts文件甚么的,反而会越改越错。只要肯定配了静态IP就能够了,如果有配置主机和域名的地方,比如开始设置的主机名是ibm,域名是site,建议把域名改成localdomain,个人理解是这样就不需要找甚么域名服务器解析site这个域名了。


问题2:版本问题,在操作系统版本检测的时候出现

解决方案: 

    1 以SUSE10安装Oracle10G为例,oracle不支持SUSE10,修改/etc/SuSe-release文件,改 VERSION=9

    2 加参数"-ignoreSysPreReqs"。履行./runInstaller -ignoreSysPreReqs ,疏忽预先对操作系统版本的检测。

问题3: "unable to attach to shared memory segment"

解决方案:

    权限问题。把 $ORACLE_HOME/bin/目录加上suid权限 ,方法是 chmod u+s -R $ORACLE_HOME/bin/,权限6751oracle。


问题4:ORA-01031:insufficint privileges

解决方案:

    问题出现在使用其他用户(非oracle用户)使用时,比如想用其他用户 conn / as sysdba。网上说用grant命令给用户加权限,不过本人用了1种简单粗鲁的方法是直接把这个用户加入到dba组,命令:usermod -G dba 用户名 。-G可以设置用户所属组,多个组,-g是用户所属的基本组只有1个。


问题5:ORA⑵7102 out of memory 

解决方法:

    先检查本机的内核参数,同享内存大小的参数,cat查看/pro/sys/kernel/下面的文件内容,shmmax同享内存段大小 shmmni同享内存段最大数量 shmall系统1次可使用的同享内存总量(以页为单位,不小于shmmax/单页大小)。增大系统允许的最大值或减小oracle要求的内存大小。修改/etc/sysconfig/oracle里面的SHMMAX值。

在SUSE之外的系统安装Oracle,需要手动配置内核参数(虽然在Redhat5上安装的时候我并没有手动配置,由于看了下Redhat5的默许内核配置已满足Oracle安装需求),内核参数配置文件 /etc/sysctl.conf。

Redhat下的内核配置以下,其他系统可以参考修改部份参数,修改后立即生效命令" sysctl -p ",(读取sysctl.conf文件)

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 4294967295

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 268435456


ORACLE 10g的英文文档

尊重每个ERROR

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐