DM8数据库入门到熟练

1、部署

1.1、下载

用户在安装 DM 数据库之前需要检查或修改操作系统的配置,以保证 DM 数据库能够正确安装和运行。

操作系统CPU数据库
CentOS7x86_64dm8_20250506_x86_rh7_64.zip

在这里插入图片描述

1.2、新建 dmdba 用户

安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库。

创建用户所在的组,命令如下:
groupadd dinstall -g 2001
创建用户,命令如下:
useradd  -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba
修改用户密码,命令如下:
passwd dmdba

1.3、修改文件打开最大数

在 Linux、Solaris、AIX 和 HP-UNIX 等系统中,操作系统默认会对程序使用资源进行限制。如果不取消对应的限制,则数据库的性能将会受到影响。
永久修改和临时修改。
重启服务器后永久生效。
使用 root 用户打开 /etc/security/limits.conf 文件进行修改,命令如下:

*       soft   noproc  65536
*       hard   noproc  65536
*       soft   nofile  131072
*       hard   nofile  131072
*       hard   stack   32768
*       soft   stack   16384
*       hard memlock unlimited
*       soft memlock unlimited

切换到 dmdba 用户,查看是否生效,命令如下:

su - dmdba
ulimit -a

1.4、目录规划

1.4.1、创建目录
  • 可根据实际需求规划安装目录,本示例使用默认配置 DM 数据库安装在 /home/dmdba 文件夹下。
  • 规划创建实例保存目录、归档保存目录、备份保存目录。
##实例保存目录
mkdir -p /data/dm/data 
##归档保存目录
mkdir -p /data/dm/arch
##备份保存目录
mkdir -p /data/dm/dmbak
1.4.2、修改目录权限
chown -R dmdba:dinstall /data/dm/data
chown -R dmdba:dinstall /data/dm/arch
chown -R dmdba:dinstall /data/dm/dmbak
1.4.3、设置 755 权限
chmod -R 755 /data/dm/data
chmod -R 755 /data/dm/arch
chmod -R 755 /data/dm/dmbak

1.5、挂载镜像

1.5.1、解压安装包
mkdir -p /opt/apps/dm
unzip -d /opt/apps/dm/ dm8_20250506_x86_rh7_64.zip
1.5.2、镜像挂载(root)
mkdir -p /mnt/dm
mount dm8_20250506_x86_rh7_64.iso /mnt/dm
1.5.3、命令行安装(dmdba用户)
su - dmdba
cd /mnt/dm
##数据库安装与配置(dmdba用户)
./DMInstall.bin -i

在这里插入图片描述

  • 按需求选择安装语言,默认中文;
  • 没有 key 文件选择 “n”;
  • 时区按需求选择一般选择 “21”;
  • 安装类型选择“1”;
  • 安装目录按实际情况配置,默认安装位置:/home/dmdba/dm。
    在这里插入图片描述
    数据库安装大概 1~2 分钟,数据库安装完成后,显示如下界面。
    在这里插入图片描述#### 1.5.4、创建 DmAPService
    数据库安装完成后,需要切换至 root 用户执行上图中的命令 /home/dmdba/dmdbms/script/root/root_installer.sh 创建 DmAPService,否则会影响数据库备份。
    在这里插入图片描述
1.5.5、配置实例(dmdba用户)

部分参数解释如下

page_size:数据文件使用的页大小。取值范围 4、8、16、32,单位:KB。缺省值为 8。可选参数。选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降。数据库创建成功后无法再修改页大小,可通过系统函数 SF_GET_PAGE_SIZE()获取系统的页大小。
extent_size:数据文件使用的簇大小,即每次分配新的段空间时连续的页数。取值范围 16、32、64。单位:页数。缺省值为 16。可选参数。数据库创建成功后无法再修改簇大小,可通过系统函数 SF_GET_EXTENT_SIZE()获取系统的簇大小。
case_sensitive: 标识符大小写敏感。当大小写敏感时,小写的标识符应用""括起,否则被系统自动转换为大写;当大小写不敏感时,系统不会转换标识符的大小写,系统比较函数会将大写字母全部转为小写字母再进行比较。取值:Y、y、1 表示敏感;N、n、0 表示不敏感。缺省值为 Y。可选参数。此参数在数据库创建成功后无法修改,可通过系统函数 SF_GET_CASE_SENSITIVE_FLAG()或 CASE_SENSITIVE()查询设置的参数值。
charset:字符集选项。取值范围 0、1、2。0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR。缺省值为 0。可选参数。此参数在数据库创建成功后无法修改,可通过系统函数 SF_GET_UNICODE_FLAG()或 UNICODE()查询设置的参数值。
BLANK_PAD_MODE:设置字符串比较时,结尾空格填充模式是否兼容 ORACLE。1:兼容;0:不兼容。缺省值为 0。可选参数。此参数在数据库创建成功后无法修改,可通过查询 V$PARAMETER 中的 BLANK_PAD_MODE 参数名查看此参数的设置值。
PAGE_CHECK:PAGE_CHECK 为页检查模式。取值范围 0、1、2、3。0:禁用页校验;1:开启页校验并使用 CRC 校验;2:开启页校验并使用指定的 HASH 算法进行校验;3:开启页校验并使用快速 CRC 校验。缺省值为 3。可选参数。在数据库创建成功后无法修改。

需要注意的是 页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 、空格填充模式 (BLANK_PAD_MODE) 、页检查模式(PAGE CHECK) 等部分参数,一旦确定无法修改,在初始化实例时确认需求后谨慎设置。

/home/dmdba/dm/bin/dminit/dminit path=/data/dm/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DAMENG INSTANCE_NAME=DBSERVER PORT_NUM=5236 SYSDBA_PWD=Dmdb#2025  SYSAUDITOR_PWD=Dmdb#2025
1.5.6、注册服务(root用户)

注册服务(root用户)

/home/dmdba/dm/script/root/dm_service_installer.sh -t dmserver -dm_ini /data/dm/DAMENG/dm.ini -p DMSERVER

部分参数说明

标志	参数	说明
-t	服务类型	注册服务类型,支持一下服务类型:dmap、dmamon、dmserver、dmwatcher、dmmonitor、dmasmsvr、dmasmsvrm、dmcss、dmcssm。
-dm_ini	INI 文件路径	指定服务所需要的 dm.ini 文件路径。
-p	服务名后缀	指定服务名后缀,生成的操作系统服务名为“服务脚本模板名,称 + 服务名后缀”。此参数只针对 dmserver、dmwatcher、dmmonitor、dmasmsvr、dmasmsvrm、dmcss、dmcssm 服务脚本生效。
1.5.7、启动、停止数据库(root用户)
1、启停及开机自启
systemctl start DmServiceDMSERVER.service
systemctl stop DmServiceDMSERVER.service
systemctl restart DmServiceDMSERVER.service
systemctl status DmServiceDMSERVER.servicesystemctl enable DmServiceDMSERVER.service 
systemctl is-enabled DmServiceDMSERVER.service
2、配置环境变量
vi /home/dmdba/.bash_profile# DMDB
export DM_HOME=/home/dmdba/dm
export PATH=$PATH:$DM_HOME/binsource /home/dmdba/.bash_profile
1.5.8、数据库目录结构
1、数据库安装目录

在这里插入图片描述
/home/dmdba/dmdbms/bin 目录存放 DM 数据库的可执行文件,例如 disql 命令、dminit 命令、dmrman 工具等。
在这里插入图片描述
/home/dmdba/dmdbms/desktop/icons 存放 DM 数据库各个工具的桌面图标。
在这里插入图片描述
/home/dmdba/dmdbms/doc 存放 DM 数据库用户手册。
在这里插入图片描述
/home/dmdba/dmdbms/drivers 存放连接 DM 数据库的驱动文件。
在这里插入图片描述
/home/dmdba/dmdbms/log 存放 DM 数据库日志,包括工具的日志、数据库日志、服务日志等。
在这里插入图片描述
/home/dmdba/dmdbms/samples 存放 DM 数据库各类配置文件的示例文件。
在这里插入图片描述
/home/dmdba/dmdbms/script/root 存放注册、注销 DM 数据库服务的工具,例如 dm_service_installer.sh 等。
在这里插入图片描述
/home/dmdba/dmdbms/tool 存放 DM 数据库的各个工具,例如 manager 管理工具、dbca 数据库配置助手等。
在这里插入图片描述
/home/dmdba/dmdbms/uninstall 目录存放卸载 DM 数据库的脚本。
在这里插入图片描述
/home/dmdba/dmdbms/web 目录存放 DM 数据库 dem 工具的 web 环境。
在这里插入图片描述

2、数据库实例目录

/data/dm/data 为数据库实例目录,该目录存放各个实例的文件。
在这里插入图片描述
以实例 DAMENG 为例,该目录下存放 DAMENG 实例的配置文件 *.ini、控制文件 dm.ctl、数据文件 *.DBF、日志文件 *.log 等。
在这里插入图片描述

1.6、

2、数据库操作

2.1、模式名、表空间、用户

  • 表空间其实就相当于mysql的库概念,达梦是分配表空间,而mysql是新建数据库。mysql是在数据库里建表插入数据,达梦是在表空间里建表插入数据。
  • 用户的模式(SCHEMA)指的是用户账号拥有的对象集,在概念上可将其看作是包含表、 视图、索引和权限定义的对象。
  • 默认情况模式与用户相同

2.2、创建表空间,并绑定用户和表空间

1、登录
disql SYSDBA/\"Dmdb#2025\"@localhost:5236disql ZHUGE_IO/\"zhugeIO#2025\"@localhost:5236
2、创建表空间,用户赋权限
-- 创建表空间
CREATE TABLESPACE SDKV DATAFILE '/data/dm/data/DAMENG/SDKV.DBF' SIZE 256 AUTOEXTEND ON NEXT 256 MAXSIZE 512;
--创建用户绑定表空间
create user "ZHUGE_IO" IDENTIFIED BY "zhugeIO#2025" default tablespace "SDKV" default index tablespace "SDKV";
-- 给用户赋权限
-- grant "DBA" to "ZHUGE_IO";
grant "PUBLIC", "RESOURCE", "SOI" to  ZHUGE_IO;
grant  SELECT ANY TABLE,CREATE SESSIONCREATE TABLE,CREATE VIEW,CREATE INDEX,BACKUP DATABASE, INSERT TABLE, ALTER PROFILE, ALTER TABLE to ZHUGE_IO;

2.3、表空间

1、表空间操作
-- 查询所有表空间,需DBA权限
DROP TABLESPACE IF EXISTS SDKV; 
DROP TABLESPACE 'SDKV';DROP TABLESPACE "SDKV" INCLUDING CONTENTS;
SELECT  "SDKV" FROM DBA_TABLESPACES;SELECT TABLESPACE_NAME, STATUS, CONTENTS FROM DBA_TABLESPACES; 
SELECT USERNAME, DEFAULT_TABLESPACE FROM DBA_USERS WHERE DEFAULT_TABLESPACE =  'SDKV';SELECT TABLE_NAME FROM DBA_TABLES WHERE OWNER = 'ZHUGE_IO'; -- 将 'ZHUGE_IO' 替换为目标模式名
SELECT USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE FROM DBA_USERS;
SELECT USERNAME FROM ALL_USERS;ALTER USER "ZHUGE_IO" IDENTIFIED BY "zhgeIO#2025"; -- 修改密码
DROP USER "ZHUGE_IO" CASCADE;  -- CASCADE级联删除用户对象
select * from DBA_USERS; -- 查询用户信息
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'ZHUGE_IO';  -- 查看用户权限
select * from DBA_TABLESPACES;  -- 查看所有表空间 
select * from DBA_DATA_FILES; -- 查看表空间数据文件信息  
select ts.NAME, df.PATH from V$tablespace AS ts, V$DATAFILE AS df where ts.ID = df.GROUP_ID; --查询表空间与数据文件对应关系
2、用户操作
-- 查询当前用户有权限访问的表
SELECT TABLE_NAME, TABLESPACE_NAME FROM ALL_TABLES WHERE TABLESPACE_NAME = 'SDKV';
SELECT TABLESPACE_NAME, STATUS, CONTENTS FROM DBA_TABLESPACES;
SELECT SF_GET_UNICODE_FLAG();  -- 返回整数值
select UNICODE (); -- 查看字符集;0 表示 GB18030,1 表示 UTF-8,2 表示 EUC-KR
select SF_GET_PAGE_SIZE(); -- 查看页大小

2.4、管理表

https://eco.dameng.com/document/dm/zh-cn/pm/management-table.html#9.2.2%20%E6%8C%87%E5%AE%9A%E8%A1%A8%E7%9A%84%E8%81%9A%E9%9B%86%E7%B4%A2%E5%BC%95

2.5、创建表

1、T_ROLE表
CREATE TABLE   "T_ROLE"
(
"ROLE_ID" INT IDENTITY(1, 1) NOT NULL,
"ROLE_NAME" VARCHAR(200) NOT NULL,
"ROLE_CODE" VARCHAR(200) NOT NULL,
"COMMENTS" VARCHAR(400),
"DELETED" INT DEFAULT 0 NOT NULL,
"TENANT_ID" INT DEFAULT 1 NOT NULL,
"CREATE_TIME" TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP NOT NULL,
"UPDATE_TIME" TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP NOT NULL,
NOT CLUSTER PRIMARY KEY("ROLE_ID"))   ;
COMMENT ON TABLE "T_ROLE" IS '角色表';
COMMENT ON COLUMN   "T_ROLE"."COMMENTS" IS '备注';
COMMENT ON COLUMN   "T_ROLE"."CREATE_TIME" IS '创建时间';
COMMENT ON COLUMN   "T_ROLE"."DELETED" IS '是否删除, 0否, 1是';
COMMENT ON COLUMN   "T_ROLE"."ROLE_CODE" IS '角色标识';
COMMENT ON COLUMN   "T_ROLE"."ROLE_ID" IS '角色id';
COMMENT ON COLUMN   "T_ROLE"."ROLE_NAME" IS '角色名称';
COMMENT ON COLUMN   "T_ROLE"."TENANT_ID" IS '租户id';
COMMENT ON COLUMN   "T_ROLE"."UPDATE_TIME" IS '修改时间';INSERT INTO  T_ROLE(role_name,role_code,comments,deleted,tenant_id,create_time,update_time)  VALUES ('管理员', 'admin', '管理员', 0, 1, '2020-02-26 15:18:37', '2020-03-21 15:15:54');
2、EMP表
create table emp (
id int,
name varchar(255) not null,
email varchar(255),
dept_id int,
hire_date date,
-- 定义主键
primary key (id),
-- 定义唯一键
constraint uk_dept unique (dept_id),
-- 联合唯一约束
constraint uk_id_dept unique (id,dept_id)
);
comment  on table   emp is '客户基本信息表';
comment  on column  emp.id is '员工id';
comment  on column  emp.name is '姓名';
comment  on column  emp.email is '邮箱';
comment  on column  emp.dept_id is '部门id';
comment  on column  emp.hire_date is '入职日期';

2.6、查看表


-- 查看当前用户
SELECT CURRENT_USER;
-- 查看是否存在 SDKV 模式
SELECT * FROM SYSOBJECTS WHERE NAME = 'ZHUGE_IO' AND TYPE$ = 'SCH';
-- 查看你是否有权限访问该模式下的表
SELECT * FROM ALL_TABLES WHERE OWNER = 'ZHUGE_IO';
-- 如果存在且有权限,切换模式
SET SCHEMA 'SDKV';
-- 查询建表语句
SP_TABLEDEF('ZHUGE_IO', 'T_ROLE');-- 查看当前用户模式下的所有表
SELECT TABLE_NAME FROM USER_TABLES;
-- 使用 ALL_TABLES (适用于有权限访问的情况),将 'ZHUGE_IO' 替换为目标模式名
SELECT TABLESPACE_NAME as 表空间,OWNER as 模式名,TABLE_NAME as 表名,TABLE_LOCK as 是否允许锁定,STATUS as 表状态 FROM ALL_TABLES WHERE OWNER = 'ZHUGE_IO';
-- 查看表级别的注释
SELECT TABLE_NAME, COMMENTS FROM USER_TAB_COMMENTS WHERE TABLE_NAME = 'T_ROLE';
-- 查看列级别的注释
SELECT COLUMN_NAME, COMMENTS FROM USER_COL_COMMENTS WHERE TABLE_NAME = 'T_ROLE';
-- 获取列级别的注释
SELECT T.COLUMN_NAME, T.DATA_TYPE, C.COMMENTS
FROM USER_COL_COMMENTS C
JOIN USER_TAB_COLUMNS T ON C.COLUMN_NAME = T.COLUMN_NAME AND C.TABLE_NAME = T.TABLE_NAME
WHERE C.TABLE_NAME = 'T_ROLE';

2.7、

2.8、

2.9、

3、数据库维护

3.1、

3.2、

3.3、

3.4、

3.5、

3.6、

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/86976.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/86976.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VUE3入门很简单(2)--- 计算属性

前言 重要提示:文章只适合初学者,不适合专家!!! 为什么需要计算属性? 想象你在开发一个购物车功能。当用户选择商品时,你需要: 计算商品总价根据折扣码调整价格自动更新免运费状…

IPV6概述

1. 定义 IPv6(Internet Protocol version 6)是互联网协议的第六版,设计用于替代现有的 IPv4 协议。IPv6 提供了更大的地址空间、增强的路由效率、更好的安全性以及自动配置功能,以满足现代网络的需求。 1.1 地址空间 IPv6 地址长…

量子机器学习:AI算力突破量子优势临界点?

前言 前些天发现了一个巨牛的人工智能免费学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站 以下是为您撰写的第六篇CSDN深度技术解析文章,围绕前沿命题 《量子机器学习:AI算力突破量子优势临界点&…

Kerberos 深入详解:原理、认证流程与应用场景

目录 什么是 KerberosKerberos 原理解析Kerberos 认证完整流程Kerberos 应用场景常见问题与最佳实践参考资料 什么是 Kerberos Kerberos 是一种广泛应用于计算机网络中的身份认证协议,它基于对称密钥加密思想,核心目标是在不安全的网络中实现安全的身份…

mac安装node 实测可行

进入nodejs官网,选择mac,选择安装方式,选择版本即可获得安装命令 直接执行即可 具体脚本 # Download and install nvm: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash# in lieu of restarting the shell \. "…

山石网科谈平凡对话中的咒语——提示词注入攻击与防御

现场 2026 年 4 月 25 日上午,A市 初春的街道,阳光普照,鸟语花香,V 君中午要与一个重要的客户见面, 特意预约了人气正旺的星际咖啡馆,他家主打未来科幻风,之前去过几次, 服务周到、…

SpringMVC系列(五)(响应实验以及Restful架构风格(上))

0 引言 作者正在学习SpringMVC相关内容,学到了一些知识,希望分享给需要短时间想要了解SpringMVC的读者朋友们,想用通俗的语言讲述其中的知识,希望与诸位共勉,共同进步! 本系列会持续更新!&…

Windows 环境下设置 RabbitMQ 的 consumer_timeout 参数

在 Windows 环境下设置 RabbitMQ 的 consumer_timeout 参数,可以通过临时修改或永久修改两种方式实现。以下是具体操作步骤: 一、临时修改(无需重启服务,但重启后失效) ‌通过命令行动态设置‌ 打开命令提示符&#xf…

Python 中切换镜像源

在 Python 中切换镜像源主要涉及 pip 包管理器 和 conda 环境(如 Anaconda、Miniconda) 的配置。国内访问 Python 官方源(PyPI)可能较慢,因此推荐使用国内镜像源(如阿里云、清华大学、豆瓣等)。…

深入解析拓扑排序算法:从原理到C++实现

一、拓扑排序概述 拓扑排序(Topological Sorting)是对有向无环图(Directed Acyclic Graph,简称DAG)的顶点进行排序,得到一个线性序列,使得对于图中的任意一对顶点u和v,若存在一条从u到v的路径,则u在排序结果中出现在v…

图像质量对比感悟

具体任务: 在本次任务中,我需要对比两张1080p的yuv图片的清晰度,那么如何判断呢?主要是进行了主观判断和客观psnr的判断。 psnr解释: 定义: PSNR 用于衡量 两幅图像之间的差异(通常是原始图像和…

机器学习(ML)-Scikit-Learn--快速入门

专栏:机器学习 个人主页:云端筑梦狮 一.数据集读取方法(常用功能用熟即可不用背下来) 以例子代表需要的知识点和方法。 1. 导入必要的库 from sklearn.datasets import load_iris import numpy as npload_iris():用于加载鸢尾花数据集的…

SQL语句四大分类详解:DDL、DML、DQL、DCL

前言 SQL(Structured Query Language)是用于管理和操作关系型数据库的标准语言。无论是开发人员还是数据库管理员,掌握 SQL 是必不可少的技能。 SQL 根据功能的不同,通常被划分为 四大类: ✅ DDL(数据定义…

如何将Word里每页的行数设置成50行

https://www.zhihu.com/question/357856175 本文来自知乎林听晴 第一步:新建一个Word文档 打开“页面布局”,之后点击图片圈起来的小图标,即可出现“页面设置”页面。 ​ ​ 路径:页面设置—文档网络,可以看到默认行…

纯前端本地文件管理器(VSCode风格)(浏览器对本地文件增删改查)

纯前端本地文件管理器(VSCode风格)(浏览器对本地文件增删改查) 简介 本项目为一个纯前端实现的本地文件管理器网页(index.html),可在 Chrome/Edge 浏览器中直接打开,具备类似 VSCode 的本地文件夹操作体验…

windows安装wsl、Ubuntu、docker desktop

以下是Windows安装WSL(Windows Subsystem for Linux)及在Ubuntu中配置使用Docker的完整流程,整合了最新官方方案和常见问题解决方案: 🔧 一、Windows安装WSL(推荐WSL 2) 📍 安装前提…

华为云Flexus+DeepSeek征文|云端智能加持:华为云ModelArts Studio提升Chat2DB的AI数据库管理效能

华为云FlexusDeepSeek征文|云端智能加持:华为云ModelArts Studio提升Chat2DB的AI数据库管理效能 前言一、华为云ModelArts Studio平台介绍1.1 ModelArts Studio介绍1.2 ModelArts Studio主要特点1.3 ModelArts Studio使用场景1.4 ModelArts Studio产品架…

微信小程序封装loading 修改

1. custom-loading.vue <template><view v-if"visible" class"custom-loading-mask" touchmove.stop.prevent><view class"custom-loading-container"><!-- 动态点点 --><text class"loading-text">{…

Windows环境下Docker容器化的安装与设置指南

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; 系统要求与准备工作 在开始安装和配置 Docker 之前&#xff0c;需要确保您的 Windows 系统满足以下要求&#xff1a; 操作系统版本&#xff1a;推荐使用 Windows 10 或更高版本&#xff0c;特别是 64 位版本。对…

0 数学习题本

零 引言 数学错题与好题总结 一 基础阶段 1 高数部分 习题册:武忠祥 660 1️⃣ 函数 极限 连续 2️⃣ 一元微分 3️⃣ 一元积分 4️⃣ 微分方程 5️⃣ 多元微分 6️⃣ 二重积分 7️⃣ 无穷级数 8️⃣ 空间几何 9️⃣ 多元积分 2 线代部分 习题册:汤家凤 1800 1️⃣ 行列式…