(一)创建范围分区表T1,修改分区表
create table DMHR.T4(
id int,
name varchar(20))
partition by range(id)
(partition p1 values less than(100),
partition p2 values less than(200),
partition p3 values less than(300));
1、增加分区
alter table test.tl add partition pn values less than (maxvalue);
2、删除分区
alter table TEST.Tl drop partition pn;
3、合并分区
alter table test.tl merge partitions p2,p3 into partition p2
4、拆分分区
alter table test.tl split partition p2_3 at(200)
(二)
达梦数据库目前只支持水平分区表:表按照行拆分成多个分区,每个分区
和主表有相同的列和约束条件。
目前水平分区主要支持4中类型
范围分区:对表某列上的值范围进行分区
2.哈希分区:按分区数进行散列分区,每个分区大小差不多。
3.列表分区:如果某列的值只有几个,基于这样的特点我们可以采用列表分区
4.多级分区:把上面三种分区进行任意组合,将表多次分区
(三)范围分区表
1.创建范围分区时要指定默认分区,否则回因数据不能匹配分区后,而插入失败
2.创建时,可以指定不同表空间
CREATE TABLE t_range (
A INT,
B VARCHAR,
C DATETIME
)
PARTITION BY RANGE(C)
(
PARTITION P1 VALUES LESS THAN ('2021-09-01') TABLESPACE "TBS_PARTA",
PARTITION P2 VALUES LESS THAN ('2021-10-01') TABLESPACE "TBS_PARTA",
PARTITION P3 VALUES LESS THAN ('2021-11-01') TABLESPACE "TBS_PARTB",
PARTITION P4 VALUES LESS THAN ('2021-12-01') TABLESPACE "TBS_PARTB",
PARTITION P5 VALUES EQU OR LESS THAN(MAXVALUE) TABLESPACE "TBS_PARTB"
);
(四)列表分区表
CREATE TABLE LOCATION(
A INT,
B VARCHAR2(20),
C char(10)
)
PARTITION BY LIST(C)
(
PARTITION P1 VALUES ('湖北','湖南') TABLESPACE "TBS_PARTA",
PARTITION P2 VALUES ('山东','山西') TABLESPACE "TBS_PARTA",
PARTITION P3 VALUES ('河南','河北') TABLESPACE "TBS_PARTA",
PARTITION P4 VALUES ('北京','上海') TABLESPACE "TBS_PARTA",
PARTITION P_DEFAULT VALUES(default)
);
(五)哈希分区表
如果表中的列值不满足范围分区和列表分区,那么就可以考虑使用哈希分区。数据库就会根据分区键的散列值将行映射到分区。是数据能均匀的分布在各个分区
CREATE TABLE MY_HASH(
A INT,
B VARCHAR2(20),
C char(10)
)
PARTITION BY HASH(C)
(
PARTITION P1 TABLESPACE "TBS_PARTA",
PARTITION P2 TABLESPACE "TBS_PARTA",
PARTITION P3 TABLESPACE "TBS_PARTA",
PARTITION P4 TABLESPACE "TBS_PARTA"
);
(六)多级分区表
CREATE TABLE M_LIST(
A INT,
B VARCHAR2(20),
C VARCHAR2(40)
)
PARTITION BY LIST(B)
SUBPARTITION BY RANGE(A) SUBPARTITION TEMPLATE(
SUBPARTITION SUB1 VALUES LESS THAN (10),
SUBPARTITION SUB2 VALUES LESS THAN (20),
SUBPARTITION SUB3 VALUES EQU OR LESS THAN (MAXVALUE)
)
(
PARTITION P1 VALUES ('湖北','湖南'),
PARTITION P2 VALUES ('北京','上海'),
PARTITION P3 VALUES ('山东','山西')
);
(七)
达梦数据库安装完成后,数据库会默认创建5个表空间,分别为:SYSTEM表空间(系统表空间)、ROLL表空间(回滚表空间)、TEMP表空间(临时表空间)、MAIN表空间(用户表空间)、HMAIN表空间(默认HTS表空间)。
其中SYSTEM表空间是系统表空间,存储有数据字典信息,用户数据不能存放在该表空间上;
ROLL表空间是回滚表空间,存放了数据库运行过程中产生的回滚记录;
TEMP表空间是临时表空间,存放临时数据,临时表默认都存放在临时表空间上;
MAIN表空间是数据库默认的表空间,创建数据对象时,如果不指定存储位置,默认存放到该表空间。
ROLL,TEMP和HMAIN表空间,由系统自动维护,不需要用户干预。初始的MAIN表空间为用户默认表空间。表空间只是一种逻辑结构,对应的物理存储结构为数据文件。
(八)
达梦操作默认事务不提交,需要手动提交。
(九)
表空间是一个逻辑结构,对应数据文件为物理结构,DM中将数据的所有对象在逻辑上都存放在表空间中,而物理上都存储在所属表空间的数据文件中。
(十一)DM中的管理员用户:
数据库管理员SYSDBA、数据库安全员SYSSSO、数据库审计员SYSAUDITOR、数据库对象操作员SYSDBO
达梦数据库采用三权分立或四权分立的安全机制,将系统中所有权限按照功能进行划分,为每个管理员分配相应的权限,各自的用户仅能做自己权限以内的事,且各用户之前能够相互监督,创建数据库时可以通过参数PRIV_FLAG设置三权分立或四权分立,仅DM安全版提供四权分立机制。
四权分立比三权分立多一个数据库对象操作员。
manager新建管理用户,可以指定使用表空间,未指定时默认使用main表空间:
(十二)权限管理
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用户创建表的权限,允许转授:
(十三)角色管理
角色是一组权限的组合,DM中包含预定义的角色(SYSDBA、SYSAUDITOR、SYSSSO、SYSDBO)和用户自定义的角色,预定义角色包含部分权限,管理员可以将角色直接授予给用户,自定义角色则需在创建后手动赋予权限,然后将该角色授予给需要的用户。
当用户较多时,将用户所需的共同权限授予给角色,然后直接将角色授予给这些用户,就不需要为每一个用户授予一次相同权限,在使用角色的过程中,可以随时修改角色权限,相应用户权限也随之改变,如果要回收所有权限,只需将角色从用户回收即可。
https://blog.csdn.net/suyishuai/article/details/120912724
https://blog.csdn.net/wangjin840211/article/details/111312323
https://blog.csdn.net/wxq1212/article/details/127386689
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
加入交流群
请使用微信扫一扫!