• 联机备份与恢复


           热备份是当数据库已经启动并且运行的时候进行的一种备份。整个数据库可以被备份,表空间或者数据文件的子集可以在一次被备份,当执行热备份的时候,最终用户可以继续进行他们所有的正常操作。为此,数据库必须运行在归档日志模式。一旦备份完成,需要确认所有在备份操作期间被建立的日志记录在随后已经被归档。

          联机备份一般备份数据文件、控制文件和日志文件。

    联机备份优缺点:

    优点:

    –      可在表空间或数据文件级备份,备份时间短。

    –      备份时数据库仍可使用。

    –      可达到秒级恢复(恢复到某一时间点上)。

    –      可对几乎所有数据库实体作恢复。

    –      恢复快速,大多数情况下恢复不需要关闭数据库。

    缺点:

    –      不能出错,否则后果严重。

    –      若联机备份不成功,所得结果不可用于时间点的恢复。

    –      因难于维护,所以要特别小心,不允许“以失败而告终”。

    实验案例:

    1.联机备份的前提是数据库必须为归档模式

       a.如何查看是否归档

    SQL> archive log list;
    Database log mode                        Archive Mode
    Automatic archival                         Enabled
    Archive destination                         USE_DB_RECOVERY_FILE_DEST
    Oldest online log sequence              21
    Next log sequence to archive          23
    Current log sequence                      23

      b.如果为非归档模式,则需要开启

        首先关闭数据库,SQL>shutdown immediate

                 a.装载但不打开数据库:startup mount;

                b.修改为归档模式:alter database archivelog;

                c.打开并访问数据库:alter database open;

    开始实验:

    1.创建表空间

    SQL> create tablespace data01 datafile '/u01/app/oracle/oradata/orcl/data01.dbf' size 10m;

    Tablespace created.

    2.在该表空间上面创建表

    SQL> create table score(name varchar2(20),id int) tablespace data01;

    Table created.

    3.确认是否在对应表空间创建表

    SQL> select tablespace_name from tabs where table_name='SCORE';

    TABLESPACE_NAME
    ------------------------------
    DATA01

    4.开始插入数据

    SQL> insert into score values('chinese',50);

    1 row created.

    SQL> insert into score values('Math',60);

    1 row created.

    SQL> commit;

    Commit complete.

    5.开始联机备份

    SQL> alter tablespace data01 begin backup;

    Tablespace altered.

    6.物理复制表空间文件

    SQL> host cp '/u01/app/oracle/oradata/orcl/data01.dbf' '/u01/app/oracle/oradata/orcl/bak';

    SQL> alter tablespace data01 end backup;

    Tablespace altered.

    7.使表空间脱机,然后删除数据文件

    SQL> alter tablespace data01 offline;

    Tablespace altered.

    SQL> host rm -rf /u01/app/oracle/oradata/orcl/data01.dbf

    8.尝试使表空间联机

    SQL> alter tablespace data01 online;
    alter tablespace data01 online
    *
    ERROR at line 1:
    ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
    ORA-01110: data file 6: '/u01/app/oracle/oradata/orcl/data01.dbf'

    9.物理拷贝表空间数据文件
    SQL> host cp /u01/app/oracle/oradata/orcl/bak/data01.dbf /u01/app/oracle/oradata/orcl/

    SQL> alter tablespace data01 online;
    alter tablespace data01 online
    *
    ERROR at line 1:
    ORA-01113: file 6 needs media recovery
    ORA-01110: data file 6: '/u01/app/oracle/oradata/orcl/data01.dbf'

    10.开始恢复
    SQL> recover datafile 6;
    Media recovery complete.

    11.使表空间联机
    SQL> alter tablespace data01 online;

    Tablespace altered.

    12.查询数据,恢复完成

    SQL> select * from score;

  • 相关阅读:
    解决方案
    项目管理
    项目管理
    产品经理
    产品经理
    产品经理
    产品经理
    vue学习面向对象,在项目中怎么用呢?
    vue表单验证不通过,依然能执行点击事件里面的代码?
    vue中js文件中export常见方法及使用
  • 原文地址:https://www.cnblogs.com/newmanzhang/p/3117625.html
Copyright © 2020-2023  润新知