达梦表空间介绍 & 用户默认表空间

文章描述了如何在disqlV8环境中通过SQL命令创建新用户TEST_USER,并查看系统表空间V$TABLESPACE和dba_users的信息,包括默认表空间。
部署运行你感兴趣的模型镜像

达梦数据库创建用户及相关操作详解

在达梦数据库中,创建用户是数据库管理的基础操作之一,它涉及到用户身份的定义、权限的分配以及相关系统信息的查询。以下将详细介绍创建用户的过程,并结合提供的代码和图片进行全面解读。

一、创建用户步骤

  1. 登录数据库:使用disql工具登录到达梦数据库V8版本。disql是达梦数据库提供的命令行交互工具,用于执行SQL语句和管理数据库。
disql V8
  1. 执行创建用户语句:登录成功后,在SQL命令行中执行创建用户的语句。
CREATE USER TEST_USER IDENTIFIED BY TEST_PASSWORD;

这条语句创建了一个名为TEST_USER的用户,并设置其密码为TEST_PASSWORD。执行结果显示:

操作已执行
已用时间: 5.135(毫秒). 执行号:8896200.

表明用户创建操作成功完成,且记录了操作执行所花费的时间和执行号。
在这里插入图片描述

二、查看相关系统信息

  1. 查看表空间信息:创建用户后,通常需要了解数据库的表空间情况,因为用户的数据会存储在表空间中。使用以下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、名称、缓存情况、类型、状态、最大大小、总大小、文件数量、加密相关信息以及已使用大小等。通过这些信息,可以了解数据库的存储布局和资源分配情况。

  1. 查看用户信息:为了确认用户是否创建成功以及查看用户的详细属性,使用以下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 数据库内部,所有的数据文件组合在一起被划分到一个或者多个表空间中,所有的数据库内部对象都存放在这些表空间中。同时,表空间被进一步划分为段、簇和页(也称块)。通过这种细分,可以使得 DM 数据库能够更加高效地控制磁盘空间的利用率。图 1.1 显示了这些数据结构之间的关系。

在这里插入图片描述

可以看出,在 DM8 中存储的层次结构如下:

数据库由一个或多个表空间组成;
每个表空间由一个或多个数据文件组成;
每个数据文件由一个或多个簇组成;
段是簇的上级逻辑单元,一个段可以跨多个数据文件;
簇由磁盘上连续的页组成,一个簇总是在一个数据文件中;
页是数据库中最小的分配单元,也是数据库中使用的最小的 IO 单元。

在这里插入图片描述

Oracle空间管理
在这里插入图片描述

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

<think>好的,我现在需要帮助用户了解如何在达梦数据库中查看某个用户默认表空间和默认索引表空间。首先,我需要回忆达梦数据库的相关系统视图和SQL语句。达梦数据库通常使用类似于Oracle的数据字典视图,所以可能涉及DBA_USERS这样的视图。 用户之前询问过调整表空间大小的问题,现在的问题是关于查看用户默认表空间设置。我需要确保回答准确且步骤清晰。首先,可能需要查询系统视图,比如DBA_USERS或USER_USERS,这些视图通常包含用户信息,包括默认表空间和临时表空间。 接下来,我需要确认达梦数据库的系统视图是否与Oracle类似。根据之前的回答,用户提到了DBA_DATA_FILES,这可能意味着达梦确实有类似的系统视图。例如,DBA_USERS视图可能包含DEFAULT_TABLESPACE和DEFAULT_INDEX_TABLESPACE字段,或者可能有不同的字段名称。 另外,用户可能需要知道如何连接到数据库,是否需要管理员权限才能查看这些信息。比如,使用SYSDBA账号登录,或者需要特定的权限如SELECT ANY DICTIONARY权限。 还需要考虑用户可能的操作环境,比如是否使用命令行工具disql,或者图形界面管理工具。但通常这类查询是通过SQL语句完成的。 可能需要分步骤说明,首先登录数据库,然后执行查询语句,例如SELECT DEFAULT_TABLESPACE, DEFAULT_INDEX_TABLESPACE FROM DBA_USERS WHERE USERNAME='用户'; 这里需要注意的是用户名的大小写问题,可能需要用大写,或者数据库是否区分大小写。 此外,是否需要替换用户名,比如用具体的用户名替换,或者给出示例。同时,提醒用户如果不知道所有用户,可以先查询DBA_USERS视图中的USERNAME字段,找到对应的用户。 还要考虑是否有其他方法,比如通过系统函数或存储过程来获取这些信息,但通常查询系统视图是最直接的方式。 可能还需要解释默认表空间和默认索引表空间的作用,帮助用户理解这两个概念的区别。例如,默认表空间用户创建对象时默认存储的表空间,而默认索引表空间则是存储索引的位置。 另外,如果用户没有指定默认表空间,数据库可能会有默认设置,比如使用SYSTEM表空间,这可能存在性能或管理上的问题,需要提醒用户注意。 在确认SQL语句正确性方面,可能需要测试或引用达梦官方文档,确保语句在达梦数据库中有效。例如,达梦的DBA_USERS是否包含这些字段,或者是否有不同的视图名称。 最后,确保回答结构清晰,步骤明确,用户能够按照指导进行操作,并且注意事项部分涵盖常见问题,比如权限、用户名大小写等。</think>在达梦数据库(DM Database)中,用户默认表空间(DEFAULT TABLESPACE)和默认索引表空间(DEFAULT INDEX TABLESPACE)可以通过查询系统视图 **`DBA_USERS`** 获取。以下是具体操作步骤及说明: --- ### **一、查看用户默认表空间和索引表空间** #### **步骤1:连接到数据库** 使用具有 **`DBA` 权限** 的用户(如 `SYSDBA`)登录数据库: ```sql -- 通过 disql 或其他客户端工具登录 disql SYSDBA/SYSDBA_PASSWORD@IP:PORT ``` #### **步骤2:执行查询语句** 查询 **`DBA_USERS`** 视图,筛选目标用户信息: ```sql SELECT USERNAME, DEFAULT_TABLESPACE, -- 默认表空间 DEFAULT_INDEX_TABLESPACE -- 默认索引表空间 FROM DBA_USERS WHERE USERNAME = '目标用户'; -- 替换为实际用户名(需大写) ``` **示例**: ```sql -- 查看用户 TEST_USER 的默认表空间和索引表空间 SELECT USERNAME, DEFAULT_TABLESPACE, DEFAULT_INDEX_TABLESPACE FROM DBA_USERS WHERE USERNAME = 'TEST_USER'; ``` **输出结果示例**: ``` USERNAME DEFAULT_TABLESPACE DEFAULT_INDEX_TABLESPACE ----------------------------------------------------------- TEST_USER USER_DATA IDX_DATA ``` --- ### **二、注意事项** 1. **用户名大小写敏感**: - 达梦数据库默认 **区分对象名大小写**,查询时需确保 `USERNAME` 值与实际用户名完全一致(通常需大写)。 2. **权限要求**: - 若当前用户无权限查询 `DBA_USERS`,需先授予权限: ```sql GRANT SELECT ON DBA_USERS TO 当前用户; ``` 3. **默认表空间的作用**: - **默认表空间**:用户创建表、索引等对象时,若未显式指定表空间,则存储在此表空间中。 - **默认索引表空间**:用户创建索引时,若未显式指定表空间,则存储在此表空间中。 4. **默认值说明**: - 若用户未显式指定默认表空间或索引表空间,系统可能使用 **`MAIN`**(主表空间)或 **`SYSTEM`**(系统表空间)作为默认值,但需根据实际配置验证。 --- ### **三、其他相关查询** #### **1. 查看所有用户默认表空间** ```sql SELECT USERNAME, DEFAULT_TABLESPACE, DEFAULT_INDEX_TABLESPACE FROM DBA_USERS; ``` #### **2. 查看表空间详细信息** 通过 **`DBA_TABLESPACES`** 确认表空间状态、类型等: ```sql SELECT TABLESPACE_NAME, STATUS, CONTENTS FROM DBA_TABLESPACES; ``` #### **3. 查看用户表空间的关联** 通过 **`DBA_SEGMENTS`** 查看用户实际使用表空间: ```sql SELECT OWNER, SEGMENT_NAME, TABLESPACE_NAME FROM DBA_SEGMENTS WHERE OWNER = '目标用户'; ``` --- ### **四、修改用户默认表空间** 若需调整用户默认表空间或索引表空间,可使用 `ALTER USER` 命令: ```sql ALTER USER 用户名 DEFAULT TABLESPACE 新表空间名 DEFAULT INDEX TABLESPACE 新索引表空间名; ``` **示例**: ```sql -- 将 TEST_USER 的默认表空间改为 USER_DATA2,索引表空间改为 IDX_DATA2 ALTER USER TEST_USER DEFAULT TABLESPACE USER_DATA2 DEFAULT INDEX TABLESPACE IDX_DATA2; ``` --- ### **总结** 通过查询 **`DBA_USERS`** 视图,可快速定位用户默认表空间和索引表空间。注意权限、用户名大小写及默认表空间的实际用途,必要时通过 `ALTER USER` 调整配置以优化存储管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值