版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、瀚高数据库备份和恢复徐云鹤PART 01WAL日志及归档日志什么是WALWAL全称是Write Ahead Log,是瀚高数据库的在线重做日志WAL是一种保证数据完整性的标准方法数据文件的改变必须先写入日志,即日志记录刷新到磁盘之后,才能被写入数据文件遵循这个过程,不需要在每个事务提交时都刷新数据页到数据文件任何没有应用到数据页上的改动都可以根据日志记录重做存储在$PGDATA/pg_wal中,类似于00000001000000010000001A的文件存储归档日志l 归档日志是WAL日志的完整拷贝。l 当如下任意条件发生后,会触发归档操作产生归档日志:手动强制切换 select pg_swi
2、tch_wal();wal日志写满后参数archive_timeoutPART 02配置归档日志模式配置归档日志模式修改参数后需要重启数据库服务生效开启归档模式涉及到三个参数-开启归档highgo# alter system set wal_level = replica;highgo# alter system set archive_mode = on;-红色字体部分为归档存放路径highgo# alter system set archive_command = test ! -f /hgdbbak/archive/%f & cp %p /hgdbbak/archive/%f配置
3、归档日志模式修改参数后需要重启数据库服务生效关闭归档模式涉及到一个参数highgo # alter system set archive_mode = off;配置归档日志模式-免重启小技巧前提:highgo# alter system set wal_level = replica;highgo# alter system set archive_mode = on;highgo# alter system set archive_command = test ! -f /hgdbbak/archive/%f & cp %p /hgdbbak/archive/%f重启数据库配置归档日
4、志模式-免重启小技巧想产生归档日志的时候:highgo# alter system set archive_command = test ! -f /hgdbbak/archive/%f & cp %p /hgdbbak/archive/%fhighgo# select pg_reload_conf();不想产生归档日志的时候:highgo# alter system set archive_command = test ! -f /hgdbbak/archive/%f | cp %p /hgdbbak/archive/%fhighgo# select pg_reload_conf()
5、;PART 03数据库备份恢复备份形式物理备份逻辑备份物理备份备份数据块,可借助备份集和归档日志恢复到任意时间点。 逻辑备份备份数据,只能恢复到备份的点。物理备份pg_basebackupcp/rsync/tar冷备HG_RMAN等等pg_basebackuppg_basebackup 是 HighGo Database 提供的一个方便基础备份的工具,这个工具会把整个数据库实例的数据都拷贝出来,而不只是把实例中的部分(如某个数据库或表)单独备份出来,该工具使用 replication 协议连接到数据库实例上,所以主数据库中的 pg_hba.conf 必须允许 replication 连接。pg
6、_basebackup参数介绍控制输出的选项: -D, -pgdata=DIRECTORY 接收基础备份到指定目录 -F, -format=p|t 输出格式 (纯文本 (缺省值), tar压缩格式) -r, -max-rate=RATE 传输数据目录的最大传输速率 (单位 kB/s, 也可以使用后缀k 或 M) -R, -write-recovery-conf 为复制写配置文件 -T, -tablespace-mapping=OLDDIR=NEWDIR 将表空间由 OLDDIR 重定位到 NEWDIR -waldir=WALDIR 预写日志目录的位置 -X, -wal-method=none|
7、fetch|stream 按指定的模式包含必需的WAL日志文件 -z, -gzip 对tar文件进行压缩输出 -Z, -compress=0-9 按指定的压缩级别进行压缩输出一般选项: -c, -checkpoint=fast|spread 设置检查点方式(fast或者spread) -C, -create-slot 创建复制槽 -l, -label=LABEL 设置备份标签 -n, -no-clean 出错后不清理 -N, -no-sync 不用等待变化安全的写入磁盘 -P, -progress 显示进度信息 -S, -slot=SLOTNAME 用于复制的槽名 -v, -verbose 输
8、出详细的消息 -V, -version 输出版本信息, 然后退出 -no-slot 防止创建临时复制槽 -no-verify-checksums 不验证校验和 -j, -jobs=NUM 用于备份任务的并行数量 -?, -help 显示帮助, 然后退出联接选项: -d, -dbname=CONNSTR 连接串 -h, -host=HOSTNAME 数据库服务器主机或者是socket目录 -p, -port=PORT 数据库服务器端口号 -s, -status-interval=INTERVAL 发往服务器的状态包的时间间隔 (以秒计) -U, -username=NAME 指定连接所需的数据库
9、用户名 -w, -no-password 禁用输入密码的提示 -W, -password 强制提示输入密码pg_basebackup常用示例将本地集群中的数据库备份到指定的路径 /hgdbbak/ 下pg_basebackup -U highgo -D /hgdbbak/将本地集群中的数据库以压缩格式并行备份,并保存在指定的路径 /hgdbbak/ 下pg_basebackup -U highgo -D /hgdbbak/ -Ft -z -j 5 -Pcp/rsync/tar以数据库超级用户身份连接数据库,然后发出命令: highgo=# select pg_start_backup(labl
10、e); 执行备份: 使用任何方便的文件系统工具比如 tar ,rsync 或 cp 等,直接把数据目录复制到备份位置。这些操作过程中既不需要关闭数据库,也不需要阻塞数据库的任何操作。 操作完毕后再次以数据库超级用户身份连接数据库,然后发出命令结束备份模式: highgo=# select pg_stop_backup(); 恢复以上两种方式的完全恢复:对压缩格式的备份集进行解压缩。修改解压缩目录下postgresql.auto.conf文件,追加如下内容:restore_command = cp /hgdbbak/archive/%f %p启动数据库。恢复以上两种方式的PITR:对压缩格式的备
11、份集进行解压缩。修改解压缩目录下postgresql.auto.conf文件,追加如下内容:restore_command = cp /hgdbbak/archive/%f %precovery_target_time = 2020-10-01 17:50:00 启动数据库。HG_RMANHG_RMAN是瀚高数据库中具有备份集管理功能的备份工具,只需要进行简单的配置,就可以实现对数据库备份的全面管理。HG_RMAN特点属性描述1. 最小备份单元基于物理块备份2. 备份结果集管理历史记录,保留策略,有效性校验等3. 备份模式支持全量、增量及归档日志在线备份4. 恢复模式支持Point-In-Ti
12、me Recovery(PITR)支持完全恢复支持不完全恢复数据块修复5. 独有的技术块变化跟踪Block Change Tracking(BCT)技术块介质修复Block Media Recovery(BMR)技术6. 高性能,高存储利用率备份压缩,快速完成增量备份独有的增量备份机制,可以有效减少备份的存储空间占用hg_rman常用示例初始化 hg_rman init.bash_profile:export PGDATA=/highgo/database/6.0.0/dataexport BACKUP_PATH=/ hgdbbak/backuppostgresql.conf:archive_
13、mode = onarchive_command = test ! -f /hgdbbak/archive/%f & cp %p /hgdbbak/archive/%f自动在$HGDB_HOME/conf下生成hg_rman.ctl hg_rman.ini文件。hg_rman常用示例全量备份 hg_rman backup -b full查看备份集 hg_rman showhg_rman常用示例增量备份 - hg_rman backup -b incrementalhg_rman常用示例归档备份 - hg_rman backup -b archivehg_rman常用示例恢复-PITR
14、- hg_rman restore -recovery-target-time=2019-02-23 21:22:15hg_rman常用示例在线块恢复 - hg_rman blockrecover -datafile=1663/13866/16384 -block=0在线 无感冷备份冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。pg_ctl stop 或pg_ctl stop -m f不要使用kill -9或pg_ctl stop -m i冷备份是将关键性文件拷贝到另外的位置的一种说法。对于备份数据库信息而言,冷备份一般是最快和最安全的方法。冷备份实例备份示
15、例:tar -zcvf -f /hgdbbak/dbbak0817.tar.gz $PGDATA恢复示例:tar -zxvf -f /hgdbbak/dbbak0817.tar.gz -C /hgdata逻辑备份pg_dump(all)copypg_dump(all)pg_dump 用于备份 HighGo Database 数据库,它可以在数据库运行时使用,pg_dump 不会阻塞其他的用户访问数据库。转储的内容以脚本或自定义格式归档的方式输出。脚本转储指包含 SQL 命令的纯文本文件,这些 SQL 命令可以用于重建该数据库并将之恢复到保存成脚本的时候的状态。要从这些脚本中恢复数据,需要使用
16、psql 命令。脚本文件可以被用来重建数据库。另一种自定义格式归档文件格式必须和 pg_restore 一起使用重建数据库。 pg_dump 支持指定所要备份的对象:可以单独备份表、schema 或者 database。pg_dumpall仅支持导出全库数据。此外数据库角色和表空间等公用的全局对象也可以被转储,转储的内容仅能以脚本的方式输出。 pg_dump部分参数介绍一般选项: -f, -file=FILENAME 输出文件或目录名 -F, -format=c|d|t|p 输出文件格式 (定制, 目录, tar 明文 (默认值) -j, -jobs=NUM 执行多个并行任务进行备份转储工作
17、-v, -verbose 详细模式 -V, -version 输出版本信息,然后退出 -Z, -compress=0-9 被压缩格式的压缩级别 -lock-wait-timeout=TIMEOUT 在等待表锁超时后操作失败 -?, -help 显示此帮助, 然后退出控制输出内容选项: -a, -data-only 只转储数据,不包括模式 -b, -blobs 在转储中包括大对象 -B, -no-blobs 排除转储中的大型对象 -c, -clean 在重新创建之前,先清除(删除)数据库对象 -C, -create 在转储中包括命令,以便创建数据库 -E, -encoding=ENCODING
18、转储以ENCODING形式编码的数据 -n, -schema=PATTERN dump the specified schema(s) only -N, -exclude-schema=PATTERN do NOT dump the specified schema(s) -O, -no-owner 在明文格式中, 忽略恢复对象所属者 -s, -schema-only 只转储模式, 不包括数据-t, -table=PATTERN dump the specified table(s) only -T, -exclude-table=PATTERN do NOT dump the specifi
19、ed table(s) -x, -no-privileges 不要转储权限 (grant/revoke) -no-security-labels 不转储安全标签的分配 -no-tablespaces 不转储表空间分配信息 -no-unlogged-table-data 不转储没有日志的表数据 -quote-all-identifiers 所有标识符加引号,即使不是关键字 -rows-per-insert=NROWS 每个插入的行数;意味着-inserts联接选项: -d, -dbname=DBNAME 对数据库 DBNAME备份 -h, -host=主机名 数据库服务器的主机名或套接字目录 -
20、p, -port=端口号 数据库服务器的端口号 -U, -username=名字 以指定的数据库用户联接 -w, -no-password 永远不提示输入口令 -W, -password 强制口令提示 (自动) -role=ROLENAME 在转储前运行SET ROLEpg_dump常用示例仅导出数据库对象结构pg_dump -U highgo -s -f highgo.sql highgo 备份某个 database(如 mydb),备份结果以自定义压缩格式输出pg_dump -h localhost -p 5866 -U someuser -F c -b -v -f mydb.backup mydb pg_dump常用示例备份某个 database(如 mydb)中 hg 和 hr 这两个 sc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东药品食品职业学院《酒店餐饮运行实训》2023-2024学年第一学期期末试卷
- 山东杏林科技职业学院《音乐术语》2023-2024学年第一学期期末试卷
- 山东杏林科技职业学院《C面向对象程序设计》2023-2024学年第一学期期末试卷
- 变频器控制柜采购合同范例
- 债务合同范例旅游
- 文字撰写合同范例
- 单证销售合同范例
- 市区小区门面转让合同范例
- 水果购销合同范例版
- 山东协和学院《现代发育生物学》2023-2024学年第一学期期末试卷
- 义务(应急)消防队成员花名册
- 小学一年级上册数学20以内进位加法单元测试卷1
- 中央空调维保工作实施方案
- (高清版)外墙外保温工程技术标准JGJ144-2019
- 初中生物教学仪器配备明细目录
- 未成年人需办银行卡证明(模板)
- 惯性导航系统误差传播特性分析报告
- 信息化弱电项目试运行方案报告
- 算法导论第三十四章答案
- 不自主运动量表(AIMS)(共3页)
- 二战(英语)PPT
评论
0/150
提交评论