groupadd dinstall
useradd -g dinstall dmdba
passwd dmdba
mkdir /dm8
chown dmdba:dinstall -R /dm8(配置权限)
mount -o loop dm8_20241227_x86_rh7_64.iso /mnt (root用户)
xhost + (root用户)
echo $DISPLAY :0.0 (root用户)
su – dmdba
export DISPLAY=:0.0
xhost +
cd /mnt
./DMInstall.bin(开始安装)
如果遇到空间不足:
mkdir -p /home/dmdba/tmp
vi /home/dmdba/.bash_profile
加入:export DM_INSTALL_TMPDIR=/home/dmdba/tmp
source /home/dmdba/.bash_profile(生效)
然后图形化配置安装
cd /dm8/tool/
./dbca.sh(数据库配置助手)
图形化配置
(1) console控制台工具图形化界面方式修改,不管修改什么类型参数都需要重启数据库才能生效(修改的是 dm.ini 配置文件)
(2)直接修改dm.ini配置文件可以vim编辑dm.ini文件,采用此方式不管修改什么类型参数都需要重启数据库才能生效。
(3) 系统函数修改可以用来修改静态和动态参数,静态参数只能修改配置文件中的值(修改后需要重启数据库才能生效),动态参数既可以修改内存中的值(修改成功后即生效),也可以修改参数文件的值。
sp_set_para_value(SCOPE,'参数名',参数值);
SCOPE:修改范围(0:memory;1:both(memory+spfile);2:spfile)
(4) 使用SQL语句alter system set命令修改可以用来修改静态和动态参数,静态参数只能修改配置文件中的值(修改后需重启数据库才能生效),动态参数既可以修改内存中的值(修改成功后即生效),也可以修改参数文件的值。
(1)管理工具图形化创建表空间
(2)disql命令行创建,如:
create tablespace TEST02 datafile '/dm8/data/DAMENG/TEST02_01.DBF' size 50 autoextend on next 1 maxsize 1024 CACHE = NORMAL;
(1)管理工具图形化创建用户
(2)disql命令行创建,如:
create tablespace TEST datafile '/dm8/data/DAMENG/TEST01.DBF' size 32 CACHE = NORMAL; create user TEST identified by "Dameng123" limit FAILED_LOGIN_ATTEMPS 5 PASSWORD_LIFE_TIME 180 PASSWORD_LOCK_TIME 3 default tablespace "TEST";
grant "PUBLIC","RESOURCE","SOI" to TEST; (授予权限)
grant CREATE TABLE,CREATE VIEW to TEST;(授予权限)
(1)管理工具图形化创建角色
(2)disql命令行创建,如:
create role ROLEM; (下方均为赋予权限)
grant "RESOURCE" to ROLEM;
grant CREATE TABLE,CREATE VIEW,CREATE INDEX to ROLEM;
grant SELECT (hire_date) on DMHR.EMPLOYEE to ROLEM;
grant select (employee_name) on dmhr.employee to ROLEM;
grant SELECT on DMHR.DEPARTMENT to ROLEM;
grant UPDATE (PHONE_NUM)on DMHR.EMPLOYEE to ROLEM;
CREATE TABLE [模式名.]表名 (
列名1 数据类型 [列级约束],
列名2 数据类型 [列级约束],
...
[表级约束]
) [STORAGE(存储参数)];
模式名:可选,默认使用当前用户模式(如TEST模式下建表可省略)。
列定义:
(1)数据类型:支持INT(整数)、VARCHAR(n)(可变字符串)、DATE(日期)、NUMBER(p,s)(数值,p 总长度,s 小数位)等。
(2)列级约束:如NOT NULL(非空)、PRIMARY KEY(主键)、UNIQUE(唯一)、CHECK(条件)(检查)。
表级约束:集中定义约束(如外键FOREIGN KEY(列名) REFERENCES 主表(列名)),便于复杂约束管理。
存储参数:通过STORAGE指定表的存储属性,如ON "表空间名"(指定存储表空间)、CLUSTERBTR(聚簇 B 树结构,达梦默认索引组织表)。
约束是数据库中用于确保表中数据完整性、准确性和一致性的规则,通过限制列的值或关系,防止无效、错误或不一致的数据存入表中。常见类型包括主键、外键、唯一、检查、非空约束等。
(1)非空约束
关键词:not null
(2)唯一约束 唯一约束的列上不能有重复的数据,创建唯一约束会自动创建唯一索引。
关键词:UNIQUE
例如:CREATE TABLE TEST ( "ID" INT, "NAME" VARCHAR(50), UNIQUE("NAME")) STORAGE(ON "MAIN", CLUSTERBTR) ;
(为NAME添加唯一约束)
(3)主键约束 非空+唯一约束,一个表只能有一个主键约束
关键词:PRIMARY KEY
例如:CREATE TABLE TEST ( "ID" INT NOT NULL, "NAME" VARCHAR(50), NOT CLUSTER PRIMARY KEY("ID")) STORAGE(ON "TEST", CLUSTERBTR) ;
(为ID添加主键约束)
(4)外键约束
关键词:FOREIGN KEY
例如:CREATE TABLE TEST1 ( "ID" INT, "NAME" VARCHAR(50), FOREIGN KEY("ID") REFERENCES TEST2("ID"));
(这是为 TEST1 表的 ID 列定义的外键约束,该约束指定 TEST1 表的 ID 列值必须存在于TEST2 表的 ID 列中(保证引用完整性))
(5)检查约束
关键词:CHECK
例如:CREATE TABLE TEST( "ID" NUMBER(5,2), CHECK(ID > 9)) STORAGE(ON "TEST", CLUSTERBTR) ;
(并为 ID 列添加检查约束(要求 ID 值必须大于 9))
方法一:
通过disql 方式
cd /dm8/bin (到数据库bin目录下)
./disql sysdba/Dameng123
SQL> start /home/dmdba/daoru.sql
或者
SQL> `/home/dmdba/daoru.sql
SQL> @/home/dmdba/daoru.sql
方法二:
通过DM管理工具
`/home/dmdba/daoru.sql
视图是数据库中基于 SQL 查询结果创建的虚拟表,不实际存储数据,仅保存查询定义。它能简化复杂查询、限制数据访问范围(如只展示部分列),用户操作视图时实际是对基表数据进行查询或符合条件的修改。
create or replace view test.view_emp as select employee_id, employee_name,salary, department_id from dmhr.EMPLOYEE where department_id=101;
索引是数据库中用于加速查询的辅助数据结构,通过存储列值与对应数据位置的映射关系,减少查询时的磁盘 IO 操作,从而快速定位所需数据,提升检索效率。
create index "DMHR".IND_NAME on DMHR.EMPLOYEE("EMPLOYEE_NAME");
物理备份是直接对达梦数据库的物理文件(如数据文件、控制文件、重做日志文件等)进行的备份,备份内容与文件存储格式一致,恢复速度快。
其中,热备(联机备份)需在数据库实例开启、归档模式启用的前提下进行,不中断业务,适合 7×24 小时运行的系统;冷备(脱机备份)需关闭数据库实例(仅 DmAP 服务启动),会暂停业务,适合非高峰期或维护窗口操作。
(1)冷备(脱机备份):dmap服务是打开的,数据库实例是关闭的。
./DmServiceDMSERVER stop(先停服务)
然后打开DM控制台工具,在备份还原中选择新建备份来完成备份
(2)热备:DMAP 服务是打开的,数据库实例也是打开的,数据库是归档模式
先在管理服务器将系统状态切换为配置状态,设定日志目录生效后再切回打开状态
先进入管理服务器当中,将状态切换为配置状态
然后在归档配置中配置归档目标
点击确认后再次打开管理服务器,将状态切回打开状态
(注意要配置备份工作目录)
逻辑备份是达梦数据库中基于数据库对象(表、用户、模式、数据等) 的备份方式,不直接备份物理文件,而是通过解析数据逻辑结构,将数据以 SQL语句或特定格式(如.dmp 文件)导出,核心工具为dexp(导出)和dimp(导入)。
它支持 4 种备份粒度(数据库级、用户级、模式级、表级),可灵活选择需备份的对象;且备份文件跨版本兼容(如 DM7 备份可导入 DM8),适合数据迁移、少量对象备份场景。但相比物理备份,因需处理数据逻辑转换,备份/恢复速度较慢,不适合超大规模数据备份。
导入导出(dexp dimp) 分四级别:
(1)数据库级别:导出或导入整个数据库中的所有对象
(2)用户:导出或导入一个或多个用户所拥有的所有对象
(3)模式:导出或导入一个或多个模式下的所有对象
(4)表级:导出或导入一个或多个指定表或表分区。
达梦数据库的作业(Job) 是用于自动化执行周期性任务的工具,可按预设时间规则自动运行备份、SQL 脚本、存储过程等操作,减少人工干预。
其核心由三部分组成:
常见场景包括定时备份、统计信息更新、数据清理等,支持图形化(管理工具)和命令行配置,能有效提升运维效率。
步骤:
(1)创建代理环境
(2)新建作业
(3)新建作业步骤
(4)新建作业调度
ODBC 是一种跨平台、跨数据库的标准接口,它定义了应用程序访问数据库的统一方式,无需针对特定数据库(如 DM8、MySQL 等)编写专属代码,简化了多数据库兼容开发。
在root用户下:
(1)检查gcc包
rpm -aq|grep gcc
(2)解压安装包
tar -xzvf unixODBC-2.3.0.tar.gz
cd unixODBC-2.3.0/
(3)配置ODBC
./configure
(4)编译安装ODBC
make && make install
(5)查看odbc版本 、
odbc_config --version 2.3.0
(6)查看odbc配置文件路径
odbcinst -j
(7)配置odbc.ini 和 odbcinst.ini
vi odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so
vi odbc.ini
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = Dameng123
TCP_PORT = 5236
切回dmdba用户
isql dm8
配置完成后,应用程序可通过 ODBC 接口调用该数据源,实现与 DM8 的连接和数据交互。
达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台:
https://eco.dameng.com
文章
阅读量
获赞