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的文件或目錄會被刪除。)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM