Maison >base de données >tutoriel mysql >冷备下模拟rm -rf *.dbf恢复案例

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

WBOY
WBOYoriginal
2016-06-07 16:00:041394parcourir

关于备份恢复一直是所有关系型数据库的重头戏。下面会介绍冷备数据库,并模拟破坏数据文件进行恢复数据库,并涉及到其他相关内容

关于备份恢复一直是所有关系型数据库的重头戏。下面会介绍冷备数据库,并模拟破坏数据文件进行恢复数据库,并涉及到其他相关内容。
[Oracle@localhost ~]$ cat /etc/RedHat-release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)

SQL> select * from v$version where rownum

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_5                  string
log_archive_dest_6                  string
log_archive_dest_7                  string
log_archive_dest_8                  string
log_archive_dest_9                  string

指定目录位置即可用,但是这样很不利于管理。

简介下SCN:System change number | System Commit Number 但是很多情况下理解成第一种更为准确。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn