RE: Duplicate v9i database to P-I-T

  • From: "Mark W. Farnham" <mwf@xxxxxxxx>
  • To: <sbecker6925@xxxxxxxxx>, "'oracle-l'" <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 21 Mar 2023 14:57:48 -0400

You still have physical backups of the files?

 

IF so, you may be able to use the startup rename resetlogs method from prior to 
RMAN and point in time recovery being an actual feature. You would need the 
files for system, sysaux, the files of the tablespace the table is in (you 
don’t need the index tablespace files if that is different) and undo, and at 
least one redo log containing the “end backup” from the backup prior to the 
commit of the delete (or the truncate or drop). 

 

You would have to shut down production (or use a different machine) AND be 
careful doing the startup rename. You’ll need to create online redologs to be 
used for this operation that are different from the files you will use to 
restart production after you unload the data you need in this table (either 
another database or a flatfile) from this rename. You can either adjust the 
control file or rename datafile for that. OR, you can copy the existing 
redologs somewhere, destroy them, and then put them back from the copies you 
made (probably with mv so you don’t have to actually copy them twice).

 

Rust is flaking off my brain cells and coming out my ears at this point, but 
this routinely worked from 6.something through at least 10 if you have the 
files you need. IF you only have the abbreviated backup files tracked by RMAN 
for blocks that only contained blocks that were not empty, this won’t work. 

 

You might be able to copy the existing files, put the blocks from RMAN on top 
of the addresses where they belong in the copied files and patch the first 
block of the file to the serial address you need to match the  archived 
redologs you need (if any). I can’t remember whether they compressed blocks in 
9 for RMAN backups or just slenderized by only taking the used blocks.

 

Possibly dbvisit could help. They’d have far less rust to deal with. When RMAN 
started working reasonably well, folks mostly stopped hiring consultants to do 
that work and I really only did performance stuff after that apart from 
reviewing whether someone’s planned operations for business continuation would 
work. dbvisit has software for versions where RMAN is not available and use 
physical replication, so they probably remember things I don’t.

 

mwf

 

Good luck.

 

mwf

 

From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On ;
Behalf Of Sandra Becker
Sent: Tuesday, March 21, 2023 1:21 PM
To: oracle-l
Subject: Duplicate v9i database to P-I-T

 

OS:  Solaris 5.8

Oracle:  9.2.0.8 ( I knew this would bite us one day, but I have no control 
over it.) 

 

Problem:  Someone purged all the data from a single table, now they want it 
recovered to a  P-I-T

Backups are still on disk, but have aged out.  When I list backup of datafile 
1, it shows the oldest backup is one day after the one I need.  Unfortunately, 
you can't catalog backups in 9i. We also no longer have Oracle support because 
the company thought it was a waste of money.  Is there anything I can do to 
duplicate a new database from the backups I need?

 

Also unfortunate that the production database and the clone are on the same 
server.  Again, I had no choice in the matter.  Am I totally screwed in 
recovering that table?


-- 

Sandy B.

Other related posts: