oracle用户管理的完全恢复2:在NOARCHIVELOG 模式下执行恢复(无联机日志的备份)

1.查看环境

 1 -bash-3.00$ sqlplus /nolog

 2 

 3 SQL*Plus: Release 10.2.0.2.0 - Production on Mon Jan 21 19:22:40 2013

 4 

 5 Copyright (c) 1982, 2005, Oracle.  All Rights Reserved.

 6 

 7 SQL> conn /as sysdba

 8 Connected.

 9 SQL> archive log list;

10 Database log mode              No Archive Mode

11 Automatic archival             Disabled

12 Archive destination            USE_DB_RECOVERY_FILE_DEST

13 Oldest online log sequence     1

14 Current log sequence           2

15 SQL> 

2.非归档模式下备份(没有备份联机日志)

2.1关机

1 SQL> shutdown immediate

2 Database closed.

3 Database dismounted.

4 ORACLE instance shut down.

5 SQL> 

2.2 备份数据文件,控制文件

1 /u01/oradata/sunbak

2 bash-3.00$ cp *.ctl  /u01/backup/sunbak

3 bash-3.00$ cp *.dbf  /u01/backup/sunbak

4 bash-3.00$ 

3.破坏当前数据库

 1 bash-3.00$ pwd   

 2 /u01/oradata/sunbak

 3 bash-3.00$ ls -l

 4 total 2142000

 5 -rw-r-----   1 oracle   oinstall 7061504 Jan 21 19:27 control01.ctl

 6 -rw-r-----   1 oracle   oinstall 7061504 Jan 21 19:27 control02.ctl

 7 -rw-r-----   1 oracle   oinstall 7061504 Jan 21 19:27 control03.ctl

 8 -rw-r-----   1 oracle   oinstall 104865792 Jan 21 19:33 example01.dbf

 9 -rw-r-----   1 oracle   oinstall 52429312 Jan 21 19:27 redo01.log

10 -rw-r-----   1 oracle   oinstall 52429312 Jan 21 18:52 redo02.log

11 -rw-r-----   1 oracle   oinstall 52429312 Jan 21 18:52 redo03.log

12 -rw-r-----   1 oracle   oinstall 251666432 Jan 21 19:34 sysaux01.dbf

13 -rw-r-----   1 oracle   oinstall 503324672 Jan 21 19:34 system01.dbf

14 -rw-r-----   1 oracle   oinstall 20979712 Jan 21 19:35 temp01.dbf

15 -rw-r-----   1 oracle   oinstall 31465472 Jan 21 19:35 undotbs01.dbf

16 -rw-r-----   1 oracle   oinstall 5251072 Jan 21 19:35 users01.dbf

17 bash-3.00$ rm -f *

18 bash-3.00$ 

4.还原(备份是并没有备份redo文件)

 1 bash-3.00$ pwd                        

 2 /u01/oradata/sunbak

 3 bash-3.00$ cp /u01/backup/sunbak/* .

 4 bash-3.00$ ls -l

 5 total 1834512

 6 -rw-r-----   1 oracle   oinstall 7061504 Jan 21 19:43 control01.ctl

 7 -rw-r-----   1 oracle   oinstall 7061504 Jan 21 19:43 control02.ctl

 8 -rw-r-----   1 oracle   oinstall 7061504 Jan 21 19:43 control03.ctl

 9 -rw-r-----   1 oracle   oinstall 104865792 Jan 21 19:43 example01.dbf

10 -rw-r-----   1 oracle   oinstall 251666432 Jan 21 19:43 sysaux01.dbf

11 -rw-r-----   1 oracle   oinstall 503324672 Jan 21 19:44 system01.dbf

12 -rw-r-----   1 oracle   oinstall 20979712 Jan 21 19:44 temp01.dbf

13 -rw-r-----   1 oracle   oinstall 31465472 Jan 21 19:44 undotbs01.dbf

14 -rw-r-----   1 oracle   oinstall 5251072 Jan 21 19:44 users01.dbf

15 bash-3.00$ 

5.恢复

5.1 打开到mount状态

 1 bash-3.00$ sqlplus /nolog

 2 

 3 SQL*Plus: Release 10.2.0.2.0 - Production on Mon Jan 21 19:47:04 2013

 4 

 5 Copyright (c) 1982, 2005, Oracle.  All Rights Reserved.

 6 

 7 SQL> conn /as sysdba

 8 Connected to an idle instance.

 9 SQL> startup mount

10 ORACLE instance started.

11 

12 Total System Global Area  289406976 bytes

13 Fixed Size                  1279820 bytes

14 Variable Size              92276916 bytes

15 Database Buffers          192937984 bytes

16 Redo Buffers                2912256 bytes

17 Database mounted.

18 SQL> 

5.2 执行recover命令

 1 SQL> recover database until cancel using backup controlfile;

 2 ORA-00279: change 570446 generated at 01/21/2013 19:27:52 needed for thread 1

 3 ORA-00289: suggestion :

 4 /u01/flash_recovery_area/SUN/archivelog/2013_01_21/o1_mf_1_2_%u_.arc

 5 ORA-00280: change 570446 for thread 1 is in sequence #2

 6 

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

 8 cancel

 9 Media recovery cancelled.

10 SQL> 

5.3 打开数据库并创建日志

1 SQL> alter database open resetlogs;

2 

3 Database altered.

4 

5 SQL>

6.验证日志文件已被创建

1 SQL> !ls /u01/oradata/sunbak/*.log

2 /u01/oradata/sunbak/redo01.log  /u01/oradata/sunbak/redo02.log  /u01/oradata/sunbak/redo03.log

3 

4 SQL>

 

你可能感兴趣的:(oracle)