版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第12章备份与恢复数据库系统设计与开发备份与恢复备份与恢复概述配置文件的备份与恢复逻辑备份与恢复物理备份与恢复闪回技术备份与恢复概述备份(BACKUP):就是将数据库复制到某一存储介质中保存起来的过程。存放于存储介质中的数据库拷贝称为原数据库的备份或副本,这个副本包括了数据库所有重要的组成部分,如初始化参数文件、数据文件、控制文件和重做日志文件。数据库备份是Oracle防护不可预料的数据丢失和应用程序错误的有效措施。转储(RESTORE):是当数据文件或控制文件出现损坏时,将已备份副本文件还原到原数据库的过程。恢复(RECOVER):恢复指应用归档日志和重做日志事务更新副本文件到数据文件失败前的状态。备份与恢复的类型备份与恢复概述逻辑备份与恢复:通过逻辑导出对数据进行备份,逻辑备份只能基于备份时刻进行数据转储,所以恢复时也只能恢复到备份时保存的数据。对于故障点和备份点之间的数据,逻辑备份无能为力,逻辑备份适合备份那些很少变化的数据,当这些数据因误操作被损坏时,可以通过逻辑备份进行快速恢复。如果通过逻辑备份进行全库恢复,通常需要重建数据库,导入备份数据来完成,对于可用性要求很高的数据库,这种恢复时间太长,通常不被采用。物理备份与恢复:通过物理文件拷贝的方式对数据库进行备份,以磁盘块为基本单位将数据从主机复制到备机。通过备份的数据文件及归档日志等文件,数据库可以进行完全恢复。物理备份速度快,一般被用作对数据进行备份和恢复,用于全量备份的场景。通过合理规划,可以低成本进行备份与恢复。闪回恢复:利用回收站的闪回恢复删除的表。数据库的回收站功能类似于windows系统的回收站,将删除的表信息保存到回收站中。利用MVCC机制闪回恢复到指定时间点或者CSN点。备份与恢复概述备份类型工具名称优缺点逻辑备份gs_dump将数据库转储为文本文件或其他格式,用户可以自定义导出一个数据库或其中的对象(模式、表、视图等)。纯文本格式的数据只能通过gsql进行恢复,恢复时间较长。归档格式的数据只能通过gs_restore进行恢复,恢复时间较纯文本格式短。gs_dumpall将openGauss数据库集群提取到SQL脚本文件中,它可以导出openGauss数据库的所有数据。只能导出纯文本格式的数据,导出的数据只能通过gsql进行恢复,恢复时间较长。物理备份gs_backup用于备份或还原二进制文件和参数文件的实用程序。在进行备份时,可以选择备份内容的类型,在进行还原时,需要保证各节点备份目录中存在备份文件。在数据库实例恢复时,通过静态配置文件中的数据库实例信息进行恢复。只恢复参数文件恢复时间较短。gs_basebackup对正在运行的openGauss服务器进行基础备份,只能对数据库某一个时间点的数据作备份。结合PITR(Point-In-TimeRecovery)恢复,可恢复全量备份时间点后的某一时间点。gs_probackupgs_probackup是一个用于管理openGauss数据库备份和恢复的工具。它对openGauss实例进行定期备份。可用于备份单机数据库或者数据库实例主节点,为物理备份。可备份外部目录的内容,如脚本文件、配置文件、日志文件、dump文件等。支持增量备份、定期备份和远程备份。闪回无闪回技术能够有选择性的高效撤销一个已提交事务的影响,从人为错误中恢复。闪回支持两种恢复模式:基于MVCC多版本的数据恢复:适用于误删除、误更新、误插入数据的查询和恢复,用户通过配置旧版本保留时间,并执行相应的查询或恢复命令,查询或恢复到指定的时间点或CSN点。基于类似windows系统回收站的恢复:适用于误DROP、误TRUNCATE的表的恢复。用户通过配置回收站开关,并执行相应的恢复命令,可以将误DROP、误TRUNCATE的表找回。备份与恢复的类型备份与恢复概述逻辑备份与恢复:通过逻辑导出对数据进行备份,逻辑备份只能基于备份时刻进行数据转储,所以恢复时也只能恢复到备份时保存的数据。对于故障点和备份点之间的数据,逻辑备份无能为力,逻辑备份适合备份那些很少变化的数据,当这些数据因误操作被损坏时,可以通过逻辑备份进行快速恢复。如果通过逻辑备份进行全库恢复,通常需要重建数据库,导入备份数据来完成,对于可用性要求很高的数据库,这种恢复时间太长,通常不被采用。物理备份与恢复:通过物理文件拷贝的方式对数据库进行备份,以磁盘块为基本单位将数据从主机复制到备机。通过备份的数据文件及归档日志等文件,数据库可以进行完全恢复。物理备份速度快,一般被用作对数据进行备份和恢复,用于全量备份的场景。通过合理规划,可以低成本进行备份与恢复。闪回恢复:利用回收站的闪回恢复删除的表。数据库的回收站功能类似于windows系统的回收站,将删除的表信息保存到回收站中。利用MVCC机制闪回恢复到指定时间点或者CSN点。配置的文件备份与恢复静态配置文件备份gs_om-tview在$GAUSSHOME/bin/目录下的cluster_static_config文件俗称静态配置文件,记录了当前节点和集群的基本信息,属于二进制结构化文件,只能通过gs_om来查看此文件的内容。配置的文件备份与恢复静态配置文件备份gs_om-tgenerateconf-X/opt/software/openGauss/cluster_config.xml--distribute如果静态配置文件无意损坏后,会影响openGauss感知openGauss拓扑结构和主备关系。使用gs_om工具生成的静态配置文件,可以替换已经损坏的配置文件,保证openGauss的正常运行。在重新生成的静态配置文件时需要使用到openGauss安装时的XML配置文件cluster_config.xml。配置的文件备份与恢复静态配置文件备份mv/software/openGauss/om/script/static_config_files/cluster_static_config_gaussMaster$GAUSSHOME/bin/cluster_static_config若不使用–distribute参数,需执行步骤3将静态配置文件分配到对应节点;若使用–distribute参数,则会将生成的静态配置文件自动分配到对应节点,无需执行下列步骤。(可选)分别替换2台主机的$GAUSSHOME/bin/目录下损坏的静态配置文件。配置的文件备份与恢复其他配置文件件备份每个节点数据目录($PGDATA)下面的配置文件也非常重要,特别是postgresql.conf、pg_hba.conf等文件决定着数据节点的可用性,DBA需要养成对其及时备份的习惯。逻辑备份与恢复逻辑备份工具-gs_dumpgs_dump是openGauss用于导出数据库相关信息的工具,用户可以自定义导出一个数据库或其中的对象(模式、表、视图等),回收站对象除外。支持导出的数据库可以是默认数据库postgres,也可以是自定义数据库。gs_dump工具由操作系统用户omm执行。gs_dump工具在进行数据导出时,其他用户可以访问openGauss数据库(读或写)。gs_dump导出文件格式通过-F选项指定,具体如下表所示。逻辑备份与恢复逻辑备份工具-gs_dumpgs_dump语法如下:gs_dump[OPTION]...[DBNAME]其中OPTION为参数选项,DBNAME指定要连接的数据库。gs_dump命令主要的参数选项如下表所示。逻辑备份与恢复逻辑备份案例--导出t_goods表,导出格式为sql脚本文件gs_dump-Ujimmy-WJimmy@123-tt_goods-Fp-ft_goods.sqlpostgres--导出t_user表,导出格式为自定义归档文件gs_dump-Ujimmy-WJimmy@123-tt_user-Fc-ft_user.bakpostgres--查询数据文件lst_*逻辑备份与恢复逻辑恢复-gs_restoregs_restore是openGauss提供的针对gs_dump导出数据的导入工具。通过此工具可由gs_dump生成的导出文件进行导入。gs_restore工具由操作系统用户omm执行。导入到数据库,如果连接参数中指定了数据库,则数据将被导入到指定的数据库中。导入到脚本文件,如果未指定导入数据库,则创建包含重建数据库所必须的SQL语句脚本并写入到文件或者标准输出。等效于直接使用gs_dump导出为纯文本格式。gs_restore的语法格式如下:gs_restore[OPTION]...FILE几点说明:FILE没有短选项或长选项。用来指定归档文件所处的位置(目录)。gs_restore默认是以追加的方式进行数据导入,在进行导入时,建议使用“-c”参数,在重新创建数据库对象前,清理(删除)已存在的数据库中对象。逻辑备份与恢复OPTION为参数选项,详情如下表/逻辑备份与恢复逻辑恢复案例--jimmy登录数据库gsql-dpostgres-r-Ujimmy-WJimmy@123--删除t_goods、t_user表dropusert_goods;dropusert_user;--退出登录\q--利用gsql直接恢复t_goods表gsql-dpostgres-r-Ujimmy-WJimmy@123-ft_goods.sql--利用gs_restore恢复t_user表gs_restore-dpostgres-Ujimmy-WJimmy@123-Fct_user.bak--jimmy登录数据库gsql-dpostgres-r-Ujimmy-WJimmy@123--查询t_goods、t_user数据select*fromt_goodswhererownum<=10;selectuser_id,user_name,real_namefromt_userwhererownum<=10;物理备份与恢复物理备份/恢复工具-gs_backupgs_backup是一个用于备份或还原二进制文件和参数文件的实用程序。在使用此工具时要了解以下几点:可以正常连接openGauss数据库。在进行还原时,需要保证各节点备份目录中存在备份文件。需以操作系统用户omm执行gs_backup命令。物理备份与恢复备份数据库主机gs_backup-tbackup[OPTION]...恢复数据库主机gs_backup-trestore[OPTION]...参数说明物理备份/恢复工具-gs_backup参数说明示例--backup-dir=BACKUPDIR备份文件保存路径。
--parameterparameter:备份参数文件,不指定–parameter、–binary、–all参数时默认只备份参数文件。
-–binary备份app目录下的二进制文件。
-–all备份app目录下的二进制文件、pg_hba.conf和postgsql.conf文件。
-lLOGFILE指定日志文件及存放路径。默认值:$GAUSSLOG/om/gs_backup-YYYY-MM-DD_hhmmss.log。
-–force节点的静态文件丢失后强行restore,仅限–all或者–binary一起使用时才生效。
-hHOSTNAME指定主机名称或者主机ip。可以通过查环境变量$HOSTNAME获得。如果不指定主机名称,则备份当前数据库实例-hopenGauss5-t[backup|restore]指定操作类型。取值范围:backup或者restore物理备份与恢复gs_backup示例【示例12.6】
备份当前主机数据库的所有内容,此时实际上只备份了openGauss数据库安装目录下面的所有文件和数据节点目录下的配置文件,真正数据库中的数据并没有备份。gs_backup-tbackup--backup-dir=/data/openGauss/tmp/backup_dir-hopenGauss5--all【示例12.7】
停止数据库服务,删除数据节点目录下的配置文件,此时,数据库不能正常启动。然后执行下列命令,利用示例12.6的备份目录进行数据库恢复,重新启动数据库,一切正常。gs_backup-trestore--backup-dir=/data/openGauss/tmp/backup_dir-hopenGauss5--all物理备份与恢复gs_basebackup对正在运行的openGauss服务器进行基础备份。gs_basebackup的实现目标是对服务器数据库文件的二进制进行拷贝,其实现原理使用了复制协议。远程执行gs_basebackup时,需要使用系统管理员账户。gs_basebackup当前支持热备份模式和压缩格式备份。gs_basebackup仅支持主机和备机的全量备份,不支持增量物理备份/恢复工具-gs_basebackup物理备份与恢复语法格式如下:gs_basebackup[OPTION]...参数说明如下表:物理备份/恢复工具-gs_basebackup参数说明示例-DDIRECTORY备份文件输出的目录,必选项。
-c[fast|spread]设置检查点模式为fast或者spread(默认)。
-lLABEL
为备份设置标签。
-F[plain|tar]设置输出格式为plain(默认)或者tar,默认为plain。plain格式把输出写成平面文件。
-hHOSTNAME指定主机名称或者主机ip。可以通过查环境变量$HOSTNAME获得。如果不指定主机名称,则备份当前数据库实例-hopenGauss5-pPORT指定主机端口号-p15600-UUSER指定所连接主机的数据库用户
-WPASSWORD指定用户连接的密码物理备份与恢复【示例12.8】备份当前数据库到/data/openGauss/tmp/backup_postgres目录下面gs_basebackup-D/data/openGauss/tmp/backup_postgres-h127.0.0.1-p15600gs_basebackup示例闪回技术闪回技术概述闪回恢复功能是数据库恢复技术的一环,可以有选择性的撤销一个已提交事务的影响,将数据从人为不正确的操作中进行恢复。在采用闪回技术之前,只能通过备份恢复手段找回已提交的数据库修改,恢复时长需要数分钟甚至数小时。采用闪回技术后,恢复已提交的数据库修改前的数据,只需要秒级,而且恢复时间和数据库大小无关。在人为操作或应用程序错误时,使用TIMECAPSULETABLE语句恢复可将表恢复到一个早期状态。表可以闪回到过去的时间点,这依赖于系统中保存的旧版本数据。此外GaussDB数据库不能恢复到通过DDL操作改变了表结构的早期状态。闪回技术语法TIMECAPSULETABLE[schema.]table_nameTO{CSNexpr|TIMESTAMPexpr|BEFORE{DROP[RENAMETOtable_name]|TRUNCATE}}参数说明schema:指定模式包含的表。如果缺省,则为当前模式。table_name:指定表名。TOCSN:指定要返回表的时间点对应的事务提交序列号(CSN)。expr必须计算一个数字,代表有效的CSN。TOTIMESTAMP:指定要返回表的时间点对应的时间戳。expr必须计算一个过去有效的时间戳(使用TO_TIMESTAMP函数将字符串转换为时间类型)。表将被闪回到指定时间戳大约3秒内的时间点。如果闪回点过旧时,因旧版本被回收导致无法获取旧版本,会导致闪回失败并报错:Restorepointtooold。TOBEFOREDROP:使用这个子句检索回收站中已删除的表及其子对象。RENAMETO:为从回收站中检索的表指定一个新名称。TOBEFORETRUNCATE:闪回到TRUNCATE之前。TIMECAPSULE命令
闪回技术闪回技术分为两类:闪回查询、闪回表闪回查询闪回查询基于MVCC多版本机制,通过检索查询旧版本,获取指定老版本数据,适用于误删除、误更新、误插入数据的查询和恢复。闪回查询可以查询过去某个时间点表的某个snapshot数据,这一特性可用于查看和逻辑重建意外删除或更改的受损数据。用户通过配置旧版本保留时间,并执行相应的查询或恢复命令,查询或恢复到指定的时间点或CSN点。使用闪回查询需要设置以下3个参数:undo_retention_time:设置回退(undo)旧版本的保留时间。undo_zone_count:设置undozone(存储undolog的一种内存资源)的个数。enable_default_ustore_table:设置用户创建表时默认使用ustore存储引擎。openGauss默认的astore存贮引擎暂不支持闪回,而ustore存储引擎支持。闪回技术执行下列命令,设置以上3个参数的值。gs_gucset-Nall-Iall-c"undo_retention_time=2000s"gs_gucset-Nall-Iall-c"undo_zone_count=16384"gs_gucset-Nall-Iall-c"enable_default_ustore_table=on"设置完参数后需要重启数据库,让参数生效。gs_om-trestart首先创建1个新表message,创建表的代码如下。
CREATETABLEmessage(codeINTPRIMARYKEY,msgVARCHAR(128));插入1行记录,并记录插入的时间。大约延时1分钟左右再插入第2行记录。insertintojimmy.messagevalues(1,'第1行数据');selectcurrent_timestamp;--2024-08-0322:52:24.868181+08--延时1分钟左右insertintojimmy.messagevalues(2,'第2行数据');selectcurrent_timestamp;闪回查询步骤闪回技术基于timestamp的闪回查询,可以基于某个时间戳查询那个时间点表的数据,执行下列语句,只能查询到第1条记录。SELECT*FROMjimmy.messageTIMECAPSULETIMESTAMPto_timestamp('2024-08-0322:52:24.868181','YYYY-MM-DDHH24:MI:SS.FF');查询timestamp对应的CSN,执行下列语句查询指定时间段内的CSN信息。可以基于某个时间戳查询那个时间点表的数据,执行下列语句,只能查询到第1条记录。selectsnptime,snpcsnfromgs_txn_snapshotwheresnptimebetween'2024-08-0322:52:24.868181'and'2024-08-0322:53:24.371803';基于CSN的闪回查询,执行下列语句,CSN为14
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- EPDM塑胶场地施工方案
- 某发动机厂循环经济实施方案
- 音效设计工作室音效改编实施细则
- 2026安徽滁州琅琊区消防救援局政府专职消防员招聘8人备考题库及答案详解(新)
- 2026广西桂林市雁山区人民检察院聘用书记员招聘1人备考题库附参考答案详解(满分必刷)
- 2026中国雄安集团有限公司社会招聘备考题库含答案详解(夺分金卷)
- 2026上半年安徽事业单位联考黄山市休宁县招聘30人备考题库(含答案详解)
- 2026新疆红星建设咨询管理有限公司招聘人员3人备考题库带答案详解(精练)
- 2026广东肇庆市高要区事业单位招聘高层次人才4人备考题库含答案详解(研优卷)
- 2026四川水发能源开发有限公司招聘4人备考题库及答案详解(真题汇编)
- 2026年甘肃省公信科技有限公司面向社会招聘80人(第一批)笔试模拟试题及答案解析
- 文献检索与论文写作 课件 12.1人工智能在文献检索中应用
- 艾滋病母婴传播培训课件
- 公司职务犯罪培训课件
- 运营团队陪跑服务方案
- 北京中央广播电视总台2025年招聘124人笔试历年参考题库附带答案详解
- 工业锅炉安全培训课件
- 2026中国单细胞测序技术突破与商业化应用前景报告
- 叉车初级资格证考试试题与答案
- 2025至2030中国新癸酸缩水甘油酯行业发展研究与产业战略规划分析评估报告
- 剪映完整课件
评论
0/150
提交评论