达梦数据库非模式对象管理:用户、表空间、角色、权限

 达梦数据库的非模式对象:用户、表空间、角色、权限

目录

一、表空间管理

二、用户管理

三、权限管理

1.数据库权限

2.对象权限

四、角色管理

 一、表空间管理

表空间是一个逻辑结构,对应数据文件为物理结构,DM中将数据的所有对象在逻辑上都存放在表空间中,而物理上都存储在所属表空间的数据文件中。

使用DM管理工具manager建表空间,十分方便,可以添加多个数据文件

DDL:create tablespace "TBS" datafile '/dm8/data/DAMENG/TBS01.DBF' size 32, '/dm8/data/DAMENG/TBS01.DBF' size 64 autoextend on next 1 maxsize 1024 CACHE = NORMAL;

1.数据文件创建后不能删除

强制删除,只能通过备份还原或弃用该表空间:

 2.数据文件大小只能改大不能改小

 3.修改数据文件名时需要表空间处于脱机状态(alter tablespace TBS offline; 恢复联机:alter tablespace TBS online;)(管理工具自动补全脱机和联机语句)

二、用户管理

DM中的管理员用户:

数据库管理员SYSDBA、数据库安全员SYSSSO、数据库审计员SYSAUDITOR、数据库对象操作员SYSDBO

达梦数据库采用三权分立或四权分立的安全机制,将系统中所有权限按照功能进行划分,为每个管理员分配相应的权限,各自的用户仅能做自己权限以内的事,且各用户之前能够相互监督,创建数据库时可以通过参数PRIV_FLAG设置三权分立或四权分立,仅DM安全版提供四权分立机制。

四权分立比三权分立多一个数据库对象操作员。

manager新建管理用户,可以指定使用表空间,未指定时默认使用main表空间:

 DDL:create user "TEST" identified by "Dameng123" password_policy 0

default tablespace "TBS";

grant "PUBLIC","SOI","VTI" to "TEST";

查看用户所属表空间:

select username,account_status,default_tablespace,temporary_tablespace from dba_users;

这里授予TEST用户创建表的权限:

DDL:grant CREATE TABLE to "TEST";

使用TEST用户登录disql并建表,创建成功:

使用TEST2用户登录disql并建表,创建失败,因为TEST2没有创建表的权限

三、权限管理

DM中用户权限分为数据库权限和对象权限

1.数据库权限

数据库对象的创建、删除、修改,数据库的备份等权限,一般由SYSDBA/SYSAUDITOR/SYSSSO指定,也可以由具有特权的其他用户授予。

常用的数据库权限:

create table/view/user/trigger/procedure:在自己的模式中创建表/视图/用户/触发器/存储过程的权限

alter user/database:修改用户/数据库的权限

2.对象权限

对数据库对象中的数据的访问权限,一般由数据库对象的所有者授予用户,也可由SYSDBA用户指定,或由具有该对象权限的其他用户授权。

常用的对象权限:

select/insert/delete/update:分别针对数据库对象中数据的查询/插入/删除/修改的权限

reference:可以与一个表建立关联关系的权限

execute:用户可以执行另一个用户的存储程序、包、类等权限

read/write:可以读或写访问某个目录对象的权限

usage:可以使用某个域对象的权限

授予TEST用户创建表的权限,允许转授:

DDL:grant CREATE TABLE to "TEST" with admin option;

由TEST用户登录,并将建表权限转授给TEST2用户:

grant create table to TEST2;

再由TEST2用户登录验证权限,此时TEST2可以建表,说明权限授予成功

回收TEST用户转授建表权限的能力并验证:

revoke admin option for create table from TEST;

回收TEST用户的建表权限并验证,回收成功

revoke create table from TEST;

四、角色管理

角色是一组权限的组合,DM中包含预定义的角色(SYSDBA、SYSAUDITOR、SYSSSO、SYSDBO)和用户自定义的角色,预定义角色包含部分权限,管理员可以将角色直接授予给用户,自定义角色则需在创建后手动赋予权限,然后将该角色授予给需要的用户。

当用户较多时,将用户所需的共同权限授予给角色,然后直接将角色授予给这些用户,就不需要为每一个用户授予一次相同权限,在使用角色的过程中,可以随时修改角色权限,相应用户权限也随之改变,如果要回收所有权限,只需将角色从用户回收即可。

manager新建角色,同时可授予相应权限:

 DDL:

create role "ROLE";

grant "DBA" to "ROLE";

grant CREATE TABLE,CREATE VIEW,CREATE INDEX to "ROLE";

这里同时还赋予了角色创建表、视图和索引的权限。

验证角色权限:

将角色授予给用户,SQL语句查看TEST用户是否拥有了角色的权限:

grant ROLE to TEST;

select granted_role from dba_role_privs where grantee='TEST';

 使用TEST用户使用得到的权限:

 删除角色,用户相应权限也被回收

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值