三天的达梦DCA培训,主要讲解DM8数据库的安装、数据库实例的管理、工具的使用、DM8体系结构、表空间管理、用户管理、模式对象管理、DMSQL、备份还原、作业、DM8开发。下面主要对这些讲解做一个小结,便于没有接触过达梦数据库的同学们有一个初步的了解。
文章目录
一、达梦数据库DM8的安装
安装环境:中标麒麟操作系统
安装的过程比较简单,按照操作说明一步步做下去,软件的安装与卸载还是比较顺利的,比Oracle数据库安装快,整过安装过程大概不到15分钟完成。安装之前先进行相关环境的检查,配置好需要的环境后开始安装,最好使用图形界面安装,需要再Linux 里面把图形界面调出来,图形界面安装可以看到每一步设置的内容,可能是权限的问题,安装过程中需要用root用户权限执行相关的命令,安装界面如下图:
二、数据库实例的管理
1.达梦数据库模式
1、 普通模式(normal): 用户可以正常的访问数据库,操作没有限制
2、 主库模式(primary) :用户可以正常访问数据库,对数据库对象的修改强制生成 redo 日志 , 在归档有效的时候 ,送 发送 redo 日志到备库。
3、 备库模式(standby): :的 接收主库发送过业的 redo 日志,并重做日志 ,数据库对用户只读。
2.数据库的状态
1、 配置状态(mount)
2、 打开状态(open)
3、 挂起状态(suspend)
4、 关闭状态(shutdown)
3.状态切换
Shutdown ----mount
Shutdown —open
Open—mount
Mount—open
4.达梦启动过程
1、shutdown—mount
分配共享内存,启动后台的进程或是线程,打开控制文件
2、Mount—open
根据控制文件,打开所有的数据文件和重做日志文件
启实例的方式,服务查看器,运用命令:dmserver 去启动
三、数据工具的使用
达梦数据库工具可以用界面管理也可以用命令行管理方式,工具对标Oracle,还是非常强大的。
1.disql
用达梦数据库图形管理工具已经满足所有场景下执行sql语句的需求,但对于某些环境如果无法调出图形化界面,disql就是很好的“神器”,可以直接连接数据库,在控制台执行所有的sql语句,类似Oracle SQLPlus功能。
2.数据库管理工具
用命令:manager 可以调出该界面,可以管理数据库模式、表空间、表等等信息,可以执行sql语句,需要注意,在界面上执行sql语句一定要commit进行提交操作,否则执行的sql是无效的。
3.控制台工具
运用console命令可以调出控制台界面,控制作用:
1、查看实例参数,并修改。COMPATIBLE_MODE:是否兼容其他数据
库模式。0:不兼容,1:兼容 SQL92 标准,2:兼容 ORACLE,3:兼容 MS SQL
SERVER,4:兼容 MYSQL
2、脱机备份还原
4.数据库迁移工具
运用命令dts可以调出数据迁移工具界面,数据库迁移工具可以很好的从其他数据库如Oracle,mysql数据库迁移到达梦数据库,也可以在达梦数据库版本之间进行迁移
5.性能监测工具
运用命令monitor可以调出性能监测工具界面,可以进行数据库的调优和诊断
6.服务查看器
运用命令dmserver可以调出实例的服务器查看界面
四、达梦数据库手册的使用
达梦数据库安装完成后,在数据库的doc目录有非常完整的说明手册,如下图:
五、DM8 的体系结构
—— 数据库
DM 数据库指的是磁盘上存放在DM 数据库中的数据的集合
—— 实例
实例一般是由一组正在运行的DM 后台进程/线程以及一个大型的共享内存组成
-
DM存储结构
-
DM物理结构
-
表空间和数据文件
一个表空间中包括一个或多个数据文件
一个数据文件仅归属于一个表空间 -
段、簇和块
段存在于表空间
段由区的集合构成
簇是数据块的集合
数据块会映射到磁盘块
DM内存结构
DM内存结构
公用内存池
• 不依赖于操作系统的内存管理
• 用于维护系统内部内存空间的分配与释放,减少对操作系统内存的系统调用,其大小由MEMORY_POOL参数确定
系统缓冲区
字典缓冲区
• 快速访问表,视图等对象的描述
• 系统表到内存对象的映射
• 仅保留活动的数据库对象
• 采用LRU算法淘汰
• 大小由DICT_BUF_SIZE参数决定
日志缓冲区
• 用于存放重做日志的内存缓冲区, 大小由LOG_BUF_SIZE参数决定,单位为页数量,默认为256页,大小必须为2 的N 次方
排序/散列缓冲区
排序缓冲区:
• 用于数据排序的内存缓冲区,大小由SORT_BUF_SIZE参数决定
散列缓冲区:
• 用于哈希连接的内存缓冲区,大小由HJ_BUF_SIZE参数决定
SQL缓冲区:
• 用于缓存执行计划、SQL语句、SQL结果集, USE_PLN_POOL参数为1或2时启用, 大小由CACHE_POOL_SIZE参数决定
DM线程
DM线程结构
六、表空间管理
达梦数据库表空间管理方式和Oracle的表空间类似,表空间是由一个或多个数据文件构成的,表空间是数据库的一个容
器,存放数据库中的数据对象(表,索引等)
达梦默认的系统表空间
SYSTEM:数据字典和全局的系统数据
ROLL:存入了数据库运行过程中产生的回滚记录
TEMP:临时表空间
MAIN:存放对象数据的表空间,创建对象的时候,如果不指定表空
间,就是放在该表空间
HMAIN:HUGE 表空间
七、用户管理
在 DM 数据库中用户管理主要涉及到三块,用户,权限,角色
权限:执行特定类型 sql 或是访问其他模式对象的权利
系统权限:数据库对象的创建,删除,修改等等。
对象权限:对数据对象的数据的操作权限。
数据库预定义用户
Sysdba
Sys:不能用于用户登录,是系统内置用户
Syssso
Sysauditor
sysdbo
三权分立(企业版)
Sysdba:数据库系统管理员
Syssso:数据安全员
Sysauditor:数据库审计员
四权分立(安全版)
Sysdba
Syssso
Sysauditor
Sysdbo :数据库对象操作员
角色:数据库预定义角色有四个
八、模式管理
与oracle的schema 类似,模式是一个特定的对象集合,在概念上可将其看作是包含表、视图、
索引等若干对象的对象集
模式对象:
表、视图、约束、索引、序列、触发器、存储过程/函数、包、同义词、类、域
Dm 创建用户的时候,会默认去创建一个同名的模式,如果你创建的
用户,模式名已存在,用户无法创建
一个用户可以拥有多个模式。
九、DMSQL
DMSQL 基于 sql92,部分 sql99 的。
Sql 语句的分类
DQL:数据查询语句 select …from…where 组成的查询块
DDL:数据定义语句 create table create view create index 等等
DML:数据操作语句 insert update delete
DCL:数据控制语句 用于授予或回收访问数据库的某种特权,控制数
据操作纵事务,对数据库进行监视等
Grant revoke commit rollback lock unlock 等。
十、备份还原
1)数据库备份就是制作数据库的“ 副本”2)防止数据库丢失数据
3)在数据丢失后重建数据库
完全备份是指一个备份包含指定数据库或表空间的所有数据
增量备份是指在一次全备份或上一次增量备份后, 以后每次的备份只需备份与前一次相比增加或者被修改的文件 。
备份的方式 :物理备份和逻辑备份
备份的介质:磁盘,磁带,光盘
集群:数据守护,dsc (rac)
也支持第三方的备份软件:爱数,鼎甲。
1.物理备份
冷备和热备
冷备:dmap 服务是打开的,数据库实例是关闭的。
备份的方式:
1、控制台工具去备
脱机还原时,先还原再恢复
2 、DMRMAN 工具去备
[[email protected] bin]$ cd /dm8/bin
[[email protected] bin]$ ./dmrman
dmrman V8
RMAN> backup database ‘/dm8/data/DAMENG/dm.ini’;
冷备:要停止数据库,如果不停止会造成数据丢失
热备 dmap 服务是打开的,数据库实例是打开的,数据库是归档模式。
如何打开归档:
1、命令方式:
SQL> alter database mount;
SQL> alter database add archivelog
‘type=local,dest=/dm8/arch,file_size=64,space_limit=0’;
SQL> alter database archivelog;
SQL> alter database open;
SQL> select name,status
,
a
r
c
h
m
o
d
e
f
r
o
m
v
,arch_mode from v
,archmodefromvdatabase;
行号 NAME STATUS$ ARCH_MODE
1 DAMENG 4 Y
2、利用管理工具
查看归档状态
1、利用管理工具做热备:
‘
’
backup database full to “DB_DAMENG_FULL_2020_06_17_16_08_15” backupset
‘DB_DAMENG_FULL_2020_06_17_16_08_15’;
2、命令行方式下全备,增量备
全备
SQL> backup database full backupset ‘/dm8/backup/fullbak2’;
增量备
SQL> backup database increment backupset ‘/dm8/backup/incr_bak’;
66
3、表空间还原:
表空间只能脱机还原,使用 Dmrman
模拟表空间 test 损坏:
[[email protected] DAMENG]$ mv TEST01.DBF TEST01.DBF.BAK
重启实例服务,实例处于 mount 状态。关闭实例服务
使用 dmrman 进行还原
1、校验备份集
RMAN> check backupset ‘/dm8/backup/fullbak2’;
2、还原表空间
RMAN> restore database ‘/dm8/data/DAMENG/dm.ini’ tablespace test
from backupset ‘/dm8/backup/fullbak2’;
2、恢复表空间
RMAN> recover database ‘/dm8/data/DAMENG/dm.ini’ tablespace test;
重启实例服务
2.逻辑备份
导入导出(dexp,dimp)
分四级别:分别独立,互斥不能同时存在
数据库级别
用户
模式
表级
67
1、逻辑导出
[[email protected] bin]$ ./dexp sysdba/[email protected]:5236
file=dexp01.dmp log=dexp01.log directory=/dm8/backup/dexp full=y
2、逻辑导入
[[email protected] bin]$ ./dimp sysdba/[email protected]:5239
file=/dm8/backup/dexp/dexp01.dmp
log=/dm8/backup/dexp/dimp01.log
十一、作业
对于数据库定时全量备份,增量备份这种作业任务,达梦数据库可以直接进行作业配置即可很好的完成,在DM管理工具上直接配置作业即可,类似MSSQL的作业配置。
十二、 DM8 开发
达梦支持的语言:c c++ java python php perl .net
ODBC配置
1) 检查 gcc 包 包
[[email protected] ~]# rpm -aq|grep gcc
70
2) 解压安装包
[[email protected] opt]# tar -xzvf unixODBC-2.3.0.tar.gz
3)配置 odbc
[[email protected] unixODBC-2.3.0]# ./configure --enable-gui=no
4)编译安装 ODBC
[[email protected] unixODBC-2.3.0]# make && make install
5)查看 odbc 的版本
[[email protected] unixODBC-2.3.0]# odbc_config --version
2.3.0
6)查看 ODBC 配置文件的路径
[[email protected] unixODBC-2.3.0]# odbcinst -j
unixODBC 2.3.0
DRIVERS…: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES…: /usr/local/etc/ODBCDataSources
USER DATA SOURCES…: /root/.odbc.ini
SQLULEN Size…: 8
SQLLEN Size…: 8
SQLSETPOSIROW Size.: 8
7)配置 odbc.ini 和 和 odbcinst.ini
总结
三天的达梦数据库DCA学习非常有收获,掌握了安装使用的方法,后续需要在工作中熟练的使用起来,也希望达梦越来越好。