CentOS 5.5虚拟机安装Oracle11gR2的全过程

123 篇文章 0 订阅
117 篇文章 0 订阅

作者:DayDreamingBoy

转自:http://blog.csdn.net/daydreamingboy/article/details/7482644


CentOS5.5虚拟机安装Oracle11gR2的全过程


    本文主要参考这篇文章,地址是http://ivan.kartik.sk/oracle/install_ora11gR2_elinux.html,来安装Oracle11gR2,完成文章中的Pre-InstallationTasksDownload& Install这两大步骤。结合自己的实践,指出安装时遇到一些问题,供参考。

    (1)准备工作

相关软件:CentOS5.5、Oracle11gR2(Linux版本)、VMware Workstation 7(我使用的是虚拟机作为学习环境)、Xmanager 4(可选使用)

    (2)Pre-InstallationTasks

由于是参考别人的文章,所以具体步骤的作用参考原文章比较好,这里列出基本步骤。

    1. 创建oracle用户
[plain] view plain copy
  1. su -  
  2. # groupadd dba  
  3. # groupadd oinstall  
  4. # groupadd asmdba  
  5. # groupadd asmadmin  
  6. # useradd -g oinstall -G dba,asmdba,asmadmin oracle  

    2. 设置系统参数

    2A. 编辑/etc/sysctl.conf文件,修改和增加的内容如下:
[plain] view plain copy
  1. kernel.shmall = 2097152  
  2. kernel.shmmax = 536870912  
  3. kernel.shmmni = 4096  
  4. kernel.sem = 250 32000 100 128  
  5. fs.file-max = 6815744  
  6. fs.aio-max-nr = 1048576  
  7. net.ipv4.ip_local_port_range = 9000 65500  
  8. net.core.rmem_default = 262144  
  9. net.core.rmem_max = 4194304  
  10. net.core.wmem_default = 262144  
  11. net.core.wmem_max = 1048576  

    注意:要使用以上修改生效,重启系统或者执行sysctl –p命令。

    2B. 编辑/etc/pam.d/login文件,增加下面内容:
[plain] view plain copy
  1. session required pam_limits.so  
    2C. 编辑/etc/security/limits.conf文件,增加下面内容:
  1. oracle soft nproc 2047  
  2. oracle hard nproc 16384  
  3. oracle soft nofile 1024  
  4. oracle hard nofile 65536  
    3. 创建oracle用户的安装目录
[plain] view plain copy
  1. # mkdir /opt/oracle  
  2. # chown -R oracle:dba /opt/oracle  

    4. 设置oracle的环境变量

    4A. 编辑/home/oracle/.bash_profile文件,修改和增加的内容如下:
[plain] view plain copy
  1. ORACLE_BASE=/opt/oracle  
  2. ORACLE_HOME=$ORACLE_BASE/112  
  3. ORACLE_SID=ORCL  
  4. LD_LIBRARY_PATH=$ORACLE_HOME/lib  
  5. PATH=$PATH:$ORACLE_HOME/bin  
  6.   
  7. export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH  
    运行下面命令,使以上修改生效
[plain] view plain copy
  1. cd /home/oracle  
  2. . .bash_profile  

    4B. 检测SELinux是否关闭

    检查当前SELinux的状态
[plain] view plain copy
  1. /usr/sbin/getenforce  
    如果输出是“Enforcing”,那么用以下命令将其改成“Permissive”。
[plain] view plain copy
  1. /usr/sbin/setenforce 0  
    为了防止Enforcing模式在重启后又自动恢复,直接可以修改/etc/sysconfig/selinux文件,将SELINUX的值改成“permissive”或者“disabled”。
[plain] view plain copy
  1. SELINUX=permissive  

    我在做这一步时,使用setup命令,进行图形界面,将SELinux和防火墙都禁用了。效果是一样的。

    4C. 如果使用的是CentOS 5而不是RHEL 5,那么要进行下面的修改。
[plain] view plain copy
  1. # cp /etc/redhat-release /etc/redhat-release.old  
  2. # echo "Red Hat Enterprise Linux Server release 5 (Tikanga)" > /etc/redhat-release  
  3. # cp /etc/issue /etc/issue.old  
  4. # echo "Red Hat Enterprise Linux Server release 5 (Tikanga)" > /etc/issue  
  5. # echo "Kernel \r on an \m" >> /etc/issue  
  6. # echo "" >> /etc/issue  
  7. # echo "redhat-release-5Server-5" > /tmp/.linux_release  

    (3)Download & Installation

    1. 下载和安装所需要的.rpm包

    使用下面的命令,可以查看需要哪些RPM包。
[plain] view plain copy
  1. rpm -q binutils compat-db compat-libstdc++-33 glibc glibc-devel glibc-headers gcc gcc-c++ libstdc++ gdbm make ksh elfutils-libelf sysstat libaio libaio-devel setarch unixODBC libXp libXtst xorg-x11-utils --qf '%{name}.%{arch}\n'|sort  
    对于32位(i386)Linux系统,输出结果,应该如下:
[plain] view plain copy
  1. binutils.i386  
  2. compat-db.i386  
  3. compat-libstdc++-33.i386  
  4. elfutils-libelf.i386  
  5. gcc-c++.i386  
  6. gcc.i386  
  7. gdbm.i386  
  8. glibc-devel.i386  
  9. glibc-headers.i386  
  10. glibc.i386  
  11. glibc.i686  
  12. ksh.i386  
  13. libaio-devel.i386  
  14. libaio.i386  
  15. libstdc++.i386  
  16. libXp.i386  
  17. libXtst.i386  
  18. make.i386  
  19. setarch.i386  
  20. sysstat.i386  
  21. unixODBC.i386  
  22. xorg-x11-utils.i386  

    对于64位的Linux系统的输出结构,参考原文章吧,这里我不列出了。

    做到这一步,出现了一些提示说有些RMP包没有找到,这时我们需要在CentOS5.5的光盘(DVD版本)中去找,位置在光盘中的CentOS目录,可以看到一大堆的.rpm包。将缺少的包收集起来,注意别弄错了,有些包名很相近,然后将这些包,直接拖到虚拟机里,或者使用Xmanager的Xftp工具上传到虚拟机里。

    注意:上面的清单会有glibc.i386和glibc.i686。系统默认已有glibc.i686,我尝试安装glibc.i386,结果和glibc.i686出现一大堆冲突,这里就不严格按照指南安装glibc.i386。

    安装上面清单上的RPM包,可能会报找不到kernel-headers和libgomp包,同样在CentOS5.5光盘中找到这2个包,和所有要安装的放在一起。然后再一次性安装。

    2. 下载Oracle 11gR2的安装包

    我下载的是linux_11gR2_database_1of2.zip和linux_11gR2_database_2of2.zip,将它们解压出来,只有一个database目录。这时,要切换到oracle用户的身份,来运行runInstaller安装,如下:

[plain] view plain copy
  1. su oracle  
  2. cd database  
  3. ./runInstaller  

    至此,Pre-InstallationTasksDownload& Install这两大步骤已经完成,原文章中的还有Post-InstallationTasksCommonInstallation Errors可供参考。

    (4)进入Oracle安装向导

    Oracle的安装需要图形化界面,这里我使用Xmanager – Passive,它能自动检测到虚拟机的图形界面,因此下面的安装界面就像是在Windows一样,功能很强大哈!

    这里我选择安装Oracle软件,暂时不创建数据库,所以安装起来要快一些。


    注意,到了这个界面,Oracle Base要和之前配置的ORACLE_BASE环境变量一致,而且Software Location要和ORACLE_HOME一致。我第一次安装Oracle,这里直接默认了,结果在对Oracle进行配置时,Oracle提示环境变量不一致,我才回头发现Oracle的安装位置和环境变量的配置不一样。这里我安装默认的位置后,修改了oracle用户的.bash_profile文件,如下:

[plain] view plain copy
  1. ORACLE_BASE=/home/oracle/app/oracle  
  2. ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1  
  3. ORACLE_SID=ORCL  
  4. LD_LIBRARY_PATH=$ORACLE_HOME/lib  
  5. PATH=$PATH:$ORACLE_HOME/bin  
  6.   
  7. export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH  
    继续根据自己的选择进行设置,然后一路next下去,到了下面这个界面,可能Oracle报告有些RPM包依然需要(汗~Oracle安装真烦人)。

    还是老办法,去CentOS5.5光盘中找到这3个包,实际上这3个包又要依赖一些包,晕~。最好自己先安装这3个包,根据报错来收集依赖包,最后再一起安装,直至安装成功。因为安装CentOS时,每个人的系统安装可能软件配置不一样。最后,点击“Check Again”,让Oracle再检查一遍,出现下面的界面。


    这时,Oracle需要的所有RPM包都不再缺了,但是Oracle依然抱怨物理内存和交换分区太小(下面有详细信息提示),这里我点击“Ignore All”,因为我安装在虚拟机里供学习使用。经过一段时间的安装,安装界面会停止在下面的界面。


    如果始终不出现下面的界面,就以root身份登录系统,执行下面2个脚本。

[plain] view plain copy
  1. [root@localhost database]# cd /home/oracle/app/oraInventory/  
  2. [root@localhost oraInventory]# ./orainstRoot.sh   
  3. Changing permissions of /home/oracle/app/oraInventory.  
  4. Adding read,write permissions for group.  
  5. Removing read,write,execute permissions for world.  
  6.   
  7. Changing groupname of /home/oracle/app/oraInventory to oinstall.  
  8. The execution of the script is complete.  
  9. [root@localhost oraInventory]# cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/  
  10. [root@localhost dbhome_1]# ./root.sh   
  11. Running Oracle 11g root.sh script...  
  12.   
  13. The following environment variables are set as:  
  14.     ORACLE_OWNER= oracle  
  15.     ORACLE_HOME=  /home/oracle/app/oracle/product/11.2.0/dbhome_1  
  16.   
  17. Enter the full pathname of the local bin directory: [/usr/local/bin]:   
  18.    Copying dbhome to /usr/local/bin ...  
  19.    Copying oraenv to /usr/local/bin ...  
  20.    Copying coraenv to /usr/local/bin ...  
  21.   
  22.   
  23. Creating /etc/oratab file...  
  24. Entries will be added to the /etc/oratab file as needed by  
  25. Database Configuration Assistant when a database is created  
  26. Finished running generic part of root.sh script.  
  27. Now product-specific root actions will be performed.  
  28. Finished product-specific root actions.  
    可能执行第一个脚本时,就会出现对话框,如下。完成后点击“OK”。

    最后,看到Oracle终于安装成功了!


    (5)对Oracle进行配置和创建数据库,并测试数据库是否安装正常。

    刚才的安装才把Oracle安装上,但是还没有创建Oracle数据库,下面就分别使用netca命令和dbca命令,进行配置和创建数据库,同样是图形界面。

    1. 使用netca命令


    使用netca命令的配置,基本上一路next,我这里只配置Listener configuration,其他的不配置(因为是菜鸟哈~)。完成后出现下面的界面。


    和开始的界面几乎一样,就多了一个“Finish”按钮,点击它退出配置向导。

    2. 使用dbca命令

    使用dbca命令,同样会启动一个配置向导,next到下面这个界面时,填写ORACLE_SID的值(这个环境变量,之前配置过。忘记了?快到/home/oracle/.bash_profile文件里看看)


    一般domain没有配置过的话,就是空的。所以,这里的2个值都是一样的。

   下面请填写下密码。


    在下面的界面中,选择“Use Unicode (AL32UTF8)”,增加对中文的支持。


    最后,会出现一个所有配置的总结,如下。


    点击“OK”,就开始创建数据库了,这个过程有点长哈,耐心点~


    最后,弹出一个提示框,大功告成!

    3. 测试Oracle数据库,是否可正常使用。
[plain] view plain copy
  1. [oracle@localhost ~]$ sqlplus /nolog  
  2.   
  3. SQL*Plus: Release 11.2.0.1.0 Production on Fri Apr 20 13:53:15 2012  
  4.   
  5. Copyright (c) 1982, 2009, Oracle.  All rights reserved.  
  6.   
  7. SQL> show user  
  8. USER is ""  
  9. SQL> conn /as sysdba  
  10. Connected to an idle instance.  
  11. SQL> show user  
  12. USER is "SYS"  
  13. SQL> startup  
  14. ORACLE instance started.  
  15.   
  16. Total System Global Area  422670336 bytes  
  17. Fixed Size                  1336960 bytes  
  18. Variable Size             281020800 bytes  
  19. Database Buffers          134217728 bytes  
  20. Redo Buffers                6094848 bytes  
  21. Database mounted.  
  22. Database opened.  
  23. SQL> create table t(id int, name char(10));  
  24.   
  25. Table created.  
  26.   
  27. SQL> insert into t values(0, 'bbk');  
  28.   
  29. 1 row created.  
  30.   
  31. SQL> commit;  
  32.   
  33. Commit complete.  
  34.   
  35. SQL> select * from t;  
  36.   
  37.         ID NAME  
  38. ---------- ----------  
  39.          0 bbk  
  40.   
  41. SQL> shutdown immediate  
  42. Database closed.  
  43. Database dismounted.  
  44. ORACLE instance shut down.  
  45. SQL> quit  
  46. Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production  
  47. With the Partitioning, OLAP, Data Mining and Real Application Testing options  
  48. [oracle@localhost ~]$  
    至此,Oracle数据库从安装到测试都全部完成,Oracle的学习环境已经搭建好。Congratulations!

参考资料:

    1. http://ivan.kartik.sk/oracle/install_ora11gR2_elinux.html

    2. 网上视频:  http://www.boobooke.com/v/bbk1111

                           http://www.boobooke.com/v/bbk1668

                            http://www.boobooke.com/v/bbk1669

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值