注册
DEM搭建以及DEM原理和概念
专栏/培训园地/ 文章详情 /

DEM搭建以及DEM原理和概念

Boss丶 2024/05/30 709 0 0
摘要

DEM简介
DEM全称为达梦企业管理器(DM Enterprise Manager)。DEM 以 Web 应用的方式提供数据库管理、监控和维护的功能,实现远程管理和监控数据库实例,并且不局限于单个数据库实例的管理和监控,也能够对数据库集群(DM MPP、DMDSC 以及数据守护)进行管理和监控。
DEM工具主要提供如下功能:

  • 客户端工具:
    用户通过DEM工具来对DM数据库进行对象管理、状态监控、SQL查询与调试。
  • 监控与告警:
    作为DEM工具的核心功能,用户通过DEM工具来对远程主机和主机上的DM数据库实例状态进行监控。
  • 系统管理:
    DEM工具可根据不同的用户进行权限的配置与管理,方便不同用户的使用。
    DEM系统架构与组成
    DEM 由以下几个部分组成:
    DEM 服务器 :其中 DEM 服务器为 DEM 应用服务器,负责处理客户端工具功能逻辑并存储 dmagent 收集到的数据到 DEM 存储数据库,同时展示数据给客户端
    DEM 存储数据库 :DEM 存储数据库存储 DEM 的元数据和 dmagent 收集到的监控数据
    数据库代理服务(dmagent): 数据库代理服务 dmagent 为部署在远程机器上的代理,DEM 通过 dmagent 访问远程 主机,同时 dmagent 收集监控信息发送给 DEM
    DEM系统架构图如下所示:

DEM 各层作用:
管理对象层:
管理对象层由所需监控的对象组成,包括需要监控的主机、主机上的数据库、以及运行 在主机上的一个 dmagent。每个运行在主机上的 dmagent 负责收集自己的主机以及主机上运行的所有数据库的运行数据信息。DEM 通过 dmagent 访问和操作主机以及主机上的数据库实例。
应用层:
应用处理模块包括存储数据库、数据存/取模块、监控信息展示模块、告警模块、系统管理模块以及客户端工具六大模块。
六大模块:

  • 存储数据库:
    存储数据库主要完成监控数据的存储。
  • 数据存/取模块:
    数据存/取模块负责将各个主机上的代理服务发送过来的监控数据存入数据库,以及从数据库中检索数据给其他模块提供支持。
  • 监控信息展示模块:
    监控信息展示模块负责组织整理监控信息,以表格或图形等多种便于用户查看的样式提供信息的展示,此外还对同属于一个集群系统的数据库进行分组管理和数据统计。
  • 告警模块:
    告警模块负责提供告警策略的配置、对异常状态的检测以及告警信息的发布。
  • 系统管理模块 :
    系统管理模块负责对系统的统一管理,包括各种监控频率的控制、用户管理、权限管理、 安全审计以及日志记录等。
  • 客户端工具:
    客户端工具包括管理工具 Manager、数据迁移工具以及集群的部署工具等工具。
    访问层:
    访问层为终端用户的远程系统访问,系统采用了 B/S 架构,用户的访问主要通过基于 http 协议的浏览器请求来完成。
    环境准备
    1、准备DEM WAR 包在达梦安装目录下web/dem.war、tomcat、java 1.8和达梦数据库。
    2、注意:需要配置 JAVA 环境,JAVA 版本必须为 JAVA 1.8。
    1、部署DEM存储数据库,在数据库服务器中操作,
    1.1 初始化DEM数据库
    [root@primary bin]# ./dminit help //初始化实例时,可以使用此方法查看初始化实例时候可以使用的参数
    关键字 说明(默认值)

PATH 初始数据库存放的路径
EXTENT_SIZE 数据文件使用的簇大小(16),可选值:16, 32, 64,单位:页
PAGE_SIZE 数据页大小(8),可选值:4, 8, 16, 32,单位:K
LOG_SIZE 日志文件大小(256),单位为:M,范围为:64M ~ 2G
CASE_SENSITIVE 大小敏感(Y),可选值:Y/N,1/0
CHARSET/UNICODE_FLAG 字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR]
SYSDBA_PWD 设置SYSDBA密码(SYSDBA)
DB_NAME 数据库名(DAMENG)
INSTANCE_NAME 实例名(DMSERVER)
PORT_NUM 监听端口号(5236)
BUFFER 系统缓存大小(100),单位M
PAGE_CHECK 页检查模式(0),可选值:0/1/2
HELP 打印帮助信息

[root@primary bin]# ./dminit PATH=/dm8/data EXTENT_SIZE=16 PAGE_SIZE=16 CASE_SENSITIVE=Y CHARSET=0 SYSDBA_PWD=Dameng123 DB_NAME=DB INSTANCE_NAME=PORT PORT_NUM=5236 //初始化实例
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire in 14 day(s) on 2024-03-27
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /dm8/DB/DB01.log
log file path: /dm8/DB/DB02.log
write to dir [/dm8/DB].
create dm database success. 2024-03-13 21:50:58
1.2 优化数据库参数配置(只是推荐参数,可配置也可不配置):
[dmdba@primary bin]$ vim /dm8/data/DB/dm.ini
MEMORY_POOL = 200 //内存池大小(兆字节)
BUFFER = 1000 //初始时候的缓冲区大小
KEEP = 64 //系统KEEP缓冲区大小(以兆为单位)
SORT_BUF_SIZE = 50 //最大排序缓冲区大小(以兆为单位)

#除了修改dm.ini文件,还可以通过SQL修改参数后重启,两种方法二选一:
SQL> alter system set 'SORT_BUF_SIZE'=50;
DMSQL 过程已成功完成
已用时间: 9.712(毫秒). 执行号:513.
SQL> alter system set 'BUFFER'=1000 spfile;
DMSQL 过程已成功完成
已用时间: 11.547(毫秒). 执行号:515.
SQL> alter system set 'KEEP'=64 spfile;
DMSQL 过程已成功完成
已用时间: 12.279(毫秒). 执行号:517.
SQL> alter system set 'MAX_BUFFER'=2000 spfile;
DMSQL 过程已成功完成
已用时间: 11.495(毫秒). 执行号:518.
SQL> alter system set 'SORT_BUF_SIZE'=50 spfile;
DMSQL 过程已成功完成
1.3 执行初始化脚本
使用disql执行初始化脚本dem_init.sql,该脚本位于达梦安装路径下“/web/dem_init.sql”。该脚本编码为UTF-8,所以执行脚本前需设置编码格式。
./disql sysdba/Dameng123
SQL> set CHAR_CODE UTF8
SQL> start /opt/dm8/web/dem_init.sql //脚本执行完后,会生成模式DEM,该模式中存放DEM运行所需的表和视图。
"DESCRIPTION" VARCHAR(1000),
"FLAG" BIT DEFAULT 1,
"TIMEOUT_INTERVAL" BIGINT DEFAULT 3600,
"MAX_SAVE_EXECUTE_RESULT_COUNT" INT DEFAULT 1,
"TRANSFORM_TYPE" INTEGER,
NOT CLUSTER PRIMARY KEY("ID")) STORAGE(ON "MAIN", CLUSTERBTR) ;
第14 行附近出现错误[-2124]:对象[DBTOOL_DTE_ESTIMATE]已存在.
已用时间: 0.250(毫秒). 执行号:0.
SQL> COMMENT ON TABLE "DEM"."DBTOOL_DTE_ESTIMATE" IS '评估';
操作已执行
已用时间: 0.691(毫秒). 执行号:1135.
SQL> COMMENT ON COLUMN "DEM"."DBTOOL_DTE_ESTIMATE"."DESCRIPTION" IS '评估的描述信息';
操作已执行
已用时间: 0.656(毫秒). 执行号:1136.
SQL> COMMENT ON COLUMN "DEM"."DBTOOL_DTE_ESTIMATE"."ID" IS '评估ID';
操作已执行
已用时间: 0.591(毫秒). 执行号:1137.
SQL> COMMENT ON COLUMN "DEM"."DBTOOL_DTE_ESTIMATE"."MAX_SAVE_EXECUTE_RESULT_COUNT" IS '最大保留迁移结果个数';
操作已执行
已用时间: 0.736(毫秒). 执行号:1138.
SQL> COMMENT ON COLUMN "DEM"."DBTOOL_DTE_ESTIMATE"."NAME" IS '评估名称';
操作已执行
已用时间: 0.672(毫秒). 执行号:1139.
SQL> COMMENT ON COLUMN "DEM"."DBTOOL_DTE_ESTIMATE"."TIMEOUT_INTERVAL" IS '超时时间';
操作已执行
已用时间: 0.849(毫秒). 执行号:1140.
SQL> COMMENT ON COLUMN "DEM"."DBTOOL_DTE_ESTIMATE"."TRANSFORM_TYPE" IS '迁移类型,要评估从哪迁移到哪';
操作已执行
已用时间: 0.658(毫秒). 执行号:1141.
SQL> CREATE TABLE "DEM"."DBTOOL_DTE_ESTIMATE_SESSION"
(
"ID" BIGINT IDENTITY(1, 1) NOT NULL,
"ESTIMATE_ID" BIGINT NOT NULL,
"IS_SOURCE" BIT,
"DB_TYPE" INTEGER,
"HOST" VARCHAR(128),
"PORT" INTEGER,
"USERNAME" VARCHAR(256),
"PASSWORD" VARCHAR(256),
"DRIVER_CLASS" VARCHAR(128),
"USE_DEFAULT_URL" BIT,
"DATABASE_NAME" VARCHAR(256),
"AUTH_TYPE" INTEGER,
"COMPRESS_SUPPORT" BIT,
"MPP_GLOBAL" BIT,
"IS_MPP_CONN" BIT,
"SSL_PATH" VARCHAR(256),
"SSL_PASSWORD" VARCHAR(256),
"FLAG" BIT DEFAULT 1,
"GMT_CREATE" TIMESTAMP(6) DEFAULT SYSDATE,
"GMT_MODIFY" TIMESTAMP(6) DEFAULT SYSDATE,
"CUSTOM_DRIVER_PATH" VARCHAR(256),
"SERVICE_NAME" VARCHAR(256),
CLUSTER PRIMARY KEY("ID"),
FOREIGN KEY("ESTIMATE_ID") REFERENCES "DEM"."DBTOOL_DTE_ESTIMATE"("ID") ON DELETE CASCADE ) STORAGE(ON "MAIN", CLUSTERBTR) ;
CREATE TABLE "DEM"."DBTOOL_DTE_ESTIMATE_SESSION"
(
"ID" BIGINT IDENTITY(1, 1) NOT NULL,
"ESTIMATE_ID" BIGINT NOT NULL,
"IS_SOURCE" BIT,
"DB_TYPE" INTEGER,
"HOST" VARCHAR(128),
"PORT" INTEGER,
"USERNAME" VARCHAR(256),
"PASSWORD" VARCHAR(256),
"DRIVER_CLASS" VARCHAR(128),
"USE_DEFAULT_URL" BIT,
"DATABASE_NAME" VARCHAR(256),
"AUTH_TYPE" INTEGER,
"COMPRESS_SUPPORT" BIT,
"MPP_GLOBAL" BIT,
"IS_MPP_CONN" BIT,
"SSL_PATH" VARCHAR(256),
"SSL_PASSWORD" VARCHAR(256),
"FLAG" BIT DEFAULT 1,
"GMT_CREATE" TIMESTAMP(6) DEFAULT SYSDATE,
"GMT_MODIFY" TIMESTAMP(6) DEFAULT SYSDATE,
"CUSTOM_DRIVER_PATH" VARCHAR(256),
"SERVICE_NAME" VARCHAR(256),
CLUSTER PRIMARY KEY("ID"),
FOREIGN KEY("ESTIMATE_ID") REFERENCES "DEM"."DBTOOL_DTE_ESTIMATE"("ID") ON DELETE CASCADE ) STORAGE(ON "MAIN", CLUSTERBTR) ;
第26 行附近出现错误[-2124]:对象[DBTOOL_DTE_ESTIMATE_SESSION]已存在.
已用时间: 0.225(毫秒). 执行号:0.
SQL> COMMENT ON COLUMN "DEM"."DBTOOL_DTE_ESTIMATE_SESSION"."ESTIMATE_ID" IS '评估ID';
操作已执行
已用时间: 0.566(毫秒). 执行号:1142.
SQL> COMMENT ON COLUMN "DEM"."DBTOOL_DTE_ESTIMATE_SESSION"."IS_MPP_CONN" IS '是否为mpp连接';
操作已执行
已用时间: 0.654(毫秒). 执行号:1143.
SQL> COMMENT ON COLUMN "DEM"."DBTOOL_DTE_ESTIMATE_SESSION"."IS_SOURCE" IS '源连接还是目的连接';
操作已执行
已用时间: 0.549(毫秒). 执行号:1144.
SQL> CREATE TABLE "DEM"."DBTOOL_DTE_ESTIMATE_MODE"
(
"ID" BIGINT IDENTITY(1, 1) NOT NULL,
"ESTIMATE_ID" BIGINT NOT NULL,
"DB_STRATEGIES" VARCHAR(200),
NEED_ESTIMATE_SQL BIT,
"FLAG" BIT DEFAULT 1,
"GMT_CREATE" TIMESTAMP(6) DEFAULT SYSDATE,
"GMT_MODIFY" TIMESTAMP(6) DEFAULT SYSDATE,
NOT CLUSTER PRIMARY KEY("ID"),
FOREIGN KEY("ESTIMATE_ID") REFERENCES "DEM"."DBTOOL_DTE_ESTIMATE"("ID") ON DELETE CASCADE ) STORAGE(ON "MAIN", CLUSTERBTR) ;
CREATE TABLE "DEM"."DBTOOL_DTE_ESTIMATE_MODE"
(
"ID" BIGINT IDENTITY(1, 1) NOT NULL,
"ESTIMATE_ID" BIGINT NOT NULL,
"DB_STRATEGIES" VARCHAR(200),
NEED_ESTIMATE_SQL BIT,
"FLAG" BIT DEFAULT 1,
"GMT_CREATE" TIMESTAMP(6) DEFAULT SYSDATE,
"GMT_MODIFY" TIMESTAMP(6) DEFAULT SYSDATE,
NOT CLUSTER PRIMARY KEY("ID"),
FOREIGN KEY("ESTIMATE_ID") REFERENCES "DEM"."DBTOOL_DTE_ESTIMATE"("ID") ON DELETE CASCADE ) STORAGE(ON "MAIN", CLUSTERBTR) ;
第11 行附近出现错误[-2124]:对象[DBTOOL_DTE_ESTIMATE_MODE]已存在.
已用时间: 0.192(毫秒). 执行号:0.
SQL> COMMENT ON COLUMN "DEM"."DBTOOL_DTE_ESTIMATE_MODE"."DB_STRATEGIES" IS '迁移模式/模式对象,目录,公共同义词,上下文';
操作已执行
已用时间: 0.586(毫秒). 执行号:1145.
SQL> CREATE TABLE "DEM"."DBTOOL_DTE_ESTIMATE_MODE_ITEM"
(
"ID" BIGINT IDENTITY(1, 1) NOT NULL,
"ESTIMATE_ID" BIGINT NOT NULL,
"SOURCE_SCHEMA" VARCHAR(128),
"DEST_SCHEMA" VARCHAR(128),
"TRANSFORM_STRATEGIES" VARCHAR(512),
"FLAG" BIT DEFAULT 1,
"GMT_CREATE" TIMESTAMP(6) DEFAULT SYSDATE,
"GMT_MODIFY" TIMESTAMP(6) DEFAULT SYSDATE,
NOT CLUSTER PRIMARY KEY("ID"),
FOREIGN KEY("ESTIMATE_ID") REFERENCES "DEM"."DBTOOL_DTE_ESTIMATE"("ID") ON DELETE CASCADE ) STORAGE(ON "MAIN", CLUSTERBTR) ;
CREATE TABLE "DEM"."DBTOOL_DTE_ESTIMATE_MODE_ITEM"
(
"ID" BIGINT IDENTITY(1, 1) NOT NULL,
"ESTIMATE_ID" BIGINT NOT NULL,
"SOURCE_SCHEMA" VARCHAR(128),
"DEST_SCHEMA" VARCHAR(128),
"TRANSFORM_STRATEGIES" VARCHAR(512),
"FLAG" BIT DEFAULT 1,
"GMT_CREATE" TIMESTAMP(6) DEFAULT SYSDATE,
"GMT_MODIFY" TIMESTAMP(6) DEFAULT SYSDATE,
NOT CLUSTER PRIMARY KEY("ID"),
FOREIGN KEY("ESTIMATE_ID") REFERENCES "DEM"."DBTOOL_DTE_ESTIMATE"("ID") ON DELETE CASCADE ) STORAGE(ON "MAIN", CLUSTERBTR) ;
第12 行附近出现错误[-2124]:对象[DBTOOL_DTE_ESTIMATE_MODE_ITEM]已存在.
已用时间: 0.478(毫秒). 执行号:0.
SQL> CREATE TABLE "DEM"."DBTOOL_DTE_ESTIMATE_OBJECT"
(
"ID" BIGINT NOT NULL,
"ESTIMATE_ID" BIGINT NOT NULL,
"CATALOG" VARCHAR(256),
"SCHEMA" VARCHAR(256),
"NAME" VARCHAR(256),
"TYPE" INT NOT NULL,
"FLAG" BIT DEFAULT 1,
"GMT_CREATE" TIMESTAMP(6) DEFAULT SYSDATE,
"GMT_MODIFY" TIMESTAMP(6) DEFAULT SYSDATE,
NOT CLUSTER PRIMARY KEY("ESTIMATE_ID" ,"ID"),
FOREIGN KEY("ESTIMATE_ID") REFERENCES "DEM"."DBTOOL_DTE_ESTIMATE"("ID") ON DELETE CASCADE ) STORAGE(ON "MAIN", CLUSTERBTR) ;
CREATE TABLE "DEM"."DBTOOL_DTE_ESTIMATE_OBJECT"
(
"ID" BIGINT NOT NULL,
"ESTIMATE_ID" BIGINT NOT NULL,
"CATALOG" VARCHAR(256),
"SCHEMA" VARCHAR(256),
"NAME" VARCHAR(256),
"TYPE" INT NOT NULL,
"FLAG" BIT DEFAULT 1,
"GMT_CREATE" TIMESTAMP(6) DEFAULT SYSDATE,
"GMT_MODIFY" TIMESTAMP(6) DEFAULT SYSDATE,
NOT CLUSTER PRIMARY KEY("ESTIMATE_ID" ,"ID"),
FOREIGN KEY("ESTIMATE_ID") REFERENCES "DEM"."DBTOOL_DTE_ESTIMATE"("ID") ON DELETE CASCADE ) STORAGE(ON "MAIN", CLUSTERBTR) ;
第13 行附近出现错误[-2124]:对象[DBTOOL_DTE_ESTIMATE_OBJECT]已存在.
已用时间: 0.168(毫秒). 执行号:0.
SQL> CREATE TABLE "DEM"."DBTOOL_DTE_ESTIMATE_DB_INFO"
(
"ID" BIGINT IDENTITY(1, 1) NOT NULL,
"ESTIMATE_ID" BIGINT NOT NULL,
"EXECUTE_ID" BIGINT NOT NULL,
"SOURCE" BIT,
"PARAM_NAME" VARCHAR(256),
"PARAM_VALUE" VARCHAR(256),
"FLAG" BIT DEFAULT 1,
"GMT_CREATE" TIMESTAMP(6) DEFAULT SYSDATE,
"GMT_MODIFY" TIMESTAMP(6) DEFAULT SYSDATE,
CLUSTER PRIMARY KEY("ID"),
FOREIGN KEY("ESTIMATE_ID") REFERENCES "DEM"."DBTOOL_DTE_ESTIMATE"("ID") ON DELETE CASCADE ) STORAGE(ON "MAIN", CLUSTERBTR) ;
CREATE TABLE "DEM"."DBTOOL_DTE_ESTIMATE_DB_INFO"
(
"ID" BIGINT IDENTITY(1, 1) NOT NULL,
"ESTIMATE_ID" BIGINT NOT NULL,
"EXECUTE_ID" BIGINT NOT NULL,
"SOURCE" BIT,
"PARAM_NAME" VARCHAR(256),
"PARAM_VALUE" VARCHAR(256),
"FLAG" BIT DEFAULT 1,
"GMT_CREATE" TIMESTAMP(6) DEFAULT SYSDATE,
"GMT_MODIFY" TIMESTAMP(6) DEFAULT SYSDATE,
CLUSTER PRIMARY KEY("ID"),
FOREIGN KEY("ESTIMATE_ID") REFERENCES "DEM"."DBTOOL_DTE_ESTIMATE"("ID") ON DELETE CASCADE ) STORAGE(ON "MAIN", CLUSTERBTR) ;
第13 行附近出现错误[-2124]:对象[DBTOOL_DTE_ESTIMATE_DB_INFO]已存在.
已用时间: 0.171(毫秒). 执行号:0.
SQL> CREATE TABLE "DEM"."DBTOOL_DTE_ESTIMATE_EXECUTE"
(
"ESTIMATE_ID" BIGINT NOT NULL,
"EXECUTE_ID" BIGINT NOT NULL,--标识为一次评估
"ESTIMATE_SQL" BIT DEFAULT 0,--是否是评估SQL
"FINISHED" BIT,
"SUCCESSFUL" BIT,
"END_TIME" VARCHAR(50),
"START_TIME" VARCHAR(50),
"TOTAL_TIME" VARCHAR(100),
"GMT_CREATE" TIMESTAMP(6) DEFAULT SYSDATE,
"GMT_MODIFY" TIMESTAMP(6) DEFAULT SYSDATE,
"FLAG" BIT DEFAULT 1,
CLUSTER PRIMARY KEY(ESTIMATE_ID,EXECUTE_ID,ESTIMATE_SQL),
FOREIGN KEY("ESTIMATE_ID") REFERENCES "DEM"."DBTOOL_DTE_ESTIMATE"("ID") ON DELETE CASCADE ) STORAGE(ON "MAIN", CLUSTERBTR) ;
CREATE TABLE "DEM"."DBTOOL_DTE_ESTIMATE_EXECUTE"
(
"ESTIMATE_ID" BIGINT NOT NULL,
"EXECUTE_ID" BIGINT NOT NULL,--标识为一次评估
"ESTIMATE_SQL" BIT DEFAULT 0,--是否是评估SQL
"FINISHED" BIT,
"SUCCESSFUL" BIT,
"END_TIME" VARCHAR(50),
"START_TIME" VARCHAR(50),
"TOTAL_TIME" VARCHAR(100),
"GMT_CREATE" TIMESTAMP(6) DEFAULT SYSDATE,
"GMT_MODIFY" TIMESTAMP(6) DEFAULT SYSDATE,
"FLAG" BIT DEFAULT 1,
CLUSTER PRIMARY KEY(ESTIMATE_ID,EXECUTE_ID,ESTIMATE_SQL),
FOREIGN KEY("ESTIMATE_ID") REFERENCES "DEM"."DBTOOL_DTE_ESTIMATE"("ID") ON DELETE CASCADE ) STORAGE(ON "MAIN", CLUSTERBTR) ;
第15 行附近出现错误[-2124]:对象[DBTOOL_DTE_ESTIMATE_EXECUTE]已存在.
已用时间: 0.141(毫秒). 执行号:0.
SQL> CREATE TABLE "DEM"."DBTOOL_DTE_ESTIMATE_RESULT_STAT"
(
"ESTIMATE_ID" BIGINT NOT NULL,
"EXECUTE_ID" BIGINT NOT NULL,--标识为一次评估
"ESTIMATE_SQL" BIT DEFAULT 0,--是否是评估SQL
"OBJ_TYPE" INT,
"TOTAL" BIGINT,
"FINISH" BIGINT,
"COMPATIABLE" BIGINT, --完全兼容
"COMPATIABLE_AFTER_CONVERT" BIGINT,--转换后兼容
"NOT_COMPATIABLE" BIGINT,--不兼容
"UNKNOWN" BIGINT,--兼容状态未知
"FLAG" BIT DEFAULT 1,
"GMT_CREATE" TIMESTAMP(6) DEFAULT SYSDATE,
"GMT_MODIFY" TIMESTAMP(6) DEFAULT SYSDATE,
foreign key(ESTIMATE_ID,EXECUTE_ID,ESTIMATE_SQL) references "DEM"."DBTOOL_DTE_ESTIMATE_EXECUTE"(ESTIMATE_ID,EXECUTE_ID,ESTIMATE_SQL) ON DELETE CASCADE
);
CREATE TABLE "DEM"."DBTOOL_DTE_ESTIMATE_RESULT_STAT"
(
"ESTIMATE_ID" BIGINT NOT NULL,
"EXECUTE_ID" BIGINT NOT NULL,--标识为一次评估
"ESTIMATE_SQL" BIT DEFAULT 0,--是否是评估SQL
"OBJ_TYPE" INT,
"TOTAL" BIGINT,
"FINISH" BIGINT,
"COMPATIABLE" BIGINT, --完全兼容
"COMPATIABLE_AFTER_CONVERT" BIGINT,--转换后兼容
"NOT_COMPATIABLE" BIGINT,--不兼容
"UNKNOWN" BIGINT,--兼容状态未知
"FLAG" BIT DEFAULT 1,
"GMT_CREATE" TIMESTAMP(6) DEFAULT SYSDATE,
"GMT_MODIFY" TIMESTAMP(6) DEFAULT SYSDATE,
foreign key(ESTIMATE_ID,EXECUTE_ID,ESTIMATE_SQL) references "DEM"."DBTOOL_DTE_ESTIMATE_EXECUTE"(ESTIMATE_ID,EXECUTE_ID,ESTIMATE_SQL) ON DELETE CASCADE
);
第17 行附近出现错误[-2124]:对象[DBTOOL_DTE_ESTIMATE_RESULT_STAT]已存在.
已用时间: 0.142(毫秒). 执行号:0.
SQL> CREATE TABLE "DEM"."DBTOOL_DTE_ESTIMATE_RESULT"
(
"ESTIMATE_ID" BIGINT NOT NULL,
"EXECUTE_ID" BIGINT NOT NULL,--标识为一次评估
"ESTIMATE_SQL" BIT DEFAULT 0,--是否是评估SQL
"OBJ_ID" BIGINT,
"OBJ_CATALOG" VARCHAR(256),
"OBJ_SCHEMA" VARCHAR(256),
"OBJ_NAME" VARCHAR(256),
"OBJ_TYPE" INT,
"COMPATIBLE_STATUS" INT,--兼容状态
"SOURCE_DDL" CLOB,--原始ddl
"DEST_DDL" CLOB,--转换ddl
"EDIT" BIT DEFAULT 0,--手动编辑
"SOURCE_EXCEPTION" TEXT ,--兼容分析出错异常
"DEST_EXCEPTION" TEXT ,--兼容分析出错异常
"MSG" VARCHAR(500),--兼容分析信息
"FLAG" BIT DEFAULT 1,
"GMT_CREATE" TIMESTAMP(6) DEFAULT SYSDATE,
"GMT_MODIFY" TIMESTAMP(6) DEFAULT SYSDATE
,foreign key(ESTIMATE_ID,EXECUTE_ID,ESTIMATE_SQL) references "DEM"."DBTOOL_DTE_ESTIMATE_EXECUTE"(ESTIMATE_ID,EXECUTE_ID,ESTIMATE_SQL) ON DELETE CASCADE
);
CREATE TABLE "DEM"."DBTOOL_DTE_ESTIMATE_RESULT"
(
"ESTIMATE_ID" BIGINT NOT NULL,
"EXECUTE_ID" BIGINT NOT NULL,--标识为一次评估
"ESTIMATE_SQL" BIT DEFAULT 0,--是否是评估SQL
"OBJ_ID" BIGINT,
"OBJ_CATALOG" VARCHAR(256),
"OBJ_SCHEMA" VARCHAR(256),
"OBJ_NAME" VARCHAR(256),
"OBJ_TYPE" INT,
"COMPATIBLE_STATUS" INT,--兼容状态
"SOURCE_DDL" CLOB,--原始ddl
"DEST_DDL" CLOB,--转换ddl
"EDIT" BIT DEFAULT 0,--手动编辑
"SOURCE_EXCEPTION" TEXT ,--兼容分析出错异常
"DEST_EXCEPTION" TEXT ,--兼容分析出错异常
"MSG" VARCHAR(500),--兼容分析信息
"FLAG" BIT DEFAULT 1,
"GMT_CREATE" TIMESTAMP(6) DEFAULT SYSDATE,
"GMT_MODIFY" TIMESTAMP(6) DEFAULT SYSDATE
,foreign key(ESTIMATE_ID,EXECUTE_ID,ESTIMATE_SQL) references "DEM"."DBTOOL_DTE_ESTIMATE_EXECUTE"(ESTIMATE_ID,EXECUTE_ID,ESTIMATE_SQL) ON DELETE CASCADE
);
第22 行附近出现错误[-2124]:对象[DBTOOL_DTE_ESTIMATE_RESULT]已存在.
已用时间: 1.513(毫秒). 执行号:0.
SQL> create or replace trigger "DEM"."TRI_UPDATE_DBTOOL_DTE_ESTIMATE_RESULT"
after INSERT or UPDATE
on "DEM"."DBTOOL_DTE_ESTIMATE_RESULT"
for each row
declare var_exist int ;
var_sql varchar(512);
var_col varchar(100);
BEGIN
/触发器体/
if exists(select 1 from DEM.DBTOOL_DTE_ESTIMATE_RESULT_STAT where ESTIMATE_ID=:NEW.ESTIMATE_ID and EXECUTE_ID=:NEW.EXECUTE_ID and "OBJ_TYPE"=:NEW."OBJ_TYPE") then
var_exist=1;
else
var_exist=0;
end if;
IF var_exist=0 THEN
insert into DEM.DBTOOL_DTE_ESTIMATE_RESULT_STAT(ESTIMATE_ID,EXECUTE_ID,"OBJ_TYPE","ESTIMATE_SQL","TOTAL","FINISH","COMPATIABLE","COMPATIABLE_AFTER_CONVERT","NOT_COMPATIABLE","UNKNOWN")
values(:NEW.ESTIMATE_ID ,:NEW.EXECUTE_ID ,:NEW."OBJ_TYPE",:NEW."ESTIMATE_SQL",1,0,0,0,0,0);
end if;
--完全兼容:0 转换后兼容:1 不兼容:2 兼容状态未知:3
if(:new.COMPATIBLE_STATUS=0)THEN
update DEM.DBTOOL_DTE_ESTIMATE_RESULT_STAT set COMPATIABLE=COMPATIABLE+1 where ESTIMATE_ID=:NEW.ESTIMATE_ID and EXECUTE_ID=:NEW.EXECUTE_ID and "OBJ_TYPE"=:NEW."OBJ_TYPE";
ELSEIF (:new.COMPATIBLE_STATUS=1)THEN
update DEM.DBTOOL_DTE_ESTIMATE_RESULT_STAT set COMPATIABLE_AFTER_CONVERT=COMPATIABLE_AFTER_CONVERT+1 where ESTIMATE_ID=:NEW.ESTIMATE_ID and EXECUTE_ID=:NEW.EXECUTE_ID and "OBJ_TYPE"=:NEW."OBJ_TYPE";
ELSEIF (:new.COMPATIBLE_STATUS=2)THEN
update DEM.DBTOOL_DTE_ESTIMATE_RESULT_STAT set NOT_COMPATIABLE=NOT_COMPATIABLE+1 where ESTIMATE_ID=:NEW.ESTIMATE_ID and EXECUTE_ID=:NEW.EXECUTE_ID and "OBJ_TYPE"=:NEW."OBJ_TYPE";
ELSEIF (:new.COMPATIBLE_STATUS=3)THEN
update DEM.DBTOOL_DTE_ESTIMATE_RESULT_STAT set unknown=unkNown+1 where ESTIMATE_ID=:NEW.ESTIMATE_ID and EXECUTE_ID=:NEW.EXECUTE_ID and "OBJ_TYPE"=:NEW."OBJ_TYPE";
END IF;
if UPDATING then
if(:old.COMPATIBLE_STATUS=0)THEN
update DEM.DBTOOL_DTE_ESTIMATE_RESULT_STAT set COMPATIABLE=COMPATIABLE-1 where ESTIMATE_ID=:NEW.ESTIMATE_ID and EXECUTE_ID=:NEW.EXECUTE_ID and "OBJ_TYPE"=:NEW."OBJ_TYPE";
ELSEIF (:old.COMPATIBLE_STATUS=1)THEN
update DEM.DBTOOL_DTE_ESTIMATE_RESULT_STAT set COMPATIABLE_AFTER_CONVERT=COMPATIABLE_AFTER_CONVERT-1 where ESTIMATE_ID=:NEW.ESTIMATE_ID and EXECUTE_ID=:NEW.EXECUTE_ID and "OBJ_TYPE"=:NEW."OBJ_TYPE";
ELSEIF (:old.COMPATIBLE_STATUS=2)THEN
update DEM.DBTOOL_DTE_ESTIMATE_RESULT_STAT set NOT_COMPATIABLE=NOT_COMPATIABLE-1 where ESTIMATE_ID=:NEW.ESTIMATE_ID and EXECUTE_ID=:NEW.EXECUTE_ID and "OBJ_TYPE"=:NEW."OBJ_TYPE";
ELSEIF (:old.COMPATIBLE_STATUS=3)THEN
update DEM.DBTOOL_DTE_ESTIMATE_RESULT_STAT set unknown=unkNown-1 where ESTIMATE_ID=:NEW.ESTIMATE_ID and EXECUTE_ID=:NEW.EXECUTE_ID and "OBJ_TYPE"=:NEW."OBJ_TYPE";
END IF;
end if;
if INSERTING then
update DEM.DBTOOL_DTE_ESTIMATE_RESULT_STAT set FINISH=FINISH+1 where ESTIMATE_ID=:NEW.ESTIMATE_ID and EXECUTE_ID=:NEW.EXECUTE_ID and "OBJ_TYPE"=:NEW."OBJ_TYPE";
end if;
END;
操作已执行
已用时间: 3.012(毫秒). 执行号:1146.
SQL> --查询任务名称
CREATE VIEW "DEM"."NEED_NOTIFY_VALID_TASK_VIEW"
(TASK_ID,USER_ID,TASK_DESC,TASK_TYPE)
AS
-- 迁移
SELECT
ID,USER_ID,NAME ,1
FROM
DEM.DBTOOL_DTS_TRANSFORM
union
--导入导出
select
ID,USER_ID,imp_exp_type_desc ||' ' || substr(IMP_EXP_OBJ,0,100),case exp when 0 then 2 else 3 end as imp_type from dem.dbtool_manager_imp_exp
union
-- 评估
SELECT
ID,USER_ID,NAME ,6
FROM
DEM.DBTOOL_DTE_ESTIMATE
union
-- 下载评估报告
SELECT
ID,USER_ID,NAME ,8
FROM
DEM.DBTOOL_DTE_ESTIMATE
--部署
union
SELECT
ID,USER_ID,NAME ,4
FROM
DEM.DBTOOL_DEPLOY;
--查询任务名称
CREATE VIEW "DEM"."NEED_NOTIFY_VALID_TASK_VIEW"
(TASK_ID,USER_ID,TASK_DESC,TASK_TYPE)
AS
-- 迁移
SELECT
ID,USER_ID,NAME ,1
FROM
DEM.DBTOOL_DTS_TRANSFORM
union
--导入导出
select
ID,USER_ID,imp_exp_type_desc ||' ' || substr(IMP_EXP_OBJ,0,100),case exp when 0 then 2 else 3 end as imp_type from dem.dbtool_manager_imp_exp
union
-- 评估
SELECT
ID,USER_ID,NAME ,6
FROM
DEM.DBTOOL_DTE_ESTIMATE
union
-- 下载评估报告
SELECT
ID,USER_ID,NAME ,8
FROM
DEM.DBTOOL_DTE_ESTIMATE
--部署
union
SELECT
ID,USER_ID,NAME ,4
FROM
DEM.DBTOOL_DEPLOY;
第31 行附近出现错误[-2124]:对象[NEED_NOTIFY_VALID_TASK_VIEW]已存在.
已用时间: 0.205(毫秒). 执行号:0.
SQL> /
--查询任务名称
CREATE VIEW "DEM"."NEED_NOTIFY_VALID_TASK_VIEW"
(TASK_ID,USER_ID,TASK_DESC,TASK_TYPE)
AS
-- 迁移
SELECT
ID,USER_ID,NAME ,1
FROM
DEM.DBTOOL_DTS_TRANSFORM
union
--导入导出
select
ID,USER_ID,imp_exp_type_desc ||' ' || substr(IMP_EXP_OBJ,0,100),case exp when 0 then 2 else 3 end as imp_type from dem.dbtool_manager_imp_exp
union
-- 评估
SELECT
ID,USER_ID,NAME ,6
FROM
DEM.DBTOOL_DTE_ESTIMATE
union
-- 下载评估报告
SELECT
ID,USER_ID,NAME ,8
FROM
DEM.DBTOOL_DTE_ESTIMATE
--部署
union
SELECT
ID,USER_ID,NAME ,4
FROM
DEM.DBTOOL_DEPLOY;
第31 行附近出现错误[-2124]:对象[NEED_NOTIFY_VALID_TASK_VIEW]已存在.
已用时间: 0.129(毫秒). 执行号:0.
SQL> --通知细节
CREATE OR REPLACE VIEW DEM.NOTIFY_CENTER_TASK_HIS_DETAIL_VIEW
AS
SELECT
HIS."ID" ,
HIS."FLAG" ,
HIS."TASK_ID" ,
HIS."EXECUTE_ID" ,
HIS."TASK_TYPE" ,
HIS."GMT_MODIFY" ,
HIS."MESSAGE" ,
HIS."TASK_STATUS",
V_TASK.TASK_DESC
FROM
DEM.NOTIFY_CENTER_TASK_HIS AS HIS
LEFT JOIN DEM.NEED_NOTIFY_VALID_TASK_VIEW AS V_TASK
ON
HIS.TASK_ID = V_TASK.TASK_ID
AND HIS.TASK_TYPE = V_TASK.TASK_TYPE;
操作已执行
已用时间: 2.612(毫秒). 执行号:1147.
SQL> /
操作已执行
已用时间: 3.686(毫秒). 执行号:1148.
SQL> --PROCEDURE
CREATE PROCEDURE "DEM"."DELETE_USER" ("USERID" IN BIGINT,"DELETE_CASCADE" IN BOOLEAN)
AUTHID DEFINER
as
begin
execute immediate 'update dem.admin_user set flag = 0 where id = ?;' using userId;
execute immediate 'update dem.dbtool_server_conn set flag = 0 where user_id = ?;' using userId;
execute immediate 'update dem.dbtool_preference set flag = 0 where user_id = ?;' using userId;
if DELETE_CASCADE = true then
execute immediate 'update dem.dma_alert set forbidden = 1 where user_id = ?;' using userId;
end if;
end;
--PROCEDURE
CREATE PROCEDURE "DEM"."DELETE_USER" ("USERID" IN BIGINT,"DELETE_CASCADE" IN BOOLEAN)
AUTHID DEFINER
as
begin
execute immediate 'update dem.admin_user set flag = 0 where id = ?;' using userId;
execute immediate 'update dem.dbtool_server_conn set flag = 0 where user_id = ?;' using userId;
execute immediate 'update dem.dbtool_preference set flag = 0 where user_id = ?;' using userId;
if DELETE_CASCADE = true then
execute immediate 'update dem.dma_alert set forbidden = 1 where user_id = ?;' using userId;
end if;
end;
第12 行附近出现错误[-2124]:对象[DELETE_USER]已存在.
已用时间: 0.193(毫秒). 执行号:0.
SQL> CREATE PROCEDURE "DEM"."FORBIDDEN_USER" ("USERID" IN BIGINT,"FORBIDDEN" IN BIT)
AUTHID DEFINER
as
begin
execute immediate 'update dem.admin_user set forbidden = ? where id = ?;' using forbidden, userId;
execute immediate 'update dem.dma_alert set forbidden = ? where user_id = ?;' using forbidden, userId;
execute immediate 'update dem.dma_alert_rule set forbidden = ? where alert_id in (select alert_id from dem.dma_alert where user_id = ?);' using forbidden, userId;
end;
CREATE PROCEDURE "DEM"."FORBIDDEN_USER" ("USERID" IN BIGINT,"FORBIDDEN" IN BIT)
AUTHID DEFINER
as
begin
execute immediate 'update dem.admin_user set forbidden = ? where id = ?;' using forbidden, userId;
execute immediate 'update dem.dma_alert set forbidden = ? where user_id = ?;' using forbidden, userId;
execute immediate 'update dem.dma_alert_rule set forbidden = ? where alert_id in (select alert_id from dem.dma_alert where user_id = ?);' using forbidden, userId;
end;
第8 行附近出现错误[-2124]:对象[FORBIDDEN_USER]已存在.
已用时间: 0.111(毫秒). 执行号:0.
SQL> --FUNCTION
create or replace
function dem.user_login
(
userId out bigint,
loginName varchar,
password varchar,
currTs bigint,
lockTime bigint,
loginLimitCount int)
return bigint
as
declare
failedCount int = 0;
lastLoginTs bigint = 0;
forbidden int = 0;
getFailedCountSql varchar = 'select NVL(T.failed, -1), NVL(T.login_ts, -1), T.FORBIDDEN from dual left join (select * from dem.admin_valid_user_view where login_name = ? ) T ON 1 = 1';
loginSql varchar = 'select NVL(T.id, -1) from dual left join (select id from dem.admin_valid_user_view where login_name = ? and password = ?) T ON 1=1';
clearFailedSql varchar = 'update dem.admin_user set failed = 0, login_ts = ? where id = ?';
addFailedSql varchar = 'update dem.admin_user set failed = failed + 1, login_ts = ? where login_name = ?';
EX_USER_LOCK int = -20001;
EX_LOGIN_FAILED int = -20002;
EX_USER_FORBIDDEN int = -20003;
begin
--get failed count
execute immediate getFailedCountSql into failedCount, lastLoginTs, forbidden using loginName;
if forbidden == 1
-- user forbidden
then
RAISE_APPLICATION_ERROR(EX_USER_FORBIDDEN, 0);
elsif failedCount == -1
-- no loginName
then
RAISE_APPLICATION_ERROR(EX_LOGIN_FAILED, 1);
elsif failedCount >= loginLimitCount and (currTs - lastLoginTs < lockTime) then
--user lock
RAISE_APPLICATION_ERROR(EX_USER_LOCK, failedCount);
else
--user unlock, try login
execute immediate loginSql into userId using loginName, password;
if userId > 0 then
--login success, clear failed count
execute immediate clearFailedSql using currTs, userId;
execute immediate 'commit;';
return userId;
else
--login failed, add failed count
execute immediate addFailedSql using currTs, loginName;
execute immediate 'commit;';
RAISE_APPLICATION_ERROR(EX_LOGIN_FAILED, failedCount + 1);
end if;
end if;
end;
操作已执行
已用时间: 2.412(毫秒). 执行号:1149.
SQL> --group-type (order by gid asc on databasesPanel)
insert into "DEM"."DMA_GROUP_TYPE" ("ID","NAME","DESCRIPTION","ENABLE") values (1, 'MPP', 'MPP', 1);
--group-type (order by gid asc on databasesPanel)
insert into "DEM"."DMA_GROUP_TYPE" ("ID","NAME","DESCRIPTION","ENABLE") values (1, 'MPP', 'MPP', 1);
[-6602]:违反表[DMA_GROUP_TYPE]唯一性约束.
已用时间: 0.616(毫秒). 执行号:0.
SQL> insert into "DEM"."DMA_GROUP_TYPE" ("ID","NAME","DESCRIPTION","ENABLE") values (2, 'DSC', 'DSC', 1);
insert into "DEM"."DMA_GROUP_TYPE" ("ID","NAME","DESCRIPTION","ENABLE") values (2, 'DSC', 'DSC', 1);
[-6602]:违反表[DMA_GROUP_TYPE]唯一性约束.
已用时间: 0.506(毫秒). 执行号:0.
SQL> insert into "DEM"."DMA_GROUP_TYPE" ("ID","NAME","DESCRIPTION","ENABLE") values (3, 'RW', '读写分离', 1);
insert into "DEM"."DMA_GROUP_TYPE" ("ID","NAME","DESCRIPTION","ENABLE") values (3, 'RW', '读写分离', 1);
[-6602]:违反表[DMA_GROUP_TYPE]唯一性约束.
已用时间: 0.170(毫秒). 执行号:0.
SQL> insert into "DEM"."DMA_GROUP_TYPE" ("ID","NAME","DESCRIPTION","ENABLE") values (4, 'DW', '数据守护', 1);
insert into "DEM"."DMA_GROUP_TYPE" ("ID","NAME","DESCRIPTION","ENABLE") values (4, 'DW', '数据守护', 1);
[-6602]:违反表[DMA_GROUP_TYPE]唯一性约束.
已用时间: 0.227(毫秒). 执行号:0.
SQL> insert into "DEM"."DMA_GROUP_TYPE" ("ID","NAME","DESCRIPTION","ENABLE") values (5, 'DCP', 'DCP', 0);
insert into "DEM"."DMA_GROUP_TYPE" ("ID","NAME","DESCRIPTION","ENABLE") values (5, 'DCP', 'DCP', 0);
[-6602]:违反表[DMA_GROUP_TYPE]唯一性约束.
已用时间: 0.165(毫秒). 执行号:0.
SQL> insert into "DEM"."DMA_GROUP_TYPE" ("ID","NAME","DESCRIPTION","ENABLE") values (6, 'DMDPC', 'DMDPC', 1);
insert into "DEM"."DMA_GROUP_TYPE" ("ID","NAME","DESCRIPTION","ENABLE") values (6, 'DMDPC', 'DMDPC', 1);
[-6602]:违反表[DMA_GROUP_TYPE]唯一性约束.
已用时间: 0.283(毫秒). 执行号:0.
SQL> insert into "DEM"."DMA_GROUP_TYPE" ("ID","NAME","DESCRIPTION","ENABLE") values (7, 'MCOPY', '多副本', 1);
insert into "DEM"."DMA_GROUP_TYPE" ("ID","NAME","DESCRIPTION","ENABLE") values (7, 'MCOPY', '多副本', 1);
[-6602]:违反表[DMA_GROUP_TYPE]唯一性约束.
已用时间: 0.162(毫秒). 执行号:0.
SQL> insert into "DEM"."DMA_GROUP_TYPE" ("ID","NAME","DESCRIPTION","ENABLE") values (8, 'DFS', 'DFS', 1);
insert into "DEM"."DMA_GROUP_TYPE" ("ID","NAME","DESCRIPTION","ENABLE") values (8, 'DFS', 'DFS', 1);
[-6602]:违反表[DMA_GROUP_TYPE]唯一性约束.
已用时间: 0.151(毫秒). 执行号:0.
SQL> insert into "DEM"."DMA_GROUP_TYPE" ("ID","NAME","DESCRIPTION","ENABLE") values (99, 'OTHER', '其他', 1);
insert into "DEM"."DMA_GROUP_TYPE" ("ID","NAME","DESCRIPTION","ENABLE") values (99, 'OTHER', '其他', 1);
[-6602]:违反表[DMA_GROUP_TYPE]唯一性约束.
已用时间: 0.149(毫秒). 执行号:0.
SQL> --config
--1.客户端工具配置
insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (1, '1.客户端工具配置', 'db_session_check_freq', 60, '客户端工具中的数据库连接有效性检查频率(秒),最小值1');
影响行数 1

已用时间: 0.675(毫秒). 执行号:1159.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (2, '1.客户端工具配置', 'db_session_invalid_time', 1800, '客户端工具中的数据库连接的失效时间(秒),最小值60');
影响行数 1

已用时间: 0.144(毫秒). 执行号:1160.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (3, '1.客户端工具配置', 'db_session_pool_count', 11, '用于管理所有用户的数据库会话的池大小(重启生效)');
影响行数 1

已用时间: 0.125(毫秒). 执行号:1161.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (4, '1.客户端工具配置', 'dem_page_size', 40, '前端页面中的表格分页时的页大小');
影响行数 1

已用时间: 0.111(毫秒). 执行号:1162.
SQL> --2.监控告警配置
insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (5, '2.监控告警配置', 'dem_page_refresh_freq', 60, '主机和数据库页面状态刷新频率(秒),最小值60');
影响行数 1

已用时间: 0.320(毫秒). 执行号:1163.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (6, '2.监控告警配置', 'alert_his_re_notify_time', 600, '同一主机或数据库的同类警告在该时间间隔内不再重复发送(秒),最小值600');
影响行数 1

已用时间: 0.148(毫秒). 执行号:1164.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (7, '2.监控告警配置', 'alert_check_thread_count', 2, '监控告警监测任务线程数(重启生效)');
影响行数 1

已用时间: 0.131(毫秒). 执行号:1165.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (8, '2.监控告警配置', 'alert_notify_thread_count', 2, '监控告警通知任务线程数(重启生效)');
影响行数 1

已用时间: 0.115(毫秒). 执行号:1166.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (9, '2.监控告警配置', 'alert_rule_reload_freq', 60, '内存中告警规则缓存的刷新频率(秒),最小值60');
影响行数 1

已用时间: 0.155(毫秒). 执行号:1167.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (10, '2.监控告警配置', 'db_invalid_time', 300, '指定时间内没有收到主机信息,则认为数据库失效(秒),最小值120');
影响行数 1

已用时间: 0.119(毫秒). 执行号:1168.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (11, '2.监控告警配置', 'mf_invalid_time', 180, '指定时间内没有收到主机信息,则认为主机失效(秒),最小值20');
影响行数 1

已用时间: 0.107(毫秒). 执行号:1169.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (12, '2.监控告警配置', 'mf_process_invalid_time', 300, '指定时间内没有收到主机信息,则认为进程失效(秒),最小值120');
影响行数 1

已用时间: 0.132(毫秒). 执行号:1170.
SQL> --3.监控频率配置
insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (13, '3.监控频率配置', 'gather_mf_info_freq', '[10]', '主机基本信息收集频率(秒),最小值10');
影响行数 1

已用时间: 0.109(毫秒). 执行号:1171.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (14, '3.监控频率配置', 'gather_mf_stat_freq', '[10]', '收集主机状态信息的频率(秒),最小值10');
影响行数 1

已用时间: 0.105(毫秒). 执行号:1172.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (15, '3.监控频率配置', 'gather_mf_disk_freq', '[10]', '收集主机磁盘信息的频率(秒),最小值10');
影响行数 1

已用时间: 0.103(毫秒). 执行号:1173.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (16, '3.监控频率配置', 'gather_mf_process_freq', '[60]', '收集主机进程信息的频率(秒),最小值10');
影响行数 1

已用时间: 0.101(毫秒). 执行号:1174.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (17, '3.监控频率配置', 'gather_db_info_freq', '[60]', '数据库基本信息收集频率(秒),最小值60');
影响行数 1

已用时间: 0.104(毫秒). 执行号:1175.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (18, '3.监控频率配置', 'gather_db_stat_freq', '[60]', '收集数据库状态信息的频率(秒),最小值60');
影响行数 1

已用时间: 0.200(毫秒). 执行号:1188.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (31, '3.监控频率配置', 'gather_db_rlog_history_freq', '[60]', '收集数据库事务日志记录的频率(秒),最小值60');
影响行数 1

已用时间: 0.102(毫秒). 执行号:1189.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (32, '3.监控频率配置', 'gather_db_backup_freq', '[60]', '收集数据库备份信息的频率(秒),最小值60');
影响行数 1

已用时间: 0.124(毫秒). 执行号:1190.
SQL> --4.系统邮箱配置
insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (33, '4.系统邮箱配置', 'mail_enable', true, '(1/0),开启时需完成邮箱配置');
影响行数 1

已用时间: 0.094(毫秒). 执行号:1191.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (34, '4.系统邮箱配置', 'mail_sender', 'Dameng Database Develop Team', '系统邮件发送人');
影响行数 1

已用时间: 0.069(毫秒). 执行号:1192.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (35, '4.系统邮箱配置', 'mail_address', 'dmoa@dameng.shanghai', '系统邮箱地址');
影响行数 1

已用时间: 0.061(毫秒). 执行号:1193.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (36, '4.系统邮箱配置', 'mail_password', '888888', '系统邮箱密码');
影响行数 1

已用时间: 0.059(毫秒). 执行号:1194.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (37, '4.系统邮箱配置', 'mail_smtp_host', '192.168.0.212', 'SMTP服务器地址');
影响行数 1

已用时间: 0.171(毫秒). 执行号:1195.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (38, '4.系统邮箱配置', 'mail_pop3_host', '192.168.0.212', 'POP3服务器地址');
影响行数 1

已用时间: 0.109(毫秒). 执行号:1196.
SQL> --5.短信推送配置
insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (39, '5.短信推送配置', 'sms_enable', false, '(1/0),开启时必须实现自定义短信推送功能');
影响行数 1

已用时间: 0.114(毫秒). 执行号:1197.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (40, '5.短信推送配置', 'sms_user_defined_enable_class', null, '短信推送自定义类需实现接口com.dameng.dem.server.util.IPhoneNotify');
影响行数 1

已用时间: 0.110(毫秒). 执行号:1198.
SQL> --6.安全配置
insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (41, '6.安全配置', 'user_login_limit_count', 5, '限制用户登录连续错误次数,若超过将锁定账号,最小值3');
影响行数 1

已用时间: 0.146(毫秒). 执行号:1199.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (42, '6.安全配置', 'user_login_lock_time', 60, '账号锁定的时间(分钟),最小值10');
影响行数 1

已用时间: 0.114(毫秒). 执行号:1200.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (43, '6.安全配置', 'user_keep_alive_time', 0, '账户存活时间(秒),最小值60,0表示不限制');
影响行数 1

已用时间: 0.131(毫秒). 执行号:1201.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (44, '6.安全配置', 'audit_enable', false, '(1/0)');
影响行数 1

已用时间: 0.114(毫秒). 执行号:1202.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (45, '6.安全配置', 'audit_flush_freq', 30, '审计信息刷盘频率(秒),最小值1');
影响行数 1

已用时间: 0.113(毫秒). 执行号:1203.
SQL> --7.其他功能
insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (46, '7.其他功能', 'prometheus_metric_nodes', '192.168.1.19:7236', '以;间隔');
影响行数 1

已用时间: 0.103(毫秒). 执行号:1204.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (47, '7.其他功能', 'subscription_push_freq', 3600, '订阅推送频率(秒),最小值600');
影响行数 1

已用时间: 0.112(毫秒). 执行号:1205.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (48, '7.其他功能', 'subscription_sql_top', 10, '订阅信息包含高频SQL,慢SQL,错误SQL和死锁SQL数目,最大值20');
影响行数 1

已用时间: 0.107(毫秒). 执行号:1206.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (49, '7.其他功能', 'auditrecord_receiver_address', null, '审计日志接收服务器地址,格式:IP:PORT');
影响行数 1

已用时间: 0.110(毫秒). 执行号:1207.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (50, '7.其他功能', 'auditrecord_send_db_list', '192.168.1.26:5236', '发送列表中各个数据库的审计日志,列表项以;分隔');
影响行数 1

已用时间: 0.113(毫秒). 执行号:1215.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (58, '7.其他功能', 'snmp_enable', false, '(1/0),开启时必须实现SNMP协议');
影响行数 1

已用时间: 0.072(毫秒). 执行号:1216.
SQL> insert into "DEM"."ADMIN_CONFIG"("SEQ", "GNAME", "NAME", "VAL", "DESCRIPTION") values (59, '7.其他功能', 'snmp_udp_port', '161', 'SNMP协议监听网络端口号');
影响行数 1

SQL> commit;
操作已执行

2、部署DEM应用,在应用服务器中操作
2.1 授权并解压 Tomcat 和 JDK
#创建并授权Tom和jdk的部署目录
mkdir /opt/jdk #创建jdk安装目录
chmod -R 755 /opt/jdk
chown -R tomcat:tomcat /opt/jdk/
mkdir /opt/app #创建应用安装目录
chmod -R 755 /opt/app/
chown -R tomcat:tomcat /opt/app/
chown tomcat:tomcat OpenJDK8U-jdk_x64_linux_hotspot_8u272b10.tar.gz
chown tomcat:tomcat Tomcat.zip

#解压Tom和jdk包
su - tomcat #进入Tomcat用户
tar -xf OpenJDK8U-jdk_x64_linux_hotspot_8u272b10.tar.gz -C /opt/jdk/
unzip Tomcat.zip -d /opt/app/
2.2 配置 JAVA环境变量
运行环境推荐JAVA 1.8及以上版本,可通过运行java -version查看版本信息,注意:应用和DEM存储数据库不可以部署到同一台服务器中,要进行分开部署。
[tomcat@localhost ~]$ vim ~/.bashrc
export JAVA_HOME=/opt/jdk/jdk8u272-b10/
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

[dmdba@192 bin]$ java -version
openjdk version "1.8.0_272"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_272-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.272-b10, mixed mode)
2.3 部署WAR包
实验环境中使用的Tomcat版本为 8.5,DEM应用WAR包在达梦数据库安装目录中的/web/dem.war
//部署WAR
[tomcat@localhost app]$ cd /opt/app/Tomcat安装包/
[tomcat@localhost 8.5]$ tar -xf apache-tomcat-8.5.98.tar.gz
[root@localhost ~]# scp 192.168.1.20:/dm8/web/dem.war/ /root/ //远程拉取数据库服务器中的DEM应用WRA包到应用服务器中
[root@localhost ~]# cp dem.war /opt/app/
[root@localhost ~]# cp /opt/app/dem.war /opt/app/Tomcat安装包/8.5/apache-tomcat-8.5.98/webapps/
[root@localhost ~]# chown tomcat:tomcat /opt/app/dem.war /opt/app/Tomcat安装包/8.5/apache-tomcat-8.5.98/webapps/dem.war

//启动Tomc
[tomcat@localhost 8.5]$ apache-tomcat-8.5.98/bin/startup.sh
Using CATALINA_BASE: /opt/app/Tomcat安装包/8.5/apache-tomcat-8.5.98
Using CATALINA_HOME: /opt/app/Tomcat安装包/8.5/apache-tomcat-8.5.98
Using CATALINA_TMPDIR: /opt/app/Tomcat安装包/8.5/apache-tomcat-8.5.98/temp
Using JRE_HOME: /opt/jdk/jdk8u272-b10/
Using CLASSPATH: /opt/app/Tomcat安装包/8.5/apache-tomcat-8.5.98/bin/bootstrap.jar:/opt/app/Tomcat安装包/8.5/apache-tomcat-8.5.98/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
2.4 配置JVM
在Tomcat的安装目录中/ bin/catalina.sh 配置文件中,根据数据库的安装路径,修改 jvm 启动参数:
JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxPermSize=512m -Djava.library.path=/dm8/bin"
2.5 修改tomcat配置
[tomcat@localhost 8.5]$ vim apache-tomcat-8.5.98/conf/server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxParameterCount="1000"
maxPostSize="-1"
/>
<!-- 添加属性字段 -->
maxPostSize="-1"
2.6 启动Tomca
确认JVM参数配置正常,可以正常拉起Tomcat,查看日志/logs/localhost.2024-03-26.log,没有看到异常错误。
[dmdba@192 web]$ cp dem.war /opt/apache-tomcat-8.5.91/webapps/
[dmdba@192 web]$ cd /opt/apache-tomcat-8.5.91/bin/
[dmdba@192 bin]$ ./startup.sh
Using CATALINA_BASE: /opt/apache-tomcat-8.5.91
Using CATALINA_HOME: /opt/apache-tomcat-8.5.91
Using CATALINA_TMPDIR: /opt/apache-tomcat-8.5.91/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/apache-tomcat-8.5.91/bin/bootstrap.jar:/opt/apache-tomcat-8.5.91/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
2.7 配置JDBC台数据库连接
在dem.war包的部署目录中/dem/WEB-INF/db.xml文件中配置数据库的连接信息,包括ip、port、用户名、密码等。
[tomcat@localhost 8.5]$ vim apache-tomcat-8.5.98/webapps/dem/WEB-INF/db.xml
<?xml version="1.0" encoding="UTF-8"?>
<ConnectPool>
<Server>192.168.1.20</Server>
<Port>5236</Port>
<User>SYSDBA</User>
<Password>Dameng123</Password>
<InitPoolSize>5</InitPoolSize>
<CorePoolSize>10</CorePoolSize>
<MaxPoolSize>50</MaxPoolSize>
<KeepAliveTime>60</KeepAliveTime>
<DbDriver></DbDriver>
<DbTestStatement>select 1</DbTestStatement>
<SSLDir>../sslDir/client_ssl/SYSDBA</SSLDir>
<SSLPassword></SSLPassword>
</ConnectPool>
2.8 重启Tomcat
重启Tomcat使上述配置生效。
[tomcat@localhost 8.5]$ apache-tomcat-8.5.98/bin/startup.sh
Using CATALINA_BASE: /opt/app/Tomcat安装包/8.5/apache-tomcat-8.5.98
Using CATALINA_HOME: /opt/app/Tomcat安装包/8.5/apache-tomcat-8.5.98
Using CATALINA_TMPDIR: /opt/app/Tomcat安装包/8.5/apache-tomcat-8.5.98/temp
Using JRE_HOME: /opt/jdk/jdk8u272-b10/
Using CLASSPATH: /opt/app/Tomcat安装包/8.5/apache-tomcat-8.5.98/bin/bootstrap.jar:/opt/app/Tomcat安装包/8.5/apache-tomcat-8.5.98/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
3、访问DEM应
在浏览器输入 DEM 端 http://192.168.1.30:8080/dem/,默认用户和密码为 "admin/888888" ,登录到 DEM 页面中

4、部署dmagent,在数据库服务器操作
4.1.修改dmagent配置
注意:核对dmagent和DEM所运行机器时间一般要求dmagent和DEM所运行机器时间一致,最多不要相差5分钟
在达梦数据库安装目录的/tool/dmagent下,修改agent.ini文件:
[dmdba@primary ~]$ vim /dm8/tool/dmagent/agent.ini
center.url=http://192.168.1.30:8080/dem #修改为dem所在机器的地址
gather_enable=true #开启收集监控数据功能,默认打开
service_enable=true #开启远程调用功能,部署时需要打开
4.2 启动agent
[dmdba@primary dmagent]$ /dm8/tool/dmagent/start.sh -d agent.ini
Starting dmagent...
.....
The dmagent(pid: 32921) started successfully.
5、DEM工具使用
5.1 主机监控
点击【配置网络】,选择需要监控的主机后点击【保存】,在列表中会显示主机资源信息。

5.2 数据库监控
在数据库Tab页,点击【添加】,可添加对数据库的监控,支持单实例监控和集群监控。
以单实例为例子,在弹出的数据库添加窗口填写配置信息,点击【确定】,在数据库列表会显示数据库监控信息。在操作中可对该数据库进行进一步监控查看。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服