zoukankan      html  css  js  c++  java
  • linux 环境下安装oracle11g方法及安装过程中遇上的问题解决方法

      

     Oralce安装教程

    1、先安装需要的依赖包

    找到哪个没有安装,直接yum install XX,直到所有的都安装完成。注意,可能一个包安装了,再次执行检查,还是提示没有安装,那么就不需要管他们了,继续安装下面的。

    rpm -q binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

    2、创建用户

    需要创建一个oralce用户,并创建两个组dba,oinstall,且将oralce添加至组oinstall和附加到dba组,具体命令如下:

    /usr/sbin/groupadd oinstall

    /usr/sbin/groupadd dba

    /usr/sbin/useradd -m -g oinstall -G dba oracle

    passwd oracle

    注意,这里的useradd g: 新账户主组的名称或 ID,-G: 新账户的附加组列表,-m: 创建用户的主目录

    3、创建必要的目录,并赋权限。

    mkdir -p /u01/app/oracle

    mkdir -p /u01/app/oracle/db_1

    mkdir -p /u01/app/oracle/oradate

    mkdir -p /u01/app/oracle/install

    mkdir -p /u01/app/oracle/oraInventory

    chown -R oracle:oinstall /u01/app

    chmod -R 775 /u01/app

    4、修改各种系统参数。

    直接执行下面的语句就行。

    cat >> /etc/sysctl.conf <<EOF (从这里开始)

    # Kernel paramaters required by Oracle 11g R2

    fs.aio-max-nr = 1048576

    fs.file-max = 6815744

    kernel.shmall = 2097152

    kernel.shmmax = 536870912

    kernel.shmmni = 4096

    kernel.sem = 250 32000 100 128

    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 = 1048586

    EOF 

    /sbin/sysctl -p

     

    cat >> /etc/security/limits.conf <<EOF 

    oracle soft nproc 2047 

    oracle hard nproc 16384 

    oracle soft nofile 1024 

    oracle hard nofile 65536 

    EOF(到这里结束)

    后面的都是一样!!!!!!!!!

    cat >> /etc/pam.d/login <<EOF 

    session required /lib64/security/pam_limits.so

    EOF

    注意:

    32位系统用:

    session required /lib/security/pam_limits.so

    64系统用:

    session required /lib64/security/pam_limits.so

    如果不写对,在命令行模式下,是无法登陆系统的。

    !!!!!!!!!!!!!!

     

     

    cat >> /etc/profile <<EOF

    if [ $USER = "oracle" ]; then

            if [ $SHELL = "/bin/ksh" ]; then

                  ulimit -p 16384

                  ulimit -n 65536

            else

                  ulimit -u 16384 -n 65536

            fi

    fi

    EOF

     

    cat >> /etc/csh.login <<EOF

    # For Oracle Install

    if ( $USER == "oracle" ) then
        limit maxproc 16384
        limit descriptors 65536
        umask 022
    end if

    EOF

    5、设置环境变量

    注意,这个步骤需要切换到oracle用户,

    cd /home/oracle

     

    cat >> /home/oracle/.bash_profile <<EOF

    # For Oracle Install  

    TMP=/tmp;

    export TMP;

    TMPDIR=$TMP;

    export TMPDIR;

    ORACLE_BASE=/u01/app/oracle;

    export ORACLE_BASE;

    ORACLE_HOME=$ORACLE_BASE/db_1;

    export ORACLE_HOME;

    ORACLE_SID=orcl;

    export ORACLE_SID;

        

    ORACLE_TERM=xterm;

    export ORACLE_TERM;

    PATH=/usr/sbin:$PATH;

    export PATH;

    PATH=$ORACLE_HOME/bin:$PATH;

    export PATH;

    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;

    export LD_LIBRARY_PATH;

    CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;

    export CLASSPATH;

    if [ $USER = "oracle" ]; then

            if [ $SHELL = "/bin/ksh" ]; then

                  ulimit -p 16384

                  ulimit -n 65536

            else

                  ulimit -u 16384 -n 65536

            fi

    fi

    EOF

    注意一下,当所有系统变量和环境变量配置好之后,要cat一下看看是不是都增加或者修改成功!!!!!!!

    ================== 华丽的分割线 ==================

    ============== 准备工作完成,开始安装 ===============

    ================== 华丽的分割线 ==================

    6、开始安装

    先将数据库文件放入到/u01/app/oracle/install中,然后用解压软件解压,

    unzip linux.x64_11gR2_database_1of2.zip

    unzip linux.x64_11gR2_database_2of2.zip

    《解压好之后,先在root用户下执行xhost  + 使得能够任意进行连接。后su 到oracle用户下,执行export LANG=en后, 再进入到/u01/app/oracle/install/database下执行 ./runInstaller进行安装》   

    需要进入到vnc界面才能进行安装(原因未知,虚拟机上直接执行一直报错,报错为:检查监视器: 监视器配置至少必须显示 256 种颜色

        >>> 无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了 DISPLAY 变量。 未通过<<<<-网上百度方法,是root 用户下执行xhost +  然后进入oracle用户执行./runInstaller就可以,但是我在虚拟机上执行后不行,最后在vnc上执行xhost + 发现执行通过,并能正常安装)--------自己补充的说明

    进入到 datebase文件夹,

     ./runInstaller

    注意,这里,需要用桌面环境,如果你的机器没有安装桌面环境,需要安装,然后再桌面环境里执行./runInstaller ,安装桌面环境命令如下:

    yum groupinstall "Desktop"   "Desktop Platform"   "Desktop Platform Development"  "Fonts"  "General Purpose Desktop"  "Graphical Administration Tools"  "Graphics Creation Tools"  "Input Methods"  "X Window System"  "Chinese Support [zh]" "Internet Browser"

    安装完成桌面环境,在桌面环境内执行./runInstaller后,发现弹出来的东西中文乱码,在命令行敲入:export LANG=en,然后再安装。

    7、安装数据库

    1)去除图中这个钩,然后点击下一步。

     

    2)点击“yes”。

     

    (3)这里选择只安装软件,并下一步。

     

    4)选择单数据库安装,并下一步。

     

    5)选择“简体中文”,并下一步。

     

    6)选择企业版,并下一步。

     

    7)配置Oracle Base目录和Softwore Location目录,注意,这里的Oracle Base目录要和前面设置的环境变量一致,下面的Softwore Location目录要和前面设置的环境变量

    一致。

     

    8)选择目录,这个目录之间建立过。

     

    9)直接点击下一步。

     

    10)接下来会到达检查依赖的步骤,他会提示很多依赖有问题,但是其实没关系,你已经安装好了,直接点击右上角的“忽略全部”即可,然后下一步。

     

    11)点击“完成”。然后就会开始安装,这可能需要等一会。

     

    有可能还未执行到94%的时候,在84%的时候就卡住,那么应该是内存不够的原因,进入虚拟机修改一下内存大小为3g生效之后,会快速安装到94%(具体如果半天不动可以依据提示进行百度)

    12)当安装到94%的时候,会弹出一个小框,让你用root用户执行以下脚本。执行完了之后,点击OK。

     

    13)执行脚本:/u01/app/oraInventory/orainstRoot.sh

     

    14)执行脚本:/u01/app/oracle/db_1/root.sh

    15)这样就安装完成了,点击“关闭”,结束安装。

     

    16)然后,oracle就安装完毕了。别高兴太早,后面还有其他的。

    8、配置监听器

    如果一开始的系统变量和环境变量没有配置好,而oracle侥幸安装成功了,那么这里的netca命令是不会生效的,它会出现提示,.bash:netcacommand not found ,这时候需要回过头看看这些变量设置好了没有,然后重新授权,重新安装oracle,发现一切都很顺利,并且netca命令生效!!!!!!

    1)在终端中使用netca命令启动创建监听器。

     

    2)选择“监听器配置”,并下一步。

     

    3)选择“增加”,并执行下一步。

     

    4)输入监听的名称(默认就行),并点击下一步。

     

    5)直接下一步。

     

    (6)使用默认的端口号:1521,直接下一步。

    注意:在这个地方点击下一步的时候没有马上到下一步的时候,可能就会出现提示说1521端口被占用,那么这时候你需要看看你的地址是不是设置的静态ip,如果是动态的,你不知道具体多少,用ifconfig查看一下,然后vim /etc/hosts,将里面的关于主机名和ip的换成你现在的动态ip,然后继续点击下一步,就可以进入到下一步了

    7)不需要配置其他监听器了,直接下一步。

     

    8)监听配置完成,下一步。

     

    9)点击“完成”,结束监听器的配置。

     

    9、创建数据库实例

    1)在终端中使用dbca命令启动创建数据库实例。

     

    2)点击“下一步”开始配置。

     

    3)选择“创建数据库”,并点击下一步。

     

    4)直接点击下一步。

     

    5)(这个地方你可以查看一下你配置的环境变量/home/oracle/.bash_profile里面的ORACLE_SID是多少填写实例名,这里需要与之前配置的环境变量中的保持一致,然后点击“下一步”。

     

    6)这个地方直接点击“下一步”。

     

    7)接下来设置所有用户的密码,建议全部设置一样就行,我设置的就是123456。生产环境可不建议这样设置。

     

    8)跟我说,密码太简单了,是否要继续,当然是继续拉。

     

    9)这两个地方直接选择下一步。

     

     

    10)选择简单的文法,并下一步。

     

    11)设置编码格式为UTF-8。

     

    12)直接点击“下一步”。

     

    13)选择“创建数据库”,并点击下一步。

     

    14)在弹出框里点击OK。

     

    15)然后就开始创建数据库实例了,这个过程需要等一会。(这个地方要耐心等待,因为需要一段时间)

     

    16)创建完成后弹了一个说明,直接退出即可。

     

    17)至此,安装步骤结束,接下来开始进行各种配置了。

    10、启动数据实例

    启动数据库实例,分为两步:第一步,启动监听;第二步,启动数据库实例。

    su - oracle     --“切换到oracle用户”

    lsnrctl start       --“打开监听”

    sqlplus /nolog      --“进入到sqlplus”

    conn /as sysdba     --“连接到sysdba”

    startup        --“启动数据库实例”

    shutdown immediate    --“关闭数据库实例”

    exit             --“退出sqlplus”

    lsnrctl stop     --“关闭监听”

    上面的命令很重要!!!!!!!!!

     

    还有一种方法,不需要登陆sqlplus都ok

    先启动监听 lsnrctl start

    启动实例  dbstart

    使用dbstart命令启动数据库比较方便,但是在linux上安装好oracle之后,第一次使用dbstart命令可能会报如下错误:

    [oracle@localhost ~]$ dbstart

    ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener

    Usage: /u01/app/oracle/db_1/bin/dbstart ORACLE_HOME

    错误原因

    dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题

    解决方法(注意这两个文件的位置,在你安装的oracle子目录里面,我的是在/u01/app/oracle/db_1/bin下面

    分别打开两个文件找到:ORACLE_HOME_LISTNER=$1,修改为

    ORACLE_HOME_LISTNER=$ORACLE_HOME,命令如下:

    [oracle@oracle11g ~]$ vi $ORACLE_HOME/bin/dbstart

    [oracle@oracle11g ~]$ vi $ORACLE_HOME/bin/dbshut

    修改后保存退出,问题解决,此时再运行dbstart,已经不报错了,但是没有任何反应,ps一下进程,没有oracle的进程,说明oracle实例没有正常启动。

     

    此时的原因是在/etc/oratab的设置问题,(注意这里的是在cd /下面的/etc/oratab里面设置我们cat一下,发现

    orcl:/u01/app/oracle/db_1:N

    最后设置的是"N"(我的环境中只菜单有一个实例,因此只有一行配置语句),我们需要把“N”修改为“Y”。

    11、设置开机自动启动

    Root用户下)/etc/rc.d/rc.local中加入如下语句即可实现同系统启动实例:

    su - oracle -c "lsnrctl start"

    su - oracle -c "dbstart"

    11、测试

    安装完了,怎么知道自己安装的有没有问题呢?当然需要测试一下啦。

    1、重启机器,然后oracle是会自动启动的。

    2、输入:sqlplus /nolog 连上oralce。

    3、切换到 dba:conn /as sysdba

    4、执行:select * from fwb;

    5、如果报找不到表,则代表正常。(因为我们本来就没有这个表。)

    [oracle@localhost ~]$ sqlplus /nolog

    SQL*Plus: Release 11.2.0.1.0 Production on Thu Dec 22 17:59:04 2016

    Copyright (c) 1982, 2009, Oracle.  All rights reserved.

    SQL> conn /as sysdba

    Connected.

    SQL>

    SQL> select * from fwb;

    select * from fwb

                  *

    ERROR at line 1:

    ORA-00942: table or view does not exist

    到这里整个oracle的安装就完毕了,如果有问题可以一起交流。

  • 相关阅读:
    Nginx——基本操作
    JavaWeb——关于RequestDispatcher的原理
    JavaWeb——XML转义符字
    JavaWeb——JSTL 核心标签库使用
    JavaWeb——jsp-config
    URL和URI区别
    Docker入门5------生产力工具docker-compose
    Docker入门4------Dockerfile
    Docker入门3------手动编辑自定义镜像
    Docker入门2------容器container常规操作
  • 原文地址:https://www.cnblogs.com/qingqing74647464/p/7382157.html
Copyright © 2011-2022 走看看