本周主要从以下几个方面进行本人对达梦数据库学习的分享,学习进度和学习情况因人而异,仅供参考。
一、文本命令行工具使用的方法(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. 数据结构之队列(JavaScript描述)

    队列数据结构   队列遵循先进先出原则的一组有序的项.对可在尾部添加新元素并从顶部移除元素.最新添加的元素必须排在队列的末尾 队列类似栈的例子 创建队列 创建一个类表示队列 队列内应该有一些方法 添加 ...

  2. 如何把 Caffeine Cache 用得如丝般顺滑?

    一.关于 Caffeine Cache 在推荐服务中,虽然允许少量请求因计算超时等原因返回默认列表.但从运营指标来说,越高的"完算率"意味着越完整的算法效果呈现,也意味着越高的商业 ...

  3. 1025 PAT Ranking

    Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhe ...

  4. 996. Number of Squareful Arrays

    Given an array A of non-negative integers, the array is squareful if for every pair of adjacent elem ...

  5. 01- Java概述

    一 Java简介 java语言发展史 发展史简单了解:如下: https://www.jianshu.com/p/a78fcb3ccf63 java语言平台 JavaSE(标准版):可以用户开发普通桌 ...

  6. spring boot 项目从配置文件中读取maven 的pom.xml 文件标签的内容。

    需求: 将pom.xml 文件中的版本号读取到配置文件并打印到日志中. 第一步: 在pom.xml 中添加以下标签. 第二步: 将version 标签的值读取到配置文件中 这里使用 @@  而不是  ...

  7. hdu3622 二分+2sat

    题意:      给你N组炸弹,每组2个,让你在这N组里面选取N个放置,要求(1)每组只能也必须选取一个(2)炸弹与炸弹之间的半径相等(3)不能相互炸到对方.求最大的可放置半径. 思路:      二 ...

  8. CTFHub-easy_search

    easy_search 玩了好些天,今天做道题找找状态,明天开始肝了 打开是一个登录框 用amdin/admin尝试了一下,提示登陆失败 这里肯定不会是暴力破解,我猜是sql注入,试了万能密码or 1 ...

  9. Day001 Typora Markdown语法学习

    # Markdown语法 ## 标题 ### 三级标题 #### 四级标题 注:最多支持到六级标题 ## 字体 **hello,world!** *hello,world!* ***hello,wor ...

  10. 修改VScode底部状态栏颜色

    点击齿轮进入setting 搜索workbench.colorCustomizations,然后点击编辑setting.json 修改为你喜欢的颜色即可,我这里修改为蓝色 例子: "work ...