yashandb吧 关注:1贴子:7
  • 0回复贴,共1

YashanDB Redo日志文件管理

只看楼主收藏回复

Redo日志作用
Redo日志记录的数据库的所有历史变更。
在事务提交前,只要将Redo日志持久化即可,不需要将数据持久化。
当系统崩溃时,虽然数据没有持久化到数据文件,但是Redo日志已经持久化。
系统可以根据Redo日志的内容,将所有数据恢复到最新的状态
Redo日志文件的查看
可以通过V$LOGFILE查看Redo日志的信息,包括它的ID、路径、块大小、已用大小、序列号与状态等信息。
Redo日志文件
SQL>SELECT * FROM V$LOGFILE;
SQL> select * from v$logfile;
THREAD# ID NAME BLOCK_SIZE BLOCK_COUNT USED_BLOCKS SEQUENCE# STATUS
------- ------------ ---------------------------------------------------------------- ------------ ------------ ------------ ------------ ---------
1 0 /home/yashan/yasdb_data/db-1-1/dbfiles/redo1 4096 32768 223 9 INACTIVE
1 1 /home/yashan/yasdb_data/db-1-1/dbfiles/redo2 4096 32768 284 10 CURRENT
1 2 /home/yashan/yasdb_data/db-1-1/dbfiles/redo3 4096 32768 183 7 INACTIVE
1 3 /home/yashan/yasdb_data/db-1-1/dbfiles/redo4 4096 32768 3988 8 INACTIVE
备注:
Redo日志大小:添加日志成员的时候指定size,就是Redo的大小。
Redo日志块大小:在添加日志成员的时候指定BLOCKSIZE,就是Redo日志的块大小,如果不指定,默认为4096 byte。
Redo日志的状态:日志文件有四种状态,分别为CURRENT、ACTIVE、INACTIVE与NEW。
CURRENT为正在使用的,ACTIVE为未归档未可复用,INACTIVE为已归档可复用,NEW为新增未使用过的日志
Redo日志文件维护
添加Redo日志
SQL>ALTER DATABASE ADD LOGFILE ('redo6' SIZE 200M,'redo7' SIZE 200M);
切换Redo日志
当前的一个Redo日志需要删除等维护操作,但是状态不是可复用的,我们可以就使用切换日志组命令。
SQL>ALTER SYSTEM SWITCH LOGFILE;
删除Redo日志
只有状态为INACTIVE与NEW的Redo日志才可以进行删除。
SQL>ALTER DATABASE DROP LOGFILE '/home/yashan/yashandb/yasdb_data/dbfiles/redo6';


IP属地:福建1楼2024-11-26 08:54回复