达梦数据库学习笔记@1

news2025/2/24 23:45:07

目录

  • 达梦数据库学习笔记
    • 一、表空间管理
      • (一)默认表空间
      • (二)相关数据字典
      • (三)表空间操作
      • (四)临时表空间管理
    • 二、重做日志管理
      • (一)系统视图
      • (二)日志操作
    • 三、归档管理
      • (一)开启归档
      • (二)其他操作
    • 四、用户管理
      • (一)相关视图
      • (二)三|四权分立
      • (三)口令策略
      • (四)身份验证模式
      • (五)用户管理示例
      • (六)用户资源限制
    • 五、权限管理
      • (一)授权和撤销
      • (二)权限相关系统表
      • (三)查看权限
    • 六、角色管理
      • (一)角色概念
      • (二)预定角色
      • (三)角色操作
    • 七、模式管理
      • (一)模式概念
      • (二)模式和用户关系
      • (三)模式操作
    • 八、表管理
      • (一)创建表
      • (二)表字段操作
      • (三)移动表
      • (四)表相关视图
    • 九、约束管理
      • (一)约束类型
      • (二)约束操作
      • (三)约束系统视图
    • 十、索引管理
      • (一)索引操作
      • (二)统计信息收集
    • 十一、视图管理
      • (一)视图概念
      • (二)视图操作
    • 十二、数据库备份恢复
      • (一)备份恢复概念
      • (二)备份类型
      • (三)备份操作
      • (四)DMRMAN备份
      • (五)逻辑备份
    • 十三、作业系统
      • (一)创建备份作业
    • 十四、DM8开发
      • (一)JDBC连接数据库
      • (二)ODBC连接数据库

达梦数据库学习笔记

一、表空间管理

(一)默认表空间

  1. SYSTEM:存储数据字典、表、字段、视图等对象的定义权限等信息。
  2. ROLL:存储DML操作对应的undo日志信息。
  3. MAIN:用户默认表空间,用户未指定时使用。
  4. TEMP:存储系统运行产生的临时数据,如排序数据。
  5. HMAIN:列存储表空间。

(二)相关数据字典

  1. dba_tablespaces:查询数据库表空间相关信息。
  2. dba_data_files:查询数据库数据文件信息。
  3. v$tablespace:查询表空间信息。
  4. v$datafile:查询数据文件相关信息。
  5. dba_free_space:查询数据库空闲的数据文件信息。

(三)表空间操作

  1. 创建CREATE TABLESPACE tbs_its DATAFILE 'tbs_its01.dbf' SIZE 128;,未指定路径时按参数存放到指定路径。
  2. 脱机ALTER TABLESPACE tbs_its OFFLINE;
  3. 重命名ALTER TABLESPACE tbs_its RENAME TO tbs1;
  4. 删除DROP TABLESPACE tbs1;
  5. 修改
    • 添加数据文件ALTER TABLESPACE tbs_its ADD DATAFILE 'tbs_its02.dbf' SIZE 128 MAXSIZE 1024;
    • 修改属性ALTER TABLESPACE tbs_its DATAFILE 'tbs_its02.dbf' AUTOEXTEND ON NEXT 2 MAXSIZE 1024;
    • 修改大小ALTER TABLESPACE tbs_its RESIZE DATAFILE 'tbs_its02.dbf' TO 256;
  6. 数据文件迁移
    • 先脱机:ALTER TABLESPACE OFFLINE;
    • 重命名:ALTER TABLESPACE tbs_its RENAME DATAFILE 'tbs_its02.dbf' TO '/tmp/tbs_its02.dbf';
    • 再联机:ALTER TABLESPACE ONLINE;

(四)临时表空间管理

  1. 收缩方法:重启数据库,自动重建临时表空间;使用SP_TRUNC_TS_FILE方法。

二、重做日志管理

(一)系统视图

  1. v$rlogfile:显示日志文件具体信息,如文件号、路径、状态、大小等。
  2. v$rlog:显示日志总体信息,包括事务号LSN、归档日志、检查点执行情况等。

(二)日志操作

  1. 修改大小alter database RESIZE LOGFILE 'its01.log' to 300;
  2. 添加日志alter database ADD LOGFILE 'its03.log' SIZE 300;
  3. 修改路径
    • 先挂载:ALTER DATABASE MOUNT;
    • 重命名:ALTER DATABASE RENAME LOGFILE 'its01.log' TO '/tmp/its01.log';
    • 再打开:alter database open;

三、归档管理

(一)开启归档

  1. 手动开启
    • 挂载数据库:ALTER DATABASE MOUNT;
    • 添加归档配置:ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL ,DEST=/dmdata/arch ,FILE_SIZE=128 ,SPACE_LIMIT=2048';
    • 开启归档模式:ALTER DATABASE ARCHIVELOG;
    • 打开数据库:ALTER DATABASE OPEN;
  2. 配置文件配置
    • dm.ini中设置ARCH_INI = 1
    • dmarch.ini中配置相关参数,如:
ARCH_WAIT_APPLY      = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE            = LOCAL
ARCH_DEST            = /dmdata/arch
ARCH_FILE_SIZE       = 128
ARCH_SPACE_LIMIT     = 2048
ARCH_FLUSH_BUF_SIZE  = 0
ARCH_HANG_FLAG       = 1

(二)其他操作

  1. 查看状态SELECT arch_mode FROM v$database;
  2. 修改配置参数ALTER DATABASE MODIFY ARCHIVELOG 'TYPE=LOCAL ,DEST=/dmdata/arch ,FILE_SIZE=128 ,SPACE_LIMIT=20480';
  3. 关闭归档
    • 挂载数据库:alter database mount;
    • 关闭归档模式:alter database noarchivelog;
    • 删除归档配置:alter database delete archivelog 'TYPE=LOCAL ,DEST=/dmdata/arch ,FILE_SIZE=128 ,SPACE_LIMIT=20480';
    • 打开数据库:alter database open;
  4. 切换归档
    • alter database archivelog current;
    • alter system switch logfile;
    • alter system archive log current;
  5. 删除归档
    • 按时间删除SF_ARCHIVELOG_DELETE_BEFORE_TIME(SYSDATE);
    • 按LSN删除SF_ARCHIVELOG_DELETE_BEFORE_LSN();

四、用户管理

(一)相关视图

  1. dba_users:用于查看用户相关信息。

(二)三|四权分立

  1. 系统管理员(SYSDBA):负责身份验证、资源限制、数据加密、访问控制、客体重用等。
  2. 系统审计员(SYSAUDITOR):承担审计工作。
  3. 系统安全员(SYSSSO):进行策略和标记管理。
  4. 对象管理员(SYSDBO)负责访问对象控制。

(三)口令策略

  1. PWD_POLICY参数:是隐藏参数,只能通过函数或语句修改。
    • 0:无限制,但总长度不超48字节。
    • 1:禁止与用户名相同。
    • 2:口令长度需大于等于INI参数PWD_MIN_LEN设置的值。
    • 4:至少包含一个大写字母。
    • 8:至少包含一个数字。
    • 16:至少包含一个标点符号(英文输入法下,除“和空格外的所有符号)。
select * from SYS."V$PARAMETER" where name like '%COMPATIBLE_MODE%';
select * from v$parameter t where t.name = 'PWD_POLICY';
alter SYSTEM set 'PWD_POLICY' = 16 BOTH;

(四)身份验证模式

  1. 数据库认证模式:使用创建用户时设置的密码登录。
  2. 基于操作系统认证模式
    • 开启相关参数:ENABLE_LOCAL_OSAUTH = 1开启本地操作系统认证;ENABLE_REMOTE_OSAUTH = 1开启远程操作系统认证;ENABLE_ENCRYPT = 1表示使用ssl安全加密(静态参数,需重启数据库)。
    • 操作步骤:先添加系统用户并加入指定组;在数据库中创建同名用户;登录数据库。

(五)用户管理示例

  1. 创建用户CREATE USER FANGYU IDENTIFIED BY 123456 DEFAULT TABLESPACE FYU_ITS DEFAULT INDEX TABLESPACE FYU_ITS;
  2. 锁定/解锁用户ALTER USER FANGYU ACCOUNT LOCK;(锁定);ALTER USER FANGYU ACCOUNT UNLOCK;(解锁)。
  3. 修改默认表空间ALTER USER FANGYU DEFAULT TABLESPACE MAIN;
  4. 修改密码ALTER USER FANGYU IDEDNTIFIED BY 01234;
  5. 删除用户DROP USER FANGYU(若用户有创建对象则无法删除);DROP USER FANGYU CASCADE;(强制删除)。

(六)用户资源限制

  1. 相关视图dba_profiles可定义策略。
  2. 设置方式
    • LIMIT语句alter user fyu limit FAILED_LOGIN_ATTEMPS 10 , PASSWORD_LOCK_TIME 5;
    • PROFILE语句CREATE PROFILE P1 LIMIT FAILED_LOGIN_ATTEMPS 10 , PASSWORD_LOCK_TIME 5;ALTER USER FYU PROFILE P1;

五、权限管理

(一)授权和撤销

  1. 授权GRANT 权限 TO username [WITH ADMIN OPTION]
  2. 回收REVOKE 权限 FROM username

(二)权限相关系统表

  1. DBA_SYS_PRIVS:系统权限。
  2. DBA_TAB_PRIVS:对象权限。
  3. DBA_ROLE_PRIVS:角色。
  4. DBA_COL_PRIVS:列权限。

(三)查看权限

  1. 查看当前用户权限select * from session_privs;

六、角色管理

(一)角色概念

  1. 角色是一组权限的集合。

(二)预定角色

  1. 管理类:如DBARESOURCEPUBLIC等,各有不同权限。
  2. 审计类:负责审计相关权限。
  3. 安全类:进行标记管理相关权限。

(三)角色操作

  1. 创建角色CREATE ROLE role_name;
  2. 删除角色DROP ROLE role_name;
  3. 禁用角色SP_SET_ROLE('role_name',0)

七、模式管理

(一)模式概念

  1. 模式是特定的对象集合,类似MySQL中的database,默认创建用户时会创建同名模式。

(二)模式和用户关系

  1. 一个用户可拥有多个模式,一个模式仅属于一个用户。

(三)模式操作

  1. 查看模式SELECT * FROM sysobjects WHERE tyepe$='SCH';
  2. 查看模式和用户对应关系
select
        a.id scheid    ,
        a.name schename,
        b.id userid    ,
        b.name username
from
        SYS.SYSOBJECTS a,
        SYS.SYSOBJECTS b
where
        a."TYPE$" = 'SCH'
    and a.pid     = b.id;
  1. 创建模式CREATE SCHEMA s1 AUTHORIZATION FYU;
  2. 查看当前模式和用户SELECT SYS_CONTEXT('USERENV','CURRENT_SCHEMA');SELECT SYS_CONTEXT('USERENV','CURRENT_USER');
  3. 切换模式SET SCHEMA S2;
  4. 删除模式drop schema s1;

八、表管理

(一)创建表

  1. 普通方式CREATE TABLE T1(id INT, name VARCHAR(12));
  2. 基于某个表创建CREATE TABLE T2 LIKE T1;(DM中会复制数据,与MySQL不同)
  3. CREATE TABLE AS SELECTCREATE TABLE T3 AS SELECT * FROM T1;

(二)表字段操作

  1. 添加字段ALTER TABLE T1 ADD COLUMN sex char(1);
  2. 删除字段ALTER TABLE T1 DROP COLUMN sex ;
  3. 修改字段ALTER TABLE T1 MODIFY sex char(10);

(三)移动表

  1. 移动到指定表空间ALTER TABLE T1 MOVE TABLESPACE MAIN;

(四)表相关视图

  1. dba_tables:查看表相关信息。
  2. dba_tab_column:查看表字段相关信息。

九、约束管理

(一)约束类型

  1. NOT NULL:非空约束。
  2. UNIQUE:唯一约束。
  3. PRIMARY KEY:主键约束(唯一约束 + 非空约束)。
  4. FOREIGN KEY:外键约束。
  5. CHECK:检验约束。

(二)约束操作

  1. 添加约束:分别使用不同语句添加各类约束。
  2. 禁用约束ALTER TABLE T1 DISABLE CONSTRAINT idx_uniq_id;
  3. 开启约束ALTER TABLE T1 ENABLE CONSTRAINT idx_uniq_id;
  4. 删除约束ALTER TABLE T1 DROP CONSTRAINT idx_uniq_id;

(三)约束系统视图

  1. dba_constraints:查看约束相关信息。
  2. dba_cons_columns:查看约束涉及的列相关信息。

十、索引管理

(一)索引操作

  1. 创建索引CREATE INDEX idx_id ON i1(id);
  2. 删除索引DROP INDEX idx_id;
  3. 监控索引ALTER INDEX idx_name MONITORING USAGE;,可通过V$OBJECT_USAGE视图查看使用情况。
  4. 重建索引ALTER INDEX idx_name rebuild;(离线重建);ALTER INDEX idx_name rebuild online;(在线重建)。

(二)统计信息收集

  1. 收集dbms_stats.gather_table_stats('SYSDBA','I1');
  2. 查看dbms_stats.table_stats_show('SYSDBA','I1');

十一、视图管理

(一)视图概念

  1. 由SQL语句组成的表,不存储真实数据,只存储查询语句。

(二)视图操作

  1. 创建视图CREATE VIEW v1 AS SELECT * FROM T1;
  2. 查询视图SELECT * FROM V1;

十二、数据库备份恢复

(一)备份恢复概念

  1. 备份:从数据库文件拷贝有效数据页到备份集。
  2. 还原:将有效数据页写入目标数据文件。
  3. 恢复:通过归档日志恢复到备份结束时状态,或指定时间、LSN位置。

(二)备份类型

  1. 逻辑备份:使用dexp工具导出数据,关注数据内容。
  2. 物理备份:扫描数据文件,拷贝已分配使用的数据页。
  3. 联机备份:数据库运行时备份。
  4. 脱机备份:数据库关闭时备份,dmrman备份需数据库关闭。

(三)备份操作

  1. 联机备份BACKUP DATABASE BACKUPSET 'bak_db';,可带多种参数。
  2. 不同备份示例:完全备份、增量备份、表空间备份、表备份、归档备份等都有相应语句和参数。

(四)DMRMAN备份

  1. 备份数据库:完全备份、增量备份、归档备份各有对应语句。
  2. 备份集校验SELECT SF_BAKSET_CHECK('DISK','/dmbak/full_db');
  3. 删除备份集SELECT SF_BAKSET_REMOVE('DISK','/dmbak/full_db',0);

(五)逻辑备份

  1. dexp参数及示例:众多参数控制导出行为,有全库、用户、模式、表等导出示例。
  2. dimp还原dimp USERID=SYSDBA/fangyu421 FILE=/dmbak/full.dmp LOG=full.log FULL=Y DIRECTORY=/dmbak/dimp/

十三、作业系统

(一)创建备份作业

  1. 可进行全量备份和增量备份作业创建,具体操作涉及相关界面设置。

十四、DM8开发

(一)JDBC连接数据库

  1. JDBC接口编程:是Java与数据库的接口规范,DM JDBC驱动程序支持基本SQL功能。
  2. JDBC连接池:负责管理数据库连接,常见连接池有C3P0、Proxool等多种。
  3. 连接基础参数jdbc.driver=dm.jdbc.driver.DmDriver等。

(二)ODBC连接数据库

  1. ODBC概念:为异构数据库访问提供统一接口。
  2. DM ODBC 3.0:遵照规范设计开发,可直接调用接口函数或通过可视化工具访问数据库。
  3. 配置与测试:配置/etc/odbcinst.ini/etc/odbc.ini文件,使用isql测试连接。

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

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

相关文章

Rocky8 源码安装 HAProxy

HAProxy 是一款开源的高性能 负载均衡器 和 反向代理 软件,专注于处理高并发流量分发,广泛应用于企业级架构中提升服务的可用性、扩展性和安全性。 一、HAProxy 简介 1.1.HAProxy 是什么? 本质: 基于 C 语言开发 的轻量级工具&a…

【从0做项目】Java文档搜索引擎(9)烧脑终章!

阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 文章导读 零:项目结果展示 一:导入 二:问题引入 1:情…

Linux 第二次脚本作业

1、需求:判断192.168.1.0/24网络中,当前在线的ip有哪些,并编写脚本打印出来。 2、设计一个 Shell 程序,在/userdata 目录下建立50个目录,即 user1~user50,并设置每个目录的权限,其中其他用户的权…

mysql的源码包安装

安装方式一:(编译好的直接安装) 1.添加一块10G的硬盘,给root逻辑卷扩容 (下面安装方式二有,一模一样的装就行,我就不写了,再写的话篇幅就太长了) 2.下载编译好的源码包…

#渗透测试#批量漏洞挖掘#畅捷通T+远程命令执行漏洞

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章读。 目录 一、漏洞概况 二、攻击特征 三、应急处置…

【2024 CSDN博客之星】大学四年,我如何在CSDN实现学业与事业的“双逆袭”?

前言: Hello大家好,我是Dream。不知不觉2024年已经过去,自己也马上迈入23岁,感慨时间飞快,从19岁刚入大学加入CSDN,到现在大学毕业已经整整四年了。CSDN陪伴我走过了最青涩的四年大学时光,在这里…

06排序 + 查找(D1_排序(D1_基础学习))

目录 学习预热:基础知识 一、什么是排序 二、为什么要排序 三、排序的稳定性 四、排序稳定性的意义 五、排序分类方式 方式一:内外分类 方式二:比较分类 六、排序算法性能评估 1. 算法的时间复杂度 2. 算法的空间复杂度 七、知识小…

【数据挖掘】深度挖掘

【数据挖掘】深度挖掘 目录:1. 减少样本集的数量知识点示例 2. 对噪声比集剪枝知识点示例建立局部树代码示例(使用 Python 和 scikit - learn 库构建局部决策树)代码解释注意事项 最大超平面定义原理求解方法代码示例(使用 Python…

【Linux】基于UDP/TCP套接字编程与守护进程

目录 一、网路套接字编程 (一)基础概念 1、源IP地址与目的IP地址 2、端口号 3、TCP与UDP 4、网络字节序 (二)套接字编程接口 1、socket 常见API 2、sockaddr结构 (三)UDP套接字 1、UDP服务器创建…

C++跳表实现,封装成Skiplist类

跳表 (Skip List) 是由 William Pugh 发明的一种查找数据结构,支持对数据的快速查找,插入和删除。 跳表的期望空间复杂度为O(n) ,跳表的查询,插入和删除操作的期望时间复杂度都为O(logn)。 算法讲解149【扩展】有序表专题2-跳表_哔…

【uni-app】对齐胶囊容器组件

代码碎片 <template><div><view :style"{ height: ${statusBarHeight}px }"></view><viewclass"":style"{height: ${menuButtonHeight menuButtonPadding * 2}px,width: ${menuButtonInfo.left}px,}"><slot …

计算机毕业设计SpringBoot+Vue.jst0甘肃非物质文化网站(源码+LW文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

制造行业CRM选哪家?中大型企业CRM选型方案

在当今竞争激烈的制造行业中&#xff0c;企业对于客户关系管理&#xff08;CRM&#xff09;系统的需求日益增强&#xff0c;高效、智能的CRM系统已成为推动企业业务增长、优化客户体验的关键。在制造业 CRM 市场中&#xff0c;纷享销客和销售易都备受关注&#xff0c;且各自有着…

R 语言科研绘图 --- 散点图-汇总

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…

从零开始的网站搭建(以照片/文本/视频信息通信网站为例)

本文面向已经有一些编程基础&#xff08;会至少一门编程语言&#xff0c;比如python&#xff09;&#xff0c;但是没有搭建过web应用的人群&#xff0c;会写得尽量细致。重点介绍流程和部署云端的步骤&#xff0c;具体javascript代码怎么写之类的&#xff0c;这里不会涉及。 搭…

Elasticsearch Open Inference API 增加了对 Jina AI 嵌入和 Rerank 模型的支持

作者&#xff1a;Hemant Malik 及 Joan Fontanals Martnez 探索如何使用 Elasticsearch Open Inference API 访问 Jina AI 模型。 我们在 Jina AI 的朋友们将 Jina AI 的嵌入模型和重新排名产品的原生集成添加到 Elasticsearch 开放推理 API 中。这包括对行业领先的多语言文本嵌…

Unity学习part4

1、ui界面的基础使用 ui可以在2d和矩形工具界面下操作&#xff0c;更方便&#xff0c;画布与游戏窗口的比例一般默认相同 如图所示&#xff0c;图片在画布上显示的位置和在游戏窗口上显示的位置是相同的 渲染模式&#xff1a;屏幕空间--覆盖&#xff0c;指画布覆盖在游戏物体渲…

进程概念、PCB及进程查看

文章目录 一.进程的概念进程控制块&#xff08;PCB&#xff09; 二.进程查看通过指令查看进程通过proc目录查看进程的cwd和exe获取进程pid和ppid通过fork()创建子进程 一.进程的概念 进程是一个运行起来的程序&#xff0c;而程序是存放在磁盘的&#xff0c;cpu要想执行程序的指…

php session数据存储位置选择

PHP session 数据的存储位置可以通过配置文件或者代码来进行设置。默认情况下&#xff0c;session 数据是存储在服务器的文件系统中的。你可以将 session 数据存储在其他地方&#xff0c;例如数据库、缓存等。 基础概念 PHP session默认情况下将数据存储在服务器端的临时文件中…

计算机网络————(一)HTTP讲解

基础内容分类 从TCP/IP协议栈为依托&#xff0c;由上至下、从应用层到基础设施介绍协议。 1.应用层&#xff1a; HTTP/1.1 Websocket HTTP/2.0 2.应用层的安全基础设施 LTS/SSL 3.传输层 TCP 4.网络层及数据链路层 IP层和以太网 HTTP协议 网络页面形成基本 流程&#xff1a…