[数据库] 达梦数据库建表空间建用户建数据库(命令行操作)

132 0
Honkers 2025-3-13 02:09:01 来自手机 | 显示全部楼层 |阅读模式

一、创建表空间

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,其它默认,示例如下:

  1. 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 KB1938204716/8388608
8 KB3878409532/16777216
16 KB8000819564/33554432
32 KB818816176128/67108864

页大小在初始化数据库时设置,详见配置实例-数据库初始化参数章节。

4.修改表空间

可根据项目需要,修改表空间文件、路径、大小、是否自动扩充、扩充上限等信息,

命令行修改表空间,打开自动扩展,每次自动扩展 100M ,扩展上限 10240M,参考示例如下:

  1. 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 加密算法。使用命令行方式创建示例表空间如下:

  1. 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” 权限。示例参考如下:

  1. create user "DMTEST" identified by "Dameng@123" hash with SHA512 salt
  2. encrypt by "123456"
  3. default tablespace "DMTEST"
  4. default index tablespace "DMTEST";
复制代码

        注:这几行代码需要放一行执行!!!

  1. grant "PUBLIC","RESOURCE","SOI" to "DMTEST";
复制代码

 注:授权有 DBA,PUBLIC,RESOURCE,SOI,SVI,VIT ;

1. DBA(Database Administrator)

  • 定义:DBA是数据库管理员的缩写,具备数据库中的最高级别权限。
  • 权限内容:DBA几乎拥有创建数据库的所有权限,包括创建新的数据库、管理用户权限、备份和恢复数据库、监控和优化数据库性能、管理数据库的安全性和完整性等。DBA可以创建数据库实例、数据库表、数据库对象等,并管理所有用户和他们的权限。
  • 作用:DBA是数据库系统的核心管理者,负责确保数据库的正常运行和安全性。

2. PUBLIC

  • 定义:PUBLIC是一个特殊的角色,它代表数据库中的所有用户。
  • 权限内容:PUBLIC角色具有一些基本的、默认的权限,主要是对自己模式下操作数据的权限。但需要注意的是,PUBLIC角色本身并不直接授予用户创建数据库对象或执行高级管理操作的权限。
  • 作用:PUBLIC角色提供了一种统一的管理方式,使得数据库管理员可以为所有用户设置一些基本的、共通的权限。

3. RESOURCE

  • 定义:RESOURCE是一个预定义的角色,用于管理数据库对象。
  • 权限内容:RESOURCE角色具有在自己模式下创建表、视图等对象的权限,也具有操作自己模式下对象数据的权限。但是,它不能创建数据库结构,如数据库实例或数据库本身。
  • 作用:RESOURCE角色为普通用户提供了在数据库中进行日常操作所需的权限,如数据录入、查询等。

4. SOI(System Object Inspector)

  • 定义:SOI是一个特殊的角色,用于查询系统表。
  • 权限内容:SOI角色具有查询系统表(通常是SYS开头的表)的权限。这些系统表包含了数据库的元数据信息,如数据库结构、对象定义等。
  • 作用:SOI角色允许用户查询数据库的元数据信息,有助于了解数据库的结构和对象定义。

5. SVI 和 VIT

  • 注意:在达梦数据库的官方文档和常见资料中,SVI和VIT并不是标准的预定义角色。这可能是因为它们是在特定环境或版本中自定义的角色,或者是用户误将其他角色名称(如VTI)与SVI和VIT混淆。
  • 建议:如果SVI和VIT是在您的数据库环境中自定义的角色,那么它们的权限将取决于创建这些角色时所赋予的权限。建议查阅相关的数据库角色配置文档或联系数据库管理员以获取准确信息。

6. VTI(View Table Inspector)

  • 定义(基于您提到的可能混淆):虽然VTI不是达梦数据库的标准预定义角色,但根据一些资料,它可能代表具有查询动态视图相关权限的角色。
  • 权限内容:如果VTI确实存在且代表这样的角色,那么它将具有查询系统动态视图的权限。动态视图通常包含数据库的实时状态信息,如性能统计、执行计划等。
  • 作用:VTI角色允许用户查询数据库的实时状态信息,有助于进行性能调优和故障排查。

综上所述,DBA、PUBLIC、RESOURCE和SOI是达梦数据库中常见的预定义角色,它们各自具有不同的权限和作用。而SVI和VIT可能是特定环境或版本中的自定义角色,或者是其他角色的误称。对于VTI角色,虽然它不是标准预定义角色,但根据描述可能代表具有查询动态视图权限的角色。

三、创建数据库对象

一、创建表

在模式 DMTEST 下创建表 SYS_ROLE,并插入数据。示例语句如下所示:

切换到DMTEST用户下

  1. CREATE TABLE   "SYS_ROLE"
  2. (
  3. "ROLE_ID" INT IDENTITY(1, 1) NOT NULL,
  4. "ROLE_NAME" VARCHAR(200) NOT NULL,
  5. "ROLE_CODE" VARCHAR(200) NOT NULL,
  6. "COMMENTS" VARCHAR(400),
  7. "DELETED" INT DEFAULT 0 NOT NULL,
  8. "TENANT_ID" INT DEFAULT 1 NOT NULL,
  9. "CREATE_TIME" TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP NOT NULL,
  10. "UPDATE_TIME" TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP NOT NULL,
  11. NOT CLUSTER PRIMARY KEY("ROLE_ID"))   ;
  12. COMMENT ON TABLE "SYS_ROLE" IS '角色';
  13. COMMENT ON COLUMN   "SYS_ROLE"."COMMENTS" IS '备注';
  14. COMMENT ON COLUMN   "SYS_ROLE"."CREATE_TIME" IS '创建时间';
  15. COMMENT ON COLUMN   "SYS_ROLE"."DELETED" IS '是否删除, 0否, 1是';
  16. COMMENT ON COLUMN   "SYS_ROLE"."ROLE_CODE" IS '角色标识';
  17. COMMENT ON COLUMN   "SYS_ROLE"."ROLE_ID" IS '角色id';
  18. COMMENT ON COLUMN   "SYS_ROLE"."ROLE_NAME" IS '角色名称';
  19. COMMENT ON COLUMN   "SYS_ROLE"."TENANT_ID" IS '租户id';
  20. COMMENT ON COLUMN   "SYS_ROLE"."UPDATE_TIME" IS '修改时间';
  21. 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');
复制代码


 

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Honkers

精英红客

关注
  • 1974
    主题
  • 35
    粉丝
  • 0
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行