转自:http://blog.csdn.net/daydreamingboy/article/details/7482644
CentOS5.5虚拟机安装Oracle11gR2的全过程
本文主要参考这篇文章,地址是http://ivan.kartik.sk/oracle/install_ora11gR2_elinux.html,来安装Oracle11gR2,完成文章中的Pre-InstallationTasks和Download& Install这两大步骤。结合自己的实践,指出安装时遇到一些问题,供参考。
(1)准备工作
相关软件:CentOS5.5、Oracle11gR2(Linux版本)、VMware Workstation 7(我使用的是虚拟机作为学习环境)、Xmanager 4(可选使用)
(2)Pre-InstallationTasks
由于是参考别人的文章,所以具体步骤的作用参考原文章比较好,这里列出基本步骤。
1. 创建oracle用户- su -
- # groupadd dba
- # groupadd oinstall
- # groupadd asmdba
- # groupadd asmadmin
- # useradd -g oinstall -G dba,asmdba,asmadmin oracle
2. 设置系统参数
2A. 编辑/etc/sysctl.conf文件,修改和增加的内容如下:- kernel.shmall = 2097152
- kernel.shmmax = 536870912
- kernel.shmmni = 4096
- kernel.sem = 250 32000 100 128
- fs.file-max = 6815744
- fs.aio-max-nr = 1048576
- net.ipv4.ip_local_port_range = 9000 65500
- net.core.rmem_default = 262144
- net.core.rmem_max = 4194304
- net.core.wmem_default = 262144
- net.core.wmem_max = 1048576
注意:要使用以上修改生效,重启系统或者执行sysctl –p命令。
2B. 编辑/etc/pam.d/login文件,增加下面内容:- session required pam_limits.so
- oracle soft nproc 2047
- oracle hard nproc 16384
- oracle soft nofile 1024
- oracle hard nofile 65536
- # mkdir /opt/oracle
- # chown -R oracle:dba /opt/oracle
4. 设置oracle的环境变量
4A. 编辑/home/oracle/.bash_profile文件,修改和增加的内容如下:- ORACLE_BASE=/opt/oracle
- ORACLE_HOME=$ORACLE_BASE/112
- ORACLE_SID=ORCL
- LD_LIBRARY_PATH=$ORACLE_HOME/lib
- PATH=$PATH:$ORACLE_HOME/bin
- export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
- cd /home/oracle
- . .bash_profile
4B. 检测SELinux是否关闭
检查当前SELinux的状态- /usr/sbin/getenforce
- /usr/sbin/setenforce 0
- SELINUX=permissive
我在做这一步时,使用setup命令,进行图形界面,将SELinux和防火墙都禁用了。效果是一样的。
4C. 如果使用的是CentOS 5而不是RHEL 5,那么要进行下面的修改。- # cp /etc/redhat-release /etc/redhat-release.old
- # echo "Red Hat Enterprise Linux Server release 5 (Tikanga)" > /etc/redhat-release
- # cp /etc/issue /etc/issue.old
- # echo "Red Hat Enterprise Linux Server release 5 (Tikanga)" > /etc/issue
- # echo "Kernel \r on an \m" >> /etc/issue
- # echo "" >> /etc/issue
- # echo "redhat-release-5Server-5" > /tmp/.linux_release
(3)Download & Installation
1. 下载和安装所需要的.rpm包
使用下面的命令,可以查看需要哪些RPM包。- 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
- binutils.i386
- compat-db.i386
- compat-libstdc++-33.i386
- elfutils-libelf.i386
- gcc-c++.i386
- gcc.i386
- gdbm.i386
- glibc-devel.i386
- glibc-headers.i386
- glibc.i386
- glibc.i686
- ksh.i386
- libaio-devel.i386
- libaio.i386
- libstdc++.i386
- libXp.i386
- libXtst.i386
- make.i386
- setarch.i386
- sysstat.i386
- unixODBC.i386
- 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安装,如下:
- su oracle
- cd database
- ./runInstaller
至此,Pre-InstallationTasks和Download& Install这两大步骤已经完成,原文章中的还有Post-InstallationTasks和CommonInstallation Errors可供参考。
(4)进入Oracle安装向导
Oracle的安装需要图形化界面,这里我使用Xmanager – Passive,它能自动检测到虚拟机的图形界面,因此下面的安装界面就像是在Windows一样,功能很强大哈!这里我选择安装Oracle软件,暂时不创建数据库,所以安装起来要快一些。
注意,到了这个界面,Oracle Base要和之前配置的ORACLE_BASE环境变量一致,而且Software Location要和ORACLE_HOME一致。我第一次安装Oracle,这里直接默认了,结果在对Oracle进行配置时,Oracle提示环境变量不一致,我才回头发现Oracle的安装位置和环境变量的配置不一样。这里我安装默认的位置后,修改了oracle用户的.bash_profile文件,如下:
- ORACLE_BASE=/home/oracle/app/oracle
- ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
- ORACLE_SID=ORCL
- LD_LIBRARY_PATH=$ORACLE_HOME/lib
- PATH=$PATH:$ORACLE_HOME/bin
- export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
还是老办法,去CentOS5.5光盘中找到这3个包,实际上这3个包又要依赖一些包,晕~。最好自己先安装这3个包,根据报错来收集依赖包,最后再一起安装,直至安装成功。因为安装CentOS时,每个人的系统安装可能软件配置不一样。最后,点击“Check Again”,让Oracle再检查一遍,出现下面的界面。
这时,Oracle需要的所有RPM包都不再缺了,但是Oracle依然抱怨物理内存和交换分区太小(下面有详细信息提示),这里我点击“Ignore All”,因为我安装在虚拟机里供学习使用。经过一段时间的安装,安装界面会停止在下面的界面。
如果始终不出现下面的界面,就以root身份登录系统,执行下面2个脚本。
- [root@localhost database]# cd /home/oracle/app/oraInventory/
- [root@localhost oraInventory]# ./orainstRoot.sh
- Changing permissions of /home/oracle/app/oraInventory.
- Adding read,write permissions for group.
- Removing read,write,execute permissions for world.
- Changing groupname of /home/oracle/app/oraInventory to oinstall.
- The execution of the script is complete.
- [root@localhost oraInventory]# cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/
- [root@localhost dbhome_1]# ./root.sh
- Running Oracle 11g root.sh script...
- The following environment variables are set as:
- ORACLE_OWNER= oracle
- ORACLE_HOME= /home/oracle/app/oracle/product/11.2.0/dbhome_1
- Enter the full pathname of the local bin directory: [/usr/local/bin]:
- Copying dbhome to /usr/local/bin ...
- Copying oraenv to /usr/local/bin ...
- Copying coraenv to /usr/local/bin ...
- Creating /etc/oratab file...
- Entries will be added to the /etc/oratab file as needed by
- Database Configuration Assistant when a database is created
- Finished running generic part of root.sh script.
- Now product-specific root actions will be performed.
- Finished product-specific root actions.
最后,看到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数据库,是否可正常使用。- [oracle@localhost ~]$ sqlplus /nolog
- SQL*Plus: Release 11.2.0.1.0 Production on Fri Apr 20 13:53:15 2012
- Copyright (c) 1982, 2009, Oracle. All rights reserved.
- SQL> show user
- USER is ""
- SQL> conn /as sysdba
- Connected to an idle instance.
- SQL> show user
- USER is "SYS"
- SQL> startup
- ORACLE instance started.
- Total System Global Area 422670336 bytes
- Fixed Size 1336960 bytes
- Variable Size 281020800 bytes
- Database Buffers 134217728 bytes
- Redo Buffers 6094848 bytes
- Database mounted.
- Database opened.
- SQL> create table t(id int, name char(10));
- Table created.
- SQL> insert into t values(0, 'bbk');
- 1 row created.
- SQL> commit;
- Commit complete.
- SQL> select * from t;
- ID NAME
- ---------- ----------
- 0 bbk
- SQL> shutdown immediate
- Database closed.
- Database dismounted.
- ORACLE instance shut down.
- SQL> quit
- Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
- With the Partitioning, OLAP, Data Mining and Real Application Testing options
- [oracle@localhost ~]$
参考资料:
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