首页 > 其他分享 >KingbaseES V8R3 运维案例 -- sys_dump备份故障“SYS_MAC_POLICY_ENFORCEMENT”

KingbaseES V8R3 运维案例 -- sys_dump备份故障“SYS_MAC_POLICY_ENFORCEMENT”

时间:2023-03-02 15:56:50浏览次数:49  
标签:sys V8R3 dump authid -- SYS SET

案例说明:
在KingbaseES V8R3执行sys_dump时出现“ERROR: permission denied for relation SYS_MAC_POLICY_ENFORCEMENT”故障,此前做过一些安全相关的配置,比如修改syssao和syssso用户口令等操作。

适用版本:
KingbaseES V8R3

案例复现:

1、查看sys_authid视图

TEST=# select * from sys_authid ;
       ROLNAME        | ROLSUPER | ROLUSERTYPE | ROLINHERIT | ROLCREATEROLE | ROLCREATEDB | ROLCANLOGIN | ROLREPLICATION | ROLBYPASSRLS | ROLCONNLIMIT |             ROLPASSWORD             | ROLVALIDUNTIL | PWDEXPIRETIME
----------------------+----------+-------------+------------+---------------+-------------+-------------+----------------+--------------+--------------+-------------------------------------+---------------+---------------
 SYS_SIGNAL_BACKEND   | f        | N           | t          | f             | f           | f           | f              | f       |           -1 |                                     |               |
 SUPERMANAGER_V8ADMIN | t        | D           | t          | t             | t           | t           | t              | t       |           -1 | md5f7902af5f3f7cdcad02b5ca09320d102 |               |
 SYSSSO               | f        | S           | t          | f             | f           | t           | f              | f       |           -1 | md506de7a576af7f2791face19665f08a10 |               |
 SYSSAO               | f        | A           | t          | f             | f           | t           | f              | f       |           -1 | md5ce2668ef745c2a09d32010b185466e91 |               |
 TOM                  | f        | N           | t          | f             | f           | t           | f              | f       |           -1 | md5a6b0d86ccb61b5cee406b28da51b3aa4 |               |
 SYSTEM               | t        | D           | t          | t             | t           | t           | t              | t       |           -1 | md53afebd0fba6df9fc2cf82c0b09926bcc |               |
 NCSOAYC              | f        | N           | t          | f             | f           | t           | f              | f       |           -1 | md5c579e0960f7d03228db41a49f45f9713 |               |
(7 rows)

=如下所示:默认syssso用户的rolusertype的字段值为‘S’。=

2、更新syssso的rolusertype字段

TEST=# update sys_authid set ROLUSERTYPE='N' where  ROLNAME='SYSSSO';
UPDATE 1

TEST=# select * from sys_authid  where rolname='SYSSSO';
 ROLNAME | ROLSUPER | ROLUSERTYPE | ROLINHERIT | ROLCREATEROLE | ROLCREATEDB | ROLCANLOGIN | ROLREPLICATION | ROLBYPASSRLS | ROLC
ONNLIMIT |             ROLPASSWORD             | ROLVALIDUNTIL | PWDEXPIRETIME
---------+----------+-------------+------------+---------------+-------------+-------------+----------------+--------------+-----
---------+-------------------------------------+---------------+---------------
 SYSSSO  | f        | N           | t          | f             | f           | t           | f              | f            |
      -1 | md506de7a576af7f2791face19665f08a10 |               |
(1 row)

3、执行sys_dump备份

[kingbase@node101 bin]$ ./sys_dump -U SYSTEM -W 123456 -d PROD >prod.sql
sys_dump: [archiver (db)] query failed: ERROR:  permission denied for relation SYS_MAC_POLICY_ENFORCEMENT
sys_dump: [archiver (db)] query was: select c.oid from SYS_CATALOG.sys_namespace n JOIN SYS_CATALOG.sys_class c ON (n.oid=c.relnamespace) JOIN SYS_CATALOG.sys_mac_table_policies p ON (n.nspname = p.schema_name and c.relname = p.table_name)

=如下所示,sys_dump备份出现权限错误。=

4、故障解决

系统表sys_authid:
sys_authid 包含关于数据库授权标识符(角色)的信息。角色把“用户”和“组”的概念包含在内。一个用户实际上就是一个 rolcanlogin 标志被设置的角色。任何角色(不管 rolcanlogin 设置与否)都能够把其他角色作为成员,参见 sys_auth_members 。
由于这个目录包含口令,它不能是公共可读的。 sys_roles 是在 sys_authid 上的一个公共可读视图,它隐去了口令域。
用户的权限和角色 包含关于用户和权限管理的详细信息。
由于用户标识符是集簇范围的, sys_authid 在一个集簇的所有数据库之间共享:在一个集簇中只有一份 sys_authid 拷贝,而不是每个数据库一份。

1)更新rolusertype字段

TEST=# UPDATE SYS_AUTHID SET ROLUSERTYPE='S' where rolname='SYSSSO';
UPDATE 1

TEST=# select * from sys_authid  where rolname='SYSSSO';
 ROLNAME | ROLSUPER | ROLUSERTYPE | ROLINHERIT | ROLCREATEROLE | ROLCREATEDB | ROLCANLOGIN | ROLREPLICATION | ROLBYPASSRLS | ROLCONNLIMIT |             ROLPASSWORD             | ROLVALIDUNTIL | PWDEXPIRETIME
---------+----------+-------------+------------+---------------+-------------+-------------+----------------+--------------+--------------+-------------------------------------+---------------+---------------
 SYSSSO  | f        | S           | t          | f             | f           | t           | f              | f            |      -1 | md506de7a576af7f2791face19665f08a10 |               |
(1 row)

2)执行备份

[kingbase@node101 bin]$ ./sys_dump -U SYSTEM -W 123456 -d PROD -t public.TB1 >~/prod_tb1.sql

[kingbase@node101 bin]$ more ~/prod_tb1.sql
--
-- Kingbase database dump
--

-- Dumped from database version V008R003C002B0290
-- Dumped by sys_dump version V008R003C002B0290

SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT sys_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET client_min_messages = warning;
SET row_security = off;

SET default_tablespace = '';

SET default_with_oids = false;

--
-- Name: TB1; Type: TABLE; Schema: PUBLIC; Owner: SYSTEM
--

CREATE TABLE "PUBLIC"."TB1" (
    "ID" INTEGER,
    "A_DATE" DATE,
    "B_TM" TIMESTAMP WITHOUT TIME ZONE
);
.......

---如上所示,执行sys_dump备份成功。

5、总结
系统表 sys_authid 包含关于数据库授权标识符(角色)的信息。在对syssao、syssso用户执行相关操作时,字段会被更新,当出现此故障信息时,DBA可以按照以上的方法解决。

标签:sys,V8R3,dump,authid,--,SYS,SET
From: https://www.cnblogs.com/kingbase/p/17014797.html

相关文章

  • KingbaseES sys_restore 恢复表时默认不包括表上的索引
    前言最近碰到一个案例,在使用sys_restore恢复指定表时,默认不恢复表上的索引,如果想恢复需要单独指定。测试过程[](javascript:void(0)......
  • systemd管理常用中间件
     使用systemd管理常用中间件(elasticsearch、logstash、kafka和zookeeper),方便服务启停、开机自启1.1添加systemd管理脚本红字配置需要根据实际环境修改路径。若为单节......
  • AtCoder Beginner Contest 291(Sponsored by TOYOTA SYSTEMS)(D,E,F)
    AtCoderBeginnerContest291(SponsoredbyTOYOTASYSTEMS)(D,E,F)DD又一次误解题意这个题的要求是相邻的两个数不同,而我的翻译上是整个数列的数都是不同的(ಥ﹏ಥ)大意是......
  • Ubuntu 向目标系统中安装busybox-initramfs软件包时出现一个错误。请检查/var/log/sys
    原因是因为前面最开始选择了中文,造成无法反映 解决办法,第一次选择英文,后面选择中文系统就可以 来源:UbuntuServer16.04中文安装报错无法安装busybox-initramf ......
  • docker下netcore内存dump
    一般开发阶段可以通过visualstudio来检查程序的内存、cup等的优化问题。vs下调试=》性能探查器,这里面大有千秋。但是好多内存问题是经过时间积累下来才暴露出来的,在生产......
  • hdfs file system shell的简单使用
    1、背景此处我们通过命令行,简单的学习一下hdfsfilesystemshell的一些操作。2、hdfsfilesystemshell命令有哪些我们可以通过如下网址https://hadoop.apache.org/d......
  • hdfs file system shell的简单使用
    目录1、背景2、hdfsfilesystemshell命令有哪些3、确定shell操作的是哪个文件系统4、本地准备如下文件5、hdfsfilesystemshell5.1mkdir创建目录5.2put上传文件5.3l......
  • 【JVM】轻易别写 System.gc()
    System.gc()触发的是FGC,调用System.gc()之后,JVM不会马上执行回收,但通过System.gc()或Runtime.getRuntime()的调用,会显式触发FullGC,同时对老年代和新生代进行回收,尝试......
  • pgsql中pg_dump显示:因为服务器版本不匹配而终止
    1、输入pg_dump命令后,显示“因为服务器版本不匹配而终止”。如图所示:  2、因为pgsql安装的版本为11.6,而pg_dump的版本成为了9.2,故无法备份。3、找到pg_dump的位置。......
  • 一次k8s docker下.net程序的异常行为dump诊断
    背景昨天,一位朋友找到我寻求帮助。他的项目需要调用一个第三方项目的webAPI。这个webAPI本身可从header,querystring中取相关信息,但同事发现他在调用时,无法按期望的那样......