案例说明:

由于限制了用户对数据库的访问,导致在执行‘sys_backup.sh init’初始化物理备份时,执行失败。

适用版本:

KingbaseES V8R6

一、问题现象

如下所示,执行‘sys_backup.sh init’初始化物理备份:

1、执行初始化失败

[kingbase@node201 bin]$ sh sys_backup.sh init
ERROR: Configured repo-path [/home/kingbase/kbbr_repo] already exists
[kingbase@node201 bin]$ rm -rf /home/kingbase/kbbr_repo
[kingbase@node201 bin]$ sh sys_backup.sh init
# pre-condition: check the non-archived WAL files
# generate local sys_rman.conf...DONE
# update all node: sys_rman.conf and archive_command with sys_rman.archive-push...
# update all node: sys_rman.conf and archive_command with sys_rman.archive-push...DONE
# create stanza and check...(maybe 60+ seconds)
ERROR: create stanza failed, check log file
/home/kingbase/cluster/R6C8/HAC8/kingbase/log/sys_rman_stanza-create.log

2、查看日志信息

[kingbase@node201 bin]$ cat /home/kingbase/cluster/R6C8/HAC8/kingbase/log/sys_rman_stanza-create.log
2023-10-27 10:45:22.724 P00 INFO: stanza-create command begin 2.27: --band-width=0 --cmd-ssh=/home/kingbase/cluster/R6C8/HAC8/kingbase/bin/sys_securecmd --config=/home/kingbase/kbbr_repo/sys_rman.conf --exec-id=4985-bd560b43 --kb2-host=192.168.1.202 --kb2-host-user=kingbase --kb1-path=/home/kingbase/cluster/R6C8/HAC8/kingbase/data --kb2-path=/home/kingbase/cluster/R6C8/HAC8/kingbase/data --kb1-port=54321 --kb2-port=54321 --kb1-user=esrep --kb2-user=esrep --log-level-console=info --log-level-file=info --log-path=/home/kingbase/cluster/R6C8/HAC8/kingbase/log --log-subprocess --process-max=4 --repo1-path=/home/kingbase/kbbr_repo --stanza=kingbase
WARN: set process-max 4 is too large, auto set to CPU core count 1
WARN: unable to check kb-1: [db_connect_err] unable to connect to 'application_name=internal_rman dbname='test' port=54321 user='esrep'': FATAL: permission denied for database "test"
DETAIL: User does not have CONNECT privilege.
WARN: unable to check kb-2: [db_connect_err] raised from remote-0 ssh protocol on '192.168.1.202': unable to connect to 'application_name=internal_rman dbname='test' port=54321 user='esrep'': FATAL: permission denied for database "test"
DETAIL: User does not have CONNECT privilege.
ERROR: [056]: unable to find primary cluster - cannot proceed
2023-10-27 10:45:23.336 P00 INFO: stanza-create command end: aborted with exception [056]

如下图所示,esrep用户无权限访问test数据库:

二、问题分析

通过ksql,用esrep用户连接数据库,如下所示,esrep无法连接数据库:

[kingbase@node201 bin]$ ./ksql -U esrep test
ksql: error: could not connect to server: FATAL: permission denied for database "test"
DETAIL: User does not have CONNECT privilege.

三、问题解决

1、用户授权

test=# grant connect on database test to public;
GRANT
test=# grant connect on database prod to public;
GRANT

2、执行物理备份初始化

如下所示,执行初始化成功:

[kingbase@node201 bin]$ sh sys_backup.sh init
# pre-condition: check the non-archived WAL files
# generate local sys_rman.conf...DONE
# update all node: sys_rman.conf and archive_command with sys_rman.archive-push...
# update all node: sys_rman.conf and archive_command with sys_rman.archive-push...DONE
# create stanza and check...(maybe 60+ seconds)
# create stanza and check...DONE
# initial first full backup...(maybe several minutes)
# initial first full backup...DONE
# Initial sys_rman OK.
'sys_backup.sh start' should be executed when need back-rest feature.
'sys_backup.sh start' will add CRONTAB items.
Or you can manual backup once with user-guide.

三、总结

此问题原因是在前面给指定用户执行权限回收和配置时导致,在配置用户权限时,注意在多个应用测试,避免出现应用访问数据库错误。

KingbaseES V8R6数据库运维案例之---用户权限导致的备份恢复故障的更多相关文章

  1. 数据库运维之路——关于tempdb暴增实战案例

    转眼间,2021年的第一个季度已经到了最后一个月了,由于疫情原因,最近一段时间一直在北京,基本上没有出差,每天上班下班的日子感觉时间过的好快,新的一年继续努力奋斗啊. 仔细回想一下,自己踏入到sql ...

  2. MySQL数据库运维课程

    MySQL数据库运维课程 http://www.dataguru.cn/article-4834-1.html?union_site=comm100 课程大纲 第一课:机器选型.系统规划 第二课:安装 ...

  3. 一个兼职DBA的数据库运维经验 小米科技 xx@xiaomi.com 2011

    一个兼职DBA的数据库运维经验 小米科技  xx@xiaomi.com 2011 内存扩容 16G->64G ,调大bp后,凌晨说监控物理内存有余量情况下,开吃swap,内存泄露措施1  定时 ...

  4. 数栈运维实例:Oracle数据库运维场景下,智能运维如何落地生根?

    从马车到汽车是为了提升运输效率,而随着时代的发展,如今我们又希望用自动驾驶把驾驶员从开车这项体力劳动中解放出来,增加运行效率,同时也可减少交通事故发生率,这也是企业对于智能运维的诉求. 从人工运维到自 ...

  5. MySQL数据库运维的五大指标

    如何评价一个公司数据库运维水平的高低?用什么来进行横向与纵向对比?自动化平台建设的目标是什么?必须有相应的指标体系来指导,此指标体系必须满足以下条件: • 可以用数字来测算和衡量 • 最终指标,而不是 ...

  6. PG数据库运维工具要覆盖哪些能力

    目前的国产数据库中,很多产品都是以PG社区版代码作为研发起点的,还有一些产品是基于openGauss开源项目的.这些数据库的基础特性都和社区版的PG数据库类似,不过也做了一定的拓展.不过从使用与运维上 ...

  7. Oracle数据库运维优化六脉神剑口诀

    我们知道数据库性能是数据库运维中至关重要的一个部分,据传在Oracle数据库的江湖中也有威力无比的六脉神剑技能,下面与大家免费分享Oracle大师们广为流传的六脉神剑口诀,一般人我不告诉他哦:) 少商 ...

  8. puppet运维自动化之用户管理

    系统管理员离不开账户管理,账户管理,密码管理,开发机器,测试机器,线上机器,都需要创建用户,并给与相关用户的权限.你如果要创建100个,1000个账户和密码,你会不会疯掉,如何在1分钟完成百上千个账户 ...

  9. KingbaseES V8R6集群管理运维案例之---repmgr standby switchover故障

    案例说明: 在KingbaseES V8R6集群备库执行"repmgr standby switchover"时,切换失败,并且在执行过程中,伴随着"repmr stan ...

  10. KingbaseES V8R6集群运维案例之---repmgr standby promote应用案例

    案例说明: 在容灾环境中,跨区域部署的异地备节点不会自主提升为主节点,在主节点发生故障或者人为需要切换时需要手动执行切换操作.若主节点已经失效,希望将异地备机提升为主节点. $bin/repmgr s ...

随机推荐

  1. Keil MDK STM32系列(十) Ubuntu下的PlatformIO开发环境

    Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...

  2. 【OpenGL ES】正方形图片贴到圆形上

    1 前言 ​ 纹理贴图 中介绍了将矩形图片贴到矩形模型上,本文将介绍:在不裁剪图片的情况下,将正方形的图片贴到圆形模型上. ​ 思考:实数区间 [0, 1] 与 [0, 2] 的元素可以建立一一映射关 ...

  3. TCP与UDP异同

    TCP与UDP异同 TCP/IP模型的运输层有两个不同的协议:UDP用户数据报协议与TCP传输控制协议. 相同点 TCP与UDP都是运行在运输层的协议. TCP与UDP的通信都需要开放端口. 不同点 ...

  4. 使用virtualenv新建django项目

    # 安装virtualenv pip install virtualenv # 创建虚拟环境 virtualenv venv # 进入虚拟环境 venv\Scripts\activate # 安装dj ...

  5. win32 - 基于hwnd获取进程名字(GetModuleFileNameEx)

    #include <Windows.h> #include <psapi.h> int main() { DWORD process_ID = 0; WCHAR process ...

  6. 【Android 逆向】【攻防世界】easy-apk

    apk 安装到手机,随便输入点内容,提示错误 2. apk 拖入到jadx中看看 public class MainActivity extends AppCompatActivity { /* JA ...

  7. Mybatis模糊查询无法确定参数$1的数据类型: ERROR: could not determine data type of parameter $1

    Mybatis模糊查询无法确定参数$1的数据类型: 报错ERROR: could not determine data type of parameter $1 修改前: SELECT count(0 ...

  8. linux下安装nginx(yum源安装)

    备份yum源 cd /etc/yum.repos.d mkdir repo_bak mv *.repo repo_bak/ 下载阿里云repo文件 wget -O /etc/yum.repos.d/C ...

  9. Spring Security权限控制框架使用指南

    在常用的后台管理系统中,通常都会有访问权限控制的需求,用于限制不同人员对于接口的访问能力,如果用户不具备指定的权限,则不能访问某些接口. 本文将用 waynboot-mall 项目举例,给大家介绍常见 ...

  10. 【Azure App Service for Container】记一次拉取镜像失败的特殊情况

    问题描述 使用Azure App Service For Container 拉取 应用镜像,发现拉取失败. 错误消息: "Image pull failed since Inspect i ...