本文主要描述如何在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 -
find / -maxdepth -path /proc -prune -o -user oracle -print0 | xargs - rm -rf
find / -maxdepth -path /proc -prune -o -group dba -print0 | xargs - rm -rf
find / -maxdepth -path /proc -prune -o -group oinstall -print0 | xargs - rm -rf #delete grid relation file and directory
ps -fu grid | grep -Ev 'PID|grep' | awk '{print $2}' | xargs kill -
find / -maxdepth -path /proc -prune -o -user grid -type f -print0 | xargs - rm -rf
find / -maxdepth -path /proc -prune -o -user grid -type d -print0 | xargs - rm -rf

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

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

Linux 完整卸载oracle和grid软件的更多相关文章

  1. 卸载oracle 11g grid软件

    一,使用deinstall 同样,卸载grid软件在11g中也推出了了卸载工具deinstall卸载同卸载oracle数据库软件 具体可参考:Behaviour of the Oracle De-in ...

  2. 卸载oracle 11g数据库软件

    卸载oracle,从11g开始使用deinstall卸载数据库软件可以干净卸掉oracle $ cd $ORACLE_HOME/deinstall $ ls -l total 152 -rwxr-xr ...

  3. Linux下卸载Oracle 11g

    第一种方法: 使用oracle自带的runInstaller 卸载 [oracle@VM_0_14_centos deinstall]$ cd $ORACLE_HOME [oracle@VM_0_14 ...

  4. oracle 11g grid软件安装[20180121]

      实验环境:     系统->Redhat 6.5     Oracle软件版本->oracle 11.2.0.4.0        系统初始化     设定hosts主机名和对应IP地 ...

  5. Linux下卸载oracle需要删除的文件

    卸载oracle需要删除的文件 rm -rf /data1/oracle/app  #oracle安装目录在/data1/oracle中 rm -rf /usr/local/bin/dbhome rm ...

  6. linux下卸载Oracle

    1.卸载数据库软件--10g[oracle]# cd /u01/app/oracle/product/10.2.0/db_1/oui/bin[oracle]# ./runInstaller -igno ...

  7. Linux下卸载ORACLE的多种方法(转)

    第一种# cd /u01/app/oracle/product/11.2.0/client_1/deinstall/ # ./deinstall# rm -rf /u01/app/oracle# rm ...

  8. Linux完全卸载Oracle的操作步骤

    卸载步骤如下:1.运行$ORACLE_HOME/bin/localconfig delete2.rm -rf $ORACLE_BASE/*3.rm -f /etc/oraInst.loc etc/or ...

  9. linux下卸载已安装的软件

    1.先查询该软件是否安装,是否存在 rpm -qa | grep -i teamview 2.根据一中的结果(软件包名称),执行如下命令 rpm -e [软件包名]

随机推荐

  1. UE4 几个好用的插件和Wiki教程

    转自:http://blog.csdn.net/u014532636/article/details/72729881 https://github.com/ue4plugins/LoadingScr ...

  2. MongoDb进阶实践之一 如何在Linux系统上安装和配置MongoDB

    转载来源:https://www.cnblogs.com/PatrickLiu/p/8630151.html 一.NoSQL数据简介 1.NoSQL概念 NoSQL(NoSQL = Not Only ...

  3. 用户授权的Sql脚本

    正文 要想成功访问 SQL Server 数据库中的数据, 我们需要两个方面的授权: 获得准许连接 SQL Server 服务器的权利: 获得访问特定数据库中数据的权利(select, update, ...

  4. 关于HSTS

    HSTS(HTTP Strict Transport Security) 当用户在浏览器中输入一个域名,如果没有注明前缀(也就是没输入"http"的时候)的时候,浏览器会默认按照h ...

  5. IIS 禁止回收

    在IIS中找到这个站点所用的程序池,点击“高级设置...” 在打开的列表中更改以下设置: 回收 ——固定时间间隔(分钟) 改为 0 ——虚拟/专用内存限制(KB) 改为 0 进程模型 ——闲置超时(分 ...

  6. 【LeetCode】2. Add Two Numbers 两数相加

    给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...

  7. BZOJ 3473: 字符串 (广义后缀自动机)

    /* 广义后缀自动机, 每次加入维护 该right集合的set, 然后可以更新所有的parent,最终能够出现在k个串中right集合也就是set大小大于等于k的部分 这样的话就给了我们要跳的节点加了 ...

  8. [ORACLE]java.sql.SQLRecoverableException: IO Error: Connection rese

    随机数引起的阻塞问题 程序通过 java -jar -Djava.security.egd=file:/dev/./urandom xxx 的方式执行, http://hongjiang.info/j ...

  9. JVM总结-Java 虚拟机是怎么识别目标方法(上)

    重载与重写 在 Java 程序里,如果同一个类中出现多个名字相同,并且参数类型相同的方法,那么它无法通过编译.也就是说,在正常情况下,如果我们想要在同一个类中定义名字相同的方法,那么它们的参数类型必须 ...

  10. Java Swing类 颜色、按键状态判断例子代码

    package rom; import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.ActionEvent; ...