设为首页 收藏本站
查看: 1213|回复: 0

[经验分享] 12.4号-----在centOS 6.3上安装oracle 10G的问题大总结

[复制链接]

尚未签到

发表于 2016-5-12 10:36:25 | 显示全部楼层 |阅读模式
  昨天因为一直做实验在centOS上安装oracle实验,可能本人是第一次安装吧。竟然一天半的时间,昨天还加班有2点多。不过今天上午总算把它给搞定。 DSC0000.gif 还是挺开心。今天就把昨天的博客补上吧,整理一下我遇到的所有问题吧。这些问题可把我给搞死了。废话少说,开始吧
  我在安装过程遇到的问题用红字标出来,给大家参考一下。不对的地方请多指教啊。
  我的环境是vwmare 9 ,centOS, oracle 10G 32位
  1.主要的参考文章:http://www.cnblogs.com/mchina/archive/2012/11/06/2737472.html
  http://www.cnblogs.com/mchina/archive/2012/11/27/2782993.html
  

  
  一、硬件要求
  1、内存 & swap
  Minimum: 1 GB of RAM

Recommended: 2 GB of RAM or more
DSC0001.jpg

检查内存情况

# grep MemTotal /proc/meminfo

# grep SwapTotal /proc/meminfo
  2、硬盘
  由于CentOS安装后差不多有4~5G,再加上Oracle等等的安装,所以请准备至少10G的硬盘空间。

检查磁盘情况

# df -h
DSC0002.jpg


  二、软件
  系统平台:CentOS 6.3(x32)
  CentOS-6.3-i386-bin-DVD1.iso
  Oracle版本:Oracle 10g R2
  10201_database_linux32.zip
  三、系统安装注意
  系统安装时一定要安装桌面模式,否则无法安装oracle,另外请勿开启SELinux,oracle官方不建议使用SELinux,CentOS的防火墙也请暂时关闭,减少安装时的困扰。为防止Oracle安装过程中出现乱码,建议使用英文作为系统语言,进行Oracle的安装工作。
  本文中所描述的系统命令,未经特殊标示,均为“#”代表root权限,“$”代表oracle权限。
  四、安装Oracle前的系统准备工作
  首先,请先以root账号登入作一些前置设定作业。
  1、关闭防火墙、禁用SELinux

  # setup
DSC0003.jpg
  # vi /etc/selinux/config
  修改SELINUX=disabled,然后重启。

如果不想重启系统,使用命令setenforce 0

DSC0004.jpg
  这个上面没有什么好说的,大家先安装一个centOS系统吧,小那个安装文件好像就是400多M吧,大的吗就多了许多软件了,看自己喜欢了。
  

  2、安装依赖包
  Oracle官方文档要求的安装包:
DSC0005.jpg
  查看Oracle相关包是否已经安装:
DSC0006.jpg
  这里有一个地方,作者可能没说清楚吧,就安装包的问题,在安装这些包的时候一定要保证你的centOS系统可以连接外网(可能我一个菜鸟吧,所以不知道,后来在网上几个安装包的教程,改改了,后来都改乱了)其实只要保证可以访问外网就可以照着下面的命令敲。我用是vwmare host-only和ics来上网的(具体设置网上找)
  用yum方式安装所需的包:
  # yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc
libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat
  最后还需要安装libXp这个Library,这个一定要安装,否则安装Oracle时会出现java Exception。
  # yum install libXp
DSC0007.jpg
  3、创建Oracle用户与组
  在这里只讨论单主机环境,不考虑RAC环境的配置。
  执行以下指令以新增oracle安装时所需要的使用者与群组。
  (1) 建立群组oinstall

# groupadd oinstall
  (2) 建立群组dba

# groupadd dba
  (3) 新增使用者oracle并将其加入oinstall和dba群组

# useradd -m -g oinstall -G dba oracle
  (4) 测试oracle账号是否建立完成

# id oracle
  (5) 建立oracle的新密码

# passwd oracle
DSC0008.jpg
  4、将oracle使用者加入到sudo群组中
  # vi /etc/sudoers

找到root ALL=(ALL) ALL 这行,并且在底下再加入

oracle ALL=(ALL) ALL

输入wq!(由于这是一份只读文档所以需要再加上!)并且按下Enter
DSC0009.jpg
  5、配置系统内核参数
  # vi /etc/sysctl.conf
  并输入以下内容:
  kernel.shmall = 2097152 //表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改

kernel.shmmax = 2147483648 //定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G

kernel.shmmni = 4096 //用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改

kernel.sem = 250 32000 100 128 //表示设置的信号量

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=4194304 //默认的接收窗口大小

net.core.rmem_max=4194304 //接收窗口的最大大小

net.core.wmem_default=262144 //默认的发送窗口大小

net.core.wmem_max=262144  //发送窗口的最大大小
  net.core.wmem_max=262144 这个地方在安装检测的时候报错。我看了输入是一模一样的。后来没办法直接把这句话删除了重新输入一遍就好了。好神奇。

  会有一些与目前的参数重复的,就修改成文件上提供的。
DSC00010.jpg
  编辑完之后,储存,然后执行:
  # sysctl –p
  启用刚刚所做的变更。
DSC00011.jpg
  6、编辑/etc/security/limits.conf
  # vi /etc/security/limits.conf

加入以下四行

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536
DSC00012.jpg
  7、编辑/etc/pam.d/login
  # vi /etc/pam.d/login

session required /lib/security/pam_limits.so

session required pam_limits.so
DSC00013.jpg
  8、修改/etc/profile
  # vi /etc/profile
  将以下代码新增到profile档案中。

DSC00014.gif

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi



DSC00015.jpg
  9、修改Linux发行版本信息

由于Oracle 10g发行的时候,CentOS 6没有发行,所以Oracle 10g并没有对CentOS 6确认支持,需要修改文件让Oracle 10g支持CentOS 6。

我们需要手工修改Linux的发行注记,让Oracle 10g支持CentOS 6。

编辑/etc/redhat-release文件

# vi /etc/redhat-release

将其中的内容CentOS release 6.3 (Final)修改为redhat 4
DSC00016.jpg
  10、创建Oracle安装文件夹以及数据存放文件夹
  #mkdir /opt/oracle

#mkdir /opt/oracle/102

#chown -R oracle:dba /opt/oracle
DSC00017.jpg

11、配置Linux主机

检查/etc/hosts文件中是否有localhost的记录(指向127.0.0.1即可),若没有的话,在后面配置Oracle监听的时候会出现一些问题,导致无法启动监听,在此手工添加此记录即可。
DSC00018.jpg
  第一阶段到此完毕,接下来,完成这些设定之后,请先注销root账号,并且以oracle账号再次登入系统。


  12、配置oracle用户环境变量
  $ cd /home/oracle

$ vi .bash_profile

修改并加入以下內容
  ORACLE_BASE=/opt/oracle //上面创建的Oracle安装文件夹

ORACLE_HOME=$ORACLE_BASE/102

ORACLE_SID=orcl

LD_LIBRARY_PATH=$ORACLE_HOME/lib

PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
  export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
  这里的路径可能要改一下
DSC00019.jpg
  保存后使用如下命令,使设置生效:
  $ source /home/oracle/.bash_profile
  五、安装Oracle,并进行相关设置
  1、解压缩安装文件
  将下载的10201_database_linux32.zip放至即将安装oracle的文件夹/opt/oracle

回到终端模式并且进入到oracle文件夹:
  $ cd /opt/oracle
  解压缩10201_database_linux32.zip
  $ unzip 10201_database_linux32.zip
  接着会看到一连串的解压缩动作。
DSC00020.jpg
  解压缩完成会在同一个文件夹中看到database的文件夹,请进入到database文件夹中:
  $ cd database
  准备执行数据库安装,如果你的centos是中文环境,安装时会出现中文乱码,请下以下指令
  $ export LANG=en_US
  接着执行
  $ ./runInstaller

如果无法看到安装界面,请使用root帐户执行如下命令后再运行安装程序:

# export DISPLAY=:0.0

# xhost +

$ ./runInstaller
DSC00021.jpg
  遇到下面的情况
DSC00022.png

  首先运行一个xmanger软件。export DISPLAY =192.169.1.1:0.0(这里的IP是人VMnet1的ip地址,不要设错了)
  

  开始执行安装程序。
DSC00023.jpg
  由于相关的前置作业已经在之前做好了,在这个步骤只需要将UNIX DBA Group选择为dba以及输入SYS, SYSTEM等账号共享的database Password即可。然后选择Next即可。
DSC00024.jpg
  同样的,将群组选择为dba群组,按Next
  在这个步骤中,请点选Checking Network Configuration requirements为User Verified,接着按下Next
  
  在检测的地方出错,如下图
DSC00025.png
  vi /etc/hosts
DSC00026.png
  这个错误就没有了
  
  
DSC00027.jpg
  最后出现Install Summary画面,此时只要按下Install按钮,系统即开始安装。
DSC00028.jpg
  安装过程...
DSC00029.jpg
  数据库设置助理,可以在这边选取password management作密码的修改,如不需要修改,只需要按下ok按钮即可。

DSC00030.jpg
  安装完成前,出现以下的设置脚本:
DSC00031.jpg
  开启一个新的终端,su到root。
  将要求执行的两段script依序执行。
  /opt/oracle/oraInventory/orainstRoot.sh

/opt/oracle/102/root.sh
DSC00032.jpg
  执行画面如上图。

执行完后,回到安装窗口按下OK完成所有的oracle安装。安装完成会出现以下画面。
DSC00033.jpg
  此时,您可以以上述网址,作为测试,登入账号可以为sys或system
  下面的结果根本就出不来。
  刚出来命令都不能用,要进行设置
  cp /home/oracle/oracle/product/10.2.0/db_2/bin/sqlplus /bin

chmod 777 /bin/sqlplus

  
  cp /home/oracle/oracle/product/10.2.0/db_2/bin/emctl /bin

chmod 777 /bin/emctl

  而当在终端中运行emctl时,或许会出现ORACLE_HOME未定义问题。Environment variable ORACLE_SID not defined. Please define it。这样根据提示,我们知道问题出在了哪,于是我们想,在哪里才能让它识别变量ORACLE_SID呢,Linux中都有几个通用的特定文件。如~/.profile
~/.bash_profile ~/.bashrc等等,~这个符号代表当前用户的主目录,如当前用户为user,这样~代表/home/user。上面给的几个文件都是用来配置用户环境的,如果你想让你所运行的脚本识别这些问题,都必须打开并在后面添加这些变量。

  对于刚才$ORACLE_SID变量问题,解决方案就是在这些文件中添加ORACLE_SID,但是到底添加到哪个文件呢,你可以试着打开上面的这些文件,如果里面存在东西,那就加在里面,我的系统添加到的是~./bashrc,首先打开: vi ~./bashrc,然后添加
  export ORACLE_SID=orcl,。然后 source ~./bashrc,使这个文件重新生效。
  这样,lsnrctl、emctl都可以顺利通过了。
  [oracle@localhost oracle]$ ./sqlplus

Error 6 initializing SQL*Plus

Message file sp1<lang>.msb not found

SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory


解决方法:

用oracle用户名登录linux系统。而不是root登录后su oracle。

  反正就一句话,遇到什么问题解决什么问题,慢慢来。
  成功了

  
  

http://CentOS-Oracle:5560/isqlplus

http://CentOS-Oracle:5560/isqlplus/dba

http://CentOS-Oracle:1158/em
DSC00034.jpg
  执行查询语句测试
DSC00035.jpg
  以上画面都成功代表oracle已经正常安装了。
  但由于在linux环境下oracle并不是以服务的形式安装,所以并不会在每次启动linux时,自动启动server,所以还需要作一些设定才能自动启动,将在下一份文件中提供。


  
  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-215988-1-1.html 上篇帖子: CentOS 6.4 图文安装教程(有些设置大部分教程没出现过) 下篇帖子: CentOS下MySQL Apache PHP环境安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表