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

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用户

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
    2C. 编辑/etc/security/limits.conf文件,增加下面内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
    3. 创建oracle用户的安装目录
# 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
    如果输出是“Enforcing”,那么用以下命令将其改成“Permissive”。
/usr/sbin/setenforce 0
    为了防止Enforcing模式在重启后又自动恢复,直接可以修改/etc/sysconfig/selinux文件,将SELINUX的值改成“permissive”或者“disabled”。
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
    对于32位(i386)Linux系统,输出结果,应该如下:
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-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文件,如下:

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
    继续根据自己的选择进行设置,然后一路next下去,到了下面这个界面,可能Oracle报告有些RPM包依然需要(汗~Oracle安装真烦人)。

    还是老办法,去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.
    可能执行第一个脚本时,就会出现对话框,如下。完成后点击“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数据库,是否可正常使用。

[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 ~]$
    至此,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
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值