KingbaseES V8R3 备份恢复案例之--单实例环境sys_rman脚本备份案例
案例说明:
sys_rman是KingbaseES数据库的物理备份工具,支持数据库的全备和增量备份,由于sys_rman工具使用需要配置多个参数,对于一般用户使用不是很方便。为方便用户在KingbaseES V8R3版本,通过sys_rman执行物理备份,系统自带了调用sys_rman的备份脚本,本次文档对脚本的使用进行了详细的描述,帮助用户快速掌握此脚本的使用。
适用版本:
KingbaseES V8R3
一、脚本部署路径(单实例环境)
[kingbase@node101 rman]$ pwd
/opt/Kingbase/ES/V8R3_290/Server/kb_scripts/kb_backup/rman
二、查看文件信息
[kingbase@node101 rman]$ ls -lh
total 24K
-rwxr-xr-x 1 kingbase kingbase 5.0K Apr 1 2021 fast_deploy_rman.sh
-rwxr-xr-x 1 kingbase kingbase 3.1K Apr 1 2021 rman_check.sh
-rwxr-xr-x 1 kingbase kingbase 250 Jun 15 13:57 rman.conf
-rwxr-xr-x 1 kingbase kingbase 2.7K Apr 1 2021 rman_full.sh
-rwxr-xr-x 1 kingbase kingbase 2.0K Apr 1 2021 rman_page.sh
Tips:
1) rman_full.sh 用于物理全部
2)rman_page.sh 用于增量备份
3) rman_check.sh 用于备份后的校验和查看
4) rman.conf 用于备份配置
5) fast_deploy_rman.sh 用于建立crontab备份计划
三、数据库归档配置
=注意:sys_rman支持热备,所以数据库必须配置为归档模式。=
四、备份配置
[kingbase@node101 rman]$ cat rman.conf
kdb_home="/opt/Kingbase/ES/V8R3_290/Server/"
kdb_data="/data/kingbase/v8r3_290/data" #数据库存储路径
kdb_user="system"
kdb_pass="123456"
kdb_port="54323"
kdb_host="127.0.0.1"
kdbback_dest="/data/kingbase/backup" #备份文件存储路径
kdbarchive_dest="/data/kingbase/archive" #归档日志存储路径
keep_num="2" #备份保留策略
五、执行数据库备份
1)执行数据库全备
[kingbase@node101 rman]$ sh rman_full.sh
kingbase database rman full backup begin : 2022-06-15 13:57:45
conf file is: /opt/Kingbase/ES/V8R3_290/Server/kb_scripts/kb_backup/rman/rman.conf
kdb_data: /data/kingbase/v8r3_290/data
kingbase database rman full backup end : 2022-06-15 13:58:20
2)执行增量备份
# 创建增量数据
prod=# create table t1 (id int ,name varchar(10));
CREATE TABLE
prod=# insert into t1 values (generate_series(1,10000),'usr'||generate_series(1,10000));
INSERT 0 10000
prod=# show case_sensitive ;
case_sensitive
----------------
off
(1 row)
prod=# select sys_switch_xlog();
sys_switch_xlog
-----------------
0/C10CAA30
(1 row)
prod=# checkpoint ;
# 执行增量备份
[kingbase@node101 rman]$ sh rman_page.sh
kingbase database rman page backup begin : 2022-06-15 14:16:50
conf file is: /opt/Kingbase/ES/V8R3_290/Server/kb_scripts/kb_backup/rman/rman.conf
kingbase database rman page backup end : 2022-06-15 14:16:53
3)备份校验和查看
[kingbase@node101 rman]$ sh rman_check.sh
conf file is: /opt/Kingbase/ES/V8R3_290/Server/kb_scripts/kb_backup/rman/rman.conf
This tool help use to check kingbase database's rman backup file, must execute in local server
2022-06-15 14:17:41 : check begin
kdbback_dest : /data/kingbase/backup is correct
1.check database status:
database is running
2.show kingbase rman backup list:
==========================================================================================================
ID Recovery time Mode Current/Parent TLI Time Data start_lsn stop_lsn Status
==========================================================================================================
RDI9G2 2022-06-15 14:16:53 PAGE 1 / 0 3s 8724kB 0/C4000028 0/C5000078 OK
RDI8K9 2022-06-15 13:58:09 FULL 1 / 0 24s 3341MB 0/BE000028 0/BE000130 OK
3.check every backup ID:
---------------------------------------------------------
check backup ID: RDI9G2
INFO: validate: RDI8K9 backup and archive log files by CRC
INFO: validate: RDI9G2 backup and archive log files by CRC
INFO: backup validation completed successfully
---------------------------------------------------------
check backup ID: RDI8K9
INFO: validate: RDI8K9 backup and archive log files by CRC
INFO: backup validation completed successfully
---------------------------------------------------------
2022-06-15 14:18:00 : check end
4)查看备份信息
[kingbase@node101 backup]$ ls -lh
total 8.0K
-rw-rw-r-- 1 kingbase kingbase 1.2K Jun 15 13:58 backup.log
drwx------ 3 kingbase kingbase 19 Jun 15 13:57 backups
-rw-rw-r-- 1 kingbase kingbase 41 Jun 15 13:57 sys_rman.conf
lrwxrwxrwx 1 kingbase kingbase 31 Jun 15 13:57 wal -> /data/kingbase/v8r3_290/archive
Tips:
1)对于归档日志是在备份目录下建立了链接,执行备份时没有对归档日志执行备份操作。
2)backup.log记录了备份的相关信息。
5)查看备份日志信息
[kingbase@node101 backup]$ tail -1000 backup.log
Wed Jun 15 13:57:45 CST 2022
FULL BACKUP START ...
INFO: validate: RDI8K9 backup and archive log files by CRC
FULL BACKUP SUCCEED!
==========================================================================================================
ID Recovery time Mode Current/Parent TLI Time Data start_lsn stop_lsn Status
==========================================================================================================
RDI8K9 2022-06-15 13:58:09 FULL 1 / 0 24s 3341MB 0/BE000028 0/BE000130 OK
BACKUP RETENTION START ...
INFO: removed min WAL segment "0000000100000000000000BA"
INFO: removed max WAL segment "0000000100000000000000BD"
INFO: purging is finished
RETENTION SUCCEED!
==========================================================================================================
ID Recovery time Mode Current/Parent TLI Time Data start_lsn stop_lsn Status
==========================================================================================================
RDI8K9 2022-06-15 13:58:09 FULL 1 / 0 24s 3341MB 0/BE000028 0/BE000130 OK
Wed Jun 15 14:16:50 CST 2022
PAGE BACKUP START ...
INFO: validate: RDI9G2 backup and archive log files by CRC
PAGE BACKUP SUCCEED!
==========================================================================================================
ID Recovery time Mode Current/Parent TLI Time Data start_lsn stop_lsn Status
==========================================================================================================
RDI9G2 2022-06-15 14:16:53 PAGE 1 / 0 3s 8724kB 0/C4000028 0/C5000078 OK
RDI8K9 2022-06-15 13:58:09 FULL 1 / 0 24s 3341MB 0/BE000028 0/BE000130 OK
Tips:
1)在通过脚本备份完成时,自动对备份进行validate。注意:对于sys_rman的备份,只有做过validate后才是有效的备份。
2)在下次备份前,会根据备份的保留(retention)策略,自动清理不在需要的归档日志。
3)如下所示,backup.log日志中记录的归档日志已被清理。
[kingbase@node101 wal]$ ls -lh
total 129M
-rw------- 1 kingbase kingbase 16M Jun 15 13:58 0000000100000000000000BE
-rw------- 1 kingbase kingbase 321 Jun 15 13:58 0000000100000000000000BE.00000028.backup
-rw------- 1 kingbase kingbase 16M Jun 15 14:03 0000000100000000000000BF
-rw------- 1 kingbase kingbase 16M Jun 15 14:03 0000000100000000000000C0
-rw------- 1 kingbase kingbase 16M Jun 15 14:14 0000000100000000000000C1
-rw------- 1 kingbase kingbase 16M Jun 15 14:14 0000000100000000000000C2
-rw------- 1 kingbase kingbase 16M Jun 15 14:16 0000000100000000000000C3
-rw------- 1 kingbase kingbase 16M Jun 15 14:16 0000000100000000000000C4
-rw------- 1 kingbase kingbase 321 Jun 15 14:16 0000000100000000000000C4.00000028.backup
-rw------- 1 kingbase kingbase 16M Jun 15 14:16 0000000100000000000000C5
六、建立备份的crontab计划任务
=注意:可以根据主机的业务压力情况,建立合理的备份时间,尽量避开业务高峰期。=
# 建立备份计划任务
[kingbase@node101 rman]$ sh fast_deploy_rman.sh
This tool help use to deploy rman backup (rman_full.sh, rman_page.sh) schedual into the crontab
begin deploy, read configuration
conf file is: /opt/Kingbase/ES/V8R3_290/Server/kb_scripts/kb_backup/rman/rman.conf
1.check database is open archive:
database is already open archive
2.check back_dest and archive_dest :
check /data/kingbase/backup :
back dest is exist
check /data/kingbase/archive :
archive dest is exist
3.check rman_full.sh script:
sucess to execute rman_full.sh
sucess to execute rman_page.sh
4.add backup job:
no crontab for kingbase
no crontab for kingbase
there is no crontab job, add it
5.show current crontab list:
0 23 * * 6 sh /opt/Kingbase/ES/V8R3_290/Server/kb_scripts/kb_backup/rman/rman_full.sh >>/opt/Kingbase/ES/V8R3_290/Server/kb_scripts/kb_backup/rman/rman_backup.log 2>&1 &
0 23 * * 0-5 sh /opt/Kingbase/ES/V8R3_290/Server/kb_scripts/kb_backup/rman/rman_page.sh >>/opt/Kingbase/ES/V8R3_290/Server/kb_scripts/kb_backup/rman/rman_backup.log 2>&1 &
end
# 查看kingbase用户计划任务
[kingbase@node101 rman]$ crontab -l
0 23 * * 6 sh /opt/Kingbase/ES/V8R3_290/Server/kb_scripts/kb_backup/rman/rman_full.sh >>/opt/Kingbase/ES/V8R3_290/Server/kb_scripts/kb_backup/rman/rman_backup.log 2>&1 &
0 23 * * 0-5 sh /opt/Kingbase/ES/V8R3_290/Server/kb_scripts/kb_backup/rman/rman_page.sh >>/opt/Kingbase/ES/V8R3_290/Server/kb_scripts/kb_backup/rman/rman_backup.log 2>&1 &
七、总结
1)通过系统备份脚本,可以方便用户执行sys_rman的备份。
2)在脚本备份后,自动进行备份的校验。
3)在初次备份后的下一次备份开始,都自动根据备份保留策略清理归档日志。
KingbaseES V8R3 备份恢复案例之--单实例环境sys_rman脚本备份案例的更多相关文章
- KingbaseES V8R6C6备份恢复案例之---单实例sys_baackup.sh备份
案例说明: KingbaseES V8R6C6中sys_backup.sh在通用机单实例环境,默认需要通过securecmdd工具以及kingbase和root用户之间的ssh互信,执行备份初始化(i ...
- KingbaseES V8R6集群维护案例之--单实例数据迁移到集群案例
案例说明: 生产环境是单实例,测试环境是集群,现需要将生产环境的数据迁移到集群中运行,本文档详细介绍了从单实例环境恢复数据到集群环境的操作步骤,可以作为生产环境迁移数据的参考. 适用版本: Kingb ...
- RAC环境备份,RMAN异机在单实例环境恢复redo问题
目的:客户环境11.2.0.4 ,多节点RAC环境,现在使用带库的备份,在单机环境测试备份有效性 1.normal参数文件 删除集群相关参数cluster 2.mount 使用备份的控制文件进行还原 ...
- NBU AIX ORACLE10G RAC恢复到AIX单实例(表空间恢复)
ln -s /usr/openv/netbackup/bin/libobk.a64 /oraclev3/product/10.2.0/lib/libobk.a不建软连接会报如下错误: using ta ...
- MySQL 多实例数据库还原脚本-备份集与端口对应
版本:5.5.14 OS: ConetOS 6.3 1.创建recover.sh [root@yoon export]# vi recover.sh #!/bin/bash bakdir=/exp ...
- KingbaseES V8R6单实例外部备份案例
案例说明: 本案例采用sys_backup.sh执行物理备份,备份使用如下逻辑架构:数据库主机采用CentOS 7系统,repo采用kylin V10 Server. 单实例+外部备份服务器 备份逻辑 ...
- KingbaseES V8R6单实例外部备份故障案例
案例说明: 在KingbaseES V8R6单实例环境,配置外部备份服务器使用sys_backup.sh物理备份时,出现以下"WAL segment xxx was not archived ...
- KingbaseES V8R6C5单实例sys_backup.sh备份案例
案例说明: KingbaseES V8R6C5版本中使用了securecmdd工具,用于主机节点间的通讯,默认端口8890.备份工具sys_backup.sh默认使用了securecmdd工具,对 ...
- Oracle RAC备份异机单实例恢复演练
本文只节选了操作方案的部分章节: 3. 操作步骤 3.1. 异机单实例Oracle数据库软件安装 在异机上进行单实例Oracle数据库软件安装.该步骤过程不再本文中重复描述,如果对安装过程存在疑问 ...
随机推荐
- 好用到爆!GitHub 星标 32.5k+的命令行软件管理神器,功能真心强大!
前言(废话) 本来打算在公司偷偷摸摸给星球的用户写一篇编程喵整合 MongoDB 的文章,结果在通过 brew 安装 MongoDB 的时候竟然报错了.原因很简单,公司这台 Mac 上的 homebr ...
- (原创)【MAUI】一步一步实现“悬浮操作按钮”(FAB,Floating Action Button)
一.前言 MAUI,跨平台的 GUI 框架,基本介绍本文不再赘述. 话不多说,既然可以跨平台,那么我们就来实现一个在移动端很常用的控件:悬浮操作按钮(FAB,Floating Action Butto ...
- python线程池 ThreadPoolExecutor 的用法及实战
写在前面的话 (https://jq.qq.com/?_wv=1027&k=rX9CWKg4) 文章来源于互联网从Python3.2开始,标准库为我们提供了 concurrent.future ...
- C++ 练气期之指针所指何处
1. 指针 指针是一种C++数据类型,用来描述内存地址. 什么是内存地址? 内存中的每一个存储单元格都有自己的地址,地址是使用二进制进行编码.地址从形态上看是一个整型数据类型.但是,它的数据含义并不表 ...
- 常用Linux命令整理
常见系统命令 export 查看或修改环境变量 # 例:临时修改命令提示符为字符串$ export PS1=$ # 例:临时修改命令提示符显示系统时间 时间使用\t 表示 export PS1=&qu ...
- go-zero微服务实战系列(十、分布式事务如何实现)
在分布式应用场景中,分布式事务问题是不可回避的,在目前流行的微服务场景下更是如此.比如在我们的商城系统中,下单操作涉及创建订单和库存扣减操作两个操作,而订单服务和商品服务是两个独立的微服务,因为每个微 ...
- SpringMVC-02
一.SSM整合[重点] 1 SSM整合配置 问题导入 请描述"SSM整合流程"中各个配置类的作用? 1.1 SSM整合流程 创建工程 SSM整合 Spring SpringConf ...
- k8s+crio+podman搭建集群
前言 在传统的k8s集群中,我们都是使用docker engine做为底层的容器管理软件的,而docker engine因为不是k8s亲生的解决方案,所以实际使用中会有更多的分层.之前我们也讲过,k8 ...
- 记一次react-hooks项目获取图表图片集合并生成pdf的需求
需求: 获取子组件中所有图片的dom元素并生成图片,再把生成的图片转化为pdf下载 难点 众所周知,react是单向数据流,倡导f(data)⇒ UI的哲学, 并不建议过多直接操作dom,但是生成图片 ...
- [SWPU2019]Web1-1|SQL注入
1.打开之后界面如下: 2.查看源代码.登录注入等未发现有用信息,结果如下: 3.进行注册试试,注册时发现admin账户已被注册,随便注册一个账户并登录,结果如下: 申请发布广告页面如下: 4.发布广 ...