达梦数据库常用对象管理

刚开始接触达梦数据库这一课程我并不知道它是做什么用的,以及学的是什么又有什么用,说实话,直到现在我对它的了解也只是一些皮毛而已。

达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。而DM的版本也很多,有:个人版 Personal Edition、标准版 Standard Edition、企业版 Enterprise Edition、安全版 Security Edition,大家可根据自己的需求进行安装。

而今天我们要探讨的是用户、模式及表空间。

用户分为:预定义用户(SYS、SYSDBA、SYSAUDITOR、SYSSSO、SYSDBO)和自定义用户(也就是自己创建的用户)。

创建用户

1.点击用户,再点击用户下的管理用户,单击右键,选择新建用户

2.填写用户名,用户名由字母a~z开头、数字0~9、$#_组成,其长度不应超过128个字符,密码自行定义,权限设置根据需求进行。最后点击确定,最基础的用户创建也就完成了。

使用SQL语言进行创建:

CREATE USER 用户名 identified by "密码";

3.若要修改用户,选择要修改的用户单击右键,选择修改即可。

使用SQL命令进行修改:

ALTER USER 用户名 identified by "密码";

4.删除用户 ,选择要删除的用户单击右键,选择删除即可。

使用SQL命令进行删除:

DROP USER 用户名;

模式的定义:模式是一个特定的对象集合,在概念上可将其看作是包含表、视图、索引等若干对象的对象集。

模式对象:表、视图、约束、索引、序列、触发器、存储过程/函数、包、同义词、类、域。

模式与用户之间的关系:当系统建立一个用户时,会自动生成一个对应的模式用户,还可以建立其他模式。

权限管理

用户:使用者在数据库中的身份

权限:数据库系统可以授予操作者的最小权力单位

角色:组权限的集合,使用角色的目的是使权限管理更加方便

权限有系统权限和对象权限

授予/撤销系统权限SQL命令:

grant CREATE TABLE to 用户名;
revoke CREATE TABLE from 用户名;

授予/撤销对象权限:

grant SELECT on 对象.系统表 to 用户名;
revoke SELECT on 对象.系统表 from 用户名;

创建角色:

create role 角色名;
grant 系统权限 to 角色名;
grant 角色名 to 用户名;

删除角色:

drop role 角色名;

创建模式

1.单击右键,选择新建模式,如下图所示:

2.单击完成后将出现下面的图片:

 根据图片中的信息进行填写,最后单击确定即可。

当然,也可以使用SQL命令进行模式创建。语法如下:

CREATE SCHEMA "library00" AUTHORIZATION "SYSDBA";

"library00"为模式名,你也可以另起,"SYSDBA"是我选择的用户,你可以根据自己的情况进行选择。

输入完成后,选择此语句,点击""即可。

注意:一个用户可以拥有多个模式,一个模式只能属于一个用户!

删除模式:

DROP SCHEMA 模式名;

注:

  1. 被删除模式必须是当前数据库中已经存在的模式;
  2. 执行删除模式的用户必须具有DBA权限,或者是该模式的所有者。

创建表空间

DM8常用的表空间有SYSTEM、ROLL、MAIN、TEMP、HMAIN。

下面我们使用SQL命令创建表空间:

CREATE TABLESPACE "表空间名" datafile '文件路径' size 文件大小;

注:在SQL命令中,文件大小的单位默认为MB,在命令中只写数据文件大小的阿拉伯数字即可。

创建表空间时需注意:

  1. 创建表空间的用户必须具有创建表空间的权限,一般登录具有DBA权限的用户账号进行创建、修改。删除等表空间管理活动;
  2. 一个表空间最多可以拥有256个数据文件;
  3. 表空间名在服务器中必须唯一。

修改表空间:

ALTER TABLESPACE 表空间名 ADD DATAFILE '文件路径' size 128;

这是给表空间增加数据文件,大小为128MB;

重命名文件数据时,必须先将数据文件设置为离线状况,然后才能重命名文件。

1.设置数据文件离线:

ALTER TABLESPACE 表空间名 OFFLINE;

2.修改数据文件名:

ALTER TABLESPACE 表空间名 RENAME DATAFILE '原文件路径' TO '修改的文件路径';

3.设置数据文件在线:

ALTER TABLESPACE 表空间名 ONLINE;

而删除表空间就更简单了:

DROP TABLESPACE 表空间名;

删除表空间要注意:

  1. SYSTEM、RLOG、ROLL和TEMP等表空间不允许被删除;
  2. 删除表空间的用户必须具有删除表空间的权限,一般登录具有DBA权限的用户账号进行创建、修改、删除等表空间管理活动;
  3. 系统在处于SUSPEND或MOUNT状态下不允许删除表空间,系统只有在处于OPEN状态下才允许删除表空间;
  4. 如果表空间中存放了数据对象,则不允许删除表空间;如果确实要删除表空间,则必须先删除表空间中的数据对象。

以上就是我对达梦数据库中用户、模式、表空间的一些了解,若以上存在任何错误欢迎纠错。

<think>好的,我需要帮用户介绍达梦数据库常用指令。首先,我需要回忆达梦数据库的基本知识,达梦是基于SQL的,所以很多指令和标准SQL类似,但也有一些特有的命令和管理工具。 用户可能想知道如何连接数据库,所以得包括登录命令,比如使用disql工具。然后,常见的数据库操作,比如创建用户、修改密码、授予权限,这些是基本权限管理,必须涵盖。 接下来是数据库和表空间的管理,比如创建数据库、表空间,调整参数。用户可能需要知道如何查看当前数据库的信息,比如版本,所以需要SELECT语句查询V$INSTANCE等动态视图。 备份和恢复也是关键部分,达梦有物理备份和逻辑备份,比如使用dmrman工具进行全备和恢复。逻辑导出导入可以用dexp和dimp,这些命令的参数需要简要说明。 另外,用户可能对作业调度和性能监控感兴趣,比如创建作业、查看锁信息、监控会话等。这些属于高级管理,但常用指令还是需要提到。 需要注意的是,达梦的某些命令可能在SQL环境下执行,而有些则是命令行工具,要区分清楚。比如disql是命令行客户端,而备份恢复可能用dmrman或SQL语句。 还要检查是否需要提到系统函数和存储过程,比如调用SP_TABLEDEF查看表结构。这部分对用户维护数据库结构很有帮助。 最后,确保指令格式正确,使用代码块包裹,并按照用户要求的格式分门别类,结构清晰。可能需要分几个部分:连接数据库、用户权限管理数据库对象管理、备份恢复、系统信息查询、其他常用指令等。 需要验证每个命令的正确性,比如创建用户的语法是否正确,授权语句是否准确。例如,创建用户应该是CREATE USER...IDENTIFIED BY,授权是GRANT ... TO ...。 另外,注意达梦数据库的版本差异,有些命令可能在不同版本中有变化,但用户可能使用的是最新稳定版,所以应基于常见版本来给出指令。 最后,加上注意事项,提醒用户根据实际情况调整参数,如目录路径、用户名等,以及强调权限管理和备份的重要性。这样用户在使用时会更安全,避免误操作。</think>达梦数据库常用指令可分为以下几类,以下内容基于达梦8版本整理: ### 一、连接与退出数据库 ```sql -- 使用disql命令行工具连接 disql 用户名/密码@IP地址:端口号 -- 示例:连接本地默认端口 disql SYSDBA/SYSDBA@localhost:5236 -- 退出disql exit; ``` ### 二、用户与权限管理 ```sql -- 创建用户 CREATE USER TESTUSER IDENTIFIED BY "Dameng123"; -- 修改密码 ALTER USER TESTUSER IDENTIFIED BY "NewPassword123"; -- 授予权限 GRANT CREATE TABLE TO TESTUSER; GRANT SELECT ON DMHR.EMPLOYEE TO TESTUSER; -- 查看用户权限 SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='TESTUSER'; ``` ### 三、数据库对象管理 ```sql -- 创建表空间 CREATE TABLESPACE TS1 DATAFILE 'TS1.DBF' SIZE 128; -- 创建表 CREATE TABLE TESTTABLE ( ID INT PRIMARY KEY, NAME VARCHAR(50) ) TABLESPACE TS1; -- 查看表结构 SP_TABLEDEF('SYSDBA', 'TESTTABLE'); -- 重建索引 ALTER INDEX IDX_EMP_NAME REBUILD; ``` ### 四、备份与恢复 ```sql -- 全库备份(SQL环境) BACKUP DATABASE FULL TO BACKUP_PATH BACKUPINFO '全量备份'; -- 表空间备份 BACKUP TABLESPACE MAIN TO TS_BAK_PATH; -- 逻辑导出(命令行执行) dexp SYSDBA/SYSDBA@localhost:5236 FILE=full_exp.dmp LOG=exp.log FULL=Y -- 逻辑导入 dimp SYSDBA/SYSDBA@localhost:5236 FILE=full_exp.dmp LOG=imp.log FULL=Y ``` ### 五、系统信息查询 ```sql -- 查看数据库版本 SELECT * FROM V$VERSION; -- 查看会话信息 SELECT * FROM V$SESSIONS; -- 查看锁信息 SELECT * FROM V$LOCK; -- 查看表空间使用情况 SELECT * FROM DBA_DATA_FILES; ``` ### 六、性能监控 ```sql -- 查看SQL执行计划 EXPLAIN SELECT * FROM DMHR.EMPLOYEE; -- 查看TOP SQL SELECT * FROM V$SQL_HISTORY ORDER BY ELAPSED_TIME DESC LIMIT 10; -- 清空执行计划缓存 ALTER SYSTEM CLEAR SQL_CACHE; ``` ### 七、作业调度 ```sql -- 创建每日备份作业 DBMS_JOB.WHAT( JOB_ID => 1, WHAT => 'BACKUP DATABASE FULL TO ''/dm8/backup'';', START_TIME => SYSDATE, REPEAT_INTERVAL => 'FREQ=DAILY' ); ``` ### 注意事项 1. 所有路径参数需根据实际环境修改 2. 执行DDL操作需具有对应权限 3. 生产环境操作前建议先进行备份 4. 部分指令需要在disql或管理工具中执行 建议配合达梦管理工具(DM Management Tool)使用可获取更直观的操作界面,复杂操作可参考官方文档《DM8系统管理员手册》。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值