redo log files 重做日志文件或联机日志
archived log files 归档日志
alert log files 告警日志
trace files user_dump_dest 用户 background_dump_dest 进程
重做日志文件
查询
组1 组2 组3
current inactive inactive
日志切换:
active current inactive
日志切换:
active active current
日志切换(新循环周期,慢)
current inactive inactive
作用
记录对数据所做的所有更改,提供恢复机制,可以划分成组,至少两个组,每组下至少有一个成员file
写日志时按组顺序循环写,g1(f1-f2-f3-……)-g2(f1-f2-f3-……)-g3(f1-f2-f3-……)-……
日志切换:g1-g2-g3-…… 自动切换 手工切换 (alter system switch logfile)
规划
分散原则:每个组多个成员,成员互为备份,分开到不同的磁盘。例子:
丨成员组1丨 丨成员组2丨 丨成员组1丨
丨成员组2丨 丨成员组3丨 丨成员组3丨
disk1 disk2 disk3
大小原则:组间切换时间满足20分钟左右的业务需求
增减删
新建组
alter database add logfile [group <X0>] ('<logfile path&name>','',……) size <Y>, [group <X1>] ……
添加成员
alter database add logfile member '<logfile path&name>' to group <X0>,'<logfile path&name>' ……
删除组
alter database drop logfile group <X>, group…… active状态和current状态不可删
删除成员
alter database drop logfile member '<logfile path&name>','<logfile path&name>',……;
重命名成员(可以做日志移动等)
ho cp <old> <new>
alter database rename file '<old>' tp '<new>';
归档模式下 current状态不可重命名;非归档模式下 都可以改
【alter database noarchivelog|archivelog;】
异常处理
启动时日志不一致问题
alter database clear logfile group <X>; active状态和current状态不可用
alter database clear unarchived logfile group <X>;
日志文件丢失
alter database clear logfile group <X>;
归档模式下不能clear时,
recover database using backup controlfile;alter database open resetlog;
非归档模式不能clear时,
alter system set "_allow_resetlogs_corruption"=true scope=spfile;
startup;
alter system reset "_allow_resetlogs_corruption" scope=spfile sid='*';
archived log files 归档日志
alert log files 告警日志
trace files user_dump_dest 用户 background_dump_dest 进程
重做日志文件
查询
>select * from v$logfile; status列:invalid该文件不可访问(不存在或添加到该组的新logfile)|stale内容不完全|deleted不再使用
组1 组2 组3
current inactive inactive
日志切换:
active current inactive
日志切换:
active active current
日志切换(新循环周期,慢)
current inactive inactive
作用
记录对数据所做的所有更改,提供恢复机制,可以划分成组,至少两个组,每组下至少有一个成员file
写日志时按组顺序循环写,g1(f1-f2-f3-……)-g2(f1-f2-f3-……)-g3(f1-f2-f3-……)-……
日志切换:g1-g2-g3-…… 自动切换 手工切换 (alter system switch logfile)
规划
分散原则:每个组多个成员,成员互为备份,分开到不同的磁盘。例子:
丨成员组1丨 丨成员组2丨 丨成员组1丨
丨成员组2丨 丨成员组3丨 丨成员组3丨
disk1 disk2 disk3
大小原则:组间切换时间满足20分钟左右的业务需求
增减删
新建组
alter database add logfile [group <X0>] ('<logfile path&name>','',……) size <Y>, [group <X1>] ……
添加成员
alter database add logfile member '<logfile path&name>' to group <X0>,'<logfile path&name>' ……
删除组
alter database drop logfile group <X>, group…… active状态和current状态不可删
删除成员
alter database drop logfile member '<logfile path&name>','<logfile path&name>',……;
重命名成员(可以做日志移动等)
ho cp <old> <new>
alter database rename file '<old>' tp '<new>';
归档模式下 current状态不可重命名;非归档模式下 都可以改
【alter database noarchivelog|archivelog;】
异常处理
启动时日志不一致问题
alter database clear logfile group <X>; active状态和current状态不可用
alter database clear unarchived logfile group <X>;
日志文件丢失
alter database clear logfile group <X>;
归档模式下不能clear时,
recover database using backup controlfile;alter database open resetlog;
非归档模式不能clear时,
alter system set "_allow_resetlogs_corruption"=true scope=spfile;
startup;
alter system reset "_allow_resetlogs_corruption" scope=spfile sid='*';