本周主要从以下几个方面进行本人对达梦数据库学习的分享,学习进度和学习情况因人而异,仅供参考。
一、文本命令行工具使用的方法(Disql和dmfldr)
二、数据库备份
三、定时作业功能
四、系统表和动态视图
五、SQL调优方法
六、存储过程与触发器
七、ODBC接口与达梦集群
 
一、文本命令行工具使用的方法(Disql)
disql是达梦的命令行执行窗口,可以通过disql登录数据库进行相关操作。
以Windows10系统为例,调出CMD,进入到数据库的安装目录的bin下,执行disql命令,输入用户名和密码即可登录DM数据库;
在命令行工具中,可以进行数据库的DML和DDL操作 例如:查询,更新表信息等;
Dmfldr是另一个命令行工具,可以用来批量导入导出有一定格式的数据,再安装目录bin下;用的时候最少要传递两个参数:一个是用户名密码,一个是控制文件;控制文件制定了向哪个表传插入数据,数据源是哪个文件,分隔符等信息;
例如控制文件可以写成这样:
在Linux中执行的dmfldr命令:
./dmfldr userid=SYSDBA/SYSDBA@localhost:5236 control=\'/opt/data/test.ctl\'

 

二、数据库备份
备份的目的是当数据库遇到损坏的情况下,可以执行还原恢复操作,把数据库复原到损坏前的某个时间点。用于还原恢复数据库的载体是备份集,生成备份集的过程便是备份了。
逻辑备份和物理备份
逻辑备份是指利用 dexp 导出工具,将指定对象(库级、模式级、表级)的数据导出到文件的备份方式。逻辑备份针对的是数据内容,并不关心这些数据物理存储在什么位置
物理备份则直接扫描数据库文件,找出那些已经分配、使用的数据页,拷贝并保存到备 份集中。物理备份过程中,不关心数据页的具体内容是什么,也不关心数据页属于哪一张表, 只是简单的根据数据库文件系统的描述,来挑选有效的数据页。
联机备份和脱机备份
数据库处于运行状态、并正常提供数据库服务情况下进行的备份操作,我们称为联机备份。数据库处于关闭状态时进行的备份操作,被称为脱机备份。
联机备份主要用manger(图形化)和disql(命令行)
脱机备份主要用console(图形化)和dmrman(命令行)
逻辑备份主要用dexp和dimp工具(命令行)
这里主要介绍下命令行备份方法:
在disql中使用backup命令进行数据库的完全备份:
路径是C:\dmdbms\data\DAMENG\bak\DB_BAK_01
用backup命令行工具做增量备份
用dmrman工具还原:
RESTORE DATABASE 'C:\dmdbms\data\DAMENG\dm.ini' FROM BACKUPSET 'C:\dmdbms\data\DAMENG\bak\DB_DAMENG_FULL_20210525_214047_237000'

  

数据还原后进行状态的恢复;

用dexp工具进行指定模式导出:

用dimp工具进行全库导入:
dimp USERID=SYSDBA/SYSDBA FILE=test3.dmp DIRECTORY=D:\back_test3

这里出现了警告,大家可以试一下加入IGNORE=Y这个参数,这个参数可以忽略错误继续进行;
三、定时作业功能
配置好作业任务,数据库就会在指定的时间执行操作
例:定时运行SQL语句,删除表中数据

四、系统表和动态视图
系统表和动态视图可以查看数据库的配置信息或者表的约束信息,帮助我们更好的使用数据库
这里简单列举几个:
V$PKGPROCS显示包中的方法信息
V$TABLESPACE 显示表空间信息,不包括回滚表空间信息。
V$IFUN 显示数据库提供的所有函数
V$ARCH_QUEUE 显示当前归档任务队列信息
V$LOCK显示活动的事务锁信息
五、SQL调优方法
SQL调优主要通过查看执行计划,分析每步执行的代价,建立相关的索引或者调整统计信息进行调优
例如:
select * from "E9"."WORKFLOW_REQUESTBASE" A where requestnamenew like '%zss%'
优化的方向是建立索引,正常建索引它是不走的,可以选择建立一个关于目标列截取字符串的索引,匹配到的话返回的数值是大于0的
create index idx_1 on "E9"."WORKFLOW_REQUESTBASE"(position('zss',requestnamenew));
建立IDX_1后,直接查询发现还是不走索引的,因为这个索引不是一个非常明确的索引;
 
接下来需要去收集这个表的统计信息
统计信息主要是描述数据库中表、索引的大小、规模、数据分布状况等的一类信息。比如,表的行数、块数、平均每行的大小、索引的 leaf blocks、索引字段的行数、不同值的大小等,都属于统计信息。CBO 正是根据这些统计信息数据,计算出不同访问路径、不同 join 方式下,各种执行计划的成本,最后选择出成本最小的执行计划执行查询操作。
对表上所有的索引生成统计信息:SP_TAB_INDEX_STAT_INIT
对库上所有模式下的所有用户表上的所有索引生成统计信息:SP_DB_STAT_INIT
对指定的索引生成统计信息:SP_INDEX_STAT_INIT
对指定的列生成统计信息,不支持大字段列:SP_COL_STAT_INIT
这里用第三个存储过程:
SP_INDEX_STAT_INIT(模式名,索引名,采样率)
call sp_index_stat_init('E9','IDX_1',100);
六、存储过程与触发器
存储过程的使用大大增强了SQL语言的功能和灵活性。
在运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。
这种已经编译好的过程可极大地改善SQL语句的性能。
 
触发器是数据库中的表/视图发生某些特定事件时自动执行的过程(代码段)。触发器主要用于维护数据库中的完整性。
例:存储过程实现向指定表中循环插入1000条数据

创建触发器test_x5实现每次test_2表进行插入更新和删除时性inct_table插入一个序列数
CREATE OR REPLACE TRIGGER test_x5
AFTER INSERT OR DELETE OR UPDATE ON test_2
FOR EACH ROW
BEGIN
insert  into inct_table(op_seq)values (test_x6.nextval);
END;
七、ODBC接口与达梦集群
使用ODBC接口可以在编写C语言的时候连接数据库进行操作,加强了编程的灵活性
达梦集群包括主备,读写分离,共享存储,大规模并行集群等,
这些内容在下周更新~

达梦数据库产品支持技术学习分享_Week2的更多相关文章

  1. 达梦数据库产品支持技术学习分享_Week1

    本周主要从以下几个方面进行本人对达梦数据库学习的分享,学习进度和学习情况因人而异,仅供参考. 一.达梦数据库的体系架构 二.达梦数据库的安装 三.达梦数据库的数据类型 四.达梦数据库的DDL.DML. ...

  2. .NETCore 访问国产达梦数据库

    前言 武汉达梦数据库有限公司成立于2000年,为中国电子信息产业集团(CEC)旗下基础软件企业,专业从事数据库管理系统的研发.销售与服务,同时可为用户提供大数据平台架构咨询.数据技术方案规划.产品部署 ...

  3. [开源] .Net 使用 ORM 访问 达梦数据库

    前言 武汉达梦数据库有限公司成立于2000年,为中国电子信息产业集团(CEC)旗下基础软件企业,专业从事数据库管理系统的研发.销售与服务,同时可为用户提供大数据平台架构咨询.数据技术方案规划.产品部署 ...

  4. 达梦数据库学习(一、linux操作系统安装及数据库安装)

    达梦数据库学习(一.linux操作系统安装及数据库安装) 环境介绍: 使用VM12+中标麒麟V7.0操作系统+达梦8数据库 一.linux系统搭建 本部分没有需要着重介绍,注意安装时基本环境选择&qu ...

  5. 基于Enterprise Library的Winform开发框架实现支持国产达梦数据库的扩展操作

    由于一个客户朋友的需求,需要我的Winform开发框架支持国产达梦数据库的操作,这个数据库很早就听过,但是真正一般项目用的很少,一般在一些特殊的项目可能需要用到.由于我的Winform开发框架,是基于 ...

  6. DB 查询分析器 6.03 如何灵活、快捷地操作国产达梦数据库

    DB 查询分析器 6.03 如何灵活.快捷地操作国产达梦数据库 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要       本文详细地介绍了"万能数据库查询分析器&qu ...

  7. Linux平台达梦数据库V7单实例安装方式之图形方式

    一 前言 我们在学习任何一个应用时,了解它的最初步骤通常是学会如何进行安装配置,后序才去关心如何使用,学习达梦数据库也是如此,而达梦数据库的安装提供了多种方式,接下来会一一介绍每种安装方式,达梦数据库 ...

  8. [转帖]达梦数据库(DM6)和ORACLE 10g的异同点

    达梦数据库(DM6)和ORACLE 10g的异同点    https://bbs.aliyun.com/detail/351337.html   花花浪子 级别: 小白 发帖 0 云币 -41 加关注 ...

  9. 国产化之 .NET Core 操作达梦数据库DM8的两种方式

    背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用达梦V8,CPU平台的范围包括x64.龙芯.飞腾.鲲鹏等.考虑到这些基础产品对.NET的支持,最终选择了.NET Core ...

随机推荐

  1. 【Spring】SpringIoC大致流程

    目录 SpringIoC 是什么? 类图 大致过程 源码分析 SpringIoC 是什么? ​ 官方文档的解释是:IoC也称为依赖注入(DI).在此过程中,对象仅通过构造函数参数,工厂方法的参数或在构 ...

  2. DPAPI机制学习

    0x00 前言 ​绝大多数应用程序都有数据加密保护的需求,存储和保护私密信息最安全的方式就是每次需要加密或解密时都从用户那里得到密码,使用后再丢弃.这种方式每次处理信息时都需要用户输入口令,对于绝大多 ...

  3. jinja2的简单使用

    后端代码 from jinja2 import Template def index(): with open('./index.html', 'r', encoding='utf-8') as fp ...

  4. Python 元编程 - 装饰器

    Python 中提供了一个叫装饰器的特性,用于在不改变原始对象的情况下,增加新功能或行为. 这也属于 Python "元编程" 的一部分,在编译时一个对象去试图修改另一个对象的信息 ...

  5. 案例分析–Note-taking Management Softwares

    项目 内容 这个作业属于那个课程 2021春季学期软件工程(罗杰.任健) 这个作业的要求在哪里 案例分析 我在这个课程的目标是 团队协作,利用软件工程的思维和方法开发出一款具有实用价值的软件 这个作业 ...

  6. 织梦DedeCMS自定义表单diy_list.htm

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. (CV学习笔记)Attention

    Attention(注意力机制) Attention for Image Attention for Machine Translation Self-Attention 没有image-Attent ...

  8. 【python】Leetcode每日一题-丑数2

    [python]Leetcode每日一题-丑数2 [题目描述] 给你一个整数 n ,请你找出并返回第 n 个 丑数 . 丑数 就是只包含质因数 2.3 和/或 5 的正整数. 示例1: 输入:n = ...

  9. 【maven】下载阿里云上没有的依赖

    问题截图 去maven仓库找了,也没有找到这个项目(github中拉去的项目)中的,然后以为这个仓库没有,不知道要去哪里下载. <dependency> <groupId>or ...

  10. 从刚毕业的5K测试到20K测试大佬,与薪资相匹配的永远是实力!

    有个话题"软件测试的工资高还是开发者的工资高?"软件测试和软件开发门槛有差异,在职业起步阶段收入也会有一定的差异,这算是行业内公开的秘密.但随着工作年限的增加,经验的逐步积累,软件 ...