达梦操作手记

进入数据库:

切换到dmdba用户进入DM数据库的安装目录

su - dmdba 

cd dmdbms/bin

./disql
#输入账号
#输入密码

1. 库(表空间)管理

操作

命令

查看所有库

SELECT * FROM V$TABLESPACE;
(显示所有表空间信息)

创建库

CREATE TABLESPACE <表空间名> DATAFILE '<文件路径>.dbf' SIZE <大小>;
示例:CREATE TABLESPACE tbs1 DATAFILE '/dmdata/tbs1.dbf' SIZE 128;

删除库

DROP TABLESPACE <表空间名>;
(需先删除表空间内所有对象或迁移数据)


2. 用户管理

操作

命令

查看所有用户

SELECT USERNAME, ACCOUNT_STATUS FROM DBA_USERS;

创建用户

CREATE USER <用户名> IDENTIFIED BY "<密码>" DEFAULT TABLESPACE <表空间名>;
示例:CREATE USER user1 IDENTIFIED BY "Pass123!" DEFAULT TABLESPACE tbs1;

删除用户

DROP USER <用户名> CASCADE;
CASCADE 表示同时删除用户所有对象)


3. 用户授权

操作

命令

授予权限

GRANT <权限> TO <用户名>;
示例:
- 连接权限:GRANT CREATE SESSION TO user1;
- 建表权限:GRANT CREATE TABLE TO user1;
- DML权限:GRANT SELECT, INSERT, UPDATE, DELETE ON 模式名.表名 TO user1;

授予角色

GRANT RESOURCE TO user1;
RESOURCE 角色包含建表、索引等基础权限)

撤销权限

REVOKE <权限> FROM <用户名>;
示例:REVOKE CREATE TABLE FROM user1;

查看用户权限

SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='<用户名>';


关键说明

  1. 库即表空间:达梦中"库"对应逻辑概念表空间TABLESPACE),实际存储由数据文件(.dbf)实现。

  2. 用户与权限

    • 用户创建后需授权 CREATE SESSION 才能连接数据库。

    • RESOURCE 是内置角色(含建表、索引等权限),通常需分配给普通用户。

  3. 权限层级

    • 系统权限(如 CREATE TABLE)用 GRANT ... TO ...

    • 对象权限(如表级DML)用 GRANT ... ON 模式.表名 TO ...


常用示例流程

-- 创建表空间
CREATE TABLESPACE tbs_data DATAFILE '/dmdata/tbs_data01.dbf' SIZE 1024;

-- 创建用户并指定默认表空间
CREATE USER demo_user IDENTIFIED BY "Demo@123" DEFAULT TABLESPACE tbs_data;

-- 授予基础权限
GRANT CREATE SESSION, CREATE TABLE TO demo_user;  -- 连接+建表权限
GRANT RESOURCE TO demo_user;                     -- 附加资源权限

-- 授权访问某张表
GRANT SELECT, INSERT ON HR.employees TO demo_user;

-- 删除用户及所有对象
DROP USER demo_user CASCADE;

-- 删除表空间(需先确保无数据)
DROP TABLESPACE tbs_data;

⚠️ 执行删除操作前请确认影响范围!生产环境建议提前备份。


达梦操作手记
https://www.gmqgmq.cn//archives/da-meng-cao-zuo-shou-ji
作者
啊耿不累
发布于
2025年06月25日
许可协议