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

2023年 4月 29日 33.3k 0

本文主要描述如何在Linux下完全卸载Oracle和grid软件。 操作环境 SUSE Linux Enterprise Server 11 Oracle用户完整删除操作步骤 1、登录oracle用户,停止Oracle数据库监听和数据库实例 oracle@Linux:~ lsnr

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

操作环境

SUSE Linux Enterprise Server 11

Oracle用户完整删除操作步骤

1、登录oracle用户,停止Oracle数据库监听和数据库实例

oracle@Linux:~> lsnrctl stoporacle@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 - oracleoracle:~$ echo $ORACLE_BASE  --> /home/oracle/baseoracle:~$ echo $ORACLE_HOME  --> /home/oracle/product

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

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

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

Linux:~# rm /usr/local/bin/dbhomeLinux:~# rm /usr/local/bin/oraenvLinux:~# rm /usr/local/bin/coraenv

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

Linux:~# rm -rf /etc/oratabLinux:~# rm -rf /etc/oracleLinux:~# rm -rf /etc/oraInst.loc

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

Linux:~# rm -rf /tmp/*oracle*Linux:~# rm -rf /tmp/Oracle*Linux:~# rm -rf /tmp/.oracleLinux:~# rm -rf /tmp/CUV*Linux:~# rm -rf /tmp/OraInst*

6、删除oracle用户

Linux:~# userdel -rf oracle

7、删除dba和oinstall用户组

Linux:~# groupdel dbaLinux:~# groupdel oinstall

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

9、卸载oracle用户结束。

grid用户完整删除操作步骤

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

grid@Linux:~> lsnrctl stopgrid@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 - gridgrid:~$ echo $ORACLE_BASE  --> /home/grid/basegrid:~$ echo $ORACLE_HOME  --> /home/grid/product

切换到root用户,删除上述获取到的grid用户的ORACLE_BASE和ORACLE_GRID目录。

Linux:~# rm -rf /home/grid/baseLinux:~# rm -rf /home/grid/product

3、删除grid用户

Linux:~# userdel -rf grid

4、清理ASM相关的DG的信息

Linux:~# cd /dev/diskgroupLinux:~# dd if=/dev/zero of=./dg_ora bs=8k count=10240Linux:~# dd if=/dev/zero of=./dg_data bs=8k count=10240Linux:~# dd if=/dev/zero of=./dg_backup bs=8k count=10240

5、卸载grid用户结束。

方法二(利用find批量删除,如果没看懂下述操作命令不建议操作)

#delete oracle relation file and directoryps -fu oracle | grep -Ev 'PID|grep' | awk '{print $2}' | xargs kill -9find / -maxdepth 3 -path /proc -prune -o -user oracle -print0 | xargs -0 rm -rffind / -maxdepth 3 -path /proc -prune -o -group dba -print0 | xargs -0 rm -rffind / -maxdepth 3 -path /proc -prune -o -group oinstall -print0 | xargs -0 rm -rf

#delete grid relation file and directoryps -fu grid | grep -Ev 'PID|grep' | awk '{print $2}' | xargs kill -9find / -maxdepth 3 -path /proc -prune -o -user grid -type f -print0 | xargs -0 rm -rffind / -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.558idc.com/topicnews.aspx?tid=12

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论