精华内容
下载资源
问答
  • mongodb数据库维护离不开必要的备份恢复操作,而且一般不会出错,所以我们在使用的时候大部分时候使用备份恢复操作就可以了
  • 数据备份与恢复、系统备份与恢复

    万次阅读 2018-04-17 22:56:58
    针对整个操作系统进行备份– 当操作系统损坏或者无法启动时,能通过备份快速恢复数据备份– 针对用户的数据文件、应用软件、数据库进行备份– 当这些数据丢失或损坏时,也能通过备份恢复3、数据冷备...

    数据备份与恢复、系统备份与恢复

    一、数据备份与恢复

    1、什么是备份

    备份,即另外准备一

    – 为应付文件、数据丢失或损坏等可能出现的意外情况,将电子计算机存储设备中的数据复制到大容量存储设备中

    2、备份对象的类别

    系统备份

    – 针对整个操作系统进行备份

    – 当操作系统损坏或者无法启动时,能通过备份快速恢复

    数据备份

    – 针对用户的数据文件、应用软件、数据库进行备份

    – 当这些数据丢失或损坏时,也能通过备份恢复

    3、数据冷备份

    • 什么是冷备份

    – 指需要备份的文档不被占用的情况下执行备份的方式

    – 比如将数据库软件关闭,对数据库资料做备份

    • 冷备份的优缺点

    – 优点:简单快速、容易恢复到某个时间点、方便维护

    – 缺点:只能恢复到某个时间点、备份期间数据不便正常使用

    4、数据热备份

    • 什么是热备份

    – 指执行备份时不影响被备份文档正常使用的的方式

    – 比如数据库软件正运行,对数据库资料做备份

    • 热备份的优缺点

    – 优点:备份时间短、不影响数据使用、可达秒级恢复

    – 缺点:所有操作都会同步,包括“删除”

    二、Win10数据备份与还原

    1、Win10文件备份

       ① 开始 -- 设置 -- 更新和安全 -- 备份 -- 转到备份和还原

    -- 设置备份

       ② 指定保存的位置、需要备份的内容

       ③ 检查、保存设置并运行备份

       ④ 等待备份完成

    2、Win10文件备份还原

       ① 开始 -- 设置 -- 更新和安全 -- 备份 -- 转到备份和还原

    -- 还原我的文件

           ② 浏览文件夹 -- 找到并添加此前的备份 -- 选择要还原的位置(原始位置或其他位置)-- 执行还原操作

        3、专用数据恢复

               使用第三方的专用数据恢复软件,能针对删除、格式化、重分区

    等深度损坏执行恢复操作,比如EasyRecovery易恢复、FinalDate

    超级恢复、360文件恢复器、金山数据恢复等

    三、系统备份与恢复

         1、备份Win10系统

         1)常见的系统备份工具

           大都是基于Symantec的Ghost克隆技术实现

           -- U深度一键还原精灵

           -- 一键还原Onekey、一键ghost 等等

    2、一键还原工作方式

    1)U深度一键还原精灵、一键还原Onekey -- 在现有的Win10环境中运行,图形操作为主;

    2)一键ghost

        -- 硬盘版,为Win添加启动项,可支持独立运行环境

        -- U盘版,通过提前制作好的独立U盘启动

    3、制作Win10备份镜像


        等待备份过程


        检查备份结果

    实际备份过程中会执行压缩处理

    备份文件小远小于系统盘的数据大小。


       4、恢复Win10系统

       1)准备好系统备份(实现一键还原的前提条件)

            -- 提前制作了可用的系统备份文件(通常为.gho格式)

            -- 有些一键还原工具支持自定义备份位置


        2)恢复Win10操作系统(执行一键还原操作)

             -- 根据提示选择备份位置

             -- 确认后重启执行

        3)等待恢复过程


        4)确认恢复结果

             恢复完成后

             -- 系统盘C:\数据会还原到备份时的状态

             -- 后增加的数据都会丢失(还原有风险,操作需谨慎!!!!

    、磁盘及文件系统

    1、基本磁盘

    -- 传统磁盘,默认是基本磁盘

    -- 磁盘大小固定扩展不方便,数量受限

    2、动态磁盘(卷)windows 2000及其以后的操作系统支持动态磁盘,

    比基本磁盘有较强的可扩展性高可靠性高读写性能

    基本磁盘概述

    1、主分区:引导操作系统

    (基本磁盘最多建立3个主分区,只有一个主分区处于激活状态)

    2、扩展分区不能直接存储文件需要细分多个逻辑分区)。

       “扩展分区 + 主分区”数量不超过4个

    3、逻辑分区:在扩展分区内部划分逻辑分区(不能直接启动操作系统)

    4、基本磁盘的管理操作

       鼠标右击此电脑 -- 管理 -- 存储 -- 磁盘管理 -- 选中磁盘的未分配空间 --

    右键操作(新建简单卷)-- 选择大小 -- 确定

       选中磁盘的已建立的分区 -- 右击 -- 格式化

    1)创建主分区    2)创建展分区     3)创建逻辑分区

    六、动态磁盘

    1、鼠标右击基本磁盘 -- 转换为动态磁盘

    (除非删除所有简单卷,否则动态磁盘不能转为基本磁盘)

    2、新建简单卷

    3、扩展简单卷

    4、新建跨区卷

    需要至少两块动态磁盘

    容量是组成跨区卷的所有磁盘空间总和

    5、新建带区卷

    1成员容量大小是相同的;(2数据被均匀以带区形式跨磁盘交替分配

    3需要至少两块动态磁盘;(4容量是组成带区卷所有磁盘空间总和

    6、新建镜像卷

    1具备故障转换功能     2在两个物理磁盘上复制数据的容错卷

    3只需两块大小相同的磁盘;(4容量是组成镜像卷所有磁盘空间和的一半

    7、修复镜像卷

    步骤:

    ① 关机取出故障磁盘换入新磁盘② 启动计算机, 存储— 磁盘管理;

    ③ 初始化磁盘转换成动态磁盘

    ④ 右击之前镜像盘盘符— 选择删除镜像—选择丢失 — 删除镜像 — 确定

    右击失败的镜像卷—添加镜像

    8、新建RAID-5卷

    数据分散写入硬盘并建立一份奇偶校验数据信息

    具有较高磁盘利用率、读写性和可靠性

    至少需要三块磁盘空间相同的硬盘

    容量为磁盘数量-1

    9、修复RAID-5卷

    步骤:

    关机取出故障磁盘换入新磁盘

    启动计算机,管理工具— 计算机管理— 存储 — 磁盘管理

    初始化磁盘转换成动态磁盘

    右击之前RAID-5卷—修复卷

    、五种动态磁盘类型的对比

           

     

     

     

     

     

    建立扩展分区 -- 也可用命令敲击

    ① 执行Win + R --- Cmd 命令

    ② diskpart

    ③ select disk + 磁盘区(1、2、3)

    ④ Create partition extended size = 磁盘大小(如300M)

    ⑤ Exit

    展开全文
  • rman备份与还原1

    2009-11-09 11:07:13
    rman备份与还原1rman备份与还原1rman备份与还原1rman备份与还原1rman备份与还原1rman备份与还原1rman备份与还原1rman备份与还原1rman备份与还原1rman备份与还原1
  • 16.1 备份与恢复-概述.mp4、 16.2 备份与恢复-备份命令.mp4
  • MySQL 备份与恢复

    2011-03-25 18:09:26
    备份的目的 备份的方式 备份的内容 备份的策略 恢复与还原 备份的工具
  • elasticsearch数据备份与还原恢复

    万次阅读 2014-11-28 15:35:45
    elasticsearch数据备份与恢复 1.在浏览器中运行http://ipaddress:9200/_flush,这样确保索引数据能保存到硬盘中。 2.原数据的备份。主要是elasticsearch数据目录下的nodes目录的备份。nodes目录为索引数据目录。 3....

    elasticsearch数据备份与还原恢复



    1.在浏览器中运行http://ipaddress:9200/_flush,这样确保索引数据能保存到硬盘中。


    2.原数据的备份。主要是elasticsearch数据目录下的nodes目录的备份。nodes目录为索引数据目录。


    3.将原集群中的每个elasticsearch节点下的data目录拷贝至新的elasticsearch数据目录下。

    4 利用快照来备份还原。

    下面是备份及还原的脚本,分别存成 esback.sh,esrestore.sh,并 chmod 777 esback.sh.给予执行权限

    脚本如下:

    -----自动备份elasticsearch数据并压缩---
    #!/bin/bash
    filename=`date +%Y%m%d%H`
    backesFile=es$filename.tar.gz
    cd /home/elasticsearch/back
    mkdir es_dump
    cd es_dump
    curl -XDELETE 192.168.1.7:9200/_snapshot/backup/$filename?pretty
    echo 'sleep 30'
    sleep 30
    curl -XPUT 192.168.1.7:9200/_snapshot/backup/$filename?wait_for_completion=true&pretty
    echo 'sleep 30'
    sleep 30
    cp /home/elasticsearch/snapshot/* /home/elasticsearch/back/es_dump -rf
    cd ..
    tar czf $backesFile  es_dump/
    rm es_dump -rf 


    -----自动解压并还原elasticsearch数据---
    #!/bin/bash
    filename='2015040314'
    backesFile=es$filename.tar.gz
    cd /home/elasticsearch/back
    tar zxvf $backesFile
    rm /home/elasticsearch/snapshot/* -rf
    cp /home/elasticsearch/back/es_dump/* /home/elasticsearch/snapshot -rf


    curl -XPOST 192.168.1.7:9200/users/_close
    curl -XPOST 192.168.1.7:9200/products/_close
    echo 'sleep 5'
    sleep 5
    curl -XPOST 192.168.1.7:9200/_snapshot/backup/$filename/_restore?pretty -d '{
    "indices":"users"
    }' 
    echo 'sleep 5'
    sleep 5
    curl -XPOST 192.168.1.7:9200/_snapshot/backup/$filename/_restore?pretty -d '{
    "indices":"products"
    }'
    echo 'sleep 5'
    sleep 5
    curl -XPOST 192.168.1.7:9200/users/_open
    curl -XPOST 192.168.1.7:9200/products/_open 
    rm es_dump -rf 

    ---end----

    备份的脚本有几个前提条件

    1 先创建快照存储库

    --创建快照存储库 backup--


    curl -XPUT 192.168.1.7:9200/_snapshot/backup -d '
    {
    "type":"fs",
    "settings":{"location":"/home/elasticsearch/snapshot"}
    }'

    且/home/elasticsearch/snapshot 该目录要有权限

    备份目录  /home/elasticsearch/back要先建好

    还原的时候是按索引来分别还原的,可改成需要的方式

    展开全文
  • Oracle 11g R2 Rman备份与恢复

    万次阅读 多人点赞 2018-06-08 09:49:31
    备份与恢复的定义及分类 备份的定义及分类: 备份就是把数据库复制到转储设备的过程。其中,转储设备是指用于放置数据库副本的磁带或磁盘。通常也将存放于转储设备中的数据库的副本称为原数据库的备份或转储。...

    Oracle 11g R2 Rman备份

     备份与恢复的定义及分类

    备份的定义及分类:

             备份就是把数据库复制到转储设备的过程。其中,转储设备是指用于放置数据库副本的磁带或磁盘。通常也将存放于转储设备中的数据库的副本称为原数据库的备份或转储。备份是一份数据副本,从不同的角度分类如下:

    从物理与逻辑的角度来分类:

    从物理与逻辑的,备份可以分为物理备份和逻辑备份。

    物理备份:对数据库操作系统的物理文件(数据文件,控制文件和日志文件)的备份。物理备份又可以分为脱机备份(冷备份)和联机备份(热备份),前者是在关闭数据库的时候进行的,后者是以归档日志的方式对运行的数据库进行备份。可以使用oracle的恢复管理器(RMAN)或操作系统命令进行数据库的物理备份。

    逻辑备份:对数据库逻辑组件(如表和存储过程等数据库对象)的备份。逻辑备份的手段很多,如传统的EXP,数据泵(EXPDP),数据库闪回技术等第三方工具,都可以进行数据库的逻辑备份。

    从数据库的备份角度分类:

    从数据库的备份角度,备份可以分为完全备份增量备份差异备份

    完全备份:每次对数据库进行完整备份,当发生数据丢失的灾难时,完全备份无需依赖其他信息即可实现100%的数据恢复,其恢复时间最短且操作最方便。

    增量备份:只有那些在上次完全备份或增量备份后被修改的文件才会被备份。优点是备份数据量小,需要的时间短,缺点是恢复的时候需要依赖以前备份记录,出问题的风险较大。

    差异备份:备份那些自从上次完全备份之后被修改过的文件。从差异备份中恢复数据的时间较短,因此只需要两份数据---最后一次完整备份和最后一次差异备份,缺点是每次备份需要的时间较长。

    恢复的定义及分类

             恢复就是发生故障后,利用已备份的数据文件或控制文件,重新建立一个完整的数据库,恢复分为以下两种类型:

    实例恢复:当oracle实例出现失败后,oracle自动进行的恢复

    介质恢复:当存放数据库的介质出现故障时所作的恢复。介质恢复又分为完全恢复和不完全恢复

    完全恢复:将数据库恢复到数据库失败时的状态。这种恢复是通过装载数据库备份并应用全部的重做日志做到的。

    不完全恢复:将数据库恢复到数据库失败前的某一时刻的状态。这种恢复是通过装载数据库备份并应用部分的重做日志做到的。进行不完全恢复后,必须在启动数据库时用resetlogs选项重设联机重做日志。

    RMAN的存储类型有三种方式:

    1.备份集 默认类型

    2.压缩备份集

    3.镜像copy

    组成每个备份集的每个文件称之为备份片

    RMAN备份可以存放在两种位置:

    1.目标数据库的控制文件

    2.恢复目录中

    RMAN备份的优点:

    1.RMAN只备份有效数据

    2.RMAN可以实现增量备份

     使用RMAN工具

    RMAN是oracle的一个重要工具,用于备份和恢复数据文件,归档日志和控制文件,也可以用来执行完全或不完全的数据库恢复。RMAN有3种不同的用户接口,命令行方式,GUI方式(集成在OEM中的备份管理器),API方式(用于集成到第三方的备份软件中),它具有以下特点:

    支持在线热备份

    支持多级增量备份

    支持并行备份、恢复

    减少所需要备份量

    备份、恢复使用简单

    RMAN的组件

    target database(目标数据库)

    目标数据库就是需要RMAN 对其进行备份与恢复的数据库,RMAN可以备份数据文件,控制文件,归档日志,spfile;

    service session(服务器会话)

    RMAN启动数据库上的oracle服务器进程,将建立一个与目标数据库的会话,有目标数据库上的服务器进程进行备份、还原、恢复的实际操作。

    RMAN Repository(RMAN资料库)

    RMAN使用过程中会用到的控制信息,是一些关于备份、归档日志及RMAN活动的元数据

    Recovery Catalog(恢复目录)

    恢复目录是建立在RMAN恢复目录数据库上的一种schema对象,用于保存RMAN资料库数据。恢复目录是一个可选的组件。RMAN会将资料数据记录在目标数据库的控制文件中,但这样不够安全,因为一旦目标数据库的控制文件损坏就意味着所有的RMAN备份失效。所以建议在单独的一个数据库中建立一个恢复目录另外保存一份资料库数据。

    MML(媒体管理库)

    MML是第三方工具或软件,用于管理对磁带的读写与文件的跟踪管理。如果你想直接通过RMAN备份到磁带上,就必须配置媒体管理层,媒体管理层的工具和RMAN共同配合完成备份与恢复。

    快闪恢复区

    快闪恢复区是oracle数据库用于保存所有与恢复相关的文件的默认磁盘位置。这些相关文件包括归档日志,RMAN备份,控制文件自动备份,复用的控制文件和重做日志副本及闪回日志文件。

    辅助数据库

    在正常使用时,RMAN会与目标数据库一起使用,如果创建了恢复目录数据库,那么也会与恢复目录数据库一起使用。在某些情况下,希望创建辅助数据库。辅助数据库时使用RMAN从目标数据库的备份中创建的新数据库。辅助数据库能够被创建作为备用数据库使用。在数据库发生灾难时,能够在不丢失任何数据及停机时间最短的情况下切换至备用数据库。

    创建恢复目录

    恢复目录存在于RMAN的目录数据库中,类似于标准的数据库目录,主要包含如下几个部分信息:

    备份恢复信息,可以是多个目标数据库

    RMAN脚本,可以存储重复使用

    关于数据文件和日志文件的备份信息

    关于目标数据库的表空间和数据文件信息

    RMAN资料库可以存放在目标数据库控制文件里,也可以存放在恢复目录中;

    创建恢复目录:用来存储RMAN资料库的。

    SQL>create tablespace yy datafile '/opt/oracle/oradata/yy.dbf' size 20m autoextend on next 5m maxsize unlimited;

    在恢复目录数据库中创建RMAN用户并授权

    SQL>create user lilei identified by oracle default tablespace yy quota unlimited on yy;

    SQL>grant connect,resource,recovery_catalog_owner to lilei;

    连接到RMAN恢复目录数据库

    创建恢复目录

    提示已经连接到目标数据库、连接到恢复目录数据库

    向恢复目录注册数据库ORCL,提示已经启动全部恢复目录的resync,已完成全部的resync。此时就可以使用RMAN的恢复目录对目标数据库进行备份和恢复操作。

    通道的分配

    使用RMAN进行备份和恢复时,必须进行通道的分配,一个通道是RMAN和目标数据库之间的一个连接,通道指定了某种类型的设备用于备份和恢复,RMAN可以使用的通道设备包括磁盘与磁带两种。

    通道分配可以自动或手动进行

    自动通道配置

    RMAN>configure device type disk paralielism 5;

    RMAN>configure default device type to disk;

    手动通道配置

     RMAN>run

    2>{

    3>allocate channel ch1 device type disk;

    4>allocate channel ch2 device type disk;

    5>allocate channel ch3 device type disk;

    6>}

    可以使用show all命令可以显示已经配置过的有默认值的参数,其中包括通道参数

    RMAN>show all;

     备份与恢复的概念与操作

    备份集与备份片

    备份集(backup set)

    备份集是一次备份的集合,它包含本次备份的所有备份片,以oracle专有的格式保存,是一个逻辑数据的集合。

    备份片:

    一个备份集由若干个备份片组成。每个备份片是一个单独输出文件,一个备份片的大小是有限制的,他的大小不能大于文件系统所支持的文件长度的最大值。

    配置备份集文件的格式:

    使用backup命令进行备份时,需要明确备份文件的存储路径及文件名称的格式。其路径和格式可以使用FORMAT参数进行统一设置。FORMAT格式由两部分组成:即存储路径和文件名称格式;

    如果没有使用FORMAT指定存储路径和文件名称格式,则默认情况下BACKUP所产生的备份集将存储在快闪恢复区中,RMAN自动使用%U来确定文件名称不会被重复。

    FORMAT命令格式如下:

    FORMAT '格式字符串'

    其中格式字符串的文件名称部分可以使用替换变量,例如FORMAT '/BACKUP/YY/%U'.

    常用的替换变量如下:

    %c : 备份片的拷贝数

    %d:数据库名称

    %D : 位于该月中的第几天(DD)

    %M : 位于该年中第几月(MM)

    %F : 一个基于DBID的唯一名称,它的形式为C-DBID-YYYYMMDD-QQ。其中DBID为数据库的DBID,YYYYMMDD为日志,QQ是一个1-256的序列

    %n:数据库名称,向右填补到最大8个字符

    %u:一个8个字符的名称,它是根据备份集个数与创建时间信息生成的。

    %p:该备份集中的备份片号,从1开始到创建的文件数。

    %U:系统生成的一个唯一文件名,对于备份片来说,它的含义相当于%u_%p_%c。

    %s:备份集的号

    %t:备份集时间戳

    %T:年月日格式(YYYYMMDD)

    备份与恢复命令

    backup命令用于备份数据库文件,可以将多个文件、表空间、整个数据库已备份集形式备份到磁盘或磁带上,在RUN命令外使用BACKUP命令,会自动使用自动通道。在RUN命令内使用BACKUP命令,如果定义了手动通道,则优先使用手动定义通道。

    使用RMAN备份的数据库也只能使用RMAN提供的恢复命令进行恢复。RMAN的恢复目录中存储了目标数据库的备份信息。RMAN根据恢复目录中的存储信息,自动将数据库同步到某一个数据一致的状态。

    RMAN恢复数据库时用到两个命令,即RESTORE和RECOVER。RESTORE命令将备份数据恢复到指定的目录,RECOVER命令对数据库进行同步恢复。

    RESTORE命令:由于备份集中的备份片是以专有的RMAN格式存储的,需要使用RESTORE命令进行重建。重建的结果是自动产生目标数据库的物理文件结构。

    RECOVER命令:负责把归档日志文件用于重建的数据文件,来完成数据库的同步恢复。在执行RECOVER命令时,RMAN需要读取归档日志。如果没有归档日志,或者数据库运行在非归档模式下,则恢复过程会报错。

    举例说明在归档模式下备份与恢复

    要用RMAN进行联机备份,数据库必须处于归档模式,恢复目录必须打开,目标数据库进程必须启动,数据库已加载或者打开。

    查看数据库是否处于归档模式下:

    关闭数据库并启动数据库到mount状态

    使用ALTER DATABASE ARCHIVELOG命令将数据设置为归档模式,并验证数据库的归档模式是否改变

    备份和恢复整个数据库

    备份和恢复整个数据库,自动分配通道,FORMAT默认使用%U,备份集存储在数据库快闪恢复区内,备份文件包括数据文件,控制文件,重做日志文件和参数文件

    RMAN>backup database;

    备份到了快闪恢复区,

    如果备份整个数据库时要包含归档日志文件,则要加上plus archivelog关键字,delete input的意思是在备份完成后,删除archivelog文件

    RMAN>backup database plus archivelog delete input;

    创建目录/OPT/ORACLE/ORADATA

    自动分配通道,通过FORMAT制定具体的路径和格式

    RMAN>backup database FORMAT '/opt/oracle/oradata/backup/rmanbak/%U';

    备份文件存储的路径

    使用手动分配通道,备份数据库的方法:

    RMAN>run

    2>{

    3>allocate channel ch1 device type disk;

    4>backup database format '/opt/oracle/oradata/backup/rmanbak/%U';

    5>release channel ch1;

    6>}

    备份结果

    如何恢复数据库

    全库备份的恢复,数据库要在mount状态下执行,删除system01.dbf,使用RMAN恢复

    此时数据库无法启动了,因为删除了system01.dbf

    数据库的当前状态,连接RMAN

    恢复数据库

    打开数据库

    数据库已经处于OPEN状态了

    system01.dbf表空间已经被恢复了

    备份和恢复表空间

    备份表空间

    备份USERS表空间

    RMAN>backup tablespace users;

    备份多个表空间

    RMAN>backup filesperset=3 tablespace users,system,sysaux;

    在RUN命令中备份表空间

    RMAN>run

    2>{

    3>allocate channel ch1 device type disk;

    4>backup format '/opt/oracle/oradata/backup/rmanbak/%U' (tablespaceusers,system,sysaux);

    5>release channel ch1;

    6>}

    如果只丢失了特定的表空间的数据文件,那么可以选择只恢复这个表空间,而不是恢复整个数据库,表空间恢复可以在不关闭数据库的情况下进行,只需要将需要恢复的表空间offline

    模拟删除表空间

    恢复被删除的表空间

    已经恢复了users01.dbf

    备份数据文件2

    备份sysaux01.dbf

    查看当前系统中的数据文件

    删除数据文件sysaux01.dbf

    对数据文件或表空间做恢复的时候数据文件和表空间一定要处于offline状态, 数据文件丢失了,但数据库实例还可以用,

    此时数据文件sysaux01.dbf的状态为RECOVER

    恢复数据文件sysaux01.dbf

    将数据文件datafile 2处于online状态

    查看数据文件的状态,已经变成online状态了

    使用数据泵技术实现逻辑备份

    逻辑备份概述

    逻辑备份时创建数据库对象的逻辑副本,并存入一个二进制转储文件的过程。从本质上来讲逻辑备份与恢复实际就是对数据库事实数据的导入和导出。

    导出:

    导出就是数据库的逻辑备份,实质是读取一个数据库记录并将这个记录集写入一个文件(扩展名通常是dmp),这些记录的导出与物理位置无关

    导入:

    导入即数据库的逻辑恢复,实质是读取被导出的二进制转储文件并将其恢复到数据库。

    使用数据泵技术导入/导出

    数据泵(DATA PUMP)是一种在数据库之间或在数据库与操作系统之间高速传输数据的技术。数据泵工具运行在服务器上,数据库管理员需要指定数据库目录来保存转储的数据。

    连接oracle 数据库

    创建一个操作目录

    授予用户操作dump_dir目录的权限

    使用EXPDP命令导出数据(可以按照表导出,按照用户模式导出,按照表空间导出和全库导出),使用IMPDP命令导入数据(可以按照表导入,按照用户模式导入,按照表空间导出和全库导入)。

    使用基于命令行的数据泵技术对数据库实施导入和导出。

    SQL>col DIRECTORY_NAME for a20

    SQL>col DIRECTOR_PATH for a60

    SQL>col OWNER for a8

    创建测试用户tom并授权

    导出SCOTT用户下的emp和dept表

    [oracle@dbserver~]$ expdp scott/oracle directory=dump_dir dumpfile=scotttab.dmp tables=emp,dept

    以SCOTT用户连接,删除SCOTT用户下的EMP表

    导入emp表

    [oracle@dbserver~]$ impdp scott/oracle directory=dump_dir dumpfile=scotttab.dmp tables=emp

    emp表已经导入成功了。

    将导出的SCOTT用户下的DEPT表和EMP表导入到tom用户下

    [oracle@dbserver~]$ impdp system/oracle11g directory=dump_dir dumpfile=scotttab.dmptables=scott.emp,scott.dept REMAP_SCHEMA=SCOTT:TOM

    查看导入的结果,使用tom用户连接

    导出表空间

    在xx表空间上创建一个表aa,并为表插入记录

    导出表空间

    删除表空间xx的同时删除数据文件

    aa表没有了。

    导入表空间

    导入表空间之前,需要创建一个xx表空间

    导入表空间xx

    验证,aa表恢复回来了。

    导出全库

    [oracle@dbserverorcl]$ expdp system/oracle11g directory=dump_dir dumpfile=full.dmp full=y

    导入全库

    [oracle@dbserverorcl]$ impdp system/oracle11g directory=dump_dir dumpfile=full.dmp full=y

    使用闪回技术

    为了使数据库能够从任何逻辑错误中迅速恢复,oracle推出了闪回技术。采用该技术,可以对行级和事物级的数据变化进行恢复,减少了数据恢复的时间,而且操作简单。通过SQL语句就可以实现数据的恢复,大大提高了数据库恢复的效率。闪回技术是数据库恢复技术历史上一次重大的进步,从根本上改变了数据恢复。

    闪回技术包括以下各项:

    闪回查询:(FLASHBACK QUERY):查询过去某个时间点或某个SCN值时表中的数据信息

    闪回版本查询(FLASHBACK Version query):查询过去某个时间段或某个SCN段内表中数据变化的情况。

    闪回事物查询(FLASHBACK Transaction Query):查看某个事物或所有事物在过去一段时间对数据进行的修改。

    闪回数据库(FLASHBACK Database):将数据库恢复到过去某个时间点或某个SCN值时的状态

    闪回删除(FLASHBACK drop):将已经删除的表及其关联的对象恢复到删除前的状态。

    闪回表(FLASHBACK table):将表恢复到过去的某个时间点或某个SCN值时的状态。

    SCN是当oracle数据库更新后,有DBMS自动维护而累积递增的一个数字。可以通过查询数据字典V$DATABASE中的CURRENT_SCN获得当前的SCN号。

    闪回恢复区的含义

    oracle推荐指定一个闪回恢复区(FLASHRECOVERY AERA)作为存放备份与恢复相关的默认位置,这样ORACLE就可以实现自动的基于磁盘的备份与恢复。闪回恢复区是一块用来存储恢复相关的文件的存储空间,允许用户集中存储所有恢复相关的文件。以下几种文件可以存放在闪回恢复区。

    控制文件

    归档日志文件

    闪回日志

    控制文件和SPFILE自动备份

    RMAN备份集

    数据文件拷贝

    闪回恢复区主要通过以下3个初始化参数来设置和管理

    db_recovery_file_dest:指定闪回恢复区的位置

    db_recovery_file_dest_size:指定闪回恢复区的可用空间

    db_flashback_retention_target:该参数用来控制闪回日志中数据保留的时间,或者说,希望闪回数据库能够恢复到的最早的时间点。单位为min,默认是1440min,即一天。当然实际上可回退的时间还取决于闪回恢复区的大小,因为里面保存了回退所需要的闪回日志,所以这个参数要和db_recovery_file_dest_size配合修改。

    如果要撤销闪回恢复区,把初始化参数DB_RECOVERY_FILE_DEST的值清空。

    db_recovery_file_dest_size只有在DB_RECOVERY_FILE_DEST清空之后才可以清空

     设置闪回数据库

    设置了闪回恢复区,要启动闪回数据库功能,还需要进一步配置,数据必须处于归档模式,在设置闪回数据库

    数据库已经处于归档模式:

    数据库未启用闪回数据库

    建立闪回区域

    设置闪回数据库的数据保留周期为一天以min为单位

    启用闪回日志

    查询是否成功启用闪回恢复区

    查询是否成功启用闪回数据库

    闪回数据库

    闪回数据库能够使数据迅速的回滚到以前的某个时间点或者某个SCN上,这对数据库从逻辑错误中恢复特别有用。而且也是大多数发生逻辑损坏时恢复数据库最佳的选择。

    使用SCN闪回数据库

    查看数据库系统当前SCN

    改变数据库当前状态,模拟创建表TEST10,并插入一条记录

    进行闪回数据库恢复,将数据库恢复到创建表之前的状态,即SCN为1238544

    用RESETLOGS选项打开数据库

    验证数据库的状态,TEST10表不存在。

    查询数据库中当前最早的闪回SCN和时间

    按照指定时间闪回数据库

    查询数据库中当前时间和当前SCN

    改变数据库的当前状态,模拟创建表test11,并插入1条记录

    进行闪回数据库恢复,将数据库恢复到创建表之前的状态。

    使用RESETLOGS打开数据库

    验证数据库的状态test11表是否存在。

    闪回数据库操作的限制:

     数据文件损坏或丢失等介质故障不能使用闪回数据库进行恢复。闪回数据库只能基于当前正常运行的数据文件

    闪回数据库功能启动后,如果发生数据控制文件重建或利用备份恢复控制文件,则不能使用闪回数据库

    不能使用闪回数据库进行数据文件收缩操作

    不能使用闪回数据库将数据库恢复到在闪回日志中可获得的最早的SCN之前的SCN,因为闪回日志文件在一定的条件下被删除,而不是始终保存在闪回恢复区中

    闪回表

             闪回表是将表恢复到过去的某个时间点或者指定的SCN而不用恢复数据文件,为DBA提供了一种在线、快速、便捷的恢复方式,可以恢复对表进行的修改、删除、插入等错误的操作。

             利用闪回表技术恢复表中的数据的过程,实际上是对表进行DML操作的过程。oracle自动维护与表相关联的索引、触发器、约束等。

    为了使用数据库闪回功能,必须满足下列条件

    用户具有FALSHBACKANY TABLE系统权限,或者具有所操作表的FLASHBACK对象权限

    用户具有所操作表的SELECT/INSERT/DELETE/ALTER对象权限

    启动被操作表的ROW MOVEMENT特性,可以采用下列方式进行:

    SQL> ALTER TABLE 表名 ENABLE ROWMOVEMENT;

    闪回表语法格式:

    FLASHBACK TABLE [schema].table TO SCN |TIMESTAMP expression [ENABLE|DISABLE TRIGGERS]

    参数说明:

    SCN:将表恢复到指定的SCN时的状态

    TIMESTAMP:将表恢复到指定额时间点

    ENABLE|DISABLETRIGGERS:在恢复表中数据的过程中,表上的触发器时禁用还是激活(默认是引用)

    举例说明:

    使用SCOTT用户登录

    创建表,插入记录,提交事物

    查询当前SCN号,如果当前用户没有权限查询v$database,则以sys用户登录,授予当前用户访问数据字典的权限。

    更新记录,并提交事物

    查看表中的记录

    删除ID=3的记录

    启动test01表的ROW MOVEMENT特性

    将test01表恢复到2015-11-22 05:44:48时刻的状态

    将test01表恢复到SCN为1240503的状态。

    闪回删除

    闪回删除可以恢复使用DROP table语句删除的表,是一种对意外删除的表恢复机制。闪回删除的功能的实现主要是通过oracle数据库中的“回收站”技术实现的。在oracle数据库中,当执行DROP table操作时,并不立即收回表及其关联对象的空间,而是将他们重命名后放入一个称为“回收站”的逻辑容器中保存,直到用户决定永久删除他们或存储该表的表空间或存储空间不足时,表才真正被删除,为了使用数据库的闪回删除技术,必须开启数据库的“回收站”

    启动“回收站”将参数RECYCLEBIN设置为ON,在默认情况下“回收站”已经启动

    如果没有启动可以使用:

    查看回收站。当执行DROP table 时,表及关联的对象被命名后保存在“回收站”中,可以通过查询USER_RECYCLEBIN DBA_RECYCLEBIN视图获得被删除的表及其关联对象。

    通过USER_RECYCLEBIN查看被删除的表

    不支持sys用户和system用户,这两个用户下的表被删除之后,无法从回收站里拿到,查询时为“空”

    如果删除表的时候使用了PURGE短语,则表及其关联对象呗直接释放,空间被回收,相关信息不会进入“回收站”中

    清空回收站,由于被删除的表级其关联对象信息保存在“回收站”中,其存储空间并没有释放,因此需要定期清空“回收站”。或清除“回收站”中没有用的对象(表,索引,表空间)释放其所占用的磁盘空间

    语法如下:

    PURGE [TABLE 表名 | INDEX index]

    [RECYCLEBIN | DBA_RECYCLEBIN] | [TABLESPACEtablespace [USER user]]

    参数说明:

    TABLE:从回收站中清除指定的表

    INDEX:从回收站中清除指定的索引,并回收其磁盘空间

    RECYCLEBIN:清空用户“回收站”,并回收所有对象的磁盘空间

    DBA_RECYCLEBIN:清空整个数据库系统的“回收站”,只有具有SYSDBA权限的用户才可以使用

    TABLESPACE :清除“回收站”中指定额表空间,并回收磁盘空间

    USER:清除回收站中指定表空间中特定用户的对象,并回收磁盘空间

    闪回删除操作,闪回删除的基本语法

    FLASHBACK TABLE [schema.]table to BEFOREDROP [RENAME TO table]

    闪回删除

    闪回删除举例说明:

    需要注意:只有本地管理的,非系统表空间中的表可以使用闪回删除操作。

     闪回查询

    允许根据时间点timestamp或SCN查看就的数据,除了可以查看旧数据,需要时可以通过检索旧数据来撤销错误的更改。

    使用SCOTT用户登录,对EMP表基于AS of TIMESTAMP的闪回查询

    SQL> show user;

    USER is "SCOTT"

    更新员工号为7900的工资,更新为2000,并提交事物

    更新员工号为7900的工资,更新两次,提交事物。

    更新员工号为7900的工资,更新为3500,并提交事物

    查看7900号员工的更新后工资。

    查询7900号员工前一个小时的工资是多少

    查询第一个事物提交,第二个事物还没有提交时7900员工的工资

    查询第二个事物提交,第三个事物还没有提交时的7900号员工的工资

    如果需要,可以将数据恢复到过去某个时刻的状态。

     如果对此有兴趣,请扫下面二维码免费获取更多详情,如果文章对您有帮助,请打赏博主一两毛钱。

    展开全文
  • mysql数据库备份与还原,里面描述如何语句还原备份数据库
  • DM7备份与还原

    2019-08-30 15:19:18
    DM7备份与还原
  • gitlab 备份与恢复

    千次阅读 2019-04-30 15:38:23
    备份恢复只能恢复与备份时的gitlab相同的版本。将gitlab迁移到另一台服务器上的最佳方法就是通过备份还原备份 gitlab提供了一个简单的命令行来备份整个gitlab,并且能灵活的满足需求。 备份时间戳 从...

    对gitlab进行备份将会创建一个包含所有库和附件的归档文件。对备份的恢复只能恢复到与备份时的gitlab相同的版本。将gitlab迁移到另一台服务器上的最佳方法就是通过备份和还原。

    备份

    gitlab提供了一个简单的命令行来备份整个gitlab,并且能灵活的满足需求。

    备份时间戳

    从gitlab 9.2版本开始,时间戳格式由EPOCH_YYYY_MM_DD更改为EPOCH_YYYY_MM_DD_Gitlab-version。

    备份文件将保存在gitlab.yml文件中定义的backup_path中,文件名为TIMESTAMP_gitlab_backup.tar,TIMESTAMP为备份时的时间戳。

    1. 使用omnibus软件包安装的
    sudo gitlab-rake gitlab:backup:create
    1
    sudo gitlab - rake gitlab : backup : create
    • 使用源码安装的
    • sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
      1
      sudo - u git - H bundle exec rake gitlab : backup : create RAILS_ENV = production
    • 在docker中运行的gitlab
    • docker exec -t <container name> gitlab-rake gitlab:backup:create
      1
      docker exec - t < container name > gitlab - rake gitlab : backup : create

      备份策略选项

      该选项对gitlab 8.17及以上版本有效。

      默认的备份策略是使用linux的tar/gzip命令。这在大多数情况下是没有问题的,但是当数据在打包过程中发生改变时,将会有错误抛出file changed as we read it,这会导致备份进程失败。

      位了解决这个问题,8.17引入了一个名为copy的备份策略,就是在调用tar、gzip时将数据拷贝到一个临时位置。不过也引入了另一个问题,将额外占用一倍的磁盘空间。

      要使用复制策略而不是默认流策略,可以指定STRATEGY = copy。例如,sudo gitlab-rake gitlab:backup:create STRATEGY = copy。

      排除特定目录

      可以通过加环境变量skip来选择要备份的内容。可用的选项有:

      • db (数据库)
      • uploads (附件)
      • repositories (Git repositories 数据)
      • builds (CI job output logs)
      • artifacts (CI job artifacts)
      • lfs (LFS objects)
      • registry (Container Registry images)
      • pages (Pages content)

      指定多个选项使用逗号分隔。

      omnibus版本安装

      sudo gitlab-rake gitlab:backup:create SKIP=db,uploads
      1
      sudo gitlab - rake gitlab : backup : create SKIP = db , uploads

      源码安装

      sudo -u git -H bundle exec rake gitlab:backup:create SKIP=db,uploads RAILS_ENV=production
      1
      sudo - u git - H bundle exec rake gitlab : backup : create SKIP = db , uploads RAILS_ENV = production

      备份文件上传到云

      这里就不介绍了,支持aws、google、openstack swift和rackspace。

      上传到本地挂载目录

      omnibus版本

      gitlab_rails['backup_upload_connection'] = { :provider => 'Local', :local_root => '/mnt/backups' }

      The directory inside the mounted folder to copy backups to

      Use ‘.’ to store them in the root directory

      gitlab_rails[‘backup_upload_remote_directory’] = ‘gitlab_backups’

      1
      2
      3
      4
      5
      6
      7
      8
      gitlab_rails [ 'backup_upload_connection' ] = {
      : provider = > 'Local' ,
      : local_root = > '/mnt/backups'
      }
       
      # The directory inside the mounted folder to copy backups to
      # Use '.' to store them in the root directory
      gitlab_rails [ 'backup_upload_remote_directory' ] = 'gitlab_backups'

      源码安装

      backup: # snip upload: # Fog storage connection settings, see http://fog.io/storage/ . connection: provider: Local local_root: '/mnt/backups' # The directory inside the mounted folder to copy backups to # Use '.' to store them in the root directory remote_directory: 'gitlab_backups'
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      backup :
      # snip
      upload :
      # Fog storage connection settings, see http://fog.io/storage/ .
      connection :
      provider : Local
      local_root : '/mnt/backups'
      # The directory inside the mounted folder to copy backups to
      # Use '.' to store them in the root directory
      remote_directory : 'gitlab_backups'

      备份配置文件

      需要对/etc/gitlab/gitlab.rb 和 /etc/gitlab/gitlab-secrets.json(Omnibus), or /home/git/gitlab/config/secrets.yml (source)进行配置,来保存数据库加密秘钥。

      使用crontab定时备份

      omnibus版本

      0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
      1
      0 2 * * * / opt / gitlab / bin / gitlab - rake gitlab : backup : create CRON = 1

      源码安装

      # Create a full backup of the GitLab repositories and SQL database every day at 4am 0 4 * * * cd /home/git/gitlab && PATH=/usr/local/bin:/usr/bin:/bin bundle exec rake gitlab:backup:create RAILS_ENV=production CRON=1
      1
      2
      # Create a full backup of the GitLab repositories and SQL database every day at 4am
      0 4 * * * cd / home / git / gitlab && PATH = / usr / local / bin : / usr / bin : / bin bundle exec rake gitlab : backup : create RAILS_ENV = production CRON = 1

      环境变量CRON=1的作用是如果没有任何错误发生时, 抑制备份脚本的所有进度输出。

      建议将/etc/gitlab备份到安全的地方。如果要还原gitlab应用程序,还需要还原gitlab-secrets.json。如果没有,那么使用双重身份验证的GitLab用户将无法访问GitLab服务器,而存储在GitLab中的“安全变量”将被丢失。

      omnibus 的所有配置都存储在/etc/gitlab中,只需备份此目录。

      sudo sh -c 'umask 0077; tar -cf $(date "+etc-gitlab-%s.tar") /etc/gitlab'
      1
      sudo sh - c 'umask 0077; tar -cf $(date "+etc-gitlab-%s.tar")  /etc/gitlab'

      使用crontab

      0 2 * * *  umask 0077; tar cfz /secret/gitlab/backups/$(date "+etc-gitlab-\%s.tgz") /etc/gitlab
      1
      0 2 * * *   umask 0077 ; tar cfz / secret / gitlab / backups / $ ( date "+etc-gitlab-\%s.tgz" )    / etc / gitlab

      服务器的ssh主机密钥存储在/etc/ssh/目录中,如果必须执行完整的服务器还原,请确保备份和还原这些密钥,以避免中间人攻击的警告。

      恢复

      只能还原到与备份文件相同的gitlab版本。

      源码安装的

      sudo service gitlab stop bundle exec rake gitlab:backup:restore RAILS_ENV=production
      1
      2
      sudo service gitlab stop
      bundle exec rake gitlab : backup : restore RAILS_ENV = production

      omnibus版本:

      首先有安装与备份文件相同的gitlab。

      执行gitlab-ctl reconfigure

      如果gitlab没有运行,需执行gitlab-ctl start。

      确保备份文件位于gitlab_rails['backup_path']。

      sudo gitlab-ctl stop unicorn sudo gitlab-ctl stop sidekiq # Verify sudo gitlab-ctl status # This command will overwrite the contents of your GitLab database! sudo gitlab-rake gitlab:backup:restore BACKUP=1493107454_2017_04_25_9.1.0 sudo gitlab-ctl start sudo gitlab-rake gitlab:check SANITIZE=true
      1
      2
      3
      4
      5
      6
      7
      sudo gitlab - ctl stop unicorn
      sudo gitlab - ctl stop sidekiq
      # Verify
      sudo gitlab - ctl status # This command will overwrite the contents of your GitLab database!
      sudo gitlab - rake gitlab : backup : restore BACKUP = 1493107454_2017_04_25_9.1.0
      sudo gitlab - ctl start
      sudo gitlab - rake gitlab : check SANITIZE = true

    展开全文
  • ciscoh3c交换机配置备份与还原以及cisco3560ios恢复
  • Ubuntu系统备份与还原

    2014-03-03 22:39:27
    ubuntu系统备份与还原 两种方法,tar方式cloner方式
  • Oracle备份与恢复

    千次阅读 2018-06-01 16:37:31
    备份分类全量备份:对数据库完整的备份优点:可实现数据100%恢复恢复时间短,操作方便缺点:备份数据量大,存储空间需求大增量备份:从最后一次备份后改变的文件优点:备份数据量小,备份时间短;缺点:恢复时依赖...
  • MySQL数据库备份与还原

    千次阅读 2019-02-28 23:07:36
    #第一种通过命令:mysqldump -uroot -p密码 需要备份的数据库名&gt;备份后的sql脚本名; cmd--&gt;mysqldump -uroot -proot 16jike2_account&...D:\16jike2_account_back.sql ...还原备份的文件数...
  • mysql数据备份与还原

    千次阅读 2016-05-10 15:44:56
    mysql数据备份与还原mysql数据备份与还原 数据备份 mysqldump备份 直接复制这个数据库目录 mysqlhotcopy工具快速备份 数据还原 mysql命令还原 使用source 命令导入备份sql文件 使用直接复制到数据目录的方法 ...
  • C#程序备份还原数据库C#程序备份还原数据库C#程序备份还原数据库
  • 备份还原备份还原备份还原备份还原备份还原备份还原备份还原备份还原
  • 数据库备份与还原

    2017-10-13 15:17:24
    当电脑断电以及数据库东西丢失时,需要的技术问题,此代码可以帮助你学会数据库的备份还原
  • Redis备份还原恢复

    千次阅读 2018-12-11 17:29:19
    redis备份恢复 首先登陆redis,执行save命令做rdb备份 redis-cli -p 6379 SAVE config get dir #获取备份文件目录 备份完成后,停止redis服务 redis-cli -p 6379 shutdown 拷贝redis备份文件dump.rdb到对应目录下...
  • 数据库的备份与还原

    2018-05-18 00:09:53
    个人总结的关于数据库的备份还原,欢迎各路大神前来讨论
  • MySQL Workbench数据备份与还原

    千次阅读 2017-12-31 18:56:05
    1 备份数据库 2 还原数据库
  • MySQL的备份与还原

    万次阅读 2020-08-14 18:41:42
    mysqldump客户端是一个逻辑备份工具,备份出数据库中表和数据的SQL语句。 注意事项 在对数据库进行完全备份前,需要收集数据库相关信息,确保备份内容完整,以下为收集语句 \-- 查看表相关信息 select table_...
  • ORACLE数据库备份与恢复分为: 1、物理备份与恢复(介质恢复:磁盘或操作系统文件损坏的恢复) (1)冷备份(脱机备份恢复(脱机恢复) (2)热备份(联机备份恢复(联机恢复) 2、逻辑备份与恢复 ...
  • ORACLES数据库备份与恢复分为: 1、物理备份与恢复(介质恢复:磁盘或操作系统文件损坏的恢复) (1)冷备份(脱机备份恢复(脱机恢复) (2)热备份(联机备份恢复(联机恢复) 2、逻辑备份与恢复 ...
  • sql 备份还原恢复 delphi 数据库 简便管理
  • 基于安卓平台的短信的备份与还原功能,希望大家喜欢.
  • 如题。 打开该工具, 备份位置不要放到C盘里。 备份完成后,会在开机选项里多一个菜单。该工具应该是把C盘完全备份了,还原时会格式化C盘。 ...
  • gitlab备份与恢复

    千次阅读 2017-09-08 09:06:14
    1、gitlab备份与恢复 参考:https://docs.gitlab.com/ce/raketasks/backup_restore.html 创建系统备份 sudo gitlab-rake gitlab:backup:create 备份文件存在/var/opt/gitlab/backups,可编辑/etc/gitlab/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 478,449
精华内容 191,379
关键字:

备份与恢复有什么用