内容提要
达梦数据库用户管理包括创建用户、分配和收回权限、查看用户权限等。用户权限分为数据库权限和对象权限,普通用户默认只能对自己模式内对象进行操作。通过授权,用户可获得更多权限,如创建schema。密码策略要求至少8位,包含数字、字母和特殊字符。审计功能可开启以记录用户操作。数据迁移时需注意路径配置,可能需要修改dm.ctl文件。
延伸解读
权限模型:系统权限与对象权限的区分
达梦数据库将权限分为数据库权限(系统权限)和对象权限。系统权限针对数据库对象的创建、删除、修改和备份,如CREATE TABLE;对象权限针对对象内容的访问,如SELECT、INSERT。普通用户默认只拥有同名模式内对象的对象权限,系统权限为空,因此无法建表或建视图。若需这些操作,必须显式授予系统权限或相应角色。
角色机制与常见授权实践
达梦内置DBA、RESOURCE、PUBLIC、VTI、SOI等角色。普通用户默认拥有PUBLIC和SOI,但若要在自己模式下建表,常需额外授予VTI和RESOURCE。例如使用manager图形化建表时,若报错缺少v$ciphers等系统视图查询权限,赋予VTI和SOI即可解决。授权可通过GRANT语句或manager客户端完成。
密码策略与账户安全控制
达梦支持组合密码策略,例如策略31表示长度至少8位且包含数字、字母和特殊字符。可通过ALTER USER设置用户级策略,或通过SP_SET_PARA_VALUE设置系统级策略。此外,可限制会话数、连接空闲时间、密码有效期、登录失败次数和锁定时间,并支持通过ALLOW_IP限制访问IP,以及使用ACCOUNT UNLOCK解除锁定。
数据迁移与工具使用注意事项
迁移数据目录后若启动报错找不到.DBF文件,除修改dm.ini外,还需注意dm.ctl中写死的路径。dm.ctl是二进制文件,需用dmctlcvt工具转换为文本修改后再转回。另外,使用dmfldr导入较大CLOB字段时可能报数据格式错误,官方解释为load限制,实际可能为bug,需留意。
Q&A
达梦数据库的用户权限分为哪两类?
达梦数据库的用户权限分为数据库权限和对象权限。
如何为普通用户授予创建schema的权限?
可以使用SYSDBA或有授权权限的用户通过grant语句授予普通用户create schema权限。
达梦数据库的密码策略有哪些要求?
密码策略要求至少8位,包含数字、字母和特殊字符。
如何开启达梦数据库的审计功能?
可以登录SYSAUDITOR用户或其他拥有审计权限的用户,使用SP_SET_ENABLE_AUDIT(1)开启审计功能。
数据迁移时需要注意哪些配置?
数据迁移时需注意路径配置,可能需要修改dm.ctl文件。
如何查看达梦数据库中的用户权限?
可以使用select * from dba_users;查看用户权限。