linux安装oracle 11g r2

来源:互联网 发布:咖啡杯图片大全淘宝 编辑:程序博客网 时间:2024/05/21 11:01

Linux环境配置

  1. OS:OpenSuse12.2(事实证明适合CentOS,Redat,fedora等linux操作系统,ubuntu不适用)
  2. DB:Oracle 11gR2  
  3. 将Oracle安装到home/oracle_11目录  

配置过程:本文来自Oracle官方文档+网上资料+自己总结

oracle官方文档:http://www.oracle.com/pls/db112/homepage

1. 以root用户登录到OpenSUSE

2. 检查机器硬件要求

2.1 内存要求

  1. 至少需要1GB的内存  
  2. 查看机器内存大小  
  3. # grep MemTotal /proc/meminfo  

2.2 swap空间要求

  1. 内存大小                 swap空间大小  
  2. 1 GB ~ 2 GB             内存大小*1.5  
  3. 2 GB ~ 16 GB            内存大小  
  4. > 16 GB          16 GB  
  5. 查看swap空间大小  
  6. # grep SwapTotal /proc/meminfo  

2.3 空闲硬盘要求

  1. /tmp目录需要1 GB的空闲空间  
  2. 查看/tmp目录的空闲空间  
  3. # df -h /tmp  
  4. 安装Oracle软件需要的硬盘空间  
  5. Enterprise Edition   3.95(software files)+1.7(data files)  
  6. Standard Edition     3.88(software files)+1.5(data files)  
  7. 查看机器中每个磁盘的空闲空间  
  8. # df -h  

3. 检查操作系统软件要求

Oracle官方文档中包含了多个linux系统的要求,详细请参考官方文档

官方对OpenSuse 的软件要求列表如下:

  • The following or later version of packages for SUSE Linux Enterprise Server 10 should be installed:

    binutils-2.16.91.0.5compat-libstdc++-5.0.7gcc-4.1.2gcc-c++-4.1.2glibc-2.4-31.63glibc-devel-2.4-31.63ksh-93r-12.9libaio-0.3.104libaio-devel-0.3.104libelf-0.8.5libgcc-4.1.2libstdc++-4.1.2libstdc++-devel-4.1.2make-3.80sysstat-8.0.4
  • The following or later version of packages for Asianux Server 3, Oracle Linux 5, and Red Hat Enterprise Linux 5 should be installed:

    binutils-2.17.50.0.6compat-libstdc++-33-3.2.3elfutils-libelf-0.125elfutils-libelf-devel-0.125elfutils-libelf-devel-static-0.125gcc-4.1.2gcc-c++-4.1.2glibc-2.5-24glibc-common-2.5glibc-devel-2.5glibc-headers-2.5kernel-headers-2.6.18ksh-20060214libaio-0.3.106libaio-devel-0.3.106 libgcc-4.1.2libgomp-4.1.2libstdc++-4.1.2 libstdc++-devel-4.1.2make-3.81sysstat-7.0.2


    4. 创建安装Oracle需要的系统组和用户

    1. 创建Oracle Inventory 组  
    2. # groupadd oinstall  
    3. 创建OSDBA 组  
    4. # groupadd dba  
    5. 创建Oracle软件创建者  
    6. #useradd –g oinstall –G dba  –m oracle ( 第一个问题就在这里,必须加 -m )     //-g  主组  -G副组
    7. 修改oracle用户的密码  
    8. # passwd oracle 

    5. 创建安装Oracle软件所需要的目录

    1. # mkdir -p /home/oracle_11/app/  
    2. # chown -R oracle:oinstall /home/oracle_11/app/  
    3. # chmod -R 775 /home/oracle_11/app/ 

    6. 配置系统内核参数值


    1. 编辑/etc/sysctl.conf文件           ///etc/sysctl.conf这个目录主要是配置一些系统信息(可用于系统调优)
    2. vim /etc/sysctl.conf  
    3. 在打开的文件底部添加下面内容  
    4. fs.aio-max-nr = 1048576  
    5. fs.file-max = 6815744  
    6. kernel.shmall = 2097152  
    7. kernel.shmmax = 536870912  
    8. kernel.shmmni = 4096  
    9. kernel.sem = 250 32000 100 128  
    10. net.ipv4.ip_local_port_range = 9000 65500  
    11. net.core.rmem_default = 262144  
    12. net.core.rmem_max = 4194304  
    13. net.core.wmem_default = 262144  
    14. net.core.wmem_max = 1048586  
    15. 改变当前系统内核参数值(让/etc/sysctl.conf立即生效)  
    16. # sysctl -p  

    7. 检查Oracle安装用户(oracle)资源限制

        说明:这个文件主要是用来限制用户对系统资源的使用,具体的使用方法 man 5 limits.conf,里面便给出了详细的用法

                   要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:
                   session required /lib/security/pam_limits.so

         详见linux  /etc/security/limits.conf 相关说明

    1. 修改/etc/security/limits.conf文件  
    2. vim /etc/security/limits.conf  
    3. 在打开的文件底部添加下面内容               
    4. oracle              soft    nproc   2047                    //   最大进程数
    5. oracle              hard    nproc   16384  
    6. oracle              soft    nofile  1024  
    7. oracle              hard    nofile  65536  
    8. oracle              soft    stack   10240  

    8. 配置安装Oracle安装用户(oracle)的环境

    1. 编辑 /home/oracle/.profile  
    2. vim /home/oracle/.profile  
    3. 在打开的文件中添加下面内容  
    4. umask 022  
    5. export ORACLE_BASE=/home/oracle_11/app  
    6. export ORACLE_HOME=ORACLE_BASE/oracle/product/11.2.0/db_1&nbsp;&nbsp;</span></span></li><li class="alt"><span style="font-size:12px"><span>export&nbsp;ORACLE_SID=orcl<span style="color:#ff0000">&nbsp;--Oracle实例名,可修改</span>&nbsp;&nbsp;</span></span></li><li><span style="font-size:12px"><span>export&nbsp;PATH=PATH:HOME/bin:ORACLE_HOME/bin&nbsp;&nbsp;</span></span></li><li class="alt"><span style="font-size:12px"><span>编辑&nbsp;/etc/pam.d/login&nbsp;&nbsp;</span></span></li><li><span style="font-size:12px"><span>vim&nbsp;/etc/pam.d/login&nbsp;&nbsp;</span></span></li><li class="alt"><span style="font-size:12px"><span>在打开的文件中添加下面内容&nbsp;&nbsp;</span></span></li><li><span style="font-size:12px"><span>session&nbsp;required&nbsp;/lib/security/pam_limits.so&nbsp;&nbsp;</span></span></li><li class="alt"><span style="font-size:12px"><span>session&nbsp;required&nbsp;pam_limits.so&nbsp;&nbsp;</span></span></li><li><span style="font-size:12px"><span>编辑&nbsp;/etc/profile&nbsp;&nbsp;</span></span></li><li class="alt"><span style="font-size:12px"><span>vim&nbsp;/etc/profile&nbsp;&nbsp;</span></span></li><li><span style="font-size:12px"><span>在打开的文件中添加下面内容&nbsp;&nbsp;</span></span></li><li class="alt"><span style="font-size:12px"><span><span class="keyword">if</span><span>&nbsp;[&nbsp;USER = “oracle” ]; then  
    7.    if [ $SHELL = “/bin/ksh” ]; then  
    8.       ulimit -p 16384  
    9.       ulimit -n 65536  
    10.    else  
    11.       ulimit -u 16384 -n 65536  
    12.    fi  
    13. fi  

    9. 查看系统是否支持图形界面

    1. 查看root用户下是否已设置DISPLAY变量  
    2. # echo $DISPLAY  
    3. 如果有值出现,则说明已设置DISPLAY变量;否则,就需要手动设置DISPLAY  

    10. 开始安装Oracle软件

    1. # cd /tmp  
    2. # unzip linux_11gR2_database_1of2.zip linux_11gR2_database_2of2.zip  
    3. # xhost +  
    4. # su - oracle  
    5. &nbsp;export&nbsp;DISPLAY=:0&nbsp;&nbsp;</span></span></li><li><span style="font-size:12px"><span> cd /database  
    6. $ ./runInstaller  
    7. 接下来系统会启动Oracle图形安装界面,安装过程和Windows下一样  

    在安装过程中,会提示在root用户下运行两个脚本文件(具体是哪两个,不记得了,按提示操作即可)。

    Linux下的Oracle在安装结束后是处于运行状态的。重启机器后,Oracle不会像在Windows下那样将Oracle添加到Windows服务,在linux下需要手动启动Orcle服务

    1. 以oracle用户下,执行下面的命令  
    2. 进入sqlplus  
    3. &nbsp;sqlplus&nbsp;/nolog&nbsp;&nbsp;</span></span></li><li><span style="font-size:12px"><span>以sysdba的身份连接到数据库,并启动Oracle数据库引擎&nbsp;&nbsp;</span></span></li><li class="alt"><span style="font-size:12px"><span>SQL&gt;&nbsp;conn&nbsp;/<span class="keyword">as</span><span>&nbsp;sysdba&nbsp;&nbsp;</span></span></span></li><li><span style="font-size:12px"><span>SQL&gt;&nbsp;startup&nbsp;&nbsp;</span></span></li><li class="alt"><span style="font-size:12px"><span>退出sqlplus,运行Listener&nbsp;&nbsp;</span></span></li><li><span style="font-size:12px"><span>SQL&gt;&nbsp;exit&nbsp;&nbsp;</span></span></li><li class="alt"><span style="font-size:12px"><span> lsnrctl start  

    这样就可以连接到Oracle数据库了。如果想用Oracle提供的EM来管理Oracle的话还需要启动EM控制台,运行如下命令:

    1. $ emctl start dbconsole  

    这样就可以通过http://localhost:1158/em/来访问EM控制台了。


    使用dbstart和dbstop来启动Oracle服务


    安装过程中遇到的问题:

    1,安装过程中遇到乱码:

    这是因为oracle不支持中文造成的。你可以先使用命令 export LANG=en将环境临时换成英文,然后再安装。这个环境变量的修改只是临时的,重启后或者使用oracle用户登录时会自己换回来的

    2,如在安装过程中出现如下错误:

    [INS-32031]Invalid inventory location

    [INS-32033]Central Inventory location is not vritable

    解决办法:修改/home/oracle_11的权限

    chown -R oracle:oinstall /home/oracle_11就行


    可能使用dbstart命令来启动数据库更方便一些,但初次安装完oracle之后使用dbstart命令会报这样的错误

    1. ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener  
    2. Usage: /u01/app/oracle/product/11.2/db/bin/dbstart ORACLE_HOME  

    出现这样错误的原因是由于没有设置ORACLE_HOME_LISTNER的原因,我们查看一下dbstart这个文件

    1. more  /home/oracle_11/app/oracle/product/11.2/db/bin/dbstart  

    部分内容如下

    1. # First argument is used to bring up Oracle Net Listener  
    2. ORACLE_HOME_LISTNER=1&nbsp;&nbsp;</span></span></li><li class="alt"><span style="font-size:12px"><span><span class="keyword">if</span><span>&nbsp;[&nbsp;!&nbsp;ORACLE_HOME_LISTNER ] ; then  
    3.   echo ”ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener”  
    4.   echo ”Usage: 0&nbsp;ORACLE_HOME"</span><span>&nbsp;&nbsp;</span></span></span></li><li><span style="font-size:12px"><span><span class="keyword">else</span><span>&nbsp;&nbsp;</span></span></span></li><li class="alt"><span style="font-size:12px"><span>&nbsp;&nbsp;LOG=ORACLE_HOME_LISTNER/listener.log  
    5.   # Set the ORACLE_HOME for the Oracle Net Listener, it gets reset to  
    6.   # a different ORACLE_HOME for each entry in the oratab.  
    7.   export ORACLE_HOME=$ORACLE_HOME_LISTNER  

    解决方案就算将ORACLEHOMEORACLE_HOME_LINTNER,保存,退出

    再一次执行dbstart,但是没有反映,没有报错,如果我们需要使用dbstart,则需要在/etc/oratab这个文件中的实例最后的N改成Y,如下

    1. orcl:/home/oracle_11/app/oracle/product/11.2/db:Y  

    OK,保存,再试一下dbstart命令,返回结果如下

    1. Processing Database instance “orcl”: log file /home/oracle_11/app/oracle/product/11.2.0/db_1/startup.log  

    dbshut进行同样的设置.这样,以后就可以在启动监听之后直接使用dbstart和dbshut命令来启动和关闭数据了


    将Oracle服务添加到Linux开机启动项,以root用户建立/etc/rc.d/init.d/oradb脚本文件,文件内容如下:

    1. #!/bin/bash  
    2. # chkconfig: 2345 90 10  
    3. export ORACLE_BASE=/home/oracle_11/app/  
    4. export ORACLE_HOME=ORACLE_BASE/oracle/product/11.2.0/db_1&nbsp;&nbsp;</span></li><li class="alt"><span>export&nbsp;ORACLE_SID=orcl&nbsp;&nbsp;</span></li><li><span>export&nbsp;PATH=PATH:ORACLE_HOME/bin&nbsp;&nbsp;</span></li><li class="alt"><span>ORCL_OWN=<span class="string">"oracle"</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="preprocessor">#&nbsp;if&nbsp;the&nbsp;executables&nbsp;do&nbsp;not&nbsp;exist&nbsp;--&nbsp;display&nbsp;error</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">if</span><span>&nbsp;[&nbsp;!&nbsp;-f&nbsp;ORACLE_HOME/bin/dbstart -o ! -d ORACLE_HOME&nbsp;]&nbsp;&nbsp;</span></span></li><li><span>then&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;echo&nbsp;<span class="string">"Oracle&nbsp;startup:&nbsp;cannot&nbsp;start"</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;exit&nbsp;1&nbsp;&nbsp;</span></li><li class="alt"><span>fi&nbsp;&nbsp;</span></li><li><span><span class="preprocessor">#&nbsp;depending&nbsp;on&nbsp;parameter&nbsp;--&nbsp;start,&nbsp;stop,&nbsp;restart</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="preprocessor">#&nbsp;of&nbsp;the&nbsp;instance&nbsp;and&nbsp;listener&nbsp;or&nbsp;usage&nbsp;display</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">case</span><span>&nbsp;</span><span class="string">"1” in  
    5. start)  
    6. # Oracle listener and instance startup  
    7. echo -n ”Starting Oracle: ”  
    8. su - ORCL_OWN&nbsp;-c&nbsp;<span class="string">"ORACLE_HOME/bin/dbstart”  
    9. touch /var/lock/subsys/oradb  
    10. su - ORCL_OWN&nbsp;-c&nbsp;<span class="string">"ORACLE_HOME/bin/emctl start dbconsole”  
    11. echo ”OK”  
    12. ;;  
    13. stop)  
    14. # Oracle listener and instance shutdown  
    15. echo -n ”Shutdown Oracle: ”  
    16. su - ORCL_OWN&nbsp;-c&nbsp;<span class="string">"ORACLE_HOME/bin/emctl stop dbconsole”  
    17. su - ORCL_OWN&nbsp;-c&nbsp;<span class="string">"ORACLE_HOME/bin/dbshut”  
    18. rm -f /var/lock/subsys/oradb  
    19. echo ”OK”  
    20. ;;  
    21. reload|restart)  
    22. 0&nbsp;stop&nbsp;&nbsp;</span></li><li class="alt"><span>1 start  
    23. ;;  
    24. *)  
    25. echo ”Usage: ‘basename $0’ start|stop|restart|reload”  
    26. exit 1  
    27. esac  
    28. exit 0  

    将该文件添加到开机启动

    1. # chmod 755 /etc/rc.d/init.d/oradb  
    2. # chkconfig –add oradb  

    重启服务

    1. # service oradb stop  
    2. # service oradb start  

    下次启动机器的时候,Oracle服务会随机器一起启动。

    Oracle数据库安装、配置完成。

    Tip:Oracle数据库的默认端口号:1521,Oracle提供的EM管理器默认端口号是1158。


    卸载:

    oracle在linux下安装时虽然很繁琐,但是卸载却异常简单,只要把相关文件删除即可!!!


    oracle11g自带一个卸载批处理home/oracle/product/11.2.0/dbhome_1/deinstall/deinstall

    运行该处理文件自动完成卸载oracle卸载工作,最后手动删除\app文件夹

    在运行的过程中可能需要填写如下项:

    指定要取消配置的所有单实例监听程序[LISTENER]: LISTENER

    指定在此oracle主目录中配置的数据库名的列表[MYDATA,ORCL]:MYDATA,ORACL

    是否仍要修改MYDATA,ORACL数据库的详细资料?[n]:n

    CCR check is finished

    是否继续[y-是,n-否]?[n]:y

     

    转自:http://blog.csdn.net/huashnag/article/details/8450685

  • 原创粉丝点击