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

  

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

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

用dimp工具进行全库导入:
  1. 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. Android使用ContentProvider初始化SDK库方案总结

    做Android SDK开发的时候,一般我们会将初始化的方法封装为,然后让调用SDK的开发者在Application的onCreate方法中进行初始化.但是目前一些主流的SDK框架,并没有提供相关的方 ...

  2. API文档大集合

    [API文档大集合] sklearn API:http://sklearn.apachecn.org/cn/0.19.0/tutorial/index.html pandas API:http://p ...

  3. 工厂模式之简单工厂模式,head first设计模式

    简单设计模式比较简单,15分钟的时间,跟着我做,十几分钟学会简单设计模式,开始吧: 1.使用new实例化一个对象时,你肯定知道这种代码缺少弹性,绑定着具体的类会导致代码更加脆弱,简单工厂模式就是针对接 ...

  4. 01- linux入门

    LINUX是什么? -linux是计算机操作操作系统 -常见的操作系统有:Windows,Android,苹果iOS,Mac系统,Unix(和linux类似) 操作系统是干什么的? 管理硬件和程序的一 ...

  5. php读取目录下的所有文件

    php读取目录下的所有文件 $path = './use'; $result = scanFile($path); function scanFile($path) { global $result; ...

  6. 看了这篇还不会Linux性能分析和优化,你来打我

    前言 一般互联网的项目都是部署在linux服务器上的,如果linux服务器出了问题,那么咱们平时学习的高并发,稳定性之类的是没有任何意义的,所以对linux性能的把握就显得非常重要,当然很多同学可能觉 ...

  7. POJ3277 线段树段更新,点询问+二分离散化+暴力

    题意:       x轴上有一些矩形,问你这些矩形覆盖的面积和是多少. 思路:       首先范围很大,n很小,果断离散化,然后我们就是求出任意区间的最大值作为当前区间的高,最后在算一遍答案就行了, ...

  8. POJ1018贪心(多路归并的想法)

    题意:      有n个服务器,每个服务器都要安装网线(必须也只能安装一个),然后每个服务器都有mi种选择网线的方式,每种方式两个参数,一个是速度b,另一个是价钱p,然后让你找到一个最大的比值 min ...

  9. android之Tween Animation

    android Tween Animation有四种,AlphaAnimation(透明度动画).ScaleAnimation(尺寸伸缩动画).TranslateAnimation(位移动画).Rot ...

  10. 源码简析XXL-JOB的注册和执行过程

    一,前言 XXL-JOB是一个优秀的国产开源分布式任务调度平台,他有着自己的一套调度注册中心,提供了丰富的调度和阻塞策略等,这些都是可视化的操作,使用起来十分方便. 由于是国产的,所以上手还是比较快的 ...