zoukankan      html  css  js  c++  java
  • 备份和恢复

    相关操作视频: http://pan.baidu.com/share/link?shareid=492078&uk=3912660076

    一、.使用EM恢复数据库

      不在这里赘述了,嘿嘿.......

    如果数据库在备份时处于“打开”状态,则在备份之前将关闭并装载它。在备份完毕之后再打开数据库。

      完全备份:将所有数据备份到备份集中,只跳过那些从未使用过的数据文件块;

      增量备份:则只备份上次备份后发生变化的数据 

      ARCHIVELOG模式有如下特点:可以进行热备份,所谓热备份指在数据库打开状态下进行 的备份;可以恢复至指定的时间点,但必须为日志提供空间;

      NOARCHIVELOG模式有如下特点:只能进行冷备份,所谓冷备份指数据库以MOUNT方式打开时,对目标数据库进行备份;不能恢复到指定的时间点上;在数据库损坏时可能会丢失数据。

    二、.RMAN技术

      备份片(Backup pieces)

      备份集合(Backup sets)

      通道(channel)

      多文件备份(File multiplexing)

      全备份集合(Full backup sets)

      镜像复制(Image copies)

      增量备份集合(Incremental backup sets)

      恢复目录(catalog)

      恢复目录同步(Recovery catalog resyncing)

    特此说明的是 RMAN是和SQLPLUS一个级别的

     @@@@@@@@@@@@@@RMAN@@@@@@@@@@@@

     1.将数据库设置为归档日志模式

      必须满足以下条件

        1)以SYSDBA的身份登录,变更登录用户:connect sys/oracle as sysdba    

        2)关闭数据库:shutdown immediate

        3)启动数据库,但不打开实例:startup mount

        4)切换实例为归档日志模式了:alter database archivelog; 

     2.创建恢复目录所使用的表空间

      需要创建表空间存放与RMAN相关的数据:alter database open;

     

     3.创建RMAN用户并授权

     4.创建恢复目录

       首先连接到:

          恢复目录数据库:一种

     

                      另一种:

     

                      第三种(不能用Conn)

    这上下两副图该怎么区分呢?一个没有密码的输入如何连接到目标数据库了!!!难道存在类似于密码Session的文件吗?还是其他,疑问中。。。。(资历尚浅)

         然后创建恢复目录:

     5.注册目标数据库

     

    6.run命令定义一组要执行的RMAN备份语句

        全数据库备份:

         单独备份归档日志文件:

     

         要恢复归档日志信息,可以使用如下命令:

     

     

     @@@@@@@@@@@@@@@@@@@@@@@@@@

     三、闪回(Flashback)技术

       闪回恢复区是用来存储恢复相关文件的存储空间:
         目录。
         文件系统。
         自动存储管理(ASM)磁盘组。
      可以在闪回恢复区中存储如下几种文件:
         控制文件。
         归档的日志文件。
         闪回日志。
         控制文件和 SPFILE 自动备份。
         RMAN 备份集。
         数据文件拷贝。

     @@@@@@@@@@@@Flashback@@@@@@@@@@@@@

     1.设置数据库为闪回数据库

     

       假如现在你辛辛苦苦建立了一张珍贵的表,然后,一个笨蛋触发了一个病毒,把这张表删了。

     

         你可以用下面的语句恢复这张表。注意时间!!!

     

     

       ———————————闪回表——————————————————

     Flashback table <表名>
    To [before drop [rename to <表别名>]] | [scn | timestamp ] <表达式> [Enable | disable triggers];

    假如表的结构已经损坏。。。

     

     现在开始对表进行闪回。。。。。。。。。。。。。

     @@@@@@@@@@闪回回收站@@@@@@@@@@@@

    删除回收站中的数据,使用Purge命令
      Purge table t1;
    清空回收站
      Purge dba_recyclebin


      若是普通用户,用purge recyclebin清空回收站

     闪回查询(Flashback Query)

    闪回查询可以查询指定时间点时表中的数据
    要实现闪回查询,必须将初始化参数UNDO_MANAGEMENT设置为AUTO,这是此参数的默认值。
    初始化参数UNDO_RETENTION决定了能往前闪回查询的最大时间,值越大可以往前闪回查询的最大时间越长,但占用的磁盘空间也越大。

     

    闪回版本的查询。
    (1)首先创建一个测试用的表test,它由一个number类型字段score组成。
        11:28:47 SQL> create table test (score number);
    表已创建。
    (2)在表中插入一条记录。
        11:29:06 SQL> insert into test values(100);
    已创建 1 行。
        11:29:13 SQL> commit;
    提交完成。
    (3)更新表中的数据。
        11:29:15 SQL> update test set score=110 where score=100;
    已更新 1 行。
        11:29:28 SQL> commit;
    提交完成。
    (4)删除表中的数据。
        13:32:13 SQL> delete from test where score>0;
    已删除 1 行。
        13:32:24 SQL> commit;
    提交完成。
    (5)使用闪回版本查询。
        11:29:45 SQL> select versions_starttime, versions_operation, score
        11:29:52   2  from test versions between timestamp minvalue and maxvalue;

     闪回事务查询 

    闪回事务保存表flashback_transaction_query

      13:52:23 SQL> select table_name,undo_sql from flashback_transaction_query where rownum<3;


  • 相关阅读:
    ftp
    vmware虚拟机如何安装ubuntu14.10系统
    第1章 初识java----Java简介
    fiddler
    Program Files 与Program Files (x86)
    跟我一起认识axure(三)
    React-FlipOver-Counter(日历翻页)
    vue2-vux-fitness-project
    cloud-music
    跟我一起认识axure(二)
  • 原文地址:https://www.cnblogs.com/wjshan0808/p/3114391.html
Copyright © 2011-2022 走看看