达梦数据库建表空间建用户建数据库(命令行操作)
一、创建表空间
1.切换用户dmdba (用户创建在:达梦数据库安装https://blog.csdn.net/m0_69815481/article/details/140716696?spm=1001.2014.3001.5502)
su – dmdba
2.进入数据库系统用户SYSDBA下操作
cd dmdbms/bin
./disql
输入用户名密码即可进入
3.创建表空间
使用SYSDBA用户登录后,首先先创建表空间,由于给存储表
使用命令创建表空间 DMTEST, 指定数据库文件为 '/dmdata/data/DAMENG/DMTEST.DBF',初始大小为 128M,其它默认,示例如下:
create tablespace "DMTEST" datafile '/dmdata/data/DAMENG/DMTEST.DBF' size 128 ;
注:/dmdata/data文件夹权限已在创建dmdba用户时给过了
添加的数据文件大小最小为 4096*页大小,如页大小为 8K,则可添加的文件最小值为 4096*8k=32M。上图中文件最小为 128 MB,对应页大小为 32 KB。
初始化页大小的选择不仅影响表空间数据文件的大小选择,也会对表中每个字段及每条记录产生限制,如下表所示:
数据库页大小 | 每个字符类型字段实际最大长度(字节) | 每行记录最大字段外其他字段总长度(字节) | 表空间单个数据文件最小 (MB)/最大 (MB) |
---|---|---|---|
4 KB | 1938 | 2047 | 16/8388608 |
8 KB | 3878 | 4095 | 32/16777216 |
16 KB | 8000 | 8195 | 64/33554432 |
32 KB | 8188 | 16176 | 128/67108864 |
页大小在初始化数据库时设置,详见配置实例-数据库初始化参数章节。
4.修改表空间
可根据项目需要,修改表空间文件、路径、大小、是否自动扩充、扩充上限等信息,
命令行修改表空间,打开自动扩展,每次自动扩展 100M ,扩展上限 10240M,参考示例如下:
alter tablespace "DMTEST" datafile '/dmdata/data/DAMENG/DMTEST.DBF' autoextend on next 100 maxsize 10240;
自动扩展默认为打开状态,每次自动扩展大小和扩展上限请根据实际业务需求设置。
5.设置加密算法,密码
可根据项目需要,设置加密算法、加密密码等信息,该设置均可为空
创建表空间 DMTEST, 指定数据库文件为 '/dmdata/data/DAMENG/DMTEST.DBF',初始大小为 128M,打开自动扩展,每次自动扩展 100M ,扩展上限 10240M,使用 RC4 加密算法。使用命令行方式创建示例表空间如下:
create tablespace "DMTEST" datafile '/dmdata/data/DAMENG/DMTEST.DBF' size 128 autoextend on next 100 maxsize 10240 CACHE = NORMAL encrypt with RC4;
二、创建用户
1.新建用户
使用 SYSDBA 用户登录
使用命令行方式创建用户 DMTEST,密码 “Dameng@123”,使用散列算法 SHA512 ,使用存储加密密钥为 “123456”(可选择不加),指定表空间为 DMTEST,索引表空间为 DMTEST,授予 “PUBLIC”,"RESOURCE" 和 “SOI” 权限。示例参考如下:
create user "DMTEST" identified by "Dameng@123" hash with SHA512 salt
encrypt by "123456"
default tablespace "DMTEST"
default index tablespace "DMTEST";
注:这几行代码需要放一行执行!!!
grant "PUBLIC","RESOURCE","SOI" to "DMTEST";
注:授权有 DBA,PUBLIC,RESOURCE,SOI,SVI,VIT ;
1. DBA(Database Administrator)
2. PUBLIC
3. RESOURCE
4. SOI(System Object Inspector)
5. SVI 和 VIT
6. VTI(View Table Inspector)
综上所述,DBA、PUBLIC、RESOURCE和SOI是达梦数据库中常见的预定义角色,它们各自具有不同的权限和作用。而SVI和VIT可能是特定环境或版本中的自定义角色,或者是其他角色的误称。对于VTI角色,虽然它不是标准预定义角色,但根据描述可能代表具有查询动态视图权限的角色。
三、创建数据库对象
一、创建表
在模式 DMTEST 下创建表 SYS_ROLE,并插入数据。示例语句如下所示:
切换到DMTEST用户下
CREATE TABLE "SYS_ROLE"
(
"ROLE_ID" INT IDENTITY(1, 1) NOT NULL,
"ROLE_NAME" VARCHAR(200) NOT NULL,
"ROLE_CODE" VARCHAR(200) NOT NULL,
"COMMENTS" VARCHAR(400),
"DELETED" INT DEFAULT 0 NOT NULL,
"TENANT_ID" INT DEFAULT 1 NOT NULL,
"CREATE_TIME" TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP NOT NULL,
"UPDATE_TIME" TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP NOT NULL,
NOT CLUSTER PRIMARY KEY("ROLE_ID")) ;
COMMENT ON TABLE "SYS_ROLE" IS '角色';
COMMENT ON COLUMN "SYS_ROLE"."COMMENTS" IS '备注';
COMMENT ON COLUMN "SYS_ROLE"."CREATE_TIME" IS '创建时间';
COMMENT ON COLUMN "SYS_ROLE"."DELETED" IS '是否删除, 0否, 1是';
COMMENT ON COLUMN "SYS_ROLE"."ROLE_CODE" IS '角色标识';
COMMENT ON COLUMN "SYS_ROLE"."ROLE_ID" IS '角色id';
COMMENT ON COLUMN "SYS_ROLE"."ROLE_NAME" IS '角色名称';
COMMENT ON COLUMN "SYS_ROLE"."TENANT_ID" IS '租户id';
COMMENT ON COLUMN "SYS_ROLE"."UPDATE_TIME" IS '修改时间';
INSERT INTO SYS_ROLE(role_name,role_code,comments,deleted,tenant_id,create_time,update_time) VALUES ('管理员', 'admin', '管理员', 0, 1, '2020-02-26 15:18:37', '2020-03-21 15:15:54');
作者:松香如墨