2021-03-08

达梦数据库学习笔记

如果以前学过其他数据,可以对比了解下,比较常见的语法类就不写了,可以重点看下操作指令和理论性知识,对比其他数据库(如oracle)会更好的加深了解。

本文主要分两部分:

第一部分:理解性知识

第二部分:比较有代表性的执行语句(或指令)

理解性知识

 

达梦数据库模式

1、普通模式(normal):用户可以正常的访问数据库,操作没有限制

2、主库模式(primary):用户可以正常访问数据库,对数据库对象的 修改强制生成 redo 日志,在归档有效的时候,发送 redo 日志到备库。

3、备库模式(standby):接收主库发送过来的 redo 日志,并重做日志, 数据库对用户只读。

 

数据库的状态

1、配置状态(mount)

2、打开状态(open)

3、挂起状态(suspend)

4、关闭状态(sthutdown)

 

兼容模式

COMPATIBLE_MODE:是否兼容其他数据 库模式。

0:不兼容

1:兼容 SQL92 标准

2:兼容 ORACLE

3:兼容 MS SQL SERVER

4:兼容 MYSQL

 

各类文件格式

配置文件:*ini

控制文件:*ctl

数据文件:*dbf

重做日志文件:*log

归档日志文件:dmarch.ini

备份文件:*bak

事件日志文件:DM_实例名_日期

 

逻辑结构

页-----簇------段-----数据文件-----表空间-----数据库

页:最小逻辑单元,大小 4k,8k,16k,32k 默认值是 8k,oracle数据库是块

 

达梦数据库的体系结构

截图自培训材料,表述的比较清楚,可以找其他数据库的体系图对比学习。

 

DM 服务器使用的内存 3 个部分

1、缓冲区:

数据缓冲区

日志缓冲区

字典缓冲区

Sql 缓冲区

2、内存池:

共享内存池

其他运行时内存池

3、其他内存区:

排序区

Hash 区

 

数据缓冲区

BUFFER 是从磁盘读出的数据页在内存中的镜像,由 INI 配置中的 BUFFER、FAST_POOL、 28 RECYCLE、KEEP 等确定大小,不同类型的缓冲区主要表现为淘汰机制。

5个类型:

Normal:普通数据页,缓冲区满时淘汰

keep:普通数据页,很少淘汰

fast:数据页、回滚页,常驻缓冲区

recycle:临时表数据页,正常淘汰

相关参数:

Sys/session: 动态参数,同时修改内存和配置文件

Read only:在数据运行进,不能修改

In file:静态参数,修改配置文件,重启实例服务生效

 

roll:

与oracle区别:

Oralce:recycle 和 keep 存的表

达梦:RECYCEL 和 keep 存的是表空间

修改参数:

Oracle alter system set para_name=para_value DM:SP_SET_PARA_VALUE(SCOPE,PARA_NAME,PARA_VALUE) Alter system set para_name=para_value

 

字典缓存区视图

V$DICT_CACHE_ITEM:字典缓冲区中字典对象的信息

V$dict_cache:字典缓冲区的信息

 

达梦默认的系统表空间

System:数据字典和全局的系统数据

Roll:存入了数据库运行过程中产生的回滚记录

Temp:临时表空间

Main:存放对象数据的表空间,创建对象的时候,不指定表空间,就 是存放在该表空间中。

Hmain:huge 表空间。

 

数据库预定义用户(系统用户)

Sysdba:系统管理员

Sys:不能用于用户登录,是系统内置用户 (企业版、安全版无)

Syssso:安全用户

Sysauditor:审计用户

Sysdbo:系统操作员(企业版无)

用户规则

名字:字母开头,a_z ,0-9,$#_

 

密码,口令策略

0:无策略

1:禁止与用户名相同

2:口令长度不小于 9

4:至少包含一个大写字母

8:至少包含一个数字

16:至少包含一个标点符号(英文状态下输入,除空格和“”)

口令可以单独使用,也可组合使用,比如:要求口令策略禁止用户相 同,并且口令长度不小于 9)

 

达梦数据库sql分类

Sql 语句的分类

DQL:数据查询语句 select ... from ...where 组成的查询块

DDL:数据定义语句 create table create view create index 等等

DML:数据操作语句 insert update delete

DCL:数据控制语句 用于授予或回收访问数据库的权限,控制数据库 操作纵事务,对数据库进行监视等。 Grant revoke commit rollback lock unlock 等。

 

数据类型

int char varchar date clob blob number 等,和其他数据库相比,没有突破

 

约束

非空约束,唯一约束,主键,外键,检查约束,和其他数据库相比,没有突破

 

达梦支持的语言

C C++ java

 

部分语法(非常规)

ANY 将值与子查询返回的任意一个值进行比较

ALL 将值与子查询返回的每个值进行比较

> all:大于最大值

< all:小于最小值

>any:大于最小值

<any:小于最大值

例如:

select employee_name,salary

from dmhr.employee

where salary >all (select salary from dmhr.employee where department_id=105)

 

 

 

比较有代表性的语句(或指令)

 

登录数据库指令

disql sysdba/dameng123@localhost:5239 本地运行应该可以不用@及后面部分,与oracle类似。

 

数据库状态切换指令

Shutdown--mount 分配共享内存,启动后台的进程或是线程,打开控制文件

Shutdown--open

Open--mount

Mount--open 根据控制文件,打开所有的数据文件和重做日志文件

Alter database mount;

Alter database open;

 

数据库启动过程

1、shutdown--mount

2、mount-open

 

启停实例的方式

1)服务查看器

[root@localhost tool]# ./dmservice.sh

2)命令行启动

dmserver

3)操作系统命令

systemctl start DmServiceDM02 去启动和关闭

4)DmServiceDM02 start|stop 去启动和关闭

 

数据库管理工具

[dmdba@localhost tool]$ ./manager

 

控制台工具

[dmdba@localhost tool]$ ./console

主要作用1查看参数2脱机备份

 

数据库迁移工具

[dmdba@localhost tool]./dts

 

性能检测工具

[dmdba@localhost tool]$ ./monitor

 

服务查看工具

[dmdba@localhost tool]$ ./dmserver.sh

 

查看控制文件

dmctlcvt type=1 src=/dm8/data/DAMENG/dm.ctl dest=/tmp/dmctl.txt

DMCTLCVT V8

convert ctl to txt success!

 

增加重做日志文件

alter database add logfile '/dm8/data/DAMENG/DAMENG04.log' size 200;

alter database resize logfile '/dm8/data/DAMENG/DAMENG04.log' to 256;

alter database resize logfile '/dm8/data/DAMENG/DAMENG04.log' to 200;

 

打开/关闭跟踪日志文件

DM.INI SVR_LOG 参数为 1 的时候,就是打开了跟踪日志 0 关闭了跟踪日志

 

共享内存查询

select para_name,para_value from v$dm_ini

where para_name like '%MEMORY%';

memory_target 共享内存的总大小 0:表示不限制

与oracle相比,oracle区分为sga缓存区和pga缓存区

 

查看buffer参数

select para_name,para_value,para_type

from v$dm_ini

where para_name like '%BUFFER%';

 

运行sql文件

start /dm8/a.sql

 

修改 buffer 参数

sp_set_para_value(2,'BUFFER',1024);

重启生效

 

检查 gcc 包

[root@localhost ~]# rpm -aq|grep gcc

 

解压安装包

[root@localhost opt]# tar -xzvf unixODBC-2.3.0.tar.gz

 

配置 ODBC

[root@localhost unixODBC-2.3.0]# ./configure --enable-gui=no

 

编译安装 ODBC

[root@localhost unixODBC-2.3.0]# make && make install

 

查看 odbc 版本

[root@localhost unixODBC-2.3.0]# odbc_config --version 2.3.0

 

查看 odbc 配置文件路径

[root@localhost unixODBC-2.3.0]# odbcinst -j

 

测试链接

isql dm8

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值