冷备下模拟rm -rf *.dbf恢复案例(一)

2015-07-16 12:09:27 · 作者: · 浏览: 1

SQL> select * from v$version where rownum<2;


BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
首先介绍一下冷备份(完全脱机备份),需要把数据库shutdown后,粘贴复制就可了,先备份先:
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。


[oracle@localhost orcl3939]$ cp *.dbf? /home/oracle/beifeng
[oracle@localhost orcl3939]$ cp *.log? /home/oracle/beifeng
[oracle@localhost orcl3939]$ cp *.ctl? /home/oracle/beifeng
控制文件只需要备份一份就行了,因为是镜像文件,完全一样。
是不是很简单!
这种方式适合archivelog和noarchivelog,其中涉及到了几类文件:
logfile:v$log? v$logfile
controlfile:v$controlfile
datafile:dba_data_files
temp files:dba_temp_files
其中的临时文件并不是我们备份的对象,因为备份文件可以理解成数据库的虚拟内存,如linux中,我们分区时,如果内存较小时,可以分配swap分区,作用是交换缓存数据,作为内存不足的一种选择而已。
关于archivelog和noarchivelog,生产环境中几乎都是archivelog:
SQL> archive log list;
数据库日志模式? ? ? ? ? ? 非存档模式
自动存档? ? ? ? ? ? 禁用
存档终点? ? ? ? ? ? USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列? ? 424
当前日志序列? ? ? ? ? 426


此时我的练习库是非归档模式,那我们启动归档模式:
SQL> startup mount;
ORACLE 例程已经启动。
SQL> alter database archivelog;
数据库已更改。


SQL> select log_mode from v$database;


LOG_MODE
------------
ARCHIVELOG


此时数据库已经是归档模式。
关于归档文件存放位置,看参数:


SQL> show parameter db_recover
NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest? ? ? ? ? ? ? ? string? ? ? /u01/app/oracle/flash_recovery
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? _area
db_recovery_file_dest_size? ? ? ? ? big integer 3852M


第一个参数是存放位置,第二个参数是该空间的大小。
flash_recovery _area目录是10g才有的,便于管理归档等文件。
我们可以修改db_recovery_file_dest:
SQL> alter system set db_recovery_file_dest =' ';
系统已更改。
SQL>? show parameter db_recover
NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest? ? ? ? ? ? ? ? string
db_recovery_file_dest_size? ? ? ? ? big integer 3852M


此时归档文件存放的目录回到了10g之前:
SQL> show parameter log_archive_dest
NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest? ? ? ? ? ? ? ? ? ? string
log_archive_dest_1? ? ? ? ? ? ? ? ? string
log_archive_dest_10? ? ? ? ? ? ? ? ? string
log_archive_dest_11? ? ? ? ? ? ? ? ? string
log_archive_dest_12? ? ? ? ? ? ? ? ? string
log_archive_dest_13? ? ? ? ? ? ? ? ? string
log_archive_dest_14? ? ? ? ? ? ? ? ? string
log_archive_dest_15? ? ? ? ? ? ? ? ? string
log_archive_dest_16? ? ? ? ? ? ? ? ? string
log_archive_dest_17? ? ? ? ? ? ? ? ? string
log_archive_dest_18? ? ? ? ? ? ? ? ? string
NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_19? ? ? ? ? ? ? ? ? string
log_archive_dest_2? ? ? ? ? ? ? ? ? string
log_archive_dest_20? ? ? ? ? ? ? ? ? string
log_archive_dest_21? ? ? ? ? ? ? ? ? string
log_archive_dest_22? ? ? ? ? ? ? ? ? string
log_archive_dest_23? ? ? ? ? ? ? ? ? string
log_archive_dest_24? ? ? ? ? ? ? ? ? string
log_archive_dest_25? ? ? ? ? ? ? ? ? string
log_archive_dest_26? ? ? ? ? ? ? ? ? string
log_archive_dest_27? ? ? ? ? ? ? ? ? string
log_archive_dest_28? ? ? ? ? ? ? ? ? string
NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_29? ? ? ? ? ? ? ? ? string
log_archive_dest_3? ? ? ? ? ? ? ? ? string
log_archive_dest_30? ? ? ? ? ? ? ? ? string
log_archive_dest_31? ? ? ? ? ? ? ? ? string
log_archive_dest_4? ? ? ? ? ? ? ? ? string
log_archive_dest