GBase8s提供了ontape和onbar两种备份和恢复数据库的工具。它们都可以用来完成系统备份、逻辑日志备份以及系统恢复等功能,同时这两种工具也有着各自不同的特性 ontape的使用十分简单、方便,但是必须在命令行环境下执行。
        onbar需要结合存储管理软件来进行工作。这些软件既可以是GBase 8s的存储管理软件,也可以是第三方的存储管理软件。并且这此存储管理软件所支持的设备都可以用来进行onbar的备份和恢复。另外,onbar支持将数实恢复到某时间点的功能。
        需要注意的是,这两个工具是相互排斥的,比如一个用ontape 生成的备份不能用onbar来恢复,反之亦然,不管选择哪种工具,其基本的备份和恢复过程是相同的。
        下面我们主要介绍GBase8s各份和还原的基本原理和步骤。

GBase 8s的备份是将数据库中部分或者全部的存储空间以及逻辑日志文件进行复制。备份的对象可以是单个的dbspace,也可以是一组dbspace。一个 dbspace 又可以包含一个或者多个数据库,也可以是一个表或者表的一个分区。

GBase 8s的备份分为三个级别,分别是零级备份、一级备份和二级备份。
        零级备份:基础备份,包含备份命令执行时服务器或者指定dbspace上的所有数据。

一级备份:包含最近一次零级备份后所进行修改的服务器所有数据或指定dspacc上的数据备份。
二级备份:包含最近一次零级备份或一级备份后所进行修改的服务器的所有数据备份。
值得注意的是,GBase 8s在进行很多数据库管理操作之前都需要进行零级备份,为了确保数据库的恢复,在进行以下操作前需对rootdbspace及修改过的dbspace进行零级备份。

  1. 添加或删除镜像。
  2. 添加逻辑日志文件。
  3. 更改物理日志的大小或者位置
  4. 删除一个chunk或者 dbspace

在以下操作之后,需要对受到影响的 dbspace 进行零级备份:

  1. 更改存储管理配置。
  2. 增加一个 dbspace 或者 blobspace。
  3. 对一个包含逻辑日志文件的dbspace 做镜像。
  4. 增加一个逻辑日志文件(为了使日志文件可用)。
  5. 删除逻辑日志文件。
  6. 更改物理日志的大小或者位置,并且重新启动共享内存。

备份创建
        在数据库启动备份时,系统将会按照以下步骤进行备份。
(1)服务器临时冻结逻辑日志,检查逻辑日志的剩余空间。若剩余空间小于一个逻辑日志文件大小的一半,则服务器将中断备份。此时需要用户先将逻辑日志备份到其他磁盘空出足够的逻辑日志空间,再重新提交备份指令。
(2)服务器执行检查点操作,在检查点之后所创建的页面不会被备份,而物理日志中之前的数据页将会被备份。
(3)服务器建立一张列列表中包含了每个chunk中需要备份的页信息。在检查点立时来被使用过的页面不会被备份。
(4)服务器会物理日志中为每一个备份的dbspace建立一张临时表。用来记录检查健立后,用户对数据库进行的修改。这些临时表将会在SPACETEMP的 pce当没有够的时空间时,服务器将
疼止此次备份。
(5)启动用于备份数据的内部线程。

逻辑日志备份
        逻辑日志备份是将一个或多个逻辑日志文件复制到第二存储媒介的过程。在逻辑日志文件中记录了检查点、DDL语和库入新等操作。每个服务器的逻辑日志文件的数目是有限的,服务器以循环的方式利用逻辑日志,并将日志记录连续地写入日志文件中。当第一个日志文件写满后,服务器开始写入第二个日志文件,以此类推。当所有的日志文件都被用完后,服务器将重新写入第一个日志文件。因此,在服务器重新利用一个日志文件之前,该文件必须被备份。

逻辑日志有两种备份方式,分别是请求式备份和连续日志备份。
请求式备份:这种备份方式需要显式启动,它会备份除当前正在使用的逻辑日志文件外所的有日志文件。这种逻辑日志备份方式需要进行频繁的备份。
连续日志备份:这种方式会在一个逻辑日志写满后对其进行自动备份,因此尤其适用于使用不同的磁盘备份数据和日志的情况。

大对象和日志备份
        当数据库包含存储在bobspace中的简单二进制大对象(blob)时,由于服务器不记 blob的相关日志,当数据库中的 byte 或者 text 列被更新时.blob 将会被写到新的 blobpage中,同时原来的blobpage 会被保留,一直到包含 free-map page 和 free-map list page 的逻辑日志被备份时才会被删除。同样,在删除一个大对象时,相应的bobpage直到包含 free-man page 和 free-map list page 的逻辑日志备份后才会被释放。

智能大对象备份
        GBase 8s 也支持智能大对象的增量备份。在之前系统备份时间戳与当前系统时间截之间的页面将会被备份。
        在对大对象做增量备份时,首先要读large-objectheader页面。并在内存中生成一个需要做备份的页面列表。将这些页面读出并比较它们之的时间戳,以此来决定这些页面是否被送到备份程序。
        智能大对象的元数据备份和普通dbspace 的备份是相同的,在页面的备份方法上有所不同。智能大对象页面的具体备份过程如下。
(1)首先在 sbspace 上加锁,读取 large-object header 分区中的信息,生成需要备份的列表,这个列表也被称作备份描述页。
(2)将这个列表发送到数据库服务器的备份线程中,备份线程将扫描和检索这些页面,并将这些页面送到客户端程序中。
(3)sbspace 页面的备份顺序如图11.7所示,备份描述页是一种用来记录所备份用户数据的偏移量和大小的特殊数据结构。

智能大对象恢复
        智能大对象恢复过程如下。(1)首先恢复元数据。
(2)备份描述控制页面列表列出了用户页面将要被恢复的去向。这些列表的物理地址 extent 大小将被记录在内存表中。
(3)恢复客户端将从磁盘上读取 smart-large-object页面,并由服务器将其写入控制页所指定的位置。

另外,在 GBase 8s进行恢复时,需要用到以下的配置文件。

  1. ONCONFIG配置文件。
  2. Sqlhosts 文件。
  3. Sm_version 文件。
  4. 紧急引导文件ixbar.*

物理恢复和逻辑恢复
        恢复过程分为物理恢复和逻辑恢复两个部分。物理恢复是通过恢复零级备份、一级备份或二级备份来恢复存储空间的过程。逻辑恢复是指在物理恢复之后,通过磁盘上的逻辑日志备份重做或撤销相关事务,将数据库恢复到故障前状态的过程。

冷恢复和热恢复
        恢复又可以分为冷恢复和热恢复。冷恢复是指系统恢复时服务器要处于离线状态,直到那些关键的space功之后,数据库才可以被访问。一般在以下场景中需要对数据做冷恢复。

  1. 数据库服务器不能使用,不能切换到在线模式。
  2. 关键的dbspace.如 root dbspace 或者逻辑日志所在的dbspuce 不能使用。

热恢复是指系统恢复时服务器处于在线状态,在恢复期间数据库仍可以继续被访问。当非关键的dspace 及其镜像的dbspace 不能使用时,我们可以使用热恢复进行数据的恢复。
        冷恢复和热恢复同时使用被称为混合恢复。当用户希望尽快恢复系统,并且不需要所有的bspace使用时可使用合恢混合恢复首先使用冷恢复进行oot dbspace、物理日志和逻辑日志所在的dbspace 的恢复。当这些dbspace都恢复成功后,用户就可以开始访问数据库了。剩余的dbspace 可以通过热恢复来进行恢复。

日志抢救
        日志抢救是指在服务器处于离线状态时,用户仍然可以备份逻辑日志。如图11.10所示,那些还没有备份且没有被损坏的日志将会被备份出来,这些日志文件将会同之前的备份日志一起回滚。从而保证数据库的完整性。

为了确保冷恢复时没有数据丢失,一般需要手动地进行日志抢救。

GBase8数据库备份和恢复相关推荐

  1. ASP中怎么实现SQL数据库备份、恢复!

    选择自 hanghwp 的 Blog 1.ASP中怎么实现SQL数据库备份.恢复! 答:asp在线备份sql server数据库: 1.备份 <% SQL="backup databa ...

  2. mysql 恢复数据库 source_mysql数据库备份及恢复命令 mysqldump,source的用法 | 很文博客...

    mysql数据库备份及恢复命令 mysqldump,source的用法,需要的朋友可以参考下. 还原一个数据库:mysql -h localhost -u root -p123456 www d:\w ...

  3. java写的MySQL数据库备份和恢复代码:

    1.MySQL数据库备份和恢复,java代码实现:详情见下面: package com.spring.util; import java.io.BufferedReader; import java. ...

  4. Sql Server数据库备份和恢复:原理篇

    本文与您探讨为什么Sql Server有完整备份.差异备份和事务日志备份三种备份方式,以及为什么数据库又有简单模式.完整模式和大容量日志模式这三种恢复模式.本文内容适用于2005以上所有版本的Sql ...

  5. Oracle数据库备份和恢复配置详解

    本文Oracle讲述了数据库备份和恢复配置的详解过程,可能的失败及其解决方法. 失败类型 遇到的失败或错误分为两大类:物理和逻辑.物理错误一般是硬件错误或使用数据库的应用程序中的软件错误,而逻辑错误一 ...

  6. 案例:Oracle dul数据挖掘 没有数据库备份非常规恢复truncate删除的数据表

    Oracle数据库在没有备份情况下在对表中的某数据表进行truncate删除后,通过oracle dul进行非常规恢复 1.准备oracle dul测试环境 SQL> select count( ...

  7. linux postgresql 恢复数据库,PostgreSQL数据库备份和恢复

    一.备份 1.cmd到PostgreSQL安装目录bin下 2.备份命令 pg_dump -h 192.168.100.23 -U postgres postgres > D:\postgres ...

  8. Android数据库备份和恢复

    一定要加上权限,否则不能在sdcard中创建文件      <!--在sdcard中创建/删除文件的权限 -->       <uses-permission android:nam ...

  9. oracle dul误删数据,案例:Oracle dul数据挖掘 没有数据库备份非常规恢复truncate删除的数据表...

    Oracle数据库在没有备份情况下在对表中的某数据表进行truncate删除后,通过oracle dul进行非常规恢复 1.准备oracle dul测试环境SQL> select count(* ...

最新文章

  1. pip经常的使用技巧
  2. 计算机全球服务器,云计算的宿命:全球合并成一台计算机,支持无服务器运行...
  3. Struts2和SpringMVC的执行流程。
  4. 现代密码学3.4--CPA安全,多次加密
  5. php 半角全角,PHP 全角转半角实现代码
  6. TCP/IP 协议栈及 OSI 参考模型详解
  7. 计算机基础知识 笔试,计算机基础知识笔试题
  8. C++ 迭代器是指针吗
  9. 典型三种近场通信的特点以及未来趋势
  10. 北京大学公开课《数据结构与算法Python版》
  11. API Design for ios 译文
  12. 算POTCAR要上心!
  13. NUC 折腾笔记 - Linux 系统篇
  14. 1060显卡支持dx12吗_P106矿卡魔改驱动修改及安装详解(含修改INF文件安装最新驱动,双独立显卡使用等)...
  15. WebSocket的那些事(3-STOMP实操篇)
  16. swf web 播放
  17. 广告点击流量实时统计
  18. 国产快速接头格雷希尔解决新能源汽车行业气密性测试中的密封难题
  19. 山东大学计算机专业调剂信息,山东大学地图学与地理信息系统专业2018年考研调剂信息...
  20. 张江国家自主创新示范区专项发展资金重点项目申报解读

热门文章

  1. 使用CSS为图片添加边框的几种方法
  2. TTEFS-基于LayerFsd的文档透明加密SDK
  3. 柱面投影的C++实现(一)
  4. exchange服务器保留邮件,Exchange服务器之Exchange备份单个用户邮件及清理邮箱数据...
  5. SQL语句中EXISTS的用法
  6. [转载]项目风险管理七种武器之引言
  7. 接连KO五家ERP,Oracle NetSuite逆天了?
  8. :active:before的使用
  9. HQChart实战教程46-十字光标右侧按钮点击增加刻度线
  10. .NET Core Razor