本文写于:2024年6月29日:“梗” 提示
🙏废话不多说系列,直接开整🙏
一、介绍
达梦数据库(Dameng Database)是中国达梦公司(DM)开发的一种关系型数据库管理系统(RDBMS)。它是一种高性能、高可靠性的数据库系统,被广泛应用于企业级应用和大型数据处理环境中。
以下是达梦数据库的一些特点和功能:
1. 高性能:达梦数据库采用了多种优化技术,包括并行查询、分布式处理和高效的存储引擎,以实现高性能的数据处理和查询。
2. 高可靠性:达梦数据库具有高度的可靠性和稳定性,支持事务处理和数据恢复机制,以确保数据的完整性和安全性。
3. 分布式数据库:达梦数据库支持分布式数据库架构,可以实现数据的分布式存储和处理,以满足大规模数据处理和高并发访问的需求。
4. 多样化的数据类型和功能:达梦数据库支持多种数据类型和丰富的数据库功能,包括存储过程、触发器、用户定义的函数等,以满足不同应用场景的需求。
5. 兼容性:达梦数据库兼容多种标准的 SQL 语法和数据库接口,可以与各种应用程序和开发工具无缝集成。
总的来说,达梦数据库是一种成熟、稳定且功能丰富的关系型数据库管理系统,适用于各种企业级应用和大规模数据处理环境。
二、安装部署
(1)环境说明
【提醒】 :CentOS 8 已经在 2021 年底结束了其标准支持周期,并且官方仓库可能不再提供所有软件包或更新。你可能需要考虑迁移到 CentOS Stream 8(CentOS 的继任者)或其他支持的 Linux 发行版。
安装到 Linux (CentOS 8 系统)可以安装到 CentOS 7系统,目前(2024年6月27日)是不受影响的。
【Centos现状】
1. CentOs Linux 8 在 2021 年底停止更新;
2. Centos Linux 7 用户较多,这个版本将在 【2024 年6月 30 日】停止支持;
3. 未来社区不会再有 CentOs Linux 的新版本,只有 Centos stream 不断向前发展。
上述的这些情况,红帽建议广大 Centos Linux 用户提前行动起来,尽快选择一条适合的路径开始迁移工作。
【Centos替代之路】
1. 转向其他社区免费版本:Rocky Linux、Ubuntu转向国内外发行版,如 SUSE、Amazon Linux 2
CentOS 8 系统如下:
[root@localhost ~]# hostnamectl
Static hostname: localhost.localdomain
Icon name: computer-vm
Chassis: vm
Machine ID: 045cc2bb2cb74b2e9eb34861996c0ac0
Boot ID: e0f17a6ddd854c4bb4cd73cd999c17eb
Virtualization: vmware
Operating System: CentOS Linux 8
CPE OS Name: cpe:/o:centos:centos:8
Kernel: Linux 4.18.0-348.7.1.el8_5.x86_64
Architecture: x86-64
## 更新 unzip 指令(可选操作)
[root@localhost ~]# sudo yum update unzip
CentOS Linux 8 - AppStream 5.5 kB/s | 4.3 kB 00:00
CentOS Linux 8 - BaseOS 5.0 kB/s | 3.9 kB 00:00
CentOS Linux 8 - Extras 1.9 kB/s | 1.5 kB 00:00
Extra Packages for Enterprise Linux 8 - x86_64 9.3 kB/s | 6.8 kB 00:00
Extra Packages for Enterprise Linux 8 - x86_64 1.4 MB/s | 14 MB 00:09
Dependencies resolved.
Nothing to do.
Complete!
DM8 Linux 系统安装包下载地址:download.dameng.com/eco/adapter…
下载下来的解压安装包(解压内容如下):
将两个文件上传到 Linux 服务器上留作备用。
(2)为达梦数据库创建用户组和用户
$ sudo groupadd dinstall
$ sudo useradd -g dinstall dmdba
(3)开始安装
【1】上传并解压
① 上传安装包(dm8_20230418_x86_rh6_64.zip 和 dm8_20230418_x86_rh6_64.iso)到 Linux 服务器。
② 解压 dm8_20230418_x86_rh6_64.zip(如果是 dm8_20230418_x86_rh6_64.iso ,那么则无需解压安装);
# 1.创建目录
$ mkdir /root/dm8_20230418_x86_rh6_64
# 2.上传 zip 包到 /root/dm8_20230418_x86_rh6_64 目录中
# 3.解压 zip
$ sudo unzip /root/dm8_20230418_x86_rh6_64/dm8_20230418_x86_rh6_64.zip
Archive: /root/dm8_20230418_x86_rh6_64/dm8_20230418_x86_rh6_64.zip
inflating: dm8_20230418_x86_rh6_64.iso_SHA256.txt
inflating: dm8_20230418_x86_rh6_64.iso
[root@localhost dm8_20230418_x86_rh6_64]#
【2】安装达梦数据库介质ISO
③ 设置 达梦数据库安装介质(可以是 ISO / 7z),这里以 ISO 为例。
# 设置iso文件到 /mnt 目录下:
$ sudo mount -o loop,rw /root/dm8_20230418_x86_rh6_64/dm8_20230418_x86_rh6_64.iso /mnt
## 实例
[root@localhost dm8_20230418_x86_rh6_64]# sudo mount -o loop,rw /root/dm8_20230418_x86_rh6_64/dm8_20230418_x86_rh6_64.iso /mnt
mount: /mnt: /root/dm8_20230418_x86_rh6_64/dm8_20230418_x86_rh6_64.iso is already mounted.
【3】挂在目录运行安装脚本
④ 进入挂载目录,并运行安装脚本。
$ cd /mnt
$ sudo ./DMInstall.bin
## 【问题1】出现问题,是因为达梦数据库需要 dmdba 用户,所以需要先按照上述创建 用户组和用户再去运行安装脚本。
[root@localhost mnt]# sudo ./DMInstall.bin
OS user dmdba is not detected, please check whether the OS user dmdba exist!
图形化引导
⑤ 安装过程中会有图形化界面引导,按照提示选择选项和数据库即可。
之后就是出现安装引导弹窗,如下图:
指定 达梦的 KEY 文件
典型安装
配置在Linux服务的安装位置
安装前的小结
接下来就是 静静的等待安装完成即可。如下图所示安装完成:
【4】数据库初始化
⑥ 数据库初始化(可选)
这里我也演示一下。
创建数据库模板
配置指定数据库目录
配置数据库标识
① 达梦数据库服务端口:5236;② 数据库名 DAMENT; ③ 实例名:DMSERVER;
配置数据库文件
数据库的文件 - 安装目录:
- 控制文件:/opt/dmdbms/data/DAMENG/dm.ctl
- 数据文件:
-
- SYSTEM 表空间:/opt/dmdbms/data/DAMENG/SYSTEM.DBF
- MAIN 表空间:/opt/dmdbms/data/DAMENG/MAIN.DBF
- ROLL 表空间:/opt/dmdbms/data/DAMENG/ROLL.DBF
- TEMP 表空间:/opt/dmdbms/data/DAMENG/TEMP.DBF
配置数据库的初始化参数
- 字符集:建议 UTF-8;
- 字符串比较大小写敏感,建议设置不敏感。
- 其他:后期视情况调整对应的配置即可。
配置口令(sysdba 和 sysauditor)
(密码建议 ① 长度 9;②大小写字符、数字 混用;)
配置示例库(用户测试和练习达梦数据库SQL)
最后,得到初始化数据库的配置 摘要信息:(具体如下)
数据库名: DAMENG
实例名: DMSERVER
数据库目录: /opt/dmdbms/data
端口: 5236
控制文件:
/opt/dmdbms/data/DAMENG/dm.ctl
数据文件:
/opt/dmdbms/data/DAMENG/SYSTEM.DBF
/opt/dmdbms/data/DAMENG/ROLL.DBF
/opt/dmdbms/data/DAMENG/TEMP.DBF
/opt/dmdbms/data/DAMENG/MAIN.DBF
日志文件:
/opt/dmdbms/data/DAMENG/DAMENG01.log
/opt/dmdbms/data/DAMENG/DAMENG02.log
ELOG:
/opt/dmdbms/data/DAMENG/
簇大小: 16页
页大小: 8K
日志文件大小: 256M
时区设置: -07:00
页面检查: 不启用
字符集: UTF-8
USBKEY-PIN:
页分片大小: 512
标识符大小写敏感: 否
VARCHAR以字符为单位: 否
空格填充模式: 否
改进的字符串HASH算法: 是
启用日志文件加密: 否
启用全库加密: 否
启用加密: 否
修改 SYSDBA的口令
修改 SYSAUDITOR的口令
创建示例库BOOKSHOP
创建示例库DMHR
直接创建数据库示例:
直接完成即可。此时可以看到 Linux 命令窗口中的内容如下:
[root@localhost mnt]# sudo ./DMInstall.bin
Extract install files.........
(SWT:8846): GLib-CRITICAL **: 01:09:37.803: Source ID 6841 was not found when attempting to remove it
2024-06-27 01:11:52
[INFO] 安装达梦数据库...
2024-06-27 01:11:53
[INFO] 安装 基础 模块...
2024-06-27 01:16:28
[INFO] 安装 服务器 模块...
2024-06-27 01:17:23
[INFO] 安装 客户端 模块...
2024-06-27 01:22:32
[INFO] 安装 驱动 模块...
2024-06-27 01:25:07
[INFO] 安装 手册 模块...
2024-06-27 01:25:22
[INFO] 安装 服务 模块...
2024-06-27 01:25:22
[INFO] 清理安装产生临时文件。
2024-06-27 01:25:22
[INFO] 移动日志文件。
2024-06-27 01:25:23
[INFO] 正在启动DmAPService服务...
2024-06-27 01:25:23
[INFO] 启动DmAPService服务成功。
2024-06-27 01:25:23
[INFO] 安装达梦数据库完成。
[INFO] 安装达梦数据库完成。
⑦ 安装完成后,还需要记得开放端口外部才能访问连接到数据库哦
(4)开放达梦数据库服务端口 5236
# 开放防火墙端口指令
## 1.显示以开放的端口
$ firewall-cmd --list-ports
## 2.配置5236端口可被外部访问
$ firewall-cmd --permanent --zone=public --add-port=5236/tcp
## 3.刷新重载防火墙端口
$ firewall-cmd --reload
(5)外部连接DM8数据库
可见连接测试通过。(账号密码:sysdba / sysdba123456 另一个账号密码:sysauditor / sysauditor)接下来就可以愉快的学习了,附赠直达学习地址:产品手册 | 达梦技术文档 (dameng.com)
(6)卸载 达梦数据库
找到达梦的安装目录 (这里是 /opt/dmdbms/)下,直接执行:(图形化卸载)
sh ./uninstall.sh
## 或者是
sh /opt/dmdbms/uninstall.sh
## 执行之后,会出现图形化界面让确认是否卸载达梦数据库
三、基本 DM_SQL 操作
(1)查询 达梦数据库 的基本信息
官方文档直达:结构化查询语言 DM_SQL 简介 | 达梦技术文档 (dameng.com)【eco.dameng.com/document/dm…】
这里简单的说明一下,重要的提点介绍下:
- 特点:DM_SQL 语言符合结构化查询语言 SQL 标准,是标准 SQL 的扩充。
-
-
功能一体化:一体化定义、一体化存储、一体化检索、一体化处理,最大限度地提高了数据库管理系统处理多媒体的能力和速度;
-
两种用户接口使用统一语法结构的语言:作为自含式语言,它能独立运行于联机交互方式。作为嵌入式语言,DM_SQL 语句能够嵌入到 C 和 C++ 语言程序中。
-
高度非过程化:用户只需指出“做什么”,而不需指出“怎么做”,对数据存取路径的选择以及 DM_SQL 语句功能的实现均由系统自动完成,与用户编制的应用程序与具体的机器及关系 DBMS 的实现细节无关,从而方便了用户,提高了应用程序的开发效率,也增强了数据独立性和应用系统的可移植性。
-
面向集合的操作方式:不仅查询结果可以是元组的集合,而且一次插入、删除、修改操作的对象也可以是元组的集合,相对于面向记录的数据库语言 (一次只能操作一条记录) 来说,DM_SQL 语言的使用简化了用户的处理,提高了应用程序的运行效率。
-
语言简洁、方便易学:
-
(2)DDL:表结构的调整学习
官方文档直达:数据定义语句 | 达梦技术文档 (dameng.com)【eco.dameng.com/document/dm…】
(3)DML:针对表的基本增删改查
提醒:基于上述安装步骤的配置了数据库示例库,得到的查询演示示例,如下:
【1】基本查询示例
-- 1.查询所有
select * from CITY c ; -- 查询表所有数据并显示全部字段内容
select * from CITY c order by REGION_ID desc; -- 降序
select * from CITY c order by REGION_ID desc, CITY_ID ASC ; -- 降序再升序
select * from CITY c order by REGION_ID desc, CITY_ID DESC ; -- 降序降序
-- 2.分页查询
select * from CITY c limit 3;-- 分页
select * from CITY c limit 2,3;-- 跳页面分批次查询
-- 3.比较谓词查询
select * from CITY c where c.REGION_ID in (2, 3); -- 指定范围
select * from CITY c where c.REGION_ID = 2; -- 等于
select * from CITY c where c.REGION_ID != 2;-- 不等于
select * from CITY c where c.REGION_ID <> 2; -- 不等于
select * from CITY c where c.REGION_ID < 4;
select * from CITY c where c.REGION_ID >= 2 and c.REGION_ID <= 4;
select * from CITY c where c.REGION_ID BETWEEN 2 and 4;
-- 4.模糊查询
select * from CITY c where c.CITY_ID like 'S%';-- 右模糊
select * from CITY c where c.CITY_ID like '%S';-- 左模糊
select * from CITY c where c.CITY_ID like '%S%';-- 全模糊查询
select * from CITY c where c.CITY_NAME like '%长%'; -- 全模糊中文查询
-- 5.【※】还支持通过 ROW 保留字对表或视图进行 LIKE 计算。该查询依次对表或视图中所有字符类型的列进行 LIKE 计算,只要有一列符合条件,则返回 TRUE。
SELECT * FROM PRODUCTION.PRODUCT_REVIEW WHERE PRODUCT_REVIEW.ROW LIKE '%刘青%';
SELECT * FROM PRODUCTION. PRODUCT_REVIEW WHERE NAME LIKE '%刘青%' OR EMAIL LIKE '%刘青%' OR COMMENTS LIKE '%刘青%';
-- 6.使用 NULL 来查询
SELECT NAME, SEX, PHONE FROM PERSON.PERSON WHERE EMAIL IS NULL;
SELECT NAME, SEX, PHONE FROM PERSON.PERSON WHERE EMAIL IS NOT NULL;
-- 7.组合逻辑查询
SELECT NAME, AUTHOR FROM PRODUCTION.PRODUCT WHERE NOWPRICE < 15 AND DISCOUNT < 7 OR PUBLISHER='人民文学出版社';
【2】函数查询示例
- 统计总数,常见的聚合函数指标(AVG|MAX|MIN|SUM|COUNT);
- 方差,协方差,首行记录;
-- 第一类:统计总数 count(*)
-- 相异集函数 AVG|MAX|MIN|SUM|COUNT(DISTINCT<列名>);
SELECT
avg(c.NOWPRICE) -- 书本平均价格
, max(c.NOWPRICE)
, min(c.NOWPRICE)
, SUM(c.NOWPRICE)
, COUNT(distinct c.NOWPRICE)
, count(c.NOWPRICE)
from PRODUCTION.PRODUCT c
-- 3.完全集函数 AVG|MAX|MIN| COUNT|SUM([ALL]<值表达式>);
-- 3.1 求折扣小于 8 的图书的平均现价。
SELECT AVG(NOWPRICE) FROM PRODUCTION.PRODUCT WHERE DISCOUNT < 8;
-- 3.2 求折扣大于 8 的图书的总价格。
select AVG(nowprice) from PRODUCTION.PRODUCT where discount > 8 ;
-- 3.3 查询已登记供应商的个数。
SELECT COUNT(*) FROM PURCHASING.VENDOR;
-- 3.4 查询目前销售的图书的出版商的个数。
select count(DISTINCT PUBLISHER) from PRODUCTION.PRODUCT ;
-- 4.求方差集函数 VARIANCE、标准差函数 STDDEV 和样本标准差函数 STDDEV_SAMP
-- 4.1 求图书的现价方差。
SELECT VARIANCE(NOWPRICE) FROM PRODUCTION.PRODUCT; -- 方差
select round(VARIANCE(NOWPRICE),2) from PRODUCTION.PRODUCT; -- 四舍五入保留两位有效位数
-- 4.2 求图书的现价标准差。
SELECT STDDEV(NOWPRICE) FROM PRODUCTION.PRODUCT; -- 标准差
SELECT round(STDDEV(NOWPRICE),2) FROM PRODUCTION.PRODUCT; -- 标准差
-- 5.求总体协方差集函数 COVAR_POP、样本协方差函数 COVAR_SAMP 和相关系数 CORR
-- 5.1 例 1 求产品原始价格 ORIGINALPRICE 和当头销售价格 NOWPRICE 的总体协方差。
SELECT COVAR_POP(ORIGINALPRICE, NOWPRICE) FROM PRODUCTION.PRODUCT;
-- 5.2 求产品原始价格 ORIGINALPRICE 和当头销售价格 NOWPRICE 的样本协方差。
SELECT COVAR_SAMP(ORIGINALPRICE, NOWPRICE) FROM PRODUCTION.PRODUCT;
-- 6. 首行函数 FIRST_VALUE
-- 6.1 例 返回查询项的首行记录。
select * from PRODUCTION.PRODUCT;
SELECT FIRST_VALUE(NAME) FROM PRODUCTION.PRODUCT;
select name from PRODUCTION.PRODUCT p order by p.PRODUCTID asc limit 1
【3】DM_SQL 重点特有函数
-- 【重点】区间最大值
--7. 求区间范围内的最大值函数 area_max
-- 7.1 例 求图书的现价在 20~30 之间的最大值。
SELECT area_max(NOWPRICE,20,30) FROM PRODUCTION.PRODUCT;
-- 【重点】8.求 FIRST/LAST 集函数
-- 8.1 求每个用户最早定的商品中花费最多和最少的金额。
select CUSTOMERID
, max(TOTAL) keep (dense_rank first order by ORDERDATE) max_val
, min(TOTAL) keep (dense_rank first order by ORDERDATE) min_val
from SALES.SALESORDER_HEADER
group by CUSTOMERID;
-- 8.1查询结果
CUSTOMERID MAX_VAL MIN_VAL
----------------------------
1 36.9000 36.9000
--9.2 例 2 求每个出版社出版的所有图书。
-- 先根据出版社进行分组,然后将每个出版社出版的图书名用“,”拼接起来,使用 WM_CONCAT。
SELECT PUBLISHER, WM_CONCAT(NAME) FROM PRODUCTION.PRODUCT GROUP BY PUBLISHER;
-- 查询结果:
PUBLISHER WM_CONCAT(NAME)
------------------ ----------------------------------
中华书局 红楼梦,水浒传
上海出版社 老人与海
广州出版社 射雕英雄传(全四册)
鲁迅文集(小说、散文、杂文)全两册
人民文学出版社 长征
清华大学出版社 数据结构(C语言版)(附光盘)
机械工业出版社 工作中无小事
外语教学与研究出版社 突破英文基础词汇
21世纪出版社 噼里啪啦丛书(全7册)
【4】交叉查询
-- (1)无过滤查询:
SELECT T1.HAIRDATE, T2.SALESLASTYEAR
FROM RESOURCES.EMPLOYEE T1
CROSS JOIN SALES.SALESPERSON T2;
-- (2)有过滤条件查询:查询性别为男性的员工的姓名与职务。
SELECT T1.NAME, T2.TITLE
FROM PERSON.PERSON T1, RESOURCES.EMPLOYEE T2
WHERE T1.PERSONID = T2.PERSONID AND T1.SEX = 'M';
-- 自然连接
SELECT T1.HAIRDATE, T2.SALESLASTYEAR
FROM RESOURCES.EMPLOYEE T1
NATURAL JOIN SALES.SALESPERSON T2;
-- 查询结果:
HAIRDATE SALESLASTYEAR
---------- -------------
2002-05-02 10.0000
2002-05-02 20.0000
-- 方式2:自然连接 JOIN...USING() 查询
SELECT
HAIRDATE,
SALESLASTYEAR
FROM
RESOURCES.EMPLOYEE
JOIN SALES.SALESPERSON USING(EMPLOYEEID);
【5】自连接、内连接、外连接
数据表与自身进行连接,我们称这种连接为自连接。
自连接查询至少要对一张表起别名,否则,服务器无法识别要处理的是哪张表。
例 对 PURCHASING.VENDOR 表进行自连接查询
SELECT T1.NAME, T2.NAME, T1.ACTIVEFLAG
FROM PURCHASING.VENDOR T1, PURCHASING.VENDOR T2
WHERE T1.NAME = T2.NAME;
-- 内连接:根据连接条件,结果集仅包含满足全部连接条件的记录,我们称这样的连接为内连接。
-- 例 从 PRODUCT_CATEGORY、PRODUCT_SUBCATEGORY 中查询图书的目录名称和子目录名称。
SELECT T1.NAME, T2.NAME
FROM PRODUCTION.PRODUCT_CATEGORY T1 INNER JOIN
PRODUCTION.PRODUCT_SUBCATEGORY T2
ON T1.PRODUCT_CATEGORYID = T2.PRODUCT_CATEGORYID;
-- 外连接:外连接对结果集进行了扩展,会返回一张表的所有记录,对于另一张表无法匹配的字段用 NULL 填充返回。
-- DM 数据库支持三种方式的外连接:左外连接、右外连接、全外连接。
-- 左外连接:例 1 从 PRODUCT_CATEGORY、PRODUCT_SUBCATEGORY 中查询图书的所有目录名称和子目录名称,包括没有子目录的目录。
SELECT T1.NAME, T2.NAME
FROM PRODUCTION.PRODUCT_CATEGORY T1
LEFT OUTER JOIN PRODUCTION.PRODUCT_SUBCATEGORY T2 ON T1.PRODUCT_CATEGORYID = T2.PRODUCT_CATEGORYID;
-- 右外连接:例 2 从 PRODUCT_CATEGORY、PRODUCT_SUBCATEGORY 中查询图书的目录名称和所有子目录名称,包括没有目录的子目录。
SELECT T1.NAME, T2.NAME
FROM PRODUCTION.PRODUCT_CATEGORY T1
RIGHT OUTER JOIN PRODUCTION.PRODUCT_SUBCATEGORY T2 ON T1.PRODUCT_CATEGORYID = T2.PRODUCT_CATEGORYID;
【6】子查询
-- 例如,查询通常价格最小的供应商的名称和最小价格:
SELECT NAME,
(SELECT MIN(STANDARDPRICE)
FROM PRODUCTION.PRODUCT_VENDOR T1
WHERE T1.VENDORID = T2.VENDORID
) as minPrice
FROM PURCHASING.VENDOR T2;
【7】分组查询
-- 例 1 统计每个部门的员工数。(方式1)
SELECT e.DEPARTMENTID,
d.NAME,
COUNT(*)
FROM RESOURCES.EMPLOYEE_DEPARTMENT e
left join RESOURCES.DEPARTMENT d on e.DEPARTMENTID = d.DEPARTMENTID
GROUP BY e.DEPARTMENTID,d.NAME ;
-- 例 2 求小说类别包含的子类别所对应的产品数量,并按子类别编号的升序排列。
SELECT A1.PRODUCT_SUBCATEGORYID AS 子分类编号
,A3.NAME AS 子分类名
,count(*) AS 数量
FROM
PRODUCTION.PRODUCT A1,
PRODUCTION.PRODUCT_CATEGORY A2,
PRODUCTION.PRODUCT_SUBCATEGORY A3
WHERE A1.PRODUCT_SUBCATEGORYID=A3.PRODUCT_SUBCATEGORYID
AND A2.PRODUCT_CATEGORYID=A3.PRODUCT_CATEGORYID
AND A2.NAME='小说'
GROUP BY A1.PRODUCT_SUBCATEGORYID,A3.NAME
ORDER BY A1.PRODUCT_SUBCATEGORYID;
四、解释执行计划 EXPLAIN FOR
-- 语法结构
EXPLAIN [AS <计划名称>] FOR <SQL语句>;
<SQL语句> ::= <删除语句> | <插入语句> | <查询语句> | <更新语句>
-- 参数
-- 1.<删除语句> 指数据删除语句;
-- 2.<插入语句> 指数据插入语句;
-- 3.<查询语句> 指查询语句;
-- 4.<更新语句> 指数据更新语句。
-- 语句功能:供用户以结果集的方式查看执行计划。
-- 举例说明:例 1 以结果集的方式显示如下语句的查询计划:
EXPLAIN FOR SELECT NAME, SCHID FROM SYS.SYSOBJECTS WHERE SUBTYPE$='STAB';
-- 查询结果如下:
PLAN_ID|PLAN_NAME|CREATE_TIME |LEVEL_ID|OPERATION|TAB_NAME |IDX_NAME |SCAN_TYPE|SCAN_RANGE|ROW_NUMS|BYTES|COST|CPU_COST|IO_COST|FILTER |JOIN_COND|ADVICE_INFO|PSTART|PSTOP|
-------+---------+-----------------------+--------+---------+----------+------------------+---------+----------+--------+-----+----+--------+-------+----------------------------+---------+-----------+------+-----+
11|NULL |2024-06-28 02:31:08.000| 0|NSET2 |NULL |NULL |NULL |NULL | 29| 100| 1| 0| 0|NULL |NULL |NULL | 0| 0|
11|NULL |2024-06-28 02:31:08.000| 1|PRJT2 |NULL |NULL |NULL |NULL | 29| 100| 1| 0| 0|NULL |NULL |NULL | 0| 0|
11|NULL |2024-06-28 02:31:08.000| 2|SLCT2 |NULL |NULL |NULL |NULL | 29| 100| 1| 0| 0|SYSOBJECTS.SUBTYPE$ = 'STAB'|NULL |NULL | 0| 0|
11|NULL |2024-06-28 02:31:08.000| 3|CSCN2 |SYSOBJECTS|SYSINDEXSYSOBJECTS|NULL |NULL | 1161| 100| 1| 0| 0|NULL |NULL |NULL | 0| 0|
附录
- 武汉达梦数据库官网:www.dameng.com/
- 武汉达梦数据库下载中心:www.dameng.com/list_103.ht…
- 武汉达梦数据库在线文档手册:eco.dameng.com/document/dm…
- 友情博客:www.cnblogs.com/seamy/p/156…
(1)问题记录1:更新 unzip 异常
[root@localhost ~]# sudo yum update unzip
CentOS Linux 8 - AppStream 88 B/s | 38 B 00:00
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
解决方案:
- 检查 CentOS 生命周期:
CentOS 8 已经在 2021 年底结束了其标准支持周期,并且官方仓库可能不再提供所有软件包或更新。你可能需要考虑迁移到 CentOS Stream 8(CentOS 的继任者)或其他支持的 Linux 发行版。
🙏至此,非常感谢阅读🙏