暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DB2学习笔记

绿薄荷的杂文社 2021-08-24
1041
DB2
DB2学习笔记

去IOE化不断推广中,传统数据库被开源数据库产品替换。目前薄荷所负责的系统数据库中DB2数据库还是占据半壁江山。作为关系型数据库, DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。


DB2数据库体系结构

一、系统

系统是DB2数据库体系结构的最高层。

 1个系统包含n 个DB2实例

 1个实例管理1 个或 n个数据库


二、实例

实例关于数据库及其对象的逻辑集合,为数据库运行提供环境。

Windows操作系统中实例就是服务   

linux操作系统中实例就是后台进程

DB2
实例相关命令

创建实例:db2icrt (linux操作系统下创建实例时须有和实例同名的用户存在

更新实例配置:db2iupdt(小版本)db2iupgrade(大版本)

启动实例:db2start

连接实例:db2 attach to <instance name>

断开实例:db2 terminate

停止实例:db2stop

强制所有应用&用户与数据库断开:db2stop force(未提交的应用强制回滚)

删除实例:db2idrop <instance name>

查看实例配置的参数:db2 get dbm cfg



DB2存储模型

一、DB2利用逻辑存储模型和物理存储模型来处理数据,表空间处于中间位置。

 物理存储中从底层向上的顺序依次为:块(block)->数据页(datapage,可根据业务类型选择不同大小数据页,是数据库中最小的存储单位)->扩展数据块(extent,写容器的单位)->容器->表空间。

使用db2 list tablespaces show detail查看表空间的详细信息。可以重点关注表空间状态(0x0正常)、表空间使用情况(Free pages/Useable pages)。


二、事务是DB2数据库最小的交易单位。事务有一条或多条SQL语句组成,最后一条是COMMIT 或ROLLBACK。

事务具有原子性、一致性、隔离性、永久性的特征。



数据恢复

一、崩溃恢复

恢复数据库不一致或不可用的状态->回滚未提交的事务并重做发生崩溃时仍然在内存中已提交的事务。(回滚语句执行顺序与执行顺序相反)


二、版本恢复

设置了归档日志功能的数据库可使用RESTORE DATABASE命令+WITHOUT ROLLING FORWARD选项,可将数据库复原到执行备份时一样的状态。


三、数据库日志类型

可以通过update db cfg改变数据库日志参数。


四、数据库备份

数据库备份是数据库的完整副本,分为在线备份和离线备份。

在线备份允许用户访问正在操作的数据库对象,离线备份则不行。

对于有主备机(冷备)数据库的系统可以在主数据库服务器部署定时任务备份脚本,备数据库服务器部署定时任务恢复脚本,实现数据冗余。


数据库在线备份命令(包括日志,压缩备份) db2 backup db <db name> user <instance name> using <instance password> online to <backup directory> compress inclue logs


数据库恢复命令 db2 restore db <db name> user <instance name> using <instance password> from <backup directory> taken at <timestamp> to <db directory> logtarget <log directory>


数据库前滚命令 db2 rollforward db <db name> to end of backup and stop overflow log path ('<log directory>')



文章转载自绿薄荷的杂文社,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论