重做日志(即 REDO 日志)指在 DM 数据库中添加、删除、修改对象,或者改变数据,DM 都会按照特定的格式,将这些操作执行的结果写入到当前的重做日志文件中。重做日志文件以 log 为扩展名。
每个 DM 数据库实例必须至少有 2 个重做日志文件,默认两个日志文件为 DAMENG01.log、DAMENG02.log,这两个文件循环使用。
重做日志文件因为是数据库正在使用的日志文件,因此被称为联机日志文件。
重做日志文件主要用于数据库的备份与恢复。理想情况下,数据库系统不会用到重做日志文件中的信息。然而现实世界总是充满了各种意外,比如电源故障、系统故障、介质故障,或者数据库实例进程被强制终止等,数据库缓冲区中的数据页会来不及写入数据文件。这样,在重启 DM 实例时,通过重做日志文件中的信息,就可以将数据库的状态恢复到发生意外时的状态。
重做日志文件对于数据库是至关重要的。它们用于存储数据库的事务日志,以便系统在出现系统故障和介质故障时能够进行故障恢复。在 DM 数据库运行过程中,任何修改数据库的操作都会产生重做日志,例如,当一条元组插入到一个表中的时候,插入的结果写入了重做日志,当删除一条元组时,删除该元组的事实也被写了进去,这样,当系统出现故障时,通过分析日志可以知道在故障发生前系统做了哪些动作,并可以重做这些动作使系统恢复到故障之前的状态。
----查看重做日志文件
SQL> select * from v$rlogfile;
行号 GROUP_ID FILE_ID PATH CLIENT_PATH CREATE_TIME RLOG_SIZE MIN_EXEC_VER MIN_DCT_VER
---------- ----------- ----------- ----------------------------- ------------ -------------------------- -------------------- ------------ -----------
1 2 0 /dm8/data/DAMENG/DAMENG01.log DAMENG01.log 2021-09-05 23:29:13.000000 2147483648 V8.1.1.1 4
2 2 1 /dm8/data/DAMENG/DAMENG02.log DAMENG02.log 2021-09-05 23:29:13.000000 2147483648 V8.1.1.1 4
- 重做日志文件的迁移:
需要将数据库设置成mount状态
SQL> alter database mount;
SQL> alter database rename logfile '/dm8/data/DAMENG/DAMENG01.log' to '/dm8/data/DAMENG01.log';
操作已执行
SQL> alter database open;
操作已执行
SQL> select * from v$rlogfile;
行号 GROUP_ID FILE_ID PATH CLIENT_PATH CREATE_TIME RLOG_SIZE MIN_EXEC_VER MIN_DCT_VER
---------- ----------- ----------- ----------------------------- ---------------------- -------------------------- -------------------- ------------ -----------
1 2 0 /dm8/data/DAMENG01.log /dm8/data/DAMENG01.log 2021-09-05 23:29:13.000000 2147483648 V8.1.1.1 4
2 2 1 /dm8/data/DAMENG/DAMENG02.log DAMENG02.log 2021-09-05 23:29:13.000000 2147483648 V8.1.1.1 4
- 扩容重做日志文件大小:
可以从上面看到DAMENG01.log的文件大小为2G,将此文件扩容到4G
SQL> alter database resize logfile '/dm8/data/DAMENG01.log' to 4096;
操作已执行
SQL> select * from v$rlogfile;
行号 GROUP_ID FILE_ID PATH CLIENT_PATH CREATE_TIME RLOG_SIZE MIN_EXEC_VER MIN_DCT_VER
---------- ----------- ----------- ----------------------------- ---------------------- -------------------------- -------------------- ------------ -----------
1 2 0 /dm8/data/DAMENG01.log /dm8/data/DAMENG01.log 2021-09-05 23:29:13.000000 4294967296 V8.1.1.1 4
2 2 1 /dm8/data/DAMENG/DAMENG02.log DAMENG02.log 2021-09-05 23:29:13.000000 2147483648 V8.1.1.1 4
- 增加重做日志文件:
SQL> alter database add logfile '/dm8/data/DAMENG03.log' size 2048;
SQL> select * from v$rlogfile;
行号 GROUP_ID FILE_ID PATH CLIENT_PATH CREATE_TIME RLOG_SIZE MIN_EXEC_VER MIN_DCT_VER
---------- ----------- ----------- ----------------------------- ---------------------- -------------------------- -------------------- ------------ -----------
1 2 0 /dm8/data/DAMENG01.log /dm8/data/DAMENG01.log 2021-09-05 23:29:13.000000 4294967296 V8.1.1.1 4
2 2 1 /dm8/data/DAMENG/DAMENG02.log DAMENG02.log 2021-09-05 23:29:13.000000 2147483648 V8.1.1.1 4
3 2 2 /dm8/data/DAMENG03.log /dm8/data/DAMENG03.log 2021-09-08 01:21:44.000000 2147483648 V8.1.1.1 4
更多相关问题请浏览:
达梦云适配技术社区:https://eco.dameng.com/