精华内容
下载资源
问答
  • 数据库快照的主要作用是:维护历史数据以用于制作各种报表,可以使用数据库快照将出现错误的源数据库恢复到创建快照时的状态。例如,在财务年度结束时,通过创建数据库快照可以有效地制作各种财务报表。3.4.1 数据库...

    创建数据库快照

    数据库快照是源数据库的只读、静态视图。一个源数据库可以有多个数据库快照。数据库快照的主要作用是:维护历史数据以用于制作各种报表,可以使用数据库快照将出现错误的源数据库恢复到创建快照时的状态。例如,在财务年度结束时,通过创建数据库快照可以有效地制作各种财务报表。

    3.4.1  数据库快照简介

    简单的说,快照就是数据库在某一指定时刻的照片。顾名思义,数据库快照(Database Snapshot)就像是为数据库照了相片一样。相片实际是照相时刻被照对象的静态呈现,而数据库快照则提供了源数据库在创建快照时刻的只读、静态视图。一旦为数据库建立了快照后,这个数据库快照就是创建快照那时刻数据库的情况,虽然数据库还在不断变化,但是这个快照不会再改变。

    数据库快照在数据页级别上进行。当创建了某个数据库的数据库快照后,数据库快照使用一种稀疏文件维护源数据页。如果源数据库中的数据页上的数据没有更改,那么对数据库快照的读操作实际上就是读源数据库中的这些未更改的数据页。如果源数据库中的某些数据页上的数据被更改,则更改前的源数据页已经复制到数据快照的稀疏文件中去,对这些数据的读操作实际上就是读取稀疏文件中复制过来的数据页。如果源数据库中的数据更改频繁,会导致数据库快照中稀疏文件的大小增长的很快。为了避免数据库快照中的稀疏文件过大,可以通过创建新的数据库快照来解决这一问题。

    3.4.2  创建数据库快照

    在Microsoft SQL Server 2008系统中,使用CREATE DATABASE语句创建数据库快照。创建数据库快照的基本语法格式如下所示:

    CREATE DATABASE database_snapshot_name

    ON

    (

    NAME=logical_file_name,

    FILENAME='os_file_name'

    )[,…n]

    AS SNAPSHOT OF source_database_name

    在上述语法中,database_snapshot_name参数是将要创建的数据库快照的名称,该名称必须符合数据库名称的标识符规范,并且在数据库名称中是惟一的。数据库快照的稀疏文件由NAME和FILENAME两个关键字来指定。AS SNAPSHOT OF子句用于指定该数据库快照的源数据库名称。

    下面来对【图书管理系统(BookDateBase)】数据库创建一个名称“BookDAteBase_snapshot”的数据库快照。代码如下所示:

    CREATE DATABASE  BookDateBase_snapshot

    ON

    (

    NAME= BookDateBase_DAT,

    FILENAME='E:\张帅\zs SQL2008 shugao\SQL2008\第3章 管理数据库 代码\BookDateBase_snapshot.snp'

    ),

    (

    NAME=BookDateBase_DAT1,

    FILENAME='E:\张帅\zs SQL2008 shugao\SQL2008\章 管理数据库 代码\BookDateBase_snapshot1.snp'

    ),

    (

    NAME=BookDateBase_DAT2,

    FILENAME='E:\张帅\zs SQL2008 shugao\SQL2008\章 管理数据库 代码\BookDateBase_snapshot2.snp'

    ),

    (

    NAME= BookDateBase_DAT3,

    FILENAME='E:\张帅\zs SQL2008 shugao\SQL2008\第3章 管理数据库 代码\BookDateBase_snapshot3.snp'

    )

    AS SNAPSHOT OF  BookDateBAse

    上述代码语句中,为【图书管理系统(BookDateBase)】数据库中的数据文件创建数据库快照,在创建数据库快照时,必须对每个数据文件建立快照,否则将提示缺少某个数据文件的快照。语句执行结果如图2-19所示。

    aafc3778c37952b583a73315a0714445.png

    图2-19  创建数据库快照

    如图3-21所示,创建快照后在【对象资源管理器】窗格的【数据库快照】节点下即可看到刚创建的【BookDateBase_snapshot】数据库快照,展开后可以看到其内容与源数据库完全相同。数据库快照的扩展名为.snp。

    虽然数据库快照和源数据库的内容完全相同,但他与源数据库相比,数据库快照还是存在着一些限制:

    l  必须在与源数据库相同的服务器实例上创建数据库快照。

    l  数据库快照捕获开始创建快照的时间点,去掉所有未提交的事务。未提交的事务将在创建数据库快照期间回滚。

    l  数据库快照为只读的,不能在数据库中执行修改操作。

    l  禁止对model数据库、master数据库和tempdb数据库创建快照。

    l  不能从数据库快照中删除文件。

    l  不能备份或还原数据库快照。

    l  不能附加或分离数据库快照。

    l  不能在FAT32文件系统或RAW分区中创建快照。数据库快照所用的稀疏文件由NTFS文件系统提供。

    l  数据库快照不支持全文索引,不能从源数据库传播全文目录。

    l  数据库快照将继承快照创建时其源数据库的安全约束。由于快照是只读的,因此无法更改继承的权限,对源数据库的更改权限将不反映在现有快照中。

    l  快照始终反映创建该快照时的文件组状态,即在线文件组将保持在线状态,离线文件组将保持离线状态。

    l  只读文件组和压缩文件组不支持恢复。尝试恢复到这两类文件组将失败。

    当源数据库发生损坏或出错时,就可以通过数据库快照来将数据库恢复到创建数据库快照时的状态。此时恢复的数据库会覆盖原来的数据库。执行恢复操作要求对源数据库具有RESTORE DATABASE权限,恢复时的语法格式如下所示:

    RESTORE DATABASE database_name FROM DATABASE_SNAPSHOT=database_snapshot_name

    代码中,database_name是源数据库的名称,database_snapshot_name是对应源数据库的快照名称。例如,要将【BookDateBase_snapshot】数据库快照恢复到【图书管理系统(BookDateBase)】数据库中,其语句如下所示:

    RESTORE DATABASE BookDateBase from DATABASE_SNAPSHOT=' BookDateBase_snapshot '

    GO

    使用上述命令时,会话中不能使用当前要恢复的数据库,否则会出错,建议在执行时使用master 数据库。也可以在工具栏上的【可用数据库】下拉框( )中选择其他的数据库。

    接下来来介绍一下如何删除数据库快照,删除数据库快照的方法和其实和删除数据库的方法完全相同,也是使用DROP DATABASE语句。同样,不能删除当前正在使用的数据库快照。下面是删除【BookDateBase_snapshot】数据库快照的语句代码:

    DROP DATABASE  BookDateBase_snapshot

    GO

    展开全文
  • sqlserver2005镜像数据库与数据库快照

    千次阅读 2012-11-28 13:55:30
    sqlserver2005镜像数据库可以创建数据库快照数据库快照可以读取,查询,做数据库报表作用,分担主数据库的压力。   CREATE DATABASE AdventureWorks_dbss1800 ON ( NAME = AdventureWorks_Data, FILENAME = ...
    sqlserver2005镜像数据库可以创建数据库快照,数据库快照可以读取,查询,做数据库报表作用,分担主数据库的压力。
     
    CREATE DATABASE AdventureWorks_dbss1800 ON
    ( NAME = AdventureWorks_Data, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\AdventureWorks_data_1800.ss' )
    AS SNAPSHOT OF AdventureWorks;
    GO
     
    NAME=AdventureWorks_Data  镜像数据库的数据文件名:MDF文件名
     
    'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\AdventureWorks_data_1800.ss'
    快照数据库文件名
     
     快照数据库建立后,就能像其他正常数据库一样查询检索了
     
    ------------------------------------------------------------------------------------
    将数据库恢复到数据库快照
    USE master;
    -- Reverting AdventureWorks to AdventureWorks_dbss1800
    RESTORE DATABASE AdventureWorks from
    DATABASE_SNAPSHOT = 'AdventureWorks_dbss1800';
    GO
     

    恢复 Sales 数据库的快照
    此示例假定 Sales 数据库当前存在两个快照:sales_snapshot0600 和 sales_snapshot1200。 此示例删除了较旧的快照并将数据库恢复到较新的快照。

    有关用于创建此示例所基于的示例数据库和快照的代码,请参阅:

    有关 Sales 数据库和 sales_snapshot0600 快照,请参阅 CREATE DATABASE (Transact-SQL) 中的“使用文件组创建数据库”和“创建数据库快照”。

    有关 sales_snapshot1200 快照,请参阅创建数据库快照 (Transact-SQL) 中的“创建 Sales 数据库的快照”。

    复制
     --Test to see if sales_snapshot0600 exists and if it
    -- does, delete it.
    IF EXISTS (SELECT dbid FROM sys.databases
        WHERE NAME='sales_snapshot0600')
        DROP DATABASE SalesSnapshot0600;
    GO
    -- Reverting Sales to sales_snapshot1200
    USE master;
    RESTORE DATABASE Sales FROM DATABASE_SNAPSHOT = 'sales_snapshot1200';
    GO

    展开全文
  • 最近数据库增加了些不可避免的触发器(程序无法修改)。 所以有时并发量高时出现了死锁。 我如果直接把数据库隔离等级改为快照,这样做的副作用是什么呢? 请高手指点。
  • 数据库和文件系统的快照snapshot

    千次阅读 2014-12-18 12:57:07
    通俗法:快照作用主要是能够进行在线数据恢复,用数据库采集下系统某一时刻的数据,将数据存入数据库中,当存储设备发生应用故障或者文件损坏时可以进行及时数据恢复,将数据恢复成快照产生时间点的状态。快照的另...

    1.快照用途

    通俗法:快照的作用主要是能够进行在线数据恢复,用数据库采集下系统某一时刻的数据,将数据存入数据库中,当存储设备发生应用故障或者文件损坏时可以进行及时数据恢复,将数据恢复成快照产生时间点的状态。快照的另一个作用是为存储用户提供了另外一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。利用不同时间点的快照,还可以生成报告,用来检测系统在这段时间的性能趋势。

    学术法:数据库快照是数据库(源数据库)的只读静态视图。在创建时,每个数据库快照在事务上都与源数据库一致。在创建数据库快照时,源数据库通常会有打开的事务。在快照可以使用之前,打开的事务会回滚以使数据库快照在事务上取得一致。

    2.快照分类

    快照通常有六种类型:

    (1)Copy-on-write 复制写

    (2)Redirect-on-write 重定向写

    (3)Clone or split mirror 克隆或镜像

    (4)Copy-on-write with background copy  后台拷贝的复制写

    (5)Incremental 增量快照

    (6)Continuous data protection 持续数据保护


    复制写和重定向写快照

    Copy-on-write(COW) 复制写

    COW快照需要消耗一些存储空间建立快照卷。当我们为一个数据卷创建一个快照后,这些预留的空间用来存放而被变化数据更新的旧数据。COW快照在初始化的过程中仅仅创建用来描述源数据块位置的指针信息(元数据),而不是完整的将源数据拷贝过来。因为初始化的过程几乎可以再瞬间完成,对系统的影响也很小。

    COW快照会跟踪数据卷的写操作和数据块的变化。当某个数据块发生改变时,在将旧的数据覆盖之前,首先将该块的旧数据复制到预留的快照卷,该步骤仅在数据卷相应数据块位置发生第一次写操作请求时进行。这个处理过程确保快照出来的数据与发起快照的那个精确时间点保持完全一致。这个过程也描述了“copy on write”这个名字的含义。

    如果我们需要访问某个时间点的快照数据,对没有改变过的块直接从数据卷读取;对已经改变并被复制的块则从快照空间读取。从快照被创建那一刻起,每个快照都会跟踪记录描述块改变的元数据信息。

    COW快照的主要优势在于空间的高效利用,因为快照卷只需要保留发生过变化的数据块,与数据卷相比要小得多。但是我们也知道COW快照有个缺点,它会引起数据卷性能的下降,这是因为创建快照之后,对数据卷的写操作会增加一个等待的过程-即旧数据复制到快照卷的过程。另外一个关键问题是每个快照卷必须依赖一个完整的数据卷。


    Redirect-on-write(ROW)重定向写快照

    “ROW重定向写”与“COW复制写”是相对的概念,它可以避免两次写操作引起的性能损失。ROW 同COW一样在空间利用方面效率非常高。那是什么让ROW快照避免了写性能的损耗?其中的原因是ROW把对数据卷的写请求重定向给了快照预留的存储空间,而写操作的重定向设计则把需要两次写才能完成的操作减少为一次。我们知道COW的两次写包括:1.将旧数据写入快照卷;2.在数据卷写入新数据。而ROW只写入新数据一步。

    使用ROW快照,数据卷存放的是上一个快照时间点的旧数据,新数据最终存放在预留的快照空间。这里也有一个复杂的问题,就是快照的删除。被删除的快照上的数据必须被复制到原始数据卷,并且做一致性回退。创建的快照越多,维护快照的复杂度也会以指数级别上升。这些复杂性包括对原始数据的访问、快照数据和原始数据卷的跟踪、以及快照删除后的数据调整。另一个直接引发的严重问题是,原始数据集中会产生大量的碎片。


    克隆或分割镜像快照与后台拷贝的复制写快照技术

    Clone or split-mirror 克隆或分割镜像快照

    Clone(或split-mirror)快照所创建的是数据的完整副本。Clone(或split-mirror)快照的对象可以是一个存储卷、一个文件系统或是一个Lun(logical  unit  number 逻辑单元号)。Clone快照的优点是它们具有高可用性;缺点是所有的数据都要完整的复制一份,复制的过程也不可能在瞬间完成。我们可以分割一对保持同步状态的镜像卷来启用Clone快照,分割的过程瞬间即可完成。然而,当镜像被分割成Clone快照之后,数据卷也就失去了他的同步镜像。

    使用Clone快照需要面对一个非常严重的问题是每个快照都需要和数据卷一样大的存储空间。尤其是当我们在任何时刻都需要保持一份以上Clone卷的情况,这个成本会非常高。另一个缺点是影响性能,因为在镜像卷之间保持写同步需要一定的系统开销。

    Copy-on-write with background copy 后台拷贝的复制写快照

    copy-on-write with background copy快照有两个生成步骤:首先创建一个瞬时即可生成的COW快照;然后利用后台进程将数据卷的数据复制到快照空间,最后生成一份数据卷的克隆或镜像。

    创建这种快照的目的是发挥COW快照的优势,同时尽量屏蔽它的不足。因此,这种快照常常被形容为COW和Clone快照的混合体。

    增量快照与持续数据保护

    (Incremental)增量快照

    增量快照的特点是可以跟踪数据卷和快照卷的变化。当一个新的增量快照生成之后,旧的快照数据将被刷新。第一个快照和随后创建的每一个增量快照数据上都有时间戳标记,利用时间戳我们能够快照数据回滚到任意的一个时间点。增量快照技术能够加速后续快照的生成速度,而且仅仅在名义上多消耗一点空间而已。因此,我们可以提高创建快照的频率,也能让快照保留的更久一点。

    增量快照的不足之处是它需要依靠上面所提到的其它基础技术来创建第一个快照(COW,ROW,clone/split mirror,copy-on-write with background copy)。如果用Clone方式,那么第一个快照需要较长的初始化时间,如果用COW方式,数据卷的性能会降低。

    持续数据保护(CDP)

    CDP的出现是为了实现零数据丢失的RPO指标,以及瞬时数据恢复的RTO指标。它本身与同步数据镜像很相似,不同之处在于CDP还可以对软件灾难进行恢复。包括认为误操作、恶意软件攻击、意外删除、数据损坏等情况。

    持续数据保护颇像频率很高的增量快照。它会捕获并复制任何时刻发生的数据变化,并且给这些数据块打上时间戳。CDP本质上相当于每个时刻都创建一份增量快照,提供细粒度的精确数据恢复。有些CDP产品同时提供基于时间和基于事件(例如应用程序升级事件)两种粒度的恢复方式。还有一个理解CDP概念的好方法就是将它看成一个快照的journal日志。

    对于邮件系统、数据库和基于数据库的应用来说,CDP是一个极好的保护方案,能将数据回滚到任意的历史时间点,恢复过程也简便、迅速。最有代表性的CDP产品是飞康公司的IPStor,它是一个集成了CDP功能的存储系统兼存储虚拟化设备。

    随着越来越多的数据需要保护,备份窗口也变得越来越紧张,因此需要快照技术来帮助我们解决备份问题。在现实的应用环境中,快照利用的是否恰当对数据保护的等级和恢复的速度有着很大的影响。尽管各类型快照之间存在的技术差异并不太容易理解,但无论如何,快照技术都将在数据保护领域和日常存储管理中扮演重要的角色。

    特别注意:快照的一致性问题

    如果用快照来处理结构化数据,可能会存在一些问题。结构化数据涉及到数据库,以及数据库类的应用(例如邮件系统、ERP或CRM等等)。许多产品中的快照并不能与这些应用程序集成或被直接调用。有一种可能的情况是,在我们创建快照的瞬间,数据库恰好不在静止状态(缓存正在刷新、写操作事务尚未完成、索引和元数据正在更新等等),此刻生成的数据快照是不一致的,很有可能无法正常使用。

    在微软的Windows Server平台上,这个问题要简单的多,利用windows Volume Shadow Copy Services(VSS)和它的API,数据库应用程序可以集成并调用快照工具。VSS是专门为结构化数据应用设计的服务矿建,可以驱动数据库等应用进入数据一致性的静止状态,在快照开始初始化之前,完成刷新缓存、结束写操作以及系统状态的更新。

    遗憾的是,目前在Linux和Unix操作系统平台上还没有类似VSS的服务或API。VMware公司的vCenter storage API可以说是一个部分解决方案。快照的发起者可以通过vCenter storage API给vCenter发出一个指令,让虚拟机进入静止状态,然后再执行快照。但这个时候,快照由于没有通过应用程序感知,也许会存在不一致的问题。

    这里还有一个好办法,可以不通过windows VSS,获得数据库的一致性快照。这个办法需要备份软件的配合。将快照技术的API同备份软件集成,就可以从备份服务器端驱动备份软件的数据库代理Agent。Agent备份代理程序可以驱动数据库进入静止状态,然后反向让备份服务器通知快照工具开始执行创建快照的操作。这也是一个比较有效的办法。

    3.GFS的snapshot

    GFS的snapshot采用的是写时复制的机制进行的,COW,GFS快照操作几乎可以瞬间完成对一个文件或者目录树(“源“)做一个拷贝,并且几乎不会对正在进行的其它操作造成干扰。我们的用户可以使用快照迅速的创建一个巨大的数据集的分支拷贝(而且经常是递归的拷贝),或者是在做实验的数据操作之前,使用快照操作作备份当前状态,这样之后就可以轻松的提交或者回滚到备份时的状态。


    参考:

    http://www.db110.com/%E8%BD%AC-%E4%B8%8D%E5%90%8C%E7%B1%BB%E5%9E%8B%E7%9A%84%E5%BF%AB%E7%85%A7%E5%8F%8A%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86/

    http://blog.csdn.net/yuanrxdu/article/details/22887965

    展开全文
  • 数据库中新建一个字段并且设置为索引列,还有删除整张表的数据,类似这些操作都是一系列操作的组合,执行后不能出现中间状态,也就是不会出现新建了字段却不是索引的情况,也不会出现只有一部分数据被删除的情况。...
    afef2ca6c9627afcffc46904395f3156.png

    在数据库中新建一个字段并且设置为索引列,还有删除整张表的数据,类似这些操作都是一系列操作的组合,执行后不能出现中间状态,也就是不会出现新建了字段却不是索引的情况,也不会出现只有一部分数据被删除的情况。这种保证是事务在发挥作用,虽然我们没有使用begin-transaction-commit来执行命令。

    既然事务是一系列操作的组合,那两个事务的多个操作如何正确顺序执行和如何高效执行就是关键了。这就要说说事务的ACID原则了,ACID指的是原子性、一致性、隔离性、持久性。

    假设有这么一个场景,用户A的初始余额是100元,用户B的初始余额是0元,用户A需要向用户B转账100元。这个场景事实上是分二步执行的,第一步是扣除用户A账号上的100元,第二步是给用户B账号的余额增加100元。最终状态是用户A余额为0元,用户B的余额为100元。

    不过,在执行扣除和增加这两步时随时可能发生错误。比如业务属性不匹配,用户B的账号有敏感操作被冻结了,无法更新,所以要恢复到初始状态。又比如系统崩溃了,所以系统重启时要首先进入安全模式,已提交的事务要继续完成,未提交的事务要取消掉。这样才能保证事务操作要么全部成功,要么全部失败。

    那如何恢复到初始状态或者取消未提交的事务呢?

    执行操作前把之前的值备份下来,不就可以借助备份进行递向操作了嘛?没错,在数据库的体现就是Undo log回滚段。

    前面描述的事务场景可能过于简单,我们考虑这么一件事,用户C在刚才的事务执行过程中给用户B成功转入了300元,也就是说同时有多个事务在执行。不幸的是,刚才的事务被回滚了,用户B的余额最终被更新成了0元。后果就是用户C的转入操作好像没发生过一样,成了一笔坏账。

    这个问题的原因是原子性不能保证可见性,当前事务看不到其它事务提交的结果,这才导致了数据的不一致。事实上可以使用排它锁来保证一致性。对账号A和账号B这两个资源进行加锁,事务获得锁才能执行,执行完才释放锁。这样事务是串行化执行的,当前事务肯定是能看到前一个事务提交结果的,数据一定是强一致性的。

    使用到锁就要考虑死锁问题了,死锁问题说的是两个进程在不同方向抢占相同的共享资源。我们可以通过碰撞检测来发现系统中是否存在死锁,每个进程都记录已拥有和等待中的锁,如果出现了回环,说明有死锁。解决死锁的一般办法是锁等待超时。

    使用锁时除了死锁还要考虑性能问题,排它锁是简单粗暴的方法,但是性能有点不忍直视。这时就得考虑一些优化策略了,比如减少锁的覆盖范围、减少锁的持有时间、使用并行代替串行。

    数据库的设计大师正是考虑到这些,才引入了事务隔离性。

    第一种事务隔离性是序列化读写。所有的事务放入到队列中依次执行,比如读写-写读-读读-写写。

    第二种是读已提交。当前事务只能读取到其他事务已提交的结果,这种隔离下读-读、读-写都是可以并行执行的,因为当前事务依赖的数据是前一个写操作的结果。

    第三种是可重复读。在同一个事务中,多次读取到的结果是一致的。这种隔离下读-读、读-写都是可以并行执行的。

    第四种是读未提交。当前事务能看到其他事务还没有提交的中间状态,这种隔离下,只有写锁,读是不加锁的,所以除了写-写,读-写、写-读、读-读都是可以并行的。代价是出现脏读。

    透过这四种事务隔离,明显能看到读写锁带来的收益,那能不能再优化下呢?

    答案是可以的,秘诀就是多版本并发控制MVCC,它的本质是写时复制Copy on write。行记录每次修改时都会产生一个快照和一个版本号,版本号是单向增长的逻辑时间戳,用来表示先后顺序。而读操作只会读取到早于当前事务版本的记录。显然,这种技巧非常适合读多写少的场景,而且能达到读未提交的并发度,隔离级别更好。

    既然读-写、写-读、读-读都是可以并行的,写-写也能并行就更好了。

    我们先来看下写-写并行会有什么问题。假设用户A要给用户B转账100元,用户B也要给用户A转账100元,考虑到事务间原子操作顺序的不可见性,用户A的余额可能会在原来基础上增加了100元,银行得损失100元。针对这种情况,需要借助乐观锁的思想来保证数据的一致性,针对同一行记录,只有高版本的事务更新能成功,低版本的事务更新得回滚掉。缺点是并发高时失败率高,需要不断重试。

    除了事务隔离,数据库设计的大师为了提高并发效率,还做了很多优化。比如每次写操作并不直接持久化到磁盘中,而是暂时存放在易丢失的内存中,然后通过一定的机制异步同步到磁盘。这样就保证了数据的持久性,确保事务一旦提交,操作肯定会固化到数据库中。类似生活中这种场景,餐馆老板娘很忙的时候,就把每笔交易写在黑板上,当老板娘空闲、黑板写满或者餐馆打烊后再整理写入到账本中。

    关注微信公众号:松华说,获取更多精彩!

    公众号介绍:分享在京东工作的技术感悟,还有JAVA技术和业内最佳实践,大部分都是务实的、能看懂的、可复现的

    展开全文
  • 数据库

    千次阅读 2013-04-10 16:20:26
    1. 什么是快照?它的作用是什么? 答案:快照Snapshot是一个文件系统在特定时间里的镜像,对于在线实时数据备份非常有用。快照对于拥有不能停止的应用或具有常打开文件的文件系统的备份非常重要。对于只能提供一个...
  • 文章目录lock与latch锁的类型MVCC一致性非锁定读(快照读)一致性锁定读(当前读)锁算法死锁锁升级 lock与latch 在了解数据库锁之前,首先就要区分开lock和latch。在数据库中,lock和latch虽然都是锁,却有着截然...
  • sqlserver 关于快照

    2019-10-07 04:57:07
    数据库快照:是sqlserver数据库的只读静态视图快照的作用:1 提供了一个静态的视图来为报表服务2 可以利用数据库快照来恢复数据库,相比备份来说,这个速度大大提高3 和数据库镜像结合,提供读写分离4 作为测试环境...
  • 数据库视频(二)

    2018-07-07 11:35:03
    数据库视频里面讲了好多的语法格式,有的可以通过手动操作完成增删改查,那为什么在使用SqlServer时,要按一定语法增删改查。语法在数据库里起什么作用?我感觉sql语言是使用数据库的...创建数据库快照创建数据库...
  • 数据库并发控制协议

    2018-11-09 08:56:09
    全文主要参考数据库系统概念一书以及mooc上战德臣老师的数据库课程 事务最基本的特性之一是隔离性,当数据库中有多个事务并发执行的时候,隔离性不一定能保持。为了保持事务的隔离性,系统必须对并发事务之间的相互...
  • 物化视图存储基于远程表的数据,也可以称为快照。 二,作用、 在类似统计功能中,查询操作是无可避免,而这些查询操作如果很频繁,对整体数据库性能是很致命的。而物化视图实现远程数据源与本地数据的实时同步,也...
  • 数据库快照定义语句 数据库快照删除语句 第章数据查询语句和全文检索语句 单表查询 简单查询 带条件查询 集函数 情况表达式 连接查询 子查询 标量子查询 表子查询 派生表子查询 定量比较 带 谓词的子...
  • 数据库系统原理

    2019-04-16 15:39:37
    ★★★ ACID 的作用以及实现原理。 ★★★ 四大隔离级别,以及不可重复读和幻影读的出现原因。 ★★☆ 封锁的类型以及粒度,两段锁协议,隐式和显示锁定。 ★★★ 乐观锁与悲观锁。 ★★★ MVCC 原理,当前读...
  • 数据库之Redis

    2018-07-19 14:59:07
    1.5 快照实现持久化 1.6 AOF持久化 1.7 AOF日志重写 1.8 AOF有多耐用? 1.9 如果AOF文件损坏了怎么办? 1.10 AOF和RDB之间的相互作用 1.11 备份redis数据 1.12 RDB持久化配置 1.13...
  • Hibernate的快照

    2018-05-13 08:20:28
    Hibernate的快照 作用:提高效率手段2:减少不必要的修改语句发送 当实体对象变成持久态对象的时候,和...快照的支持就是持久态对象直接可以通过直接修改属性值更数据库表的数据,不需要update方法。 public ...
  • 为了使数据库损失降低到最小程度,需要一个恢复策略,确保它起作用,并经常实行策略,一些灾难类型包括: 1. 系统故障。电源故障、硬件故障或软件故障都能够使数据库处于不一致状态。 2. 事务故障。用户无意中会用...
  • 概要: 第三部分:快照standby数据库 ...快照备库的作用: 可以暂时将物理备用数据库转换为可更新的数据库,称为快照备用数据库 (Snapshot Standby Database)。在这一模式中,可以运行您的应用程序(它可
  • 数据库知识(2)

    2020-08-15 22:00:18
    MVCC的维基百科解释:多版本并发控制(Multiversion concurrency control, MCC 或 MVCC),是数据库管理系统常用的一种并发控制,也用于程序设计语言实现事务内存。 MVCC是一种多版本并发控制机制,是MySQL的InnoDB...
  • sql 数据库面试题

    2015-03-11 21:42:57
    它的作用是什么? 答案:快照Snapshot是一个文件系统在特定时间里的镜像,对于在线实时数据备份非常有用。快照对于拥有不能停止的应用或具有常打开文件的文件系统的备份非常重要。对于只能提供一个非常短的备份时间...
  • 数据库概论面试复习

    2015-07-04 19:30:47
    1. 解释存储过程和触发器存储过程是一组Transact-SQL语句,在一次编译后可以执行多次。因为不必重新编译Transact-SQL语句,所以执行...它的作用是什么? 答案:快照Snapshot是一个文件系统在特定时间里的镜像...
  • 现在主流关系型数据库产品基本都实现了MVCC的特性,快照在MVCC中起着重要的作用,代表某一时刻数据的版本,它是实现一致性读的基础。在更新操作没提交前,数据的前镜像存储在Undo中,利用Undo可以实现一致性读,事务...
  • 目录一、InnoDB对事务的实现二、日志恢复技术1、redo log1)格式2)落盘3)LSN4)恢复2、undo log三、并发控制1、锁1)锁的分类2)使用锁3)作用规则4)InnoDB行级锁2、并发控制1)一致性非锁定读(快照读)2)一致...
  • Oracle 18c PDB快照

    2018-06-22 06:41:50
    在Oracle 18c数据库中,创建PDB时可以同时为PDB创建快照,完整的保存快照创建时间点的PDB数据。PDB快照主要有两个作用:1. 通过闪回恢复数据到快照时间点2. 使用快照PDB查询历史数据每个PDB快照都会关联一个快照名称...
  • 6.6 关系代数的作用 119 6.7 附加的操作符 120 6.8 分组与分组还原 125 6.9 关系比较 127 6.10 小结 128 练习 129 参考文献和简介 131 部分练习答案 133 第7章 关系演算 140 7.1 引言 140 7.2 元组演算 141 7.3 举例...
  • AWR信息的导出导出库(TEST)端操作用awrextr.sql脚本完成awr信息的导出。要输入的信息有数据库id,报告的起始和结束快照号,生成的dump文件放在哪个oracle目录(创建好的...
  • 关系:包括依赖(一种使用关系,一个量的变化会影响另一个量)关联:(聚合,组合):组合的实体只有凑在一起才能发挥作用不能单独存在发挥功能例:美猴王与四肢是组合关系(是不能共享数据的),与金箍棒是聚合关系...
  • 目录锁的类型行锁共享锁(s lock)排他锁(x lock)表锁意向共享锁 (IS lock)意向排他锁(IX lock)意向锁的加锁过程意向锁有什么作用锁的算法mysql如何做到读写并行(多版本控制)读的类型一致性非锁定读(快照读...
  • 建立基线的作用:计算机科学中,基线是项目储存库中每个工件版本在特定时期的一个“快照”。 比如我们现在有并发事物,那么在某时刻发起一个事物会产生当前数据的快照,那么这个快照就相当理解为一个基线,那么所谓...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 128
精华内容 51
关键字:

数据库快照作用