zoukankan      html  css  js  c++  java
  • Orcale11g单机安装与卸载

    前言:本篇主要介绍Oracle11g企业版安装的准备工作,建议使用图形化界面安装,静默安装出现问题较多,初学者不好排查,本篇只给出关键步骤,最后介绍完全删除Orcale方法;

    Oracle Database 11g Express Edition免费版使用RPM安装,过程较为简单,这里不作介绍。

     

    安装准备工作:

    1.操作系统及Oracle版本
    Linux版本:CentOS release 6.3 (Final)
    Oracle版本:Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86-64
    (linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip) 
    2.硬件检测
    物理内存不少于1G
    硬盘可以空间不少于5G
    swap分区空间不少于2G
    支持256色以上显卡
    cpu主频不小于550mH
     
    3.检查安装依赖系统包
    操作系统依赖的具体包,请参考官方安装文档。
    binutils-2.17.50.0.6
    compat-libstdc++-33-3.2.3
    compat-libstdc++-33-3.2.3 (32 bit)
    elfutils-libelf-0.125
    elfutils-libelf-devel-0.125
    gcc-4.1.2
    gcc-c++-4.1.2
    glibc-2.5-24
    glibc-2.5-24 (32 bit)
    glibc-common-2.5
    glibc-devel-2.5
    glibc-devel-2.5 (32 bit)
    glibc-headers-2.5
    ksh-20060214
    libaio-0.3.106
    libaio-0.3.106 (32 bit)
    libaio-devel-0.3.106
    libaio-devel-0.3.106 (32 bit)
    libgcc-4.1.2
    libgcc-4.1.2 (32 bit)
    libstdc++-4.1.2
    libstdc++-4.1.2 (32 bit)
    libstdc++-devel 4.1.2
    make-3.81
    sysstat-7.0.2
    unixODBC-2.2.11 (32-bit) or later
    unixODBC-devel-2.2.11 (64-bit) or later
    unixODBC-2.2.11 (64-bit) or later
     
    检查依赖包 
    rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
    如果包有显示is not installed(没安装),就用yum install 命令安装
     
    4.创建所需的操作系统组和用户
    groupadd oinstall
    groupadd dba
    useradd -g oinstall -G dba oracle
    设置oracle用户密码
     
    passwd oracle
     
    5.修改内核参数
    在/sbin/sysctl.conf 文件中,使用文本编辑器或vi命令增加或修改以下参数
     
    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 = 1048576
    修改后,使设置生效
     
    /sbin/sysctl -p
     
    6.修改用户限制
    在/etc/security/limits.conf 文件中,使用文本编辑器或vi命令增加或修改以下参数
     
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle soft stack 10240
    在/etc/pam.d/login 文件中,使用文本编辑器或vi命令增加或修改以下内容
    session required pam_limits.so
    在/etc/profile 文件中,使用文本编辑器或vi命令增加或修改以下内容
    if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
    else
    ulimit -u 16384 -n 65536
    fi
    fi
    使设置生效
     
    source /etc/profile
    7.创建安装目录(可根据情况,选择比较多空间的目录创建)
     
    mkdir -p /usr/oracle
    chown -R oracle:oinstall /usr/oracle
    chmod -R 775 /usr/oracle
     
    8.创建/etc/oraInst.loc文件(可略去)
    内容如下 
    nventory_loc=/usr/oracle/oraInventory
    inst_group=oinstall
    更改文件的权限
     
    chown oracle:oinstall /etc/oraInst.loc
    chmod 664 /etc/oraInst.loc
     
     
    9.设置oracle环境变量
    .bash_profilewen文件添加:

    export ORACLE_BASE=/u01/app/oracle

    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

    export ORACLE_SID=ecis

    export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

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

    使设置生效
    source /home/oracle/.bash_profile
    检查环境变量: 
    env
     

    安装Orcale

    解压oracle安装文件
    unzip linux.x64_11gR2_database_1of2.zip
    unzip linux.x64_11gR2_database_2of2.zip
     
    建议使用图形化界面安装,图形化界面安装比较简单,此处省略。

    ./runInstaller  --进入图形化安装过程

    检测过程可能会遇到缺少依赖文件,如果前面已经安装过,只是版本不同,则不予理会;

    数据库软件的时候,默认数据库是不存在的,监听也不存在,所以想安装用下面窗口命令:

    netca  --安装监听

    dbca   --安装数据库

     
     
    静默安装:
    su - oracle
    修改安装Oracle软件的响应文件/home/oracle/etc/db_install.rsp
     
    oracle.install.option=INSTALL_DB_SWONLY // 安装类型
    ORACLE_HOSTNAME=db // 主机名称(hostname查询)
    UNIX_GROUP_NAME=oinstall // 安装组
    INVENTORY_LOCATION=/usr/oracle/oraInventory //INVENTORY目录(不填就是默认值)
    SELECTED_LANGUAGES=en,zh_CN,zh_TW // 选择语言
    ORACLE_HOME=/usr/oracle/product/11.2.0/db_1 // oracle_home
    ORACLE_BASE=/usr/oracle // oracle_base
    oracle.install.db.InstallEdition=EE // oracle版本
    oracle.install.db.isCustomInstall=false //自定义安装,否,使用默认组件
    oracle.install.db.DBA_GROUP=dba // dba用户组
    oracle.install.db.OPER_GROUP=oinstall // oper用户组
    oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //数据库类型
    oracle.install.db.config.starterdb.globalDBName=orcl //globalDBName
    oracle.install.db.config.starterdb.SID=orcl //SID
    oracle.install.db.config.starterdb.memoryLimit=81920 //自动管理内存的内存(M)
    oracle.install.db.config.starterdb.password.ALL=oracle //设定所有数据库用户使用同一个密码
    SECURITY_UPDATES_VIA_MYORACLESUPPORT=false(手动写了false)
    DECLINE_SECURITY_UPDATES=true //设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对)

    开始静默安装
    cd database
    ./runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp
    安装中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。
    查看安装日志信息了解安装进度
     
    cd $ORACLE_BASE/oraInventory/logs
    tail -f installActions*.log
    出现类似如下提示表示安装完成:
    #-------------------------------------------------------------------
    /usr/oracle/oraInventory/orainstRoot.sh
    /usr/oracle/product/11.2.0/db_1/root.sh
    To execute the configuration scripts:
    1. Open a terminal window 
    2. Log in as "root" 
    3. Run the scripts 
    4. Return to this window and hit "Enter" key to continue
     
    Successfully Setup Software.
    #-------------------------------------------------------------------
     
    使用root用户执行脚本

    这里是有两个脚本要执行,跑一下就好
     
    su - root
    /usr/oracle/product/11.2.0/db_1/root.sh
    /usr/oracle/oraInventory/orainstRoot.sh
     
     
    设置oracle环境变量
    su - oracle
    vim ~/.bash_profile
    在最后加上以下内容,根据实际情况设置Oracle环境变量
     
    在最后加上以下内容
     
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    export TNS_ADMIN=$ORACLE_HOME/network/admin
    export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
    export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
    export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
    export ORACLE_OWNER=oracle
    export SPFILE_PATH=$ORACLE_HOME/dbs
    export ORA_NLS10=$ORACLE_HOME/nls/data
    使设置生效
     
    source /home/oracle/.bash_profile
     
    oracle11g的数据库实例就算是装好了

    监听问题:

    [oracle@localhost admin]$ lsnrctl status

     

    LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 30-NOV-2016 16:18:08

     

    Copyright (c) 1991, 2013, Oracle.  All rights reserved.

     

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))

    STATUS of the LISTENER

    ------------------------

    Alias                     LISTENER

    Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production

    Start Date                30-NOV-2016 16:17:54

    Uptime                    0 days 0 hr. 0 min. 14 sec

    Trace Level               off

    Security                  ON: Local OS Authentication

    SNMP                      OFF

    Listener Parameter File   /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora

    Listener Log File         /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml

    Listening Endpoints Summary...

      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))

      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

    The listener supports no services

    The command completed successfully

    [oracle@localhost admin]$

     

    解决方法:

    登录数据库:

    $sqlplus / as sysdba

    显示服务名:

    SQL>show parameter service_names

    强制注册服务:

    SQL>alter system register;

    查看监听状态:

    $lsnrctl status

     

    卸载:

    1.使用SQL*PLUS停止数据库
    [oracle@OracleTest oracle]$ sqlplus /nolog
    SQL> connect / as sysdba
    SQL> shutdown [immediate]
    SQL> exit

    2.停止Listener
    [oracle@OracleTest oracle]$ lsnrctl stop

    3.停止HTTP服务
    [root@OracleTest /root]# service httpd stop

    4.用su或者重新登录到root(如想重新安装可以保留oracle用户,省得输入环境变量了)

    5.将安装目录删除
    [root@OracleTest /root]# rm -rf /u01/app/oracle/

    6.将/usr/bin下的文件删除
    [root@OracleTest /root]# rm /usr/local/bin/dbhome
    [root@OracleTest /root]# rm /usr/local/bin/oraenv
    [root@OracleTest /root]# rm /usr/local/bin/coraenv

    7.将/etc/oratab删除
    [root@OracleTest /root]# rm /etc/oratab

    8.将/etc/oraInst.loc删除
    [root@OracleTest /root]# rm /etc/oraInst.loc

    9.将oracle用户删除(若要重新安装,可以不删除)
    [root@OracleTest /root]# userdel –r oracle

    10.将用户组删除(若要重新安装,可以不删除)
    [root@OracleTest /root]# groupdel oinstall
    [root@OracleTest /root]# groupdel dba

    11.将启动服务删除
    [root@OracleTest /root]# chkconfig --del dbora
    到此为止重启后,你的Linux系统下的Oracle数据库已完全删除了!!!

    如果要再次安装, 最好先做一些备份工作。
    包括用户的登录脚本,数据库自动启动关闭的脚本,和Listener自动启动的脚本。
    要是有可能连创建数据库的脚本也保存下来。

  • 相关阅读:
    LeetCode(111) Minimum Depth of Binary Tree
    LeetCode(108) Convert Sorted Array to Binary Search Tree
    LeetCode(106) Construct Binary Tree from Inorder and Postorder Traversal
    LeetCode(105) Construct Binary Tree from Preorder and Inorder Traversal
    LeetCode(99) Recover Binary Search Tree
    【Android】通过经纬度查询城市信息
    【Android】自定义View
    【OpenStack Cinder】Cinder安装时遇到的一些坑
    【积淀】半夜突然有点想法
    【Android】 HttpClient 发送REST请求
  • 原文地址:https://www.cnblogs.com/jjzd/p/6781686.html
Copyright © 2011-2022 走看看