本周主要从以下几个方面进行本人对达梦数据库学习的分享,学习进度和学习情况因人而异,仅供参考。
一、文本命令行工具使用的方法(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. WordPress 函数do_action()详解和应用举例

      do_action()函数: 我们经常能看到在一些WordPress函数中调用了do_action()函数,例如get_header(), get_footer()等调用模板的函数中经常调用do_ ...

  2. Windows系统之间文件互传

    1)利用Windows自带的文件共享服务 本次试验以Win7为服务器端,win10为客户端 1.确保Win7服务端开启对应的服务及开放相应的端口号 进入命令行界面,输入netstat -an,查看44 ...

  3. 一份释放root文件的脚本文件

    #!/system/bin/sh MYDIR=$3 ARGS=$4 SU=$MYDIR/au SUPOLICY=$MYDIR/supolicy BUSYBOX=$MYDIR/busybox TOOLB ...

  4. hdu1556 线段树段更新(简单题)

    题意: N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的"小飞鸽"牌电动车从气球a开始到气球b依次给每个 ...

  5. IDS入侵检测系统

    目录 IDS入侵检测系统 入侵检测系统的作用 入侵检测系统功能 入侵检测系统的分类 入侵检测系统的架构 入侵检测工作过程 数据检测技术 误用检测 异常检测 IDS的部署 基于网络的IDS 基于主机的I ...

  6. Python数模笔记-Sklearn(3)主成分分析

    主成分分析(Principal Components Analysis,PCA)是一种数据降维技术,通过正交变换将一组相关性高的变量转换为较少的彼此独立.互不相关的变量,从而减少数据的维数. 1.数据 ...

  7. [题解] CF786B Legacy

    前言 题目链接 题意 有 \(n\) 个点,\(q\) 次连边,以及起点 \(s\) .连边具体分三种: \(1\) \(v\) \(u\) \(w\) 从 \(v\) 到 \(u\) 连一条边. \ ...

  8. 改善c++程序的150个建议(读后总结)-------19-26

    19. 明白在c++中如何使用c c++可以兼容c的绝大部分代码,但是还是有一部分不能兼容. c语言的编译器在调用函数时会把函数翻译成 : "_函数名",例如: int nasa( ...

  9. Fiddler抓包工具使用记录

    前言 Fiddler是一款强大的Web调试代理工具,又称抓包软件,本文记录如何使用Flidder进行抓包 Fiddler官网:https://www.telerik.com/fiddler 下载安装 ...

  10. java基础——Scanner的基础和进阶

    Scanner对象 目的:用来获取用户的输入 基本语法: Scanner s = new scanner (System.in); 通过Scanner 类的next()和nextLine()方法,获取 ...