Linux 完整卸载oracle和grid软件

  本文主要描述如何在Linux下彻底卸载oracle和grid软件。sql

操做环境

  SuSE11数据库

oracle用户完整删除操做步骤

  一、登陆oracle用户,中止Oracle数据库监听和数据库实例oracle

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

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

  二、获取oracle用户下的ORACLE_HOME和ORACLE_BASE路径并执行删除。缘由是oracle安装目录不必定都是标准安装方式完成,若是是标准方式可直接删除/opt/oracle、/opt/oraInventory目录code

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

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

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

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

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

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

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

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

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*

   六、删除oracle用户class

Linux:~# userdel -rf oracle

  七、删除dba和oinstall用户组

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

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

  九、卸载oracle用户结束。

grid用户完整删除操做步骤

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

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

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

  二、获取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

   三、删除grid用户

Linux:~# userdel -rf grid

   四、清理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

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

相关文章
相关标签/搜索