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 -
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软件的更多相关文章
- 卸载oracle 11g grid软件
一,使用deinstall 同样,卸载grid软件在11g中也推出了了卸载工具deinstall卸载同卸载oracle数据库软件 具体可参考:Behaviour of the Oracle De-in ...
- 卸载oracle 11g数据库软件
卸载oracle,从11g开始使用deinstall卸载数据库软件可以干净卸掉oracle $ cd $ORACLE_HOME/deinstall $ ls -l total 152 -rwxr-xr ...
- Linux下卸载Oracle 11g
第一种方法: 使用oracle自带的runInstaller 卸载 [oracle@VM_0_14_centos deinstall]$ cd $ORACLE_HOME [oracle@VM_0_14 ...
- oracle 11g grid软件安装[20180121]
实验环境: 系统->Redhat 6.5 Oracle软件版本->oracle 11.2.0.4.0 系统初始化 设定hosts主机名和对应IP地 ...
- Linux下卸载oracle需要删除的文件
卸载oracle需要删除的文件 rm -rf /data1/oracle/app #oracle安装目录在/data1/oracle中 rm -rf /usr/local/bin/dbhome rm ...
- linux下卸载Oracle
1.卸载数据库软件--10g[oracle]# cd /u01/app/oracle/product/10.2.0/db_1/oui/bin[oracle]# ./runInstaller -igno ...
- Linux下卸载ORACLE的多种方法(转)
第一种# cd /u01/app/oracle/product/11.2.0/client_1/deinstall/ # ./deinstall# rm -rf /u01/app/oracle# rm ...
- Linux完全卸载Oracle的操作步骤
卸载步骤如下:1.运行$ORACLE_HOME/bin/localconfig delete2.rm -rf $ORACLE_BASE/*3.rm -f /etc/oraInst.loc etc/or ...
- linux下卸载已安装的软件
1.先查询该软件是否安装,是否存在 rpm -qa | grep -i teamview 2.根据一中的结果(软件包名称),执行如下命令 rpm -e [软件包名]
随机推荐
- JVM内存调优
JVM性能调优有很多设置,这个参考JVM参数即可. 主要调优的目的: 控制GC的行为.GC是一个后台处理,但是它也是会消耗系统性能的,因此经常会根据系统运行的程序的特性来更改GC行为 控制JVM堆栈大 ...
- tf.assign,tf.assign_add,tf.assign_sub
a = tf.Variable(0.0,dtype=tf.float32) with tf.Session() as sess: sess.run(tf.global_variables_initia ...
- windows server 2008通过任务计划程序定时访问网站
1.新一个.bat文件,如: @echo offstart 网址exit 2.打windows server 2008,新建任务计划程序定时访问任务
- 用最通俗的话解释AJAX是什么东西
直白地说,就是没用AJAX的网页,你点一个按钮就要刷新一下页面,尽管新页面上只有一行字和当前页面不一样,但你还是要无聊地等待页面刷新. 用了AJAX之后,你点击,然后页面上的一行字就变化了,页面本身不 ...
- 生成excel的时候要用双引号。。。。。
<?php header("Content-type:application/vnd.ms-excel"); header("Content-Disposition ...
- 好习惯: 用controller as 语法和$inject数组注入
angular好习惯1: 用controller as 语法和$inject数组注入 1) 像普通的JS类一样实现controller,摆脱$scope 2) 用.$inject数组注入相关模块,便于 ...
- Service 和 IntentService的区别;
Srevice不是在子线程,在Srevice中做耗时操作一样ANR,然后我们就会用到IntentService,IntentSrevice不但擅长做耗时操作,还有一个特点,用完即走: 在Srevice ...
- php会话控制技术
为什么会使用会话控制技术: 允许服务器跟踪统一用户做出的请求 setcookie($name,$value,$expire,$path,$domain,$secure) 参数:名称.值.过期时间.路径 ...
- VMware NAT模式多个虚拟机相互访问
在一台主机上只允许有一个NAT模式的虚拟网络.因此,同一台主机上的多个采用NAT模式网络连接的虚拟机也是可以相互访问的.
- 在html中使用thymeleaf编写通用模块
在编写页面时,常常会需要用到通用模块,比如header部分.footer部分等. 项目前端使用的是themeleaf模板引擎,下面简单介绍下使用themeleaf写header通用模块: 1. 通用部 ...