zoukankan      html  css  js  c++  java
  • Linux 完整卸载oracle和grid软件

      本文主要描述如何在Linux下完全卸载oracle和grid软件。

    操作环境

      SuSE11

    oracle用户完整删除操作步骤

      1、登录oracle用户,停止Oracle数据库监听和数据库实例

    oracle@Linux:~> lsnrctl stop
    oracle@Linux:~> sqlplus / as sysdba
     SQL> shutdown immediate;
     SQL> exit

       说明:可以使用ps -ef | grep 'oracle' | grep -v grep确认是否还有进程。如果有,可以直接手工kill一下。

      2、获取oracle用户下的ORACLE_HOME和ORACLE_BASE路径并执行删除。原因是oracle安装目录不一定都是标准安装方式完成,如果是标准方式可直接删除/opt/oracle、/opt/oraInventory目录

    Linux:~# su - oracle
    oracle:~$ echo $ORACLE_BASE  --> /home/oracle/base
    oracle:~$ echo $ORACLE_HOME  --> /home/oracle/product

       切换到root用户,删除上述获取到的oracle用户的ORACLE_BASE和ORACLE_HOME目录。

    Linux:~# rm -rf /home/oracle/base
    Linux:~# rm -rf /home/oracle/product

       3、删除/usr/local/bin目录下的dbhome、oraenv、coraenv文件

    Linux:~# rm /usr/local/bin/dbhome
    Linux:~# rm /usr/local/bin/oraenv
    Linux:~# rm /usr/local/bin/coraenv

       4、删除/etc目录下的oratab、oraInst.loc文件、删除/etc/oracle目录

    Linux:~# rm -rf /etc/oratab
    Linux:~# rm -rf /etc/oracle Linux:~#
    rm -rf /etc/oraInst.loc

      5、删除/tmp目录安装oracle产生的相关文件

    Linux:~# rm -rf /tmp/*oracle*
    Linux:~# rm -rf /tmp/Oracle*
    Linux:~# rm -rf /tmp/.oracle
    Linux:~# rm -rf /tmp/CUV*
    Linux:~# rm -rf /tmp/OraInst*

       6、删除oracle用户

    Linux:~# userdel -rf oracle

      7、删除dba和oinstall用户组

    Linux:~# groupdel dba
    Linux:~# groupdel oinstall

      8、检查/dev/shm目录下是否存在用户为oracle的相关的文件或者目录,如果有则删除。

      9、卸载oracle用户结束。

    grid用户完整删除操作步骤

       1、切换到grid用户,停止grid下的ASM实例监听和HAS服务。

    grid@Linux:~> lsnrctl stop
    grid@Linux:~> crsctl stop resource -all

       说明:可以使用ps -ef | grep 'grid' | grep -v grep确认是否还有进程。如果有,可以直接手工kill一下。

      2、获取grid用户的ORACLE_HOME和ORACLE_BASE路径并执行删除。原因是grid用户的安装目录不一定都是标准安装方式完成,如果是标准方式可直接删除/opt/oracrs、/opt/oraadm、/opt/oraInventory目录

    Linux:~# su - grid
    grid:~$ echo $ORACLE_BASE   --> /home/grid/base
    grid:~$ echo $ORACLE_HOME   --> /home/grid/product

       切换到root用户,删除上述获取到的grid用户的ORACLE_BASE和ORACLE_GRID目录。

    Linux:~# rm -rf /home/grid/base
    Linux:~# rm -rf /home/grid/product

       3、删除grid用户

    Linux:~# userdel -rf grid

       4、清理ASM相关的DG的信息

    Linux:~# cd /dev/diskgroup
    Linux:~# dd if=/dev/zero of=./dg_ora bs=8k count=10240
    Linux:~# dd if=/dev/zero of=./dg_data bs=8k count=10240
    Linux:~# dd if=/dev/zero of=./dg_backup bs=8k count=10240

      5、卸载grid用户结束。

    方法二(利用find批量删除,如果看不懂下述操作命令不建议操作)

    #delete oracle relation file and directory
    ps -fu oracle | grep -Ev 'PID|grep' | awk '{print $2}' | xargs kill -9
    find / -maxdepth 3 -path /proc -prune -o -user oracle -print0 | xargs -0 rm -rf
    find / -maxdepth 3 -path /proc -prune -o -group dba -print0 | xargs -0 rm -rf
    find / -maxdepth 3 -path /proc -prune -o -group oinstall -print0 | xargs -0 rm -rf
    
    #delete grid relation file and directory
    ps -fu grid | grep -Ev 'PID|grep' | awk '{print $2}' | xargs kill -9
    find / -maxdepth 3 -path /proc -prune -o -user grid -type f -print0 | xargs -0 rm -rf
    find / -maxdepth 3 -path /proc -prune -o -user grid -type d -print0 | xargs -0 rm -rf

    说明:(1)如果数据文件管理方式为ASM管理,则同样需要执行dd命令删除磁盘组信息。

            (2)必须清楚上述命令使用的影响(如非oracle/grid用户但用户组为dba/oinstall的文件或目录会被删除。)

  • 相关阅读:
    HashMap的实现原理
    LinkedHashMap的实现讲解
    ConcurrentHashMap原理分析
    javax.mail Java Extension(扩展)
    Singleton 单例模式
    Java序列化与反序列化(实践)
    Java IO操作
    Java NIO与IO的区别和比较
    java模拟异步消息的发送与回调
    java如何实现多个线程并发运行
  • 原文地址:https://www.cnblogs.com/linyfeng/p/7821149.html
Copyright © 2011-2022 走看看