阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

SUSE Linux下完整卸载Oracle和grid软件

122次阅读
没有评论

共计 2637 个字符,预计需要花费 7 分钟才能阅读完成。

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

操作环境

SUSE Linux Enterprise Server 11

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

更多 Oracle 相关信息见 Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计2637字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中