达梦数据库创建用户及相关操作详解
在达梦数据库中,创建用户是数据库管理的基础操作之一,它涉及到用户身份的定义、权限的分配以及相关系统信息的查询。以下将详细介绍创建用户的过程,并结合提供的代码和图片进行全面解读。
一、创建用户步骤
- 登录数据库:使用
disql
工具登录到达梦数据库V8版本。disql
是达梦数据库提供的命令行交互工具,用于执行SQL语句和管理数据库。
disql V8
- 执行创建用户语句:登录成功后,在SQL命令行中执行创建用户的语句。
CREATE USER TEST_USER IDENTIFIED BY TEST_PASSWORD;
这条语句创建了一个名为TEST_USER
的用户,并设置其密码为TEST_PASSWORD
。执行结果显示:
操作已执行
已用时间: 5.135(毫秒). 执行号:8896200.
表明用户创建操作成功完成,且记录了操作执行所花费的时间和执行号。
二、查看相关系统信息
- 查看表空间信息:创建用户后,通常需要了解数据库的表空间情况,因为用户的数据会存储在表空间中。使用以下SQL语句查询表空间信息:
SELECT * FROM V$TABLESPACE;
执行结果如下:
行号 ID NAME CACHE TYPE$ STATUS$ MAX_SIZE TOTAL_SIZE FILE_NUM ENCRYPT_NAME ENCRYPTED_KEY COPY_NUM SIZE_MODE OPT_NODE USED_SIZE
---------- ----------- ------ ----- ----------- ----------- -------------------- -------------------- ----------- ------------ ------------- ----------- --------- ----------- --------------------
1 0 SYSTEM 1 0 0 3328 1 NULL NULL NULL NULL NULL 2208
2 1 ROLL 1 0 0 16384 1 NULL NULL NULL NULL NULL 2800
3 3 TEMP 2 0 0 1280 1 NULL NULL NULL NULL NULL 16
4 4 MAIN 1 0 0 16384 1 NULL NULL NULL NULL NULL 16
该结果展示了每个表空间的详细信息,包括表空间ID、名称、缓存情况、类型、状态、最大大小、总大小、文件数量、加密相关信息以及已使用大小等。通过这些信息,可以了解数据库的存储布局和资源分配情况。
- 查看用户信息:为了确认用户是否创建成功以及查看用户的详细属性,使用以下SQL语句查询用户信息:
select username,user_id,default_tablespace,profile from dba_users;
执行结果显示:
行号 USERNAME USER_ID DEFAULT_TABLESPACE PROFILE
---------- ---------- ----------- ------------------ ------------------------------------
1 SYSAUDITOR 50331650 SYSTEM /opt/dmdbms/dmdata/DAMENG/SYSTEM.DBF
2 SYSSSO 50331651 SYSTEM /opt/dmdbms/dmdata/DAMENG/SYSTEM.DBF
3 SYSDBA 50331649 MAIN /opt/dmdbms/dmdata/DAMENG/MAIN.DBF
4 TEST_USER 50331748 MAIN /opt/dmdbms/dmdata/DAMENG/MAIN.DBF
5 SYS 50331648 SYSTEM /opt/dmdbms/dmdata/DAMENG/SYSTEM.DBF
从结果中可以看到,新创建的TEST_USER
用户已经存在于系统中,并且显示了其用户ID、默认表空间和配置文件等信息。这表明用户创建操作成功,并且用户的相关属性已正确记录在系统中。
三、说明
四、逻辑存储结构
DM 数据库为数据库中的所有对象分配逻辑空间,并存放在数据文件中。在 DM 数据库内部,所有的数据文件组合在一起被划分到一个或者多个表空间中,所有的数据库内部对象都存放在这些表空间中。同时,表空间被进一步划分为段、簇和页(也称块)。通过这种细分,可以使得 DM 数据库能够更加高效地控制磁盘空间的利用率。图 1.1 显示了这些数据结构之间的关系。
可以看出,在 DM8 中存储的层次结构如下:
数据库由一个或多个表空间组成;
每个表空间由一个或多个数据文件组成;
每个数据文件由一个或多个簇组成;
段是簇的上级逻辑单元,一个段可以跨多个数据文件;
簇由磁盘上连续的页组成,一个簇总是在一个数据文件中;
页是数据库中最小的分配单元,也是数据库中使用的最小的 IO 单元。