Saturday, December 27, 2008

Oracle Database Dummy Recovery ( recovery with redolog files or recovery done using redo fies when archive log files not available with hotbackup)

********************************************************************************************************************************
Backup Restore test from HOtbackup - Yes
Source Database Name - DBsrc
Source Host Name - ServerSRc
Target Database Name - DBTar
Target Host Name - ServerTar
Oracle Version on Test and Destination - 9.2.0.8

*********************************************************************************************************************************

Setp 1:

Create Mount points requried :
$ pwd
/desk1/testrestore/DBRestore/

$ mkdir DB1234_arch DB1234_data DB1234_temp


$ pwd
/desk1/testrestore/DBRestore/DB1234_temp
$ ls
$ mkdir adump bdump cdump create email tmpfiles udump
$

$ pwd
/mounts/orahome/app/oracle/admin/qcalldvt

ln -s /desk1/testrestore/DBRestore/DB1234_temp/adump
ln -s /desk1/testrestore/DBRestore/DB1234_temp/bdump
ln -s /desk1/testrestore/DBRestore/DB1234_temp/cdump
ln -s /desk1/testrestore/DBRestore/DB1234_temp/create
ln -s /desk1/testrestore/DBRestore/DB1234_temp/email
ln -s /desk1/testrestore/DBRestore/DB1234_temp/tmpfiles
ln -s /desk1/testrestore/DBRestore/DB1234_temp/udump


Step 2:

copy data (dbf) files and redo file to location (/desk1/testrestore/DBRestore/DB1234_data)


Step 3:

# Instance self registration parameters
instance_name = DB1234
service_names = Servertrg
db_name = "DB1234"
db_domain = domain.com
#db_files = 1000
db_block_size = 8192
db_file_multiblock_read_count = 8

compatible = "8.1.7"


db_cache_size = 8m
#db_cache_size = ?????????????????


shared_pool_size = 20M
#shared_pool_size =
#log_buffer =
log_buffer = ??????

# Optional settings for dynamic SGA and PGA's
# sga_max_size =
sga_max_size = ??????????????????????

pga_aggregate_target = 380M
#pga_aggregate_target =


control_files = ("/desk1/testrestore/DBRestore/DB1234_data/control01.ctl",
"/desk1/testrestore/DBRestore/DB1234_data/control02.ctl")
log_archive_start = false
log_archive_dest_1 = "location=/desk1/testrestore/DBRestore/DB1234_arch/"
log_archive_format = DB1234_arch%S.arc
background_dump_dest = /mounts/orahome/app/oracle/admin/DB1234/bdump
core_dump_dest = /mounts/orahome/app/oracle/admin/DB1234/cdump
user_dump_dest = /mounts/orahome/app/oracle/admin/DB1234/udump
audit_file_dest = /mounts/orahome/app/oracle/admin/DB1234/adump

open_cursors = 3000
max_enabled_roles = 148

timed_statistics=TRUE

Step 4:
Create Controlfile :


CREATE CONTROLFILE SET DATABASE "DB1234" RESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 2
MAXDATAFILES 30
MAXINSTANCES 1
MAXLOGHISTORY 2268
LOGFILE
GROUP 1 '/desk1/testrestore/DBRestore/DB1234_data/logDB12341.ora' SIZE 200M,
GROUP 2 '/desk1/testrestore/DBRestore/DB1234_data/logDB12342.ora' SIZE 200M,
GROUP 3 '/desk1/testrestore/DBRestore/DB1234_data/logDB12343.ora' SIZE 200M,
GROUP 4 '/desk1/testrestore/DBRestore/DB1234_data/logDB12344.ora' SIZE 200M,
GROUP 5 '/desk1/testrestore/DBRestore/DB1234_data/logDB12345.ora' SIZE 200M
DATAFILE
'/desk1/testrestore/DBRestore/DB1234_data/DB1234_system.dbf',
'/desk1/testrestore/DBRestore/DB1234_data/DB1234_users.dbf',
'/desk1/testrestore/DBRestore/DB1234_data/DB1234_tools.dbf',
'/desk1/testrestore/DBRestore/DB1234_data/RBS.dbf',
'/desk1/testrestore/DBRestore/DB1234_data/tblsp1.dbf',
'/desk1/testrestore/DBRestore/DB1234_data/tblsp2.dbf',
'/desk1/testrestore/DBRestore/DB1234_data/tblsp3.dbf',
'/desk1/testrestore/DBRestore/DB1234_data/tblsp4.dbf',
'/desk1/testrestore/DBRestore/DB1234_data/tblsp5.dbf',
'/desk1/testrestore/DBRestore/DB1234_data/tblsp6.dbf',
'/desk1/testrestore/DBRestore/DB1234_data/tblsp7.dbf',
'/desk1/testrestore/DBRestore/DB1234_data/tblsp11.dbf',
'/desk1/testrestore/DBRestore/DB1234_data/PREFSTAT.dbf',
'/desk1/testrestore/DBRestore/DB1234_data/tblsp8.dbf',
'/desk1/testrestore/DBRestore/DB1234_data/tblsp8.dbf',
'/desk1/testrestore/DBRestore/DB1234_data/tblsp9.dbf',
'/desk1/testrestore/DBRestore/DB1234_data/tblsp10.dbf',
'/desk1/testrestore/DBRestore/DB1234_data/tblsp12.dbf.dbf',
'/desk1/testrestore/DBRestore/DB1234_data/tblsp13.dbf'
CHARACTER SET WE8MSWIN1252
;

Step 5:

Make entry in /var/opt/oracle/oratab as below ( just added a line)

DB1234:/mounts/orahome/app/oracle/product/9.2.0.1:Y



Step 6:

Set environment veriables.

$export $ORACLE_SID=DB1234
$export $ORACLE_HOME=/mounts/orahome/app/oracle/product/9.2.0.1

Step 7 :

Start Recovery Process. ( Here recoery process went bit different as we were not having the archive files generated while hot backup went,
so we have used oracle dummy recovery process to open the database any way)


$ sqlplus "/as sysdba"

SQL*Plus: Release 9.2.0.1.0 - Production on Tue Dec 23 08:20:07 2008

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected to an idle instance.


SQL> startup nomount pfile=/desk1/testrestore/DBRestore/DB1234_temp/pfile/initDB1234.ora
ORACLE instance started.

Total System Global Area 2738868712 bytes
Fixed Size 733672 bytes
Variable Size 2701131776 bytes
Database Buffers 16777216 bytes
Redo Buffers 20226048 bytes
SQL> @cr8ctl.sql

Control file created.

SQL> alter database open;

alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open


SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01195: online backup of file 1 needs more recovery to be consistent
ORA-01110: data file 1:
'/desk1/testrestore/DBRestore/DB1234_data/DB1234_system.dbf'


SQL> recover database until cancel using backup controlfile;
ORA-00279: change 8469459547375 generated at 12/03/2008 22:00:03 needed for
thread 1
ORA-00289: suggestion :
/desk1/testrestore/DBRestore/DB1234_arch/DB1234_arch0000006653.arc
ORA-00280: change 8469459547375 for thread 1 is in sequence #6653


Specify log: {=suggested filename AUTO CANCEL}
filename
ORA-00308: cannot open archived log 'filename'
ORA-27037: unable to obtain file status
SVR4 Error: 2: No such file or directory
Additional information: 3


Specify log: {=suggested filename AUTO CANCEL}
/desk1/testrestore/DBRestore/DB1234_data/log1aDB1234.rdo
ORA-00310: archived log contains sequence 2370; sequence 6653 required
ORA-00334: archived log:
'/desk1/testrestore/DBRestore/DB1234_data/log1aDB1234.rdo'


ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01195: online backup of file 1 needs more recovery to be consistent
ORA-01110: data file 1:
'/desk1/testrestore/DBRestore/DB1234_data/DB1234_system.dbf'


SQL> recover database until cancel using backup controlfile;
ORA-00279: change 8469459547375 generated at 12/03/2008 22:00:03 needed for
thread 1
ORA-00289: suggestion :
/desk1/testrestore/DBRestore/DB1234_arch/DB1234_arch0000006653.arc
ORA-00280: change 8469459547375 for thread 1 is in sequence #6653


Specify log: {=suggested filename AUTO CANCEL}
/desk1/testrestore/DBRestore/DB1234_data/log2aDB1234.rdo
ORA-00310: archived log contains sequence 2371; sequence 6653 required
ORA-00334: archived log:
'/desk1/testrestore/DBRestore/DB1234_data/log2aDB1234.rdo'


ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01195: online backup of file 1 needs more recovery to be consistent
ORA-01110: data file 1:
'/desk1/testrestore/DBRestore/DB1234_data/DB1234_system.dbf'


SQL> recover database until cancel using backup controlfile;
ORA-00279: change 8469459547375 generated at 12/03/2008 22:00:03 needed for
thread 1
ORA-00289: suggestion :
/desk1/testrestore/DBRestore/DB1234_arch/DB1234_arch0000006653.arc
ORA-00280: change 8469459547375 for thread 1 is in sequence #6653


Specify log: {=suggested filename AUTO CANCEL}
/desk1/testrestore/DBRestore/DB1234_data/log3aDB1234.rdo
ORA-00310: archived log contains sequence 2369; sequence 6653 required
ORA-00334: archived log:
'/desk1/testrestore/DBRestore/DB1234_data/log3aDB1234.rdo'


ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01195: online backup of file 1 needs more recovery to be consistent
ORA-01110: data file 1:
'/desk1/testrestore/DBRestore/DB1234_data/DB1234_system.dbf'


SQL> recover database until cancel using backup controlfile;
ORA-00279: change 8469459547375 generated at 12/03/2008 22:00:03 needed for
thread 1
ORA-00289: suggestion :
/desk1/testrestore/DBRestore/DB1234_arch/DB1234_arch0000006653.arc
ORA-00280: change 8469459547375 for thread 1 is in sequence #6653


Specify log: {=suggested filename AUTO CANCEL}
/desk1/testrestore/DBRestore/DB1234_data/logDB12341.ora
Log applied.
Media recovery complete.

SQL> alter database open resetlogs;

Database altered.

SQL> select * from v$instance;

INSTANCE_NUMBER INSTANCE_NAME
--------------- ----------------
HOST_NAME
----------------------------------------------------------------
VERSION STARTUP_T STATUS PAR THREAD# ARCHIVE LOG_SWITCH_
----------------- --------- ------------ --- ---------- ------- -----------
LOGINS SHU DATABASE_STATUS INSTANCE_ROLE ACTIVE_ST
---------- --- ----------------- ------------------ ---------
1 DB1234
Servertrg
9.2.0.1.0 23-DEC-08 OPEN NO 1 STOPPED
ALLOWED NO ACTIVE PRIMARY_INSTANCE NORMAL


SQL> exit
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.1.0 - 64bit Production
JServer Release 9.2.0.1.0 - Production

Step 8 :

Add Temp file to the Database :

SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '/desk1/testrestore/DBRestore/DB1234_temp/tmpfiles/temp01.dbf'SIZE 4000M;


Step 9 :

Add Password file.

orapwd file=orapwDB1234 password=********** ( add password file in dbs location )

Step 10 :

You are done go home and enjoy :-)

No comments: