• 技术文章 >数据库 >mysql教程

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

    2016-06-07 16:00:04原创693

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

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

    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_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 但是很多情况下理解成第一种更为准确。

    php入门到就业线上直播课:查看学习

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    上一篇:ORA-00911: 无效字符 解决 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 实例分析MySQL中pt-query-digest工具的使用记录• 简单聊聊MySQL中join查询• 深入理解MySQL索引优化器工作原理• MySQL子查询详细教程• MySQL关于Count函数的用法区别总结
    1/1

    PHP中文网