一、管理表空间
1.1介绍表空间
select TABLESPACE_NAME,STATUS from dba_tablespaces;
1.2查看所有表空间信息
可以通过查询动态视图 VTABLESPACE 得到系统中所有表空间的信息,通过查询动态视图 VTABLESPACE得到系统中所有表空间的信息,通过查询动态视图VDATAFILE 得到系统中所有数据文件的信息。
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达梦数据库的用户
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
设置一个用户,该用户可以创建自己的表,有属于自己的独立表空间,用户密码要求每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);
5.3撤销权限
5.3.1撤销系统权限
revoke 权限 from 用户或者角色名 (admin option for)
5.3.2撤销角色权限
Revoke all privilegs|select|insert|delete|update on 模式对象名 to 用户或者角色名