DM8数据库用户和权限管理

用户和权限管理
用户管理
创建用户不能于模式名或角色名同名。

密码策略
创建用户时要指定密码,用户密码策略由系统参数 PWD_POLICY.
SQL> select * from v$dm_ini where para_name like '%PWD_POLICY' where para_name=‘PWD_POLICY’; 查看密码策略。
修改系统口令策略:SQL> sp_set_para_value(1,‘PWD_POLICY’,4);修改后的策略只针对新用户有用。
查看用户口令策略:SQL> select username,user_id,PASSWORD_VERSIONS from dba_users;
创建用户
SQL> create user DMOA identified by DM;

用户的锁定与解锁
当用户尝试登录,密码错误超过限制的尝试失败次数,用户会被自动锁定。
可以手动锁定和解锁:
锁定SQL> alter user user1 account lock;
解锁alter user user1 account unlock;
修改用户的资源限制(例如当密码错误超过 5 次时,锁定 10 分钟)SQL> alter user user1 limit failed_login_attemps 5,password_lock_time 10;

修改user1用户默认表空间为TBS、默认索引表空间为tbsidx:
SQL> alter user user1 default tablespace tbs default index tablespace tbsidx;

用户删除,使用具有删除用户(DROPUSER)权限的用户删除其他用户,在删除前要保证用户里对象为空。
drop user user2;

权限管理
系统权限:create table; alter database; create tablespace; alter tablespace; drop tablespace; create user; create view; create procedure; create role; create schema;
授予系统权限:grant CREATE TABLE to USER1;
撤销系统权限:revoke
授予对象权限grant SELECT on DMHR CITY to USER1; 撤销:revoke

权限的查看:
系统权限(数据库权限)查看 DBA_SYS_PRIVS select * from dba_sys_privs;
对象权限查看 DBA_TAB_PRIVS select * from dba_tab_privs;
角色权限查看 DBA_ROLE_PRIVS select * from dba_role_privs;
对象权限的赋予和回收:可以赋给用户或角色
将dmhr.employee的查看权限赋予user1:(sysdba用户)SQL> grant select on dmhr.employee to user1;
从user1就可以查看dmhr.employee:SQL> select count(*) from dmhr.employee;
但user1不能查看dmhr.department,没有该权限,没有赋予
回收user1权限:从sysdba用户,revoke select on dmhr.employee from user1;
查询某张表的某些字段,可以赋给用户或角色
sysdba:SQL> grant select(employee_id,employee_name,salary) on dmhr.employee to user1;
user1: 不能查询整个表:但是可以查询employee_id,employee_name,SQL> select employee_id,employee_name,salary from dmhr.employee limit 5;
如果想查询dmhr.employee中的其他列,也没有查询权限。
角色管理
查看角色信息: select * from dba_roles;
默认每种类型的管理员拥有五个角色(DBA、PUBLIC、RESOURCE、SOI、VTI)
DBA:管理员角色,拥有几乎所有的权限。
RESOURCE:拥有创建表、创建视图等对数据库操作的权限,但没有创建用户的权限。
PUBLIC:拥有数据操作权限(增删改查)。
SOI:拥有查询系统表(sys 开头的)
VTI:拥有动态视图(v$开头的查询权限)。
select * from DBA_SYS_PRIVS t where t.GRANTEE=‘PUBLIC’;
select * from DBA_SYS_PRIVS t where t.GRANTEE=‘RESOURCE’;
select * from DBA_TAB_PRIVS t where t.GRANTEE=‘VTI’;
select * from DBA_TAB_PRIVS t where t.GRANTEE=‘SOI’;
新建角色:创建角色role1,并将create table权限赋给user1:(在SYSDBA用户)
create role R1;
grant create table to role1;
grant role1 to user1;
登录user1,并创建表,因为赋予了user1创建表的角色。
回收权限:回收user1的role1的权限,user1不能创建表(在SYSDBA用户)
SQL> revoke role1 from user1;
假如 user1 即拥有角色 role1,也拥有创建表 create table 的权限,此时回收 user1 的 create table 的权限,问 user1 是否还能创建表。
回收user1的create table的权限,但是角色role1的权限并没有禁用,因此还可以创建表。
查看role1的权限:select * from DBA_SYS_PRIVS t where t.GRANTEE=‘ROLE1’;
角色的启用和禁用:
禁用:SQL> sp_set_role(‘ROLE1’,0); 此时user1没有查询权限
启用:SQL> sp_set_role(‘ROLE1’,1);
————————————————

达梦数据库 - 新一代大型通用关系型数据库 | 达梦云适配中心 (dameng.com)

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值