归档是指把数据库产生的联机Redo日志(重做日志)复制一份,保存到指定的归档目录里,形成归档日志文件的过程。
DM 数据库可以运行在归档模式或非归档模式下,归档模式下会对系统的性能产生少许影响,但是数据库在归档模式下运行更安全,当发生故障时丢失数据的可能性变得更小,当出现介质故障,比如磁盘损坏,利用归档日志,数据可被恢复到故障发生的前一刻,也可以利用归档日志还原到指定的时间点,没有归档日志文件,则只能利用备份文件进行恢复了。
开启归档模式,本质上是在性能和数据安全之间做权衡
1、支持数据库联机备份:这个是数据库在不停机的状态下进行备份的必要前提。
2、实现任意时间点恢复:当发生磁盘损坏或者人为误操作时,配合全量备份,可以利用归档日志将数据库恢复到故障发生前的任意一刻,将数据丢失风险降到最低
3、搭建数据守护集群:各种高可用集群(如实时主备,读写分离)都依赖归档日志来同步数据
1、少许性能损耗:写入归档日志会占用额外的I/O和CPU时间。
2、占用磁盘空间:归档日志会持续增长,如果不设置合理的空间上限或者定期清理,很容易把磁盘写满,导致数据库挂起状态,这个是日常运维中特别关注的点。
根据功能和实现方式,DM9的归档可以分为六类,其中最常见的是本地归档
| 归档类型 | 核心特点 | 主要用途 |
|---|---|---|
| 本地归档 | 将Redo日志写入本地磁盘的归档文件。 | 最基础的归档方式,是备份恢复和搭建集群的前提。 |
| 实时归档 | 在Redo日志写入联机日志前,就通过MAL系统发送到备库。 | 实现实时主备和MPP主备,追求极低的数据延迟。 |
| 即时归档 | 在Redo日志写入联机日志后,再发送到备库。 | 实现读写分离集群,是即时归档的基础。 |
| 异步归档 | 通过定时器触发,定期将本地归档发送到备库。 | 适用于对数据延迟要求不高的远程灾备场景。 |
| 同步归档 | 在主库归档日志刷盘后,将日志发送到备库。 | 确保备库日志与主库归档严格一致。 |
| 远程归档 | 专门用于DMDSC(数据共享集群),将归档写到远程节点的共享存储上。 | 实现DMDSC集群内所有节点共享归档日志。 |
i. 查看是否开启归档模式(ARCH_MODE的值是N表示未开启,Y表示开启)
ii. 修改数据库为mount状态
iii. 开启归档模式,并添加一个本地归档配置。
iv. 将数据库切换为open状态
b) 编辑dmarch.ini文件手动配置归档
手动配置归档即在数据库实例未启动的情况下,手动编写 dmarch.ini 文件和设置参数 ARCH_INI。
i. 停止数据库服务
ii. 手动编辑dmarch.ini文件(路径与dm.ini文件路径一致)
vim dmarch.ini
iii. 编辑dm.ini文件
vim dm.ini
iv. 启动数据库服务并查看数据库归档模式
文章
阅读量
获赞
