注册
达梦管理非模式对象的基本操作
技术分享/ 文章详情 /

达梦管理非模式对象的基本操作

BooGiePOP 2022/08/12 2575 1 0

达梦中的三权分立与四权分立
"三权分立"时系统内置三种系统管理员,包括数据库管理员、数据库安全员和数据库审计员,四权分立”时新增了一类用户,称为数据库对象操作员。它们各司其职,互相制约,有效地避免了将所有权限集中于一人的风险,保证了系统的安全性。
数据库管理员(DBA)
三权分立:负责评估数据库运行所需的软、硬件环境、安装和升级 DM数据库、配置 DM数据库参数、创建主要的数据库存储结构(表空间)和对象(如表、视图、索引、角色、用户等)、监控和优化数据库性能、数据导入导出以及数据库的备份和恢复等。
四权分立:在原有“三权分立”基础上调整自主访问控制权限,只具有“三权分立”中 DBA角色预设的一部分与数据库管理相关的明确的数据库权限,如数据库创建、备份、还原和校验等。
数据库安全员(SSO)
制定安全策略,定义新的数据库安全员,设置系统的安全等级、范围和组,并为主、客体定义安全标记,从而全面提升系统安全性。
数据库审计员(AUDITOR)
数据库审计员可以设置要审计的对象和操作、定义新的数据库审计员、查看和分析审计记录。
数据库对象操作员(DBO)
数据库对象操作员是“四权分立”新增加的一类用户,可以创建数据库对象,并对自己拥有的数据库对象(表、视图、存储过程、序列、包、外部链接)具有所有的对象权限并可以授出与回收,但其无法管理与维护数据库对象。
一、管理表空间
1.1介绍表空间
select TABLESPACE_NAME,STATUS from dba_tablespaces;

System表空间: 数据字典和全局的系统数据。
ROLL表空间:存放了数据库运行过程中产生的回滚记录。
UNOD_RETENTION:单位秒。
TEMP表空间:临时表空间。
MAIN表空间:数据库默认的表空间,创建数据对象时,如果不指定存储位置,默认存放到该表空间。
HMAIN表空间:huge 表空间。
1.2查看所有表空间信息
可以通过查询动态视图 V$TABLESPACE 得到系统中所有表空间的信息,通过查询动态视图 V$DATAFILE 得到系统中所有数据文件的信息。

1.3创建表空间
理论上最多允许有 65535 个表空间,但用户允许创建的表空间 ID 取值范围为
0~32767,超过 32767 的只允许系统使用,ID 由系统自动分配,ID 不能重复使用,即使删除掉已有表空间,也无法重复使用已用 ID 号,也就是说只要创建 32768 次表空间后,用户将无法再创建表空间。
a.表空间初始文件的大小是页大小的4096倍。
create tablespace tbs1 datafile ‘/home/dmdba/dmdbms/DAMENG/tbs1_01.dbf’ size 128;
b.创建一个表空间,初始大小128M,最大300M.

c.创建一个表空间,初始大小128M,每次扩展1M,最大300M。

d.创建一个表空间,初始128M,表空间由2个数据文件组成,分别存储到不同的磁盘上,每次扩展1M,每个数据文件最大300M。

1.4维护表空间
表空间不足时,有一下方法维护表空间:
a.创建大表空间,数据导出,导入。
b.扩展数据文件的大小

c.添加数据文件
添加的数据文件大小最小为 4096*页大小。一个表空间中,数据文件和镜像文件一起不能超过 256 个。
SQL> alter tablespace tbs1 add datafile '//home/dmdba/dmdbms/DAMENG/tbs1_02.dbf' size 200;

1.5更改储存位置
达梦表空间的状态:0 —online;1 ----- offline
注意:SYSTEM,ROLL, TEMP 不能offline;

使表空间脱机

修改存储位置

表空间online

1.6删除表空间
注:如果表空间存有数据,不允许直接删除!!

1.7查看表空间中有那些表
SQL> select table_name,tablespace_name from dba_tables where tablespace_name=‘TT1’;(表空间名要大写)

二、管理用户
2.1达梦数据库的用户

	SYSSSO——安全用户
	SYSDBA——数据库管理员
	TEST——系统用户
	SYS——达梦数据库的内置管理用户,不能登录数据库,数据库使用的大部分的数据字典和动态性能视图
	SYSAUDITOR——审计用户
	(安全版还会有:SYSDBO——数据操作员)

2.2规划用户
名字:字母开头,a-z,0-9,$#_
位置:
Create tablespace
密码:
口令策略:
用户密码最长为48个字节,创建用户语句使用 password policy子句来指定口令策略。(DM.INI PWD_POLICY)
系统支持的口令策略:
0 无策略
1 禁止与用户名相同
2 口令长度不小于9
4 至少包含一个大写字母(A-Z)
8 至少包含一个数字(0-9)
16 至少包含一个标点符号(英文状态输入,除”和空格外)
口令可以单独使用,也可以组合使用,比如需要应策略1和2,
则设置口令策略为:3
密码尝试登录次数 FAILED_LOGIN_ATTEMPS
密码失败锁定时间 PASSWORD_LOCK_TIME
密码过期时间 PASSWORD_LIFE_TIME
设置一个用户,该用户可以创建自己的表,有属于自己的独立表空间,用户密码要求每60天变更一次。
a.创建表空间tbs5
SQL> create tablespace tbs5 datafile ‘/home/dmdba/dmdbms/DAMENG/tbs5_01.dbf’ size 128;

b.创建用户tbs5,密码为dameng123,有自己的独立存储空间tbs5,密码60天变更一次。
create user tbs5 identified by dameng123 limit password_life_time 60 default tablespace tbs5;

2.3修改密码
将用户tbs5的密码修改为dameng321

2.4 锁定用户
锁定用户tbs5,使其无法登录和进行操作。

2.5 解锁用户
连接数据库后,解锁用户tbs5。

2.6 删除用户
删除用户tbs5。

2.7规划用户权限
对象权限(表,视图,过程等等)select delete update insert

2.7.1查看角色
SQL> select role from dba_roles;

2.7.2查看用户相应的角色和权限
SQL> select grantee,granted_role from dba_role_privs where grantee=‘tbs5’;
2.7.3查询角色所拥有的权限
SQL> select grantee,privilege from dba_sys_privs where grantee=‘PUBLIC’;

2.7.4赋权给用户
赋权给用户tt1,并在tt1用户下创建表t1
Grant []

三、管理模式
模式:一组数据对象的集合,为了安全,创建用户的时候,就会生成一个跟用户同名的模式
3.1创建模式
创建模式tt2,使其属于用户tt1
SQL> create schema “tt2” authorization “tt1”;

3.2删除模式
SQL> drop schema tt2;

四、管理角色
4.1查看所有角色
SQL> select * from dba_roles;

4.2创建角色
创建角色role_test;
SQL> create role role_test;

4.3给角色赋权
将角色role_test赋权给用户rtest,并使用户的角色只属于role_test,通过查看可发现用户现在没有任何权限。

登录SYSDBA后给角色role_test赋权,测试后发现用户rtest拥有了该权限

4.4删除角色
删除角色role_test.

五、权限管理
5.1权限分类
5.1.1系统权限
操作数据对象本身的权限:create,alter,drop等

5.1.2对象权限
操作数据库对象内部数据的权限:insert,update,delete,select等

5.1.3角色权限
一组系统权限和对象权限的集合。
5.2授权
5.2.1系统权限
Grant 权限 to 用户或者角色名(with admin option);
授权者须具有对应的数据库权限及其转授权;
接受者必须与授权者用户类型一致;
如果有WITH ADMIN OPTION选项,接受者可以把这些权限转授给其他用户/角色.
5.2.2角色权限
Grant all privileges|select|insert|delete|update on 模式对象名 to 用户或者角色名(with grant option);
授权者必须是具有对应对象权限及其转授权限的用户;
如未指定对象的模式名,模式为授权者所在的模式.DRECTORY为非模式对象,没有模式;
如设定了对象类型,则该类型必须与对象的实际类型一致,否则会报错;
带WITH GRANT OPTION授予权限给用户时,接受权限的用户可转授此权限;
不带列清单授权时,如果对象上存在同类型的列权限,会全部自动合并;
对于用户所在的模式的表,用户具有所有权限而不需特别指定;
当授权语句中使用了ALL PRIVILEGES时,会将指定的数据库对象上所有的对象权限都授予被授权者.
5.3撤销权限
5.3.1系统权限
revoke 权限 from 用户或者角色名 (admin option for)
权限回收者必须是具有回收相应数据库权限以及转授权的用户;
ADMIN OPTION FOR选项的意义是取消用户或角色的转授权限,但是权限不回收.
5.3.2角色权限
Revoke all privilegs|select|insert|delete|update on 模式对象名 to 用户或者角色名
权限回收者必须是具有回收相应对象权限以及转授权的用户;
回收时不能带列清单,若对象上存在同类型的列权限,则一并被回收;
使用GRANT OPTION FOR选项的目的是回收用户或角色权限转授的权利,而不回收用户或角色的权限;并且GRANT OPTION FOR选项不能和RESTRICT一起使用,否则会报错;
在回收权限时,设定不同的回收选项,其意义不同
若不设定回收选项,无法回收授予时带WITH GRANT OPTION的权限,但也不会检查要回收的权限是否存在限制;
若设定为RESTRICT,无法回收授予时带WITH GRANT OPTION的权限,也无法回收存在限制的权限,如角色上的某权限被别的用户用于创建视图等;
若设定为CASCADE,可回收授予时或不带WITH GRANT OPTION的权限,若带WITH GRANT OPTION还会引起级联回收。
https://eco.dameng.com

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服