一、达梦数据库表空间的管理
1、达梦数据库表空间介绍
Select tablespace_name from dba_tablespace;
1)SYSTEM表空间--> 系统表空间有很多的数据字典等
2)ROLL表空间-->回滚表空间 MVCC(事务多版本机制),消除行锁,回滚段,保 留时长(undo_retention 支持毫秒)
3)TEMP 临时表空间 ,临时段,创建的临时表
4)MAIN表空间,这是数据库默认的白哦空间,在创建表和数据对象的死后,不指定 存储位置,默认存放在该表空间
5)HMAIN 存放huge表的表空间
2、规划表空间
1)表空间的创建
格式:
Create tablespace 表空间名 datafile 数据文件路径 size 数据文件初始大小 autoextend on maxsize 最大值
-----仅指定数据文件路径,以及数据文件初始
大小,单位为(MB)
-----注意大小仅为数字,不能带M符号
Create tablespace tbs1 datafile ‘/dm7/data/DAMENG/tbs01.dbf’ size 32;
**注意: 表空间初始文件大小是:页大小的4096倍**
案例1:创建一个表空间,初始大小50M, 最大100M
Create tablespace tbs1 datafile ‘/dm7/data/DAMENG/tbs1_01.dbf’ size 50 autoextend on maxsize 100;
案例2:创建一个表空间,初始大小50M, 表空间由2个数据文件组成,分别存储在不同的磁盘上,每次扩展1M, 每个数据文件最大100M
Create tablespace tbs2 datafile ‘/dm7/disk1/tbs2_01.dbf’ size 50 autoextend on next 1 maxsize 100,’/dm7/disk2/tbs4_02.dbf’ size 50 autoextend on next 1 maxsize 100;
2)删除表空间(表空间存在数据,不允许直接删除)
drop tablespace tbs1
3)扩展表空间
(1) 创建达标空间,数据库导入导出
(2)resize 表空间数据文件的大小 (所有的数据文件大小都应该一致,修改其中一个,另外的都要更改)
alter tablespace tbs1 resize datafile '/dm7/data/DAMENG/tbs01.dbf' to 256;
(3)增加数据文件
Alter tablespace tbs1 add datafile ‘/dm7/data/DAMENG/tbs02.dbf’ size 50 autoextend on next 1 maxsize 100;
4)更改表空间的数据文件路径
(1)查询表空间的数据文件存储位置
select file_name,tablespace_name from dba_data_files;
(2)查询表空间的状态(0---Online 1---offline)更改为离线
Select tablespace_name,status from dba_tablespaces;
(3)更改文件位置
alter tablespace tbs1 rename datafile '/dm7/data/DAMENG/tbs01.dbf' to '/dm7/disk1/tbs01.dbf';
二、达梦数据库用户管理
1、达梦数据库用户介绍
select username from dba_userd;
1)sys 达梦数据库内置管理用户,不能登陆数据库
2)sysdba 数据库的管理员
3)sysauditor 审计员 配置审计策略,分析审计日志
4)syssso 安全员 (只在安全版本内存在),配置安全策略
2、用户口令策略
1)0 -->无策略
2) 1 -->禁止与用户名相同
3)2 -->口令长度不小于9
4)4 -->至少包含一个大写字母(A-Z)
5)8 -->至少包含一个数字(0-9)
6)16 -->至少包含一个白哦点符号(引文输入法状态下输入,除“与空格外)
--设置口令策略,可单独使用,也可组合使用
sp_set_para_value(1,’PWD_POLICY’,6);
FAILED_LOGIN_ATTEMPS 密码尝试登录次数。
PASSWORD_LOCK_TIME 密码登录失败锁定时间
PASSWORD_LIFE_TIME 密码过期时间
3、创建用户
案例1:为数据库设置一个用户test,可创建自己表,有属于自己的独立存储空间,密码要求每60天变更一次。
SQL> create tablespace test datafile '/dm7/data/DAMENG/test1.dbf' size 32;
SQL> create user test identified by dameng123 limit password_life_time 60 default tablespace test;
SQL> grant create table to test;
案例2:规划用户test3,账户30天变更一次密码,密码尝试连接2次,连接失败,锁定5分锁,该用户可以查询dmhr.employee。
SQL> create user test3 identified by dameng123 limit password_life_time 30,failed_login_attemps 2,password_lock_time 5;
SQL>Grant select on dmhr.employee to test3;
案例3:企业有一批录入人员,权限固定,只能录入city表
角色:一类权限的集合,把一类用户具有的权限,集中到某个特定的角色上面,再把角色分为用户,方便管理。
SQL> create role r1;
SQL> grant insert on dmhr,city to r1;
SQL> create user test4 indetified by dameng123;
SQL> grant ri to test4;
4、更改用户密码
alter user test identified by 123446
5、锁账户与解锁账户
--锁账户:
Alter user test account lock;
--解锁账户:
Altet user test account unlock;
6、删除账户(慎用,操作之前备份该用户的数据)
--用户没有相关数据:
Drop user test
--用户下有数据
Drop user test cascade