I first learned about drop database in 2007.
Environment contains standby database oltpdr.
Duplicate standby database olapdr on the same host using oltpdr as source failed during restore phase.
Clean up data files from failed olapdr duplication.
Check database olapdr.
olap1> show parameter db%name NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_name string oltp db_unique_name string olapdr olap1> select count(*) from gv$session; COUNT(*) ---------- 90 Elapsed: 00:00:00.00 olap1> select open_mode from v$database; OPEN_MODE -------------------- MOUNTED Elapsed: 00:00:00.03 olap1> startup force mount restrict exclusive; ORACLE instance started. Total System Global Area 2.5770E+10 bytes Fixed Size 6870952 bytes Variable Size 5625976920 bytes Database Buffers 1.9998E+10 bytes Redo Buffers 138514432 bytes Database mounted. olap1> show parameter db%name NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_name string oltp db_unique_name string olapdr olap1> select count(*) from gv$session; COUNT(*) ---------- 92 Elapsed: 00:00:00.01 olap1> select open_mode from v$database; OPEN_MODE -------------------- MOUNTED Elapsed: 00:00:00.04
At this point, I was ready to run drop database and somehow an angel was watching over me and I decided to check v$datafile.
olap1> select name from v$datafile where rownum < 10; NAME ----------------------------------------------------------- +DATA/OLTPDR/DATAFILE/system.4069.986394171 +DATA/OLTPDR/DATAFILE/dev_odi_temp.4067.986394187 +DATA/OLTPDR/DATAFILE/sysaux.4458.985845085 +DATA/OLTPDR/DATAFILE/big_dmstaging_data_new_2.4687.986498821 +DATA/OLTPDR/DATAFILE/account_toll_index.3799.985714921 +DATA/OLTPDR/DATAFILE/users.2524.985777377 +DATA/OLTPDR/DATAFILE/dev_ias_temp.4141.985846937 +DATA/OLTPDR/DATAFILE/dev_stb.4143.985846937 +DATA/OLTPDR/DATAFILE/dev_odi_user.4144.985846937 9 rows selected. Elapsed: 00:00:00.01 olap1> exit
Strange data files are the same for source and target.
oltp1> select open_mode from v$database; OPEN_MODE -------------------- READ ONLY WITH APPLY Elapsed: 00:00:00.07 oltp1> select name from v$datafile where rownum < 10; NAME ----------------------------------------------------------- +DATA/OLTPDR/DATAFILE/system.4069.986394171 +DATA/OLTPDR/DATAFILE/dev_odi_temp.4067.986394187 +DATA/OLTPDR/DATAFILE/sysaux.4458.985845085 +DATA/OLTPDR/DATAFILE/big_dmstaging_data_new_2.4687.986498821 +DATA/OLTPDR/DATAFILE/account_toll_index.3799.985714921 +DATA/OLTPDR/DATAFILE/users.2524.985777377 +DATA/OLTPDR/DATAFILE/dev_ias_temp.4141.985846937 +DATA/OLTPDR/DATAFILE/dev_stb.4143.985846937 +DATA/OLTPDR/DATAFILE/dev_odi_user.4144.985846937 9 rows selected. Elapsed: 00:00:00.01 oltp1> exit
Check data files from ASM.
ASMCMD> cd DATA ASMCMD> ls OLAPDR/ OLTP/ OLTPDR/ SCHDDBDR/ _MGMTDB/ ASMCMD> cd OLAPDR ASMCMD> ls CONTROLFILE/ DATAFILE/ ASMCMD> cd DATAFILE ASMCMD> pwd +DATA/OLAPDR/DATAFILE ASMCMD> exit
Shutdown olapdr.
olap1> show parameter db%name NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_name string oltp db_unique_name string olapdr olap1> select open_mode from v$database; OPEN_MODE -------------------- MOUNTED Elapsed: 00:00:00.03 olap1> shut abort; ORACLE instance shut down. olap1> exit
Manually remove data files from ASM.
$ asmcmd lsof -G +DATA|grep -ic OLAPDR 0 $ asmcmd ls +DATA/OLAPDR/DATAFILE|wc -l 1665 $ asmcmd lsof -G +DATA/OLAPDR/DATAFILE|wc -l 0 $ asmcmd ASMCMD> cd datac1 ASMCMD> cd olapdr ASMCMD> ls CONTROLFILE/ DATAFILE/ ASMCMD> cd datafile ASMCMD> pwd +DATA/olapdr/datafile ASMCMD> rm * You may delete multiple files and/or directories. Are you sure? (y/n) y
What would have happened if drop database was executed?
Does anyone know for sure?
Would you have executed drop database?
Advertisements
Leave a Reply