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的文件或目录会被删除。)

  • 相关阅读:
    vc++操作mysql数据库的技巧
    [翻译]用表单字段加亮的方式为用户提供友好的界面
    设计方法开篇
    周末之个人杂想(五)
    ComponentArt对Atlas的集成
    [翻译]使用ASP.NET2.0的ReportViewer查看RDLC报表
    [视频讲解]GridView里做链接实现新闻列表到详细内容页的跳转
    关于正则表达式
    周末之个人杂想(七)

  • 原文地址:https://www.cnblogs.com/linyfeng/p/7821149.html
Copyright © 2011-2022 走看看