达梦数据库学习笔记@1

目录

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

字节火山引擎 DeepSeek 接入本地使用

文章目录 1. 火山引擎 DeepSeek 初体验2. 本地接入 火山引擎 DeepSeek API3. 新建 API KEY4. 直接使用 1. 火山引擎 DeepSeek 初体验 火山引擎官网 : https://www.volcengine.com/product/ark 火山云默认给每个模型赠送 50 万 tokens 推理免费额度 进来就会看到模型广场&#…

基于javaweb的SpringBoot个人博客系统设计和实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

《操作系统 - 清华大学》8 -4:进程管理:进程控制结构

深度剖析进程控制块:操作系统进程管理的核心关键 在操作系统的复杂体系中,进程控制块(PCB)是实现高效进程管理的关键所在。接下来,将从多个维度深入剖析进程控制块,帮助更好地理解其在操作系统中的重要作用…

Jupyter里面的manim编程学习

1.Jupyterlab的使用 因为我之前一直都是使用的vscode进行manim编程的,但是今天看的这个教程使用的是Jupyter,我也很是好奇这个manim在Jupyter这样的交互式下面会生成怎么样的效果,所以今天尝试了jupyter,并且对于两个进行比较和说…

孜然单授权系统V2.0PHP授权系统

孜然单授权V1.0系统,延续了2022年开发的孜然多应用授权系统V2.0 变更:多应用变单系统,去除没用的垃圾代码,从0开发,去除了一些没用的功能 完善了开发文档,之前那套是我写着玩的屎山代码,V1.0将展…

输入菜单关键字,遍历匹配到 menuIds,展开 匹配节点 的所有父节点以及 匹配节点 本身,高亮 匹配节点

菜单检索,名称、地址、权限标志 等 关键字匹配、展开、高亮(全程借助 DeepSeek ) 便捷简洁的企业官网 的后台菜单管理,图示: 改造点: (1)修改 bootstrapTreeTable 的节点class命名方式为:treeg…

【落羽的落羽 数据结构篇】顺序结构的二叉树——堆

文章目录 一、堆1. 概念与分类2. 结构与性质3. 入堆4. 出堆 二、堆排序三、堆排序的应用——TOP-K问题 一、堆 1. 概念与分类 上一期我们提到,二叉树的实现既可以用顺序结构,也可以用链式结构。本篇我们来学习顺序结构的二叉树,起个新名字—…

数据结构系列一:初识集合框架+复杂度

前言 数据结构——是相互之间存在一种或多种特定关系的数据元素的集合。数据结构是计算机专业的基础课程,但也是一门不太容易学好的课,它当中有很多费脑子的东西,之后在学习时,你若碰到了困惑或不解的地方 都是很正常的反应&…

Python 入门教程(2)搭建环境 | 2.3、VSCode配置Python开发环境

文章目录 一、VSCode配置Python开发环境1、软件安装2、安装Python插件3、配置Python环境4、包管理5、调试程序 前言 Visual Studio Code(简称VSCode)以其强大的功能和灵活的扩展性,成为了许多开发者的首选。本文将详细介绍如何在VSCode中配置…

VSCode自定义快捷键和添加自定义快捷键按键到状态栏

VSCode自定义快捷键和添加自定义快捷键按键到状态栏 📄在VSCode中想实现快捷键方式执行与某些指令操作进行绑定,可以通过配置组合式的键盘按键映射来实现,另外一种方式就是将执行某些特定的指令嵌入在面板菜单上,在想要执行的时候…

Linux系统安装MySQL5.7(其他版本类似)避坑指南

1.远程连接 在Linux系统安装好MySQL5.7数据库,不要以为就大功告成了后面还有大坑等着你踩了。宏哥这里介绍一下远程连接遇到的坑以及如何处理。由于征文要求安装环境教学除外宏哥这里就不介绍在Linux系统安装mysql数据库,有需要的可以自己百度一下。但是…

HybridCLR+Adressable+Springboot热更

本文章会手把手教大家如何搭建HybridCLRAdressableSpringboot热更。 创作不易,动动发财的小手点个赞。 安装华佗 首先我们按照官网的快速上手指南搭建一个简易的项目: 快速上手 | HybridCLR 注意在热更的代码里添加程序集。把用到的工具放到程序集里…

C语言(12)--------->for循环

在C语言中,有三大结构:顺序、选择、循环。这些结构可以用于处理生活中各种各样的复杂问题。选择结构通常是用if语句或者switch语句实现,可参考前面的博客: C语言(7)------------>if语句CSDN C…

react路由总结

目录 一、脚手架基础语法(16~17) 1.1、hello react 1.2、组件样式隔离(样式模块化) 1.3、react插件 二、React Router v5 2.1、react-router-dom相关API 2.1.1、内置组件 2.1.1.1、BrowserRouter 2.1.1.2、HashRouter 2.1.1.3、Route 2.1.1.4、Redirect 2.1.1.5、L…

JAVA最新版本详细安装教程(附安装包)

目录 文章自述 一、JAVA下载 二、JAVA安装 1.首先在D盘创建【java/jdk-23】文件夹 2.把下载的压缩包移动到【jdk-23】文件夹内,右键点击【解压到当前文件夹】 3.如图解压会有【jdk-23.0.1】文件 4.右键桌面此电脑,点击【属性】 5.下滑滚动条&…

拆解微软CEO纳德拉战略蓝图:AI、量子计算、游戏革命如何改写未来规则!

2025年2月19日 知名博主Dwarkesh Patel对话微软CEO萨蒂亚纳德拉 在最新访谈释放重磅信号:AI将掀起工业革命级增长,量子计算突破引爆材料科学革命,游戏引擎进化为世界模拟器。 整个视频梳理出几大核心观点,揭示科技巨头的未来十年…

记录此刻:历时两月,初步实现基于FPGA的NVMe SSD固态硬盘存储控制器设计!

背景 为满足实验室横向项目需求,在2024年12月中下旬导师提出基于FPGA的NVMe SSD控制器研发项目。项目核心目标为:通过PCIe 3.0 x4接口实现单盘3000MB/s的持续读取速率。 实现过程 调研 花了半个月的时间查阅了一些使用FPGA实现NVME SSD控制器的论文、…

Grok 3与GPT-4.5的“智能天花板”争夺战——谁才是大模型时代的算力之王?

2025年2月18日,马斯克旗下 xAI 高调发布新一代大模型Grok 3,号称“地球上最聪明AI”,在数学推理、代码生成等核心能力上碾压 GPT-4o、DeepSeek-V3 等对手。而就在同一天,OpenAI创始人 Sam Altman 暗示 GPT-4.5 即将登场&#xff0…

Window电脑中 Linux 系统配置VMware固定IP【最新详细】

一、为什么需要固定IP 当前我们虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的,DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更。 原因1:办公电脑IP地址变化无所谓,但是…

网络安全高级软件编程技术

安全软件开发入门 软件安全问题 有趣的《黑客帝国》终极解释: 《黑客帝国》故事里面的人物关系,就像电脑里面的各种程序的关系一样: 电脑里面的系统程序:Matrix; 病毒程序:以Neo为首的人类; …