首页 > 代码库 > 如何手动的干净的删除linux上的ORACLE数据库

如何手动的干净的删除linux上的ORACLE数据库

最近在用VMWARE虚拟机做ORACLE的数据库实验,我们都知道在WINDOWS上,我可以到添加删除程序里去自动删除已经安装的所有的应用程序,但是在LINUX上没有这个服务可以进行自动的删除,于是尝试了下手动的删除ORACLE数据库。具体步骤如下:

 

1,先查下ORACLE_SID,ORACLE_HOME.ORACLE_BASE的信息:

[oracle@vmoel5u4 dbs]$ echo $ORACLE_SID
PROD
[oracle@vmoel5u4 dbs]$ echo $ORACLE_HOME
/u01/app/oracle/product/10.2.0/db_1
[oracle@vmoel5u4 dbs]$ echo $ORACLE_BASE
/u01/app/oracle

 

2,进入ORACLE_BASE目录,去删除安装ORACLE数据库信息的相关的目录:

下面的admin,flash_recovery_area,FRA,oradata目录都ORACLE数据库安装后的相应的目录,我们可以都把它删除了。其中product目录是ORACLE数据库的安装程序文件,此文件不能删除,我们安装数据库需要此安装文件,此文件就相当于WINDOWS系统下的安装ORACLE的exe的可执行文件。

[oracle@vmoel5u4 ~]$ cd $ORACLE_BASE
[oracle@vmoel5u4 oracle]$ ll
total 20
drwxr-x--- 3 oracle oinstall 4096 Jul 22 18:12 admin
drwxr-xr-x 3 oracle oinstall 4096 Nov 25 19:34 flash_recovery_area
drwxr-xr-x 2 oracle oinstall 4096 Nov 17 18:11 FRA
drwxr-xr-x 3 oracle oinstall 4096 Nov 17 18:51 oradata
drwxrwx--- 3 oracle oinstall 4096 Mar 24  2012 product


[oracle@vmoel5u4 oracle]$ rm -rf admin

[oracle@vmoel5u4 oracle]$ rm -rf flash_recovery_area FRA

[oracle@vmoel5u4 oracle]$ rm -rf oradata

 

3,由于我此台服务器部署了GRID CONTROL的agent10g,所以我也需要把agent10g目录给删除掉。

[oracle@vmoel5u4 oracle]$ cd product/
[oracle@vmoel5u4 product]$ ll
total 4
drwxrwx--- 4 oracle oinstall 4096 Nov 17 23:35 10.2.0
[oracle@vmoel5u4 product]$ cd 10.2.0/
[oracle@vmoel5u4 10.2.0]$ ll
total 8
drwxr-xr-x 38 oracle oinstall 4096 Nov 25 19:41 agent10g
drwxr-x--- 54 oracle oinstall 4096 Nov 17 18:13 db_1
[oracle@vmoel5u4 10.2.0]$ pwd
/u01/app/oracle/product/10.2.0
[oracle@vmoel5u4 10.2.0]$ rm -rf agent10g/

 

4,到目前为止,与ORACLE相关的数据文件都删除掉了。
[oracle@vmoel5u4 10.2.0]$ ll
total 4
drwxr-x--- 54 oracle oinstall 4096 Nov 17 18:13 db_1

 

5,我们再删除ORACLE数据库的参数文件,密码文件以及snapshot文件

[oracle@vmoel5u4 db_1]$ cd $ORACLE_HOME/dbs
[oracle@vmoel5u4 dbs]$ ll
total 6956
-rw-rw---- 1 oracle oinstall    1544 Nov 17 18:58 hc_PROD.dat
-rw-r----- 1 oracle oinstall   12920 May  3  2001 initdw.ora
-rw-r----- 1 oracle oinstall    8385 Sep 11  1998 init.ora
-rw-r--r-- 1 oracle oinstall     318 Nov 17 18:57 initPROD.ora
-rw-rw---- 1 oracle oinstall      24 Nov 17 18:59 lkPROD
-rw-r----- 1 oracle oinstall    1536 Nov 17 23:59 orapwPROD
-rw-r----- 1 oracle oinstall 7061504 Nov 18 22:30 snapcf_PROD.f
-rw-r----- 1 oracle oinstall    2560 Nov 25 19:35 spfilePROD.ora
[oracle@vmoel5u4 dbs]$


[oracle@vmoel5u4 ~]$ cd $ORACLE_HOME/dbs
[oracle@vmoel5u4 dbs]$ ll
total 6956
-rw-rw---- 1 oracle oinstall    1544 Nov 17 18:58 hc_PROD.dat
-rw-r----- 1 oracle oinstall   12920 May  3  2001 initdw.ora
-rw-r----- 1 oracle oinstall    8385 Sep 11  1998 init.ora
-rw-r--r-- 1 oracle oinstall     318 Nov 17 18:57 initPROD.ora
-rw-rw---- 1 oracle oinstall      24 Nov 17 18:59 lkPROD
-rw-r----- 1 oracle oinstall    1536 Nov 17 23:59 orapwPROD
-rw-r----- 1 oracle oinstall 7061504 Nov 18 22:30 snapcf_PROD.f
-rw-r----- 1 oracle oinstall    2560 Nov 25 19:35 spfilePROD.ora
[oracle@vmoel5u4 dbs]$ rm -rf hc_PROD.dat initPROD.ora lkPROD orapwPROD snapcf_PROD.f spfilePROD.ora
[oracle@vmoel5u4 dbs]$ ll
total 28
-rw-r----- 1 oracle oinstall 12920 May  3  2001 initdw.ora
-rw-r----- 1 oracle oinstall  8385 Sep 11  1998 init.ora

 

6,删除LISTENER文件和TNSNAMES文件

[oracle@vmoel5u4 admin]$ cd $ORACLE_HOME/network/admin
[oracle@vmoel5u4 admin]$ ll
total 12
-rw-r--r-- 1 oracle oinstall  419 Nov 25 19:59 listener.ora
drwxr-x--- 2 oracle oinstall 4096 Mar 24  2012 samples
-rw-r--r-- 1 oracle oinstall  541 Nov 17 19:39 tnsnames.ora
[oracle@vmoel5u4 admin]$ rm -rf listener.ora tnsnames.ora
[oracle@vmoel5u4 admin]$ ll
total 4
drwxr-x--- 2 oracle oinstall 4096 Mar 24  2012 samples

7,还可以顺便检查一下/etc/oratab    /etc/inittab   /u01/app/oraInventory/ContentXML/inventory.xml 文件,看是否有什么多余的条目(entries)信息进行删除或者修改它。

通过上面的7步,基本上就可以把一个ORACLE 数据库从LINUX上删除了。