达梦数据库常用对象管理

目录

一、常用对象概述

二、管理知识点

1.表空间管理

2.模式管理

3.表管理

4.视图管理

5.索引管理

6.过程和触发器管理

三、注意事项

四、如何在DM数据库中创建表空间

一、使用DM管理工具创建表空间

二、使用SQL语句创建表空间

五、常见错误和解决方法


达梦数据库(DM Database)作为中国自主研发的数据库管理系统,凭借其高性能和安全性,在国内企业与政府系统中得到了广泛应用。以下是达梦数据库常用对象管理的知识点和注意事项总结:

一、常用对象概述

达梦数据库中的常用对象主要包括:

  • 表(Table):用于存储数据的最基本单位。
  • 视图(View):由查询定义的虚拟表,有助于简化复杂查询,隐藏数据的复杂性。
  • 索引(Index):用于加速查询的工具,通过为表中的某些列创建索引,可以显著提高查询效率。
  • 存储过程(Stored Procedure):封装SQL语句的预编译程序,可以将业务逻辑封装起来,提高性能,并避免重复编写SQL代码。
  • 触发器(Trigger):自动执行的SQL程序,响应数据库操作。
  • 序列(Sequence):生成连续数字序列,通常用于生成主键。
  • 表空间(Tablespace):用于存储表、视图、索引等内容,可以占据固定的磁盘空间,也可以随着储存数据量的增加而不断扩展。
  • 模式(Schema):一组数据库对象的集合,可将其看作是包含表、视图、索引等若干对象的对象集。

二、管理知识点

1.表空间管理
  • 创建表空间:可以通过DM管理工具或SQL语句来创建表空间。使用DM管理工具时,需要启动DM管理工具并使用具有DBA角色的用户登录数据库,然后在对象导航页面右键单击“表空间”节点,选择“新建表空间”选项,并填写相关参数。使用SQL语句创建表空间的语法为“CREATE TABLESPACE <表空间名><数据文件子句>[<数据页缓冲池子句>][<存储加密子句>]”。
  • 修改表空间:可以修改表空间的属性,如数据文件的大小等。
  • 删除表空间:当表空间不再需要时,可以将其删除。但应注意,若表空间中存放了数据对象,则不允许删除表空间,否则必须先删除数据对象。
2.模式管理
  • 创建模式:启动DM管理工具,以SYSDBA用户登录数据库,右键单击对象导航页面中的“模式”节点,选择“新建模式”选项,并填写模式名及模式拥有者等信息。使用SQL语句创建模式的语法为“CREATE SCHEMA <模式名>[AUTHORIZATION <用户名>][<DDL_GRANT子句>{<DDL GRANT子句>}]”。
  • 修改模式:可以修改模式的属性或包含的对象。
  • 删除模式:当模式不再需要时,可以将其删除。但应注意,如果一个模式中有其他数据库对象(如表、视图等),则需要采取级联删除的方式,否则删除会失败。
3.表管理
  • 创建表:可以使用CREATE TABLE语句创建新表,并定义列的名称、数据类型及约束条件等。
  • 修改表:可以使用ALTER TABLE语句修改表的结构,例如添加、删除或修改列,以及增加或删除约束等。
  • 删除表:可以使用DROP TABLE语句删除表,删除表时会清除表中的所有数据。
4.视图管理
  • 创建视图:使用CREATE VIEW语句创建视图,通过视图可以简化对复杂数据的访问。
  • 修改视图:通常需要通过CREATE OR REPLACE VIEW来重新定义视图。
  • 删除视图:可以使用DROP VIEW语句删除视图。
5.索引管理
  • 创建索引:使用CREATE INDEX语句创建索引,以提高查询效率。
  • 删除索引:当索引不再需要时,可以通过DROP INDEX语句删除索引。但应注意,过多的索引会影响数据更新性能,因此在创建索引时需要权衡查询性能与写入性能。
6.过程和触发器管理
  • 创建存储过程:使用CREATE PROCEDURE语句创建存储过程,封装业务逻辑。
  • 调用存储过程:通过EXECUTE命令调用存储过程。
  • 创建触发器:使用CREATE TRIGGER语句创建触发器,定义触发事件和触发动作。

三、注意事项

  1. 权限管理:在进行对象管理时,应确保用户具有相应的权限。例如,创建、修改、删除表空间、模式、表等对象时,需要具有DBA或相应对象的权限。
  2. 数据完整性:在创建表时,可以定义表的实体完整性、域完整性和参照完整性等约束条件,以确保数据库中数据的一致性和完整性。
  3. 对象命名:在创建对象时,应注意对象名的唯一性和规范性。避免使用保留字或特殊字符作为对象名。
  4. 备份与恢复:定期对数据库进行备份,以防止数据丢失或损坏。在需要时,可以使用备份文件进行数据库恢复。
  5. 性能监控与优化:定期对数据库进行性能监控,包括查询性能、写入性能、表空间使用情况等。根据监控结果进行相应的优化操作,以提高数据库的性能和可扩展性。

综上所述,达梦数据库常用对象管理涉及多个方面和细节,需要数据库管理员和开发人员具备扎实的专业知识和实践经验。通过合理的对象管理,可以提高数据库的性能和可维护性,为业务系统的稳定运行提供有力保障。

四、如何在DM数据库中创建表空间

在DM(达梦)数据库中创建表空间是一个常见的数据库管理任务。以下是创建表空间的详细步骤和注意事项:

一、使用DM管理工具创建表空间

  1. 启动DM管理工具

    • 进入达梦数据库的安装目录,找到tool目录下的manager工具,通过命令行启动它(如./manager)。
  2. 连接数据库

    • 在DM管理工具中,输入数据库的用户名和密码,连接到目标数据库。
  3. 新建表空间

    • 在对象导航页面,右键单击“表空间”节点,选择“新建表空间”选项。
    • 在弹出的窗口中,填写表空间名称(注意名称的最大长度为128字节,且在服务器中必须唯一)。
    • 添加数据文件,需要指定数据文件的路径和名称,以及文件的大小等参数。可以添加多个数据文件,每个表空间可以拥有最多65535个数据文件(但用户允许创建的表空间ID取值范围为0~32767,超过此范围的只允许系统使用)。
    • 设置相关参数,如是否自动扩充、每次扩充大小、最大尺寸等。
    • 点击“确定”按钮,完成表空间的创建。
    • 二、使用SQL语句创建表空间

    • 登录数据库

      • 通过DM的命令行工具(如disql)登录到数据库。
    • 编写并执行SQL语句

      • 使用CREATE TABLESPACE语句创建表空间。语法如下:
      CREATE TABLESPACE 表空间名 DATAFILE 文件路径及名称 SIZE 文件大小 [AUTOEXTEND ON NEXT 每次扩展大小 MAXSIZE 最大大小] [CACHE=缓冲池名] [ENCRYPT WITH 加密算法 [BY 加密密码]];
      • 示例:
      CREATE TABLESPACE TEST DATAFILE 'TEST.DBF' SIZE 32M CACHE=NORMAL;

      或者:

      CREATE TABLESPACE TEST2 DATAFILE 'TEST2.DBF' MIRROR 'TESTMirro.DBF' SIZE 32M AUTOEXTEND ON NEXT 30M MAXSIZE 300M CACHE=NORMAL;
      • 注意:在SQL语句中,字符串需要用单引号括起来;如果文件名或路径中包含特殊字符或空格,可能需要进行转义或处理。
    • 验证表空间创建

      • 执行完SQL语句后,可以通过查询数据字典表(如DBA_TABLESPACES、USER_TABLESPACES等)来验证表空间是否创建成功。

五、常见错误和解决方法

以下是对达梦数据库常用对象管理过程中的常见错误及其解决方法的总结:

常见错误解决方法
连接数据库报错:网络通信异常1. 登录数据库服务器检查数据库进程是否存在(如使用ps –ef
数据库启动报错:dmserver startup failed, code = -104 [Invalid INI file]1. 确认启动数据库的用户具有读写数据文件的权限。<br>2. 如果忘记密码,以管理员登录数据库后修改该用户的密码(使用alter user USERNAME identified by “PASSWD”命令)。
登录数据库时报错“用户已被锁”1. 使用SYSDBA登录到数据库后,鼠标右键在对应“登录”名上单击“解锁”。<br>2. 或使用SYSDBA登录后手动调用存储过程call SP_UNLOCK_LOGIN(‘登录名‘)解锁。
执行update, insert, delete语句后程序或其他数据库连接查不到改变后的数据单条sql或sql脚本执行完上述语句后需要进行commit操作,以提交事务。
数据库语句长时间不能执行完成,类似卡住的状态1. 对于select等查询语句,需要对sql语句进行分析优化,提升查询效率。<br>2. update, insert, delete语句执行慢可能是数据库阻塞导致,需要查找出导致阻塞的语句,并对语句进行处理。
执行语句报错“字符串截断”修改的数据超过了数据库中字符类型(VARCHAR, CHAR)或数值类型(int, number, decimal)定义的长度。需要确保插入的数据在定义的长度范围内。
执行语句报错 “不能修改或删除聚集索引的列”或“试图删除聚集主键”若想对有聚集索引的列进行修改,可以重建表,或者重新在别的列上建立一个聚集索引。该列上的索引就变成非聚集了,就可以修改了。也可以修改ini参数,将PK_WITH_CLUSTER设为0,则默认创建主键时为非聚集型。
表空间管理操作失败1. 确保具有足够的权限进行表空间管理操作。<br>2. 检查表空间名称和数据文件路径的合法性和唯一性。<br>3. 在修改表空间时,注意数据文件的扩展性和磁盘空间的可用性。
模式管理操作失败1. 确保具有足够的权限进行模式管理操作。<br>2. 检查模式名称的合法性和唯一性。<br>3. 在删除模式时,注意是否有依赖的对象需要级联删除。
表管理操作失败1. 确保具有足够的权限进行表管理操作。<br>2. 检查表名称、字段名称和字段类型的合法性和唯一性。<br>3. 在删除表时,注意是否有依赖的对象(如视图、索引等)需要处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值