注册
JAVA版客户端工具
培训园地/ 文章详情 /

JAVA版客户端工具

Coisini. 2025/07/25 111 0 0

一、图形化客户端工具

manager DM管理工具
dts DM数据迁移工具
console DM控制台工具
analyzer DM审计分析工具
monitor DM性能监视工具
dbca DM数据库配置助手
dmservice DM服务查看器
nca DM网络配置助手

二、DM管理工具&模式对象管理

1. DM管理工具

DM管理工具是达梦系统最主要的图形界面工具,通过它管理、操作数据库对象,从数据库获取信息。

  • 服务器连接管理:集成终端;

  • 数据库实例管理:数据生成、管理服务器、导出数据库、导入数据库;

  • 数据库对象管理:模式、表、外部表、索引、视图、物化视图、存储过程、函数、外部函数、外部链接、序列、触发器、包、类、同义词、域、自定义类型、自定义运算符、全文索引、公共外部链接、角色、用户、表空间、类型别名、上下文、目录等;

  • 备份管理;

  • 作业调度管理:作业历史信息视图用于显示作业步骤的执行情况日志,每当一个作业执行开始时、作业完成时、每一个步骤执行开始时,以及重试执行都会插入一条相应状态的记录。这个视图中的所有记录都是由作业在运行过程中系统自动插入的,不是由用户来操作的;

  • 安全管理、资源限制管理;

2. 模式对象管理

模式:是指一系列逻辑数据结构或对象的集合。在概念上可将其看作是包含表、视图、索引和权限定义的对象。

管理模式:创建模式、设置当前模式、删除模式、操作模式下的对象。

  • 创建模式:

    <模式定义子句1> | <模式定义子句2>

    <模式定义子句1> ::= CREATE SCHEMA <模式名> [AUTHORIZATION <用户名>][子句> {< DDL_GRANT子句>}];

    <模式定义子句2> ::= CREATE SCHEMA AUTHORIZATION <用户名> [子句> {< DDL_GRANT子句>}]; --模式名与用户名相同

    <DDL_GRANT子句> ::= <基表定义> | <域定义>| <基表修改> | <索引定义> | <视图定义> | <序列定义> | <存储过程定义> | <存储函数定义> | <触发器定义> | <特权定义> | <全文索引定义> | <同义词定义> | <包定义> | <包体定义> | <类定义> | <类体定义> | <外部链接定义>] | <物化视图定义> | <物化视图日志定义> | <注释定义>

    Eg. 用户SYSDBA创建模式"模式1" ,建立的模式属于SYSDBA。

    CREATE SCHEMA "模式1" AUTHORIZATION "SYSDBA";

    CREATE SCHEMA SCH2 CREATE TABLE T1(C1 INT);

  • 设置当前模式:

    Eg. SYSDBA用户将当前的模式从SYSDBA换到"模式1"模式。

    SET SCHEMA "模式1" ;

  • 删除模式:

    Eg. 以SYSDBA身份登录数据库后,删除模式"模式1" 。

    DROP SCHEMA "模式1" CASCADE;

  • 操作模式下的对象:

    模式名.对象名;

    模式对象管理——用户:

    • 系统已预创建的用户:

      数据库采用“三权分立”或“四权分立”的安全机制,将系统中所有的权限按照类型进行划分,为每个管理员分配相应的权限,管理员之间的权限相互制约又相互协助,从而使整个系统具有较高的安全性和较强的灵活性。

      数据库管理员(SYSDBA):创建、删除对象,浏览一些系统对象

      数据库审计员(SYSAUDITOR):设计审计策略(审计对象和操作),查看和分析审计记录。

      数据库安全员(SYSSSO):制定安全策略、创建删除新的安全用户,赋予回收安全相关权限。

      新增数据库对象操作员(SYSDBO):把DBA的其中一部分权限拿出来给DBO可以创建数据库对象,并对自己拥有的数据库对象(表、视图、存储过程、序列、包、外部链接等)具有所有的对象权限并可以授出与回收,但其无法管理与维护数据库对象。

    • 创建自定义用户:

      DBA创建的用户只属于管理用户,其他同理;

      注意:用户名不区分大小写

      包含:名称、密码、角色、资源等。

      CREATE USER [IF NOT EXISTS] <用户名> IDENTIFIED <身份验证模式> 、[PASSWORD_POLICY <口令策略>][<锁定子句>][<存储加密密钥>][<只读标志>][<资源限制子句>][<密码过期子句>][<允许IP子句>][<禁止IP子句>][<允许时间子句>][<禁止时间子句>][<TABLESPACE子句>][<INDEX_TABLESPACE子句>][<表空间配额子句>];

      Eg.创建用户名为USER1,密码为Hust4400,会话超时为3分钟的用户:

      create user USER1 identified by "Hust4400" limit CONNECT_TIME 3;

    • 修改用户:

      除了用户名不能修改,其他都可以修改:口令、口令策略、资源限制、散列算法等;

      ALTER USER <用户名> [<修改用户子句>] | [<用户代理功能子句>];
      <修改用户子句> ::= [IDENTIFIED <身份验证模式>] [REPLACE <口令>] [PASSWORD_POLICY <口令策略>]
      [<锁定子句>] [<存储加密密钥>] [<只读标志>][<资源限制子句>][<密码过期子句>][DISCARD OLD PASSWORD] [<允许IP子句>][<禁止IP子句>][<允许时间子句>][<禁止时间子句>][<TABLESPACE子句][<INDEX_TABLESPACE子句>][<SCHEMA子句>][<表空间配额子句>]
      <用户代理功能子句> ::= <GRANT | REVOKE> CONNECT THROUGH <代理用户名>

    • 删除用户:

      DROP USER [IF EXISTS] <用户名> [RESTRICT | CASCADE];

    • 模式与用户的关系:

      在DM中,一个用户可以创建多个模式,系统为每个用户自动建立一个与用户名同名的模式作为默认模式;

      同一模式中数据库对象的名称必须唯一,而在不同模式中的数据库对象可以同名;

      默认情况下,用户引用的对象是与自己同名模式中的对象;

      如果要引用其他模式中的对象,需要在该对象名之前指明对象所属模式;

    模式对象管理——表:

    • 数据类型

      屏幕截图 20250722 095929.png

    • 表创建

      内部表:

      • 数据库基表:

        CREATE [[GLOBAL] TEMPORARY] TABLE [IF NOT EXISTS] <表名定义> <表结构定义>;

        <表名定义> ::= [<模式名>.] <表名>

        <表结构定义>::=<表结构定义1> | <表结构定义2>

        <表结构定义1>::= (<列定义> {,<列定义>} [,<表级约束定义>{,<表级约束定义>}])[<属性子句>] [<延迟段分配子句>] [<压缩子句>][表并行度子句][<高级日志子句>] [<add_log子句>] [<DISTRIBUTE子句>][<AUTO_INCREMENT子句>]

        <表结构定义2>::= [<属性子句>] [<延迟段分配子句>] [<压缩子句>][表并行度子句]AS <不带INTO的SELECT语句>[<add_log子句>] [<DISTRIBUTE子句>];

        Eg. CREATE TABLE TEST1(C1 INT, C2 CHAR(10));

      • 列存储表(HUGE表):

        CREATE HUGE TABLE [IF NOT EXISTS] <表名定义> <表结构定义>[<PARTITION子句>][<表空间子句>][<STORAGE子句1][<压缩子句>][<日志属性>][<DISTRIBUTE子句>];

        Eg. CREATE HUGE TABLE T_HUGE(C1 INT, C2 VARCHAR(20));

      • 水平分区表:将表按一定的规则划分为更小的片段,每个片段叫做分区子表(范围分区、哈希分区、列表分区);

        create table T2(C1 INT) partition by range(C1)

        (

        PARTITION PAR1 values less than(10),

        PARTITION PAR2 values less than(20),

        PARTITION PAR3 values less than(maxvalue)

        );

      外部表;

    • 表修改:

      ALTER TABLE [<模式名>.]<表名>

      表名 RENAME TO <表名> |

      列名 ALTER [COLUMN] <列名> RENAME TO <列名> |

      增加列 ADD [COLUMN] (<列定义> {,<列定义>})|

      删除列 DROP [COLUMN] <列名> [RESTRICT | CASCADE] |

      修改列类型 MODIFY <列定义>|

      增加表级约束 ADD [CONSTRAINT [<约束名>] ] <表级约束子句> [<CHECK选项>] [<失效生效选项>]|

      删除表级约束 DROP CONSTRAINT <约束名> [RESTRICT | CASCADE] |

      设置列缺省值 ALTER [COLUMN] <列名> SET DEFAULT <列缺省值表达式>|

    • 表删除

    模式对象管理——视图:

    视图是指由一个或多个表(或视图)导出的表,是一个虚表,不存放对应数据,数据字典只存放视图的定义。

    • 定义视图:

      CREATE [OR REPLACE] [FORCE] VIEW [IF NOT EXISTS] [<模式名>]<视图名>[<视图结构定义>]AS <查询说明>[WITH [LOCAL|CASCADED] CHECK OPTION] | [WITH READ ONLY];

      <视图结构定义>::= (<列定义> {<列定义>}[<视图级约束定义> {<视图级约束定义>}])

      <查询说明>::=<表查询> | <连接表>

      <表查询>::=<子查询表达式>[ORDER BY子句]

    • 修改视图:

      ALTER VIEW [<模式名>.]<视图名> <修改视图子句>

      <修改视图子句> ::= ADD [CONSTRAINT [<约束名>]] <视图级约束子句> <失效选项> |DROP CONSTRAINT <约束名>

      <视图级约束子句>::= PRIMARY KEY (<列名> {,<列名>}) | UNIQUE (<列名> {,<列名>}) | FOREIGN KEY (<列名> {,<列名>}) <引用约束>

      <引用约束>::= [FOREIGN KEY] REFERENCES [<模式名>.]<表名>[(<列名> {,<列名>})]

      <失效选项>::= DISABLE [NOVALIDATE]

    • 删除视图:

      DROP VIEW [IF EXISTS] [<模式名>.]<视图名> [RESTRICT | CASCADE];

    • 查询视图:

      视图一旦定义成功,对基表的所有查询操作都可用于视图。对于用户来说,视图和基表在进行查询操作时没有区别;

    • 编译视图:

      一个视图依赖于其基表或视图,如果基表定义发生改变,如增删一列,或者视图的相关权限发生改变,可能导致视图无法使用。在这种情况下,可对视图重新编译,检查视图的合法性。

      ALTER VIEW [<模式名>.]<视图名> COMPILE;

    • 更新视图数据:

      视图数据的更新包括插入(INSERT)、删除(DELETE)和修改(UPDATE)三类操作。由于视图是虚表,并没有实际存放数据,因此对视图的更新操作均要转换成对基表的操作。在SQL语言中,对视图数据的更新语句与对基表数据的更新语句在格式与功能方面是一致的。

三、DM数据迁移工具

  • dts迁移/评估/对比/转换/数据生成等步骤:

    以oracle-dm为例:

    SYSTEM/oracle12c@192.168.100.118/orcl

    SYSDBA/SYSDBA@192.168.100.129:7021

    oracle的表DM_TEST到dm8数据库,包括迁移、评估、对比,转换( MySQL/SQLserver-dm ),数据生成(暂未对外发布),(开启)代理等。

  • DM数据库之间模式、表、序列、视图、存储过程/函数、包、触发器、对象权限的迁移;

  • 主流大型数据库迁移到DM:

    Oracle、SQLServer、MySQL、DB2、PostgreSQL、Informix、Kingbase、Sybase的模式、表、视图、序列、索引迁移到DM;

  • DM迁移到主流大型数据库:

    DM的模式、表、视图、序列、索引迁移到Oracle、SQLServer、MySQL

    bug59683:默认不支持到mysql,sqlserver的迁移,可以通过设置启动参数控制执行到mysql,sqlserver的迁移,在dts.ini(windows)或dts启动脚本(linux) 添加参数-Ddameng.dts.to_mysql=true支持目的是mysql的迁移,添加参数-Ddameng.dts.to_sqlserver=true支持目的是sqlserver的迁移

  • ODBC数据源、JDBC数据源的模式、表、视图迁移到DM;

  • DM到文件、文件到DM的迁移:

    1. DM数据库模式、表、序列、视图、存储过程/函数、包、触发器、对象权限迁移到SQL脚本文件,文本文件,CSV文件,Excel文件,Word文件
    2. 指定格式的文本文件,CSV文件,Excel文件,Word文件,SQL脚本文件,PARQUET文件迁移到DM数据库
  • 代理:

    DTS代理(主代理、子代理)在远程机器上以命令行或服务方式启动,主要用于接收任务指令,执行迁移、对比、评估等任务,并返回执行的相关信息。其中主代理为在所有部署成功的代理中被指定成为处理中心的DTS代理,除与子代理一样拥有执行任务的功能,还支持接收DTS中心传输的请求,生成并分发任务。DTS代理的启动脚本位于安装目录tool下:dts_cmd_run.bat(Windows)或dts_cmd_run.sh(Linux)。

    设置校验KEY:DTS代理自带一个service.key,默认KEY为888888,也可以使用以下语句设置DTS代理的校验KEY(下面以Linux环境为例):./dts_cmd_run.sh install_service_key [-e <engine>] <password>参数install_service_key代表设置DTS代理的校验KEY,其中<engine>为密码引擎名,<password>为密码,密码长度不少于6位不多于16位,[]代表里面的内容可省略;

    启动代理:启动代理只需给定没有被其他应用占用的端口即可。可以使用以下语句启动代理(下面以Linux环境为例):./dts_cmd_run.sh agent <port>参数agent代表启动代理,<port>代表代理端口号。代理启动后,即可通过DTS工具连接并使用。

四、DM控制台工具

  • 服务器参数配置:支持多实例,服务器配置节点下面可以包含0个或多个实例,对于每一个实例如果存在子配置文件,则实例节点下面包含多个子ini节点;

  • 脱机备份与还原;

  • 查看系统信息;

  • 查看许可证信息:

    读取DM_HOME下面bin目录的dm.key信息;

  • dbca:DM 数据库配置助手是新建/删除数据库实例/服务;

  • dmservice:DM 服务查看器是达梦数据库提供的服务查看配置工具,以便用户能够通过图形界面的方式查看、管理和配置数据库服务;

  • nca:网络配置助手是达梦数据库提供的网络服务别名配置工具,以便用户能够通过图形界面的方式查看、管理和配置dm_svc.conf配置文件中的网络别名;

  • analyzer:

    DM审计分析工具是数据库审计日志查看的基本工具

    SYSAUDITOR用户开启:SP_SET_ENABLE_AUDIT (1);

  • monitor:

    DM性能监视工具是达梦系统管理员用来监视服务器的活动和性能情况,并对系统参数进行调整的客户端工具,它允许系统管理员在本机或远程监视服务器的运行状况;

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服