在日常的dm数据库维护操作中,对数据库用户的增删及授权必不可少,本文介绍dm数据库用户的创建、修改以及删除常用语法。
查看系统预建用户:
系统预先设置了四个用户,分别为 SYS、SYSDBA、SYSAUDITOR 和 SYSSSO,其中SYSDBA 具备 DBA 角色,SYSAUDITOR 具备 DB_AUDIT_ADMIN 角色,而 SYSSSO具备 DB_POLICY_ADMIN 系统角色。
note:SYS为达梦数据内置管理用户,不能登录数据库。
一、创建数据库用户语法:
CREATE USER <用户名> IDENTIFIED <身份验证模式> [PASSWORD_POLICY <口令策略>][< 锁定子句>][<存储加密密钥>][<空间限制子句>][<只读标志>][<资源限制子句>][<允许 IP 子句>][< 禁止IP子句>][<允许时间子句>][<禁止时间子句>][<TABLESPACE子句>][<INDEX_TABLESPACE子 句>]; <身份验证模式> ::= <数据库身份验证模式>|<外部身份验证模式> <数据库身份验证模式> ::= BY <口令> <外部身份验证模式> ::= EXTERNALLY | EXTERNALLY AS <用户 DN> <口令策略> ::= 口令策略项的任意组合 <锁定子句> ::= ACCOUNT LOCK | ACCOUNT UNLOCK <存储加密密钥> ::= ENCRYPT BY <口令> <空间限制子句> ::= DISKSPACE LIMIT <空间大小>| DISKSPACE UNLIMITED <只读标志> ::= READ ONLY | NOT READ ONLY <资源限制子句> ::= LIMIT <资源设置项>{,<资源设置项>} <资源设置项> ::= SESSION_PER_USER <参数设置>| CONNECT_IDLE_TIME <参数设置>| CONNECT_TIME <参数设置>| CPU_PER_CALL <参数设置>| CPU_PER_SESSION <参数设置>| MEM_SPACE <参数设置>| READ_PER_CALL <参数设置>| READ_PER_SESSION <参数设置>| FAILED_LOGIN_ATTEMPS <参数设置>| PASSWORD_LIFE_TIME <参数设置>| PASSWORD_REUSE_TIME <参数设置>| PASSWORD_REUSE_MAX <参数设置>| PASSWORD_LOCK_TIME <参数设置>| PASSWORD_GRACE_TIME <参数设置> <参数设置> ::=<参数值>| UNLIMITED <允许IP子句> ::= ALLOW_IP <IP项>{,<IP项>} <禁止IP子句> ::= NOT_ALLOW_IP <IP项>{,<IP项>} <IP项> ::= <具体IP>|<网段> <允许时间子句> ::= ALLOW_DATETIME <时间项>{,<时间项>} <禁止时间子句> ::= NOT_ALLOW_DATETIME <时间项>{,<时间项>} <时间项> ::= <具体时间段> | <规则时间段> <具体时间段> ::= <具体日期> <具体时间> TO <具体日期> <具体时间> <规则时间段> ::= <规则时间标志> <具体时间> TO <规则时间标志> <具体时间> <规则时间标志> ::= MON | TUE | WED | THURS | FRI | SAT | SUN <TABLESPACE子句> ::=DEFAULT TABLESPACE <表空间名> <INDEX_TABLESPACE子句> ::= DEFAULT INDEX TABLESPACE <表空间名> |
注:<>为必选项,[]为可选项。
例子:
create user ljw identified by dameng123 limit password_life_time 30,failed_login_attemps 2,password_lock_time 5; |
注意点:
1、<口令策略>可以为以下值,或其任何组合:
0 无策略;
1 禁止与用户名相同;
2 口令长度不小于9;
4 至少包含一个大写字母(A-Z);
8 至少包含一个数字(0-9);
16 至少包含一个标点符号(英文输入法状态下,除“ 和空格外的所有符号)。
若为其他数字,则表示以上设置值的和,如 3=1+2,表示同时启用第 1 项和第 2 项 策略。当设置为 0 时,表示设置口令没有限制,但总长度不得超过 48 个字节。另外,若不 指定该项,则默认采用系统配置文件中PWD_POLICY 所设值。
note:
查看当前PWD_POLICY值:
或者:
修改PWD_POLICY值:
|
2、空间限制子句用于限制用户使用的最大存储空间,以M为单位,取值范围为1到1048576,关键字UNLIMITED 表示无限制;
3、口令策略、允许 IP、禁止 IP、允许时间段、禁止时间段和外部身份验证功能只在 安全版本中提供;
4、 用户默认表空间和索引默认表空间不能使用 SYSTEM、RLOG、ROLL、TEMP 表空间。
常用资源选项配置如下表所示:
资源设置项 | 说明 | 最大值 | 最小值 | 缺省值 |
CONNECT_TIME | 一个会话连接、访问和操作数据库服 务器的时间上限(单位:1 分钟) | 1440(1 天) | 1 | 无限制 |
CONNECT_IDLE_TIME | 会话最大空闲时间(单位:1 分钟) | 1440(1 天) | 1 | 无限制 |
FAILED_LOGIN_ATTEMPS | 将引起一个账户被锁定的连续注册失 败的次数 | 100 | 1 | 3 |
PASSWORD_LIFE_TIME | 一个口令在其终止前可以使用的天数 | 365 | 1 | 无限制 |
PASSWORD_LOCK_TIME | 如果超过FAILED_LOGIN_ATTEMPS 设置值,一个账户将被锁定的分钟数 | 1440(1 天) | 1 | 1 |
与ORACLE相比突出的亮点:
1、可配置只读标志,表示该登录是否只能对数据库作只读操作,默认为可读写。
2、可以允许IP和禁止IP登陆。用于控制此登录是否可以从某个IP访问数据库,其中禁止IP 优先。在设置IP 时,可以利用*来设置网段,如 192.168.0.*。设置的允许和 禁止IP 需要用双引号括起来;
3. 可以配置允许时间段和禁止时间段登录。用于控制此登录是否可以在某个时间段访问数据库,其中禁止时间段优先。设置的时间段中的日期和时间要分别用双引号括起来。在设置时 间段时,有两种方式:
1) 具体时间段,如2016年1月1日 8:30至2006年2月1日17:00;
2) 规则时间段,如 每周一 8:30 至 每周五 17:00。
二、修改数据库用户常用语法
alter user <用户名> IDENTIFIED <身份验证模式> ....
同CREATE USER的参数规定一样
三、用户删除语句
DROP USER <用户名> [RESTRICT | CASCADE];
注意:
1、系统自动创建的三个系统用户 SYSDBA、SYSAUDITOR 和 SYSSSO 不能被删除;
2、如果使用了 CASCADE 选项,除数据库中该用户及其创建的所有对象被删除外,如果其他用户创建的表引用了该用户表上的主关键字或唯一关键字,或者在该表上创建了视 图,DM 还将自动删除相应的引用完整性约束及视图依赖关系。
后面的文章将会跟大家分享dm数据库权限的管理。