注册
操作其他模式对象的权限
专栏/Database Thinking/ 文章详情 /

操作其他模式对象的权限

胡li 2025/11/27 124 2 0
摘要 -

1、操作其他用户下的DDL权限

达梦默认不能授予用户在其他模式下数据定义( DDL )的权限,由参数ENABLE_DDL_ANY_PRIV指定,默认为0。如果需要此权限,可修改ENABLE_DDL_ANY_PRIV为1后再授权。

ALTER SYSTEM SET 'ENABLE_DDL_ANY_PRIV' = 1 BOTH;
GRANT DROP ANY TABLE TO USER1;

2、操作其他用户下的DML权限

grant SELECT on TEST.CONS_TAB1 to USER02;
grant INSERT on TEST.CONS_TAB1 to USER02;
grant DELETE on TEST.CONS_TAB1 to USER02;
grant UPDATE on TEST.CONS_TAB1 to USER02;
grant REFERENCES on TEST.CONS_TAB1 to USER02;
grant SELECT FOR DUMP on TEST.CONS_TAB1 to USER02;
grant ALTER on TEST.CONS_TAB1 to USER02;
grant INDEX on TEST.CONS_TAB1 to USER02;

以上授权对象可通过DBA_OBJECTS表进行拼接,将接续出来的结果拷贝到SQL编辑页面执行,或者写存储过程执行,例句如下:

select 'grant SELECT on ' || OWNER || '.' || OBJECT_NAME || ' to USER01;' from DBA_OBJECTS where OWNER='TEST' AND OBJECT_TYPE='TABLE'

注意拼接出来的用户,根据实际情况进行调整;

3、针对单一其他用户整个模式的DML权限

GRANT SELECT ON SCHEMA USER01 TO USER02;
grant INSERT on SCHEMA USER01 to USER02;
grant DELETE on SCHEMA USER01 to USER02;
grant UPDATE on SCHEMA USER01 to USER02;
grant REFERENCES on SCHEMA USER01 to USER02;
grant SELECT FOR DUMP on SCHEMA USER01 to USER02;
grant ALTER on SCHEMA USER01 to USER02;
grant INDEX on SCHEMA USER01 to USER02;

以上以模式为单位授权,需注意GRANT_SCHEMA配置值为1,静态参数,修改后需要重启数据库

SP_SET_PARA_VALUE(2,'GRANT_SCHEMA',1)

参数说明

参数名 缺省值 属性 说明
GRANT_SCHEMA 0 静态 是否开启授予和回收模式权限功能。0:否;1:是
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服