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自动启动的脚本。
    要是有可能连创建数据库的脚本也保存下来。

  • 相关阅读:
    nodejs 的序列化与反序列化
    Visual Studio 监视与快速监视即时窗口没有智能提示
    mysql 备份数据语句
    mysql 导入sql 2006
    MySql.Data.MySqlClient.MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts.
    怎么查看mysql的安装目录
    【支付宝】退款接口 报 “缺少签名参数”
    【支付宝】"验签出错,sign值与sign_type参数指定的签名类型不一致:sign_type参数值为RSA,您实际用的签名类型可能是RSA2"
    【支付宝】支付 系统繁忙,请稍后再试(ALIN10146)
    php插入日志到数据库,对象转json
  • 原文地址:https://www.cnblogs.com/jjzd/p/6781686.html
Copyright © 2011-2022 走看看