例:
1.1介绍达梦数据库表空间:
System:数据字典相关信息、动态性能视图
ROLL:数据库运行中的回滚记录
TEMP:临时表空间,排序
MAIN:数据库的默认表空间,存放的是用户的真实数据。创建用户
或者创建数据库对象时,没有指定表空间,就会存放在默认表空间(main)中。
HMAIN:HUGE 表空间
查询表空间和数据文件:
SQL> select tablespace_name,file_name from dba_data_files;
行号 TABLESPACE_NAME FILE_NAME
---------- --------------- -----------------------------
1 SYSTEM /dm8/data/DAMENG/SYSTEM.DBF
2 DMHR /dm8/data/DAMENG/DMHR.DBF
3 BOOKSHOP /dm8/data/DAMENG/BOOKSHOP.DBF
4 MAIN /dm8/data/DAMENG/MAIN.DBF
5 TEMP /dm8/data/DAMENG/TEMP.DBF
6 ROLL /dm8/data/DAMENG/ROLL.DBF
1.2 创建表空间
案例 1:创建一个初始值为 30M 表空间。
SQL> create tablespace test datafile
'/dm8/data/DAMENG/TEST01.DBF' SIZE 30;
create tablespace test datafile '/dm8/data/DAMENG/TEST01.DBF' SIZE
30;
第 1 行 附 近 出 现 错 误 [-2410]: 数 据 文 件
[/dm8/data/DAMENG/TEST01.DBF]大小无效.
已用时间: 0.928(毫秒). 执行号:0.
表空间数据文件初始大小是 4906*页(8192)=32M
案列 2:创建表空间 TBS,初始大小为 50M,每次扩展 2M,最大扩展
到 1024M;
create tablespace "TBS" datafile '/dm8/data/DAMENG/TBS01.DBF' size
50 autoextend on next 2 maxsize 1024 CACHE = NORMAL;
案例 3:创建表空间 TBSA,包含两个数据文件,初始大小为 35M,
每次扩展 1M,最大可扩展到 1024M;
1.3 表空间状态
脱机状态
Alter tablespace tbs offline;联机状态
Alter tablespace tbs online;
1.4 维护表空间
1.4.1 表空间不足
增加数据文件
alter tablespace "TBS" add datafile '/dm8/data/DAMENG/TBS02.DBF'
size 32;
数据文件开启自动扩展
alter tablespace "TBS" datafile 'TBS02.DBF' autoextend on next 1 maxsize
1024;
resize 数据文件
alter tablespace "TBS" resize datafile 'TBS02.DBF' to 100;
1.4.2 更换数据文件路径
表空间脱机
Alter tablespace tbs offline;
修改数据文件路径
SQL> alter tablespace tbs rename datafile
'/dm8/data/DAMENG/TBS01.DBF' to '/dm8/TBS01.DBF';
表空间联机
SQL> alter tablespace tbs online;
1.5 回滚表空间
alter tablespace "ROLL" add datafile '/dm8/data/DAMENG/ROLL02.DBF'
size 32;
alter tablespace "ROLL" resize datafile 'ROLL02.DBF' to 128;
1.6 临时表空间
System、temp、roll 表空间不允许脱机
1.7 删除表空间
Drop tablespace tbs;
2、用户管理
用户管理分为三块:用户、权限、角色
2.1 用户
2.1.1 查看用户企业版的用户
数据库预定义的用户:
Sysdba :管理员
Sys:不能登录,数据字典、视图
Sysauditor:审计员
Syssso:安全员
安全版用户:
在企业版基础上,增加 sysdbo,数据库对象操作员。
2.1.2 规划用户
命名:字母开头,a-z,0-9,$#_
长度为 128 个字符
权限分配:系统权限、对象权限、角色
存储位置:表空间
密码策略:PWD_POLICY
设置系统默认口令策略。
0: 无策略;1: 禁止与用户名相同;
2: 口令长度不小于 9;
4: 至少包含一个大写字母(A-Z);
8 :至少包含一个数字(0-9);
16:至少包含一个标点符号(英文输入法状态下,除“和空格外的所有符
号;若为其他数字,则表示配置值的和,如 3=1+2,表示同时启用第 1 项
和第 2 项策略。当 COMPATIBLE_MODE=1 时,PWD_POLICY 的实际值均
为 0
3=1+2 7=4+2+1
通过 console 工具来更改参数
通过函数 sp_set_para_value()
sp_set_para_value(1,‘PWD_POLICY’,3)
COMPATIBLE_MODE 是否兼容其他数据库模式。0:不兼容,1:兼容 SQL92
标准,2:兼容 ORACLE,3:兼容 MS SQL SERVER,4:兼容 MYSQL
兼容 ORACLE 模式 sp_set_para_value(2,‘COMPATIBLE_MODE’,2)
2.1.3 创建用户
案例:创建 test 用户,test 用户属于 test 表空间,test 用户拥有创建
表、视图的权限。
1)创建 test 表空间
create tablespace “TEST” datafile ‘/dm8/data/DAMENG/TEST01.DBF’ size
32 autoextend on next 1 maxsize 500 CACHE = NORMAL;2)创建用户
3)授权
grant CREATE TABLE to "TEST";
grant CREATE VIEW to "TEST";
查看被授予的角色和权限
select grantee,granted_role from sys.dba_role_privs
where grantee='TEST';
select * from sys.dba_sys_privs
where grantee='TEST';
2.1.4 对用户的操作
更改用户的默认表空间
alter user "TEST" default tablespace "MAIN";
更改密码:
Alter user test identified by dameng456;
sysdba 用户的密码忘记之后,无法用 sysdba 用户登录数据库。
查看用户的状态
select username,account_status from dba_users;
锁定 test 用户
alter user test account lock;
解锁 test 用户
alter user test account unlock;
撤回权限
revoke create table from test;
删除用户:
Drop user test;
2.2 角色
一组权限的集合,方便权限管理
角色是可以被授予给角色和用户
create role "R1";
grant UPDATE("MANAGER_ID") on "DMHR"."DEPARTMENT" to "R1";
grant UPDATE("IDENTITY_CARD") on "DMHR"."EMPLOYEE" to "R1" with
grant option;
grant INSERT("EMPLOYEE_ID") on "DMHR"."EMPLOYEE" to "R1";
grant
INSERT("DEPARTMENT_ID"),UPDATE("DEPARTMENT_ID"),REFERENCES("DEPARTMENT_ID") on "DMHR"."DEPARTMENT" to "R1";
3、模式对象管理
什么是模式?
模式就是一组数据对象的集合
模式对象:表、视图、索引、触发器、包、序列、存储过程、同义词
等
模式与用户的关系:
创建用户会自动创建一个与用户名同名的模式,一个用户可以对应多
个模式。