Sunteți pe pagina 1din 15

No archive log mode backup and recovery

Step1>
NoArchive Log Mode logfile not overwritten:

[swapna@of20 ~]$ sqlplus / as sysdba

SQL> shutdown immediate

[swapna@of20 ~]$ mkdir bkp

[swapna@of20 10gdb]$ pwd


/d01/swapna/10.2.0.5/oradata/10gdb

[swapna@of20 10gdb]$ cp -p *.dbf /d01/swapna/10gbkp

[swapna@of20 10gdb]$ cp -p *.ctl /d01/swapna/10gbkp

[swapna@of20 10gdb]$ sqlplus / as sysdba

SQL> startup

SQL> conn swapna/swapna

SQL> create table emp (empno number,ename varchar2(5),sal number(5));

SQL> insert into emp values(&empno,'&ename',&sal);

SQL> /

SQL> select * from emp;

[swapna@of20 10gdb$ rm -rf ts1df.dbf

SQL> insert into emp values(&empno,'&ename',&sal);

SQL>commit;
SQL> shutdown immediate

ORA-01116: error in opening database file 5

ORA-01110: data file 5: '/d01/swapna/10.2.0.5/oradata/10gdb/ts1df.dbf'

ORA-27041: unable to open file

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3
SQL> shutdown abort

[swapna@of20 10gbkp]$ cp ts1df.dbf /d01/swapna/10.2.0.5/oradata/10gdb


SQL> startup mount
SQL> recover database using backup controlfile;

ORA-00279: change 988111 generated at 07/08/2010 17:27:21 needed for thread 1

ORA-00289: suggestion :

/d01/swapna/10.2.0.5/flash_recovery_area/10GDB/archivelog/2010_07_12/o1_mf_1_37_

%u_.arc

ORA-00280: change 988111 for thread 1 is in sequence #37

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

/d01/swapna/10.2.0.5/oradata/10gdb/redo01.log

ORA-00310: archived log contains sequence 35; sequence 37 required

ORA-00334: archived log: '/d01/swapna/10.2.0.5/oradata/10gdb/redo01.log'

SQL> recover database using backup controlfile;

ORA-00279: change 988111 generated at 07/08/2010 17:27:21 needed for thread 1

ORA-00289: suggestion :

/d01/swapna/10.2.0.5/flash_recovery_area/10GDB/archivelog/2010_07_12/o1_mf_1_37_

%u_.arc

ORA-00280: change 988111 for thread 1 is in sequence #37

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

/d01/swapna/10.2.0.5/oradata/10gdb/redo03.log

Log applied.

Media recovery complete.

SQL> alter database open resetlogs;

SQL> select name from v$datafile;


Step2>
NoArchive Log with log file overwritten no redo log file backup
SQL> shutdown immediate

[swapna@of20 test11g]$ cp -Rp *.dbf /d01/swapna/bkp

[swapna@of20 test11g]$ cp -Rp *.ctl /d01/swapna/bkp

[swapna@of20 ~]$ sqlplus / as sysdba

SQL> startup

SQL> select member from v$logfile;

[swapna@of20 test11g]$ du -sh *.log

51M redo01.log

51M redo02.log

51M redo03.log

SQL> conn swapna/swapna123

SQL> select * from emp;


6 rows selected.

SQL> insert into emp select * from emp;


6 rows created.

SQL> /
-----do this step multiple times
SQL> /
196608 rows created.

SQL> /

insert into emp select * from emp


*
ERROR at line 1:
ORA-01653: unable to extend table SWAPNA.EMP by 128 in tablespace TS1

SQL> commit;

SQL> select count (*) from emp;

COUNT(*)
----------
393216

SQL> shutdown abort

[swapna@of20 test11g]$ cp /d01/swapna/bkp/*.dbf .

[swapna@of20 test11g]$ cp /d01/swapna/bkp/*.ctl .

SQL> startup mount

SQL> recover database until cancel;

Media recovery complete.

SQL> alter database open resetlogs;

SQL> conn swapna/swapna123

Connected.

SQL> select count(*) from emp;

COUNT(*)
----------
6

Step3>
NoArchive Log ,Redo overwritten ,Redo log file backup is available
SQL>shutdown immediate
[swapna@of20 10gdb]$ pwd

/d01/swapna/10.2.0.5/oradata/10gdb

[swapna@of20 10gdb]$ cp -Rp * /d01/swapna/10gdkp

SQL> startup

SQL> conn swapna/swapna

SQL> insert into emp select * from emp;

SQL> /

SQL> /

196608 rows created.

SQL> commit;
SQL> shutdown immediate

[swapna@of20 10gdb]$ cp /d01/swapna/10gdkp/* .

SQL> startup

SQL> conn swapna/swapna

Connected.

SQL> select count(*) from emp;

COUNT(*)
----------
6

Error:

SQL> alter database recover using backup controlfile;

alter database recover using backup controlfile

ERROR at line 1:

ORA-00279: change 903407 generated at 07/09/2010 17:48:44 needed for thread 1

ORA-00289: suggestion :

/d01/swapna/oradata/test11g/flash_recovery_area/TEST11G/archivelog/2010_07_12/o1

_mf_1_1_%u_.arc

ORA-00280: change 903407 for thread 1 is in sequence #1

SQL> alter database recover using backup controlfile;

alter database recover using backup controlfile

ERROR at line 1:

ORA-00275: media recovery has already been started


SQL> exit
[swapna@of20 test11g]$ sqlplus / as sysdba

SQL> alter database recover using backup controlfile;

SQL> alter database recover cancel;

SQL> set autorecovery on;

SQL> alter database recover using backup controlfile;

solution:
above all are wrong methods
SQL>recover database using backup control file; -----this will work

Archive log mode backup and recovery

Step1>
enable archive log mode:
[swapna@of20 test11g]$ mkdir archive_logs
[swapna@of20 test11g]$ cd archive_logs/

[swapna@of20 archive_logs]$ pwd

/d01/swapna/oradata/test11g/archive_logs

[swapna@of20 archive_logs]$ cd $ORACLE_HOME/dbs

[swapna@of20 dbs]$ vi inittest11g.ora

*.log_archive_dest_1="location=/d01/swapna/oradata/test11g/archive_logs"
:wq!
SQL> create spfile from pfile;

SQL> startup mount

SQL> alter database archivelog;

SQL> archive log list

Database log mode Archive Mode

Automatic archival Enabled

Archive destination USE_DB_RECOVERY_FILE_DEST


-----this is default location in 11g
Oldest online log sequence 1

Next log sequence to archive 1


Current log sequence 1

SQL> archive log list

Database log mode Archive Mode

Automatic archival Enabled

Archive destination /d01/swapna/oradata/test11g/archive_logs


-----user defined destination
Oldest online log sequence 1

Next log sequence to archive 1

Current log sequence 1

SQL>alter database open;


SQL> show parameter archive

Step2>
I)Loss of System tablespace
SQL> shutdown immediate

[swapna@of20 test11g]$ cp -Rp * /d01/swapna/bkp/

SQL> startup

SQL> select USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE from


dba_users where username='SYS';
create table and insert data into that table
[swapna@of20 test11g]$ mv system01.dbf system01.dbf.bkp
SQL> select * from v$recover_file;
------to see for the cause
enter insert and update data into ur table commit and qury table
SQL> shutdown immediate

[swapna@of20 test11g]$ cp -Rp archive_logs /d01/swapna/bkp/

SQL> startup mount

SQL> select * from v$recover_file;

FILE# ONLINE ONLINE_


---------- ------- -------
ERROR CHANGE#
----------------------------------------------------------------- ----------
TIME
---------
1 ONLINE ONLINE

FILE NOT FOUND 0

[swapna@of20 bkp]$ cp -Rp system01.dbf /d01/swapna/oradata/test11g

SQL> recover database

Media recovery complete.

SQL> alter database open;


Database altered.
SQL> show user
USER is "SYS"

SQL> select * from emp;

[swapna@of20 test11g]$ rm -rf system01.dbf.bkp

Step3>
II)Non-System datafile loss(Do not Shut)
SQL> startup

[swapna@of20 test11g]$ cp -Rp * /d01/swapna/bkp/

SQL> conn swapna/swapna123

Connected.

SQL> select * from user_users;

SQL> insert into emp select * from emp;

SQL> select count(*) from emp;


COUNT(*)
----------
393216

[swapna@of20 test11g]$ cp -Rp archive_logs /d01/swapna/bkp/

[swapna@of20 test11g]$ mv ts1df.dbf ts1df.dbf.bkp

SQL> select * from v$recover_file;

SQL> select name from v$tablespace;

SQL> alter tablespace ts1 offline;

alter tablespace ts1 offline


*

ERROR at line 1:

ORA-01116: error in opening database file 5

ORA-01110: data file 5: '/d01/swapna/oradata/test11g/ts1df.dbf'

ORA-27041: unable to open file

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3

SQL> select TABLESPACE_NAME,STATUS from dba_tablespaces;

SQL> alter database close;

[swapna@of20 test11g]$ cp -Rp /d01/swapna/bkp/archive_logs .

[swapna@of20 test11g]$ cp /d01/swapna/bkp/ts1df.dbf .

SQL> recover database

Media recovery complete.

SQL> shut abort

SQL> startup
SQL> conn swapna/swapna123

Connected.

SQL> select count(*) from emp;


COUNT(*)
----------
393216

Step4>
III)ArchiveLog mode,non-system datafile loss and initially closed ,Open database
continue step3 upto remove the datafile
[swapna@of20 test11g]$ rm -rf ts1df.dbf ts1df.dbf
SQL> shutdown abort

[swapna@of20 test11g]$ cp -Rp archive_logs /d01/swapna/bkp/

SQL> startup mount


SQL> select * from v$recover_file;

FILE# ONLINE ONLINE_


---------- ------- -------
ERROR CHANGE#
----------------------------------------------------------------- ----------
TIME
---------
5 ONLINE ONLINE

FILE NOT FOUND 0

[swapna@of20 test11g]$ cp /d01/swapna/bkp/ts1df.dbf .

SQL> recover tablespace ts1


Media recovery complete.

SQL> alter database open;

Database altered.

SQL> conn swapna/swapna123

Connected.

SQL> select count(*) from emp;

COUNT(*)
----------
393216

Step5>
IV)Archivelog mode,No backup of datafile

SQL> create tablespace ts2 datafile '/d01/swapna/oradata/test11g/ts2df.dbf' size 50m;

Tablespace created.

SQL> shutdown immediate

[swapna@of20 test11g]$ cp -Rp * /d01/swapna/bkp/


-------remove ts2df.dbf file in /d01/swapna/bkp/
SQL> startup

SQL> create user test identified by test123 default tablespace ts2;

User created.
SQL> grant connect,resource to test;

Grant succeeded.

SQL>conn test/test123
create table and insert values
SQL> select count(*) from a;

COUNT(*)
----------
2621440

SQL> shutdown immediate

[swapna@of20 test11g]$ cp -Rp archive_logs /d01/swapna/bkp/


[swapna@of20 test11g]$ rm -rf ts2df.dbf

SQL> startup mount

SQL> select * from v$recover_file;


SQL> select name from v$tablespace;

SQL> select name from v$datafile;


SQL> alter database create datafile '/d01/swapna/oradata/test11g/ts2df.dbf' as
'/d01/swapna/oradata/test11g/ts3df.dbf';

Database altered.

SQL> recover datafile '/d01/swapna/oradata/test11g/ts3df.dbf';

Media recovery complete.

SQL> alter database open;

Database altered.

SQL> conn test/test123

Connected.

SQL> select count(*) from a;

COUNT(*)
----------
2621440
Archive log mode control file recovery

Step1>
Archive Log ,Control File lost with backup
[swapna@of20 test11g]$ cp -Rp * /d01/swapna/bkp/

SQL>startup
do some transactions in database
SQL> select count(*) from a;
COUNT(*)
----------
2621440

SQL> delete a;

2621440 rows deleted.

SQL> alter table a add (name varchar2(5));

SQL> insert into a values(&a,'&name');

SQL> insert into a select * from a;

SQL>/
SQL> select count(*) from a;

COUNT(*)
----------
3145728

[swapna@of20 test11g]$ rm -rf control01.ctl

SQL> select * from v$recover_file;

select * from v$recover_file

ERROR at line 1:

ORA-00210: cannot open the specified control file

ORA-00202: control file: '/d01/swapna/oradata/test11g/control01.ctl'

ORA-27041: unable to open file

Linux-x86_64 Error: 2: No such file or directory


Additional information: 3
SQL> select name from v$datafile;

SQL> shutdown abort

[swapna@of20 test11g]$ cp /d01/swapna/bkp/control01.ctl .

SQL> startup mount

ORA-00205: error in identifying control file, check alert log for more info

SQL> alter database mount;

alter database mount

ERROR at line 1:

ORA-00214: control file '/d01/swapna/oradata/test11g/control02.ctl' version

1316 inconsistent with file '/d01/swapna/oradata/test11g/control01.ctl' version

1190

[swapna@of20 test11g]$ rm -rf control02.ctl control03.ctl

[swapna@of20 test11g]$ cp /d01/swapna/bkp/control02.ctl .

[swapna@of20 test11g]$ cp /d01/swapna/bkp/control03.ctl .

SQL> alter database mount;

Database altered.

SQL> recover database using backup controlfile;

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

/d01/swapna/oradata/test11g/redo01.log

ORA-00310: archived log contains sequence 22; sequence 24 required

ORA-00334: archived log: '/d01/swapna/oradata/test11g/redo01.log'

SQL> recover database using backup controlfile;


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

/d01/swapna/oradata/test11g/redo03.log

Log applied.

Media recovery complete.

SQL> alter database open resetlogs;

SQL> conn test/test123

Connected.

SQL> select count(*) from a;


COUNT(*)
----------
3145728

Step2>
Archive Log,Control File without backup
[swapna@of20 test11g]$ cp -Rp * /d01/swapna/bkp/

SQL>startup
do some transaction in database
SQL> delete a where a=3;

1048576 rows deleted.

SQL> select count(*) from a;


COUNT(*)
----------
2097152

SQL> insert into a values(3,'a3');


1 row created.

SQL> commit;

SQL> alter database backup controlfile to trace;

Database altered.

[swapna@of20 test11g]$ rm -rf control02.ctl control03.ctl


control01.ctl
SQL> shutdown abort

[swapna@of20 trace]$ pwd


/d01/swapna/diag/rdbms/test11g/test11g/trace
[swapna@of20 trace]$ mv test11g_ora_10527.trc createcontrol.sql

[swapna@of20 trace]$ vi createcontrol.sql

CREATE CONTROLFILE REUSE DATABASE "TEST11G" NORESETLOGS ARCHIVELOG

:wq!
SQL> startup nomount

SQL> @/d01/swapna/diag/rdbms/test11g/test11g/trace/createcontrol.sql

Control file created.

SQL> recover database

Media recovery complete.

SQL> alter database open;

Database altered.

SQL> conn test/test123

Connected.

SQL> select * from a where a=3;

A NAME
---------- -----
3 a3

S-ar putea să vă placă și