日志文件是循环写入的|什么是oracle 日志文件

1. oracle中,以下哪一项是以循环方式写入的a数据库 b控制文件

oracle中,以下哪一项是以循环方式写入的a数据库 b控制文件A,数据库文件 是 存储具体的 数据的B,日志文件 是 存储数据变更, 用于数据恢复的C,控制文件 是存储 当前数据库中,包含那些文件的基本信息的。D,数据字典 不是文件, 而是文件中的一些内容。

2. 做了DAG后,可以启用循环日志吗

针对你的问题:1.可以启用循环日志,并且不会影响数据库之间的复制,DAG依然有效。它的原则是这样的,当一个事务日志被写入主动的数据库中,并且被复制到所有数据库副本的节点上之后,才可以被新的事务日志所覆盖。因此不会导致数据库不一致的情况发生2.DAG数据库之间的复制就是通过事务日志来进行的。数据库副本从主动节点上复制最新产生的事务日志文件,继而写入数据库副本,以确保一致性

3. Exchange 数据库管理中的启用循环日志记录是什么意思

在第一个日志文件所包含的数据已经写入数据库之后,循环日志记录将覆盖并重用该日志文件。通过启用它,可以减少对驱动器的存储空间需求,但如果没有完整的事务日志文件,将无法恢复比最后一次完整备份更新的任何数据。

4. 什么是oracle 日志文件

重做日志redologfile是lgwr进程从oracle实例中的redologbuffer写入的,是循环利用的。就是说一个redologfile(group)写满后,才写下一个。归档日志archivelog是当数据库运行在归档模式下时,一个redologfile(group)写满后,由arcn进程将重做日志的内容备份到归档日志文件下,然后这个redologfile(group)才能被下一次使用。不管数据库是否是归档模式,重做日志是肯定要写的。而只有数据库在归档模式下,重做日志才会备份,形成归档日志。一般来说,归档日志结合全备份,用于数据库出现问题后的恢复使用。重做日志是循环使用的。比如说,有三个重做日志组a、b、c。那么,当a写满后,系统就调用arcn进程,将a备份为归档日志,同时b已经开始使用了。假设你只有两个组a、b,如果某种情况下,a正在备份,未结束,还不能继续使用,而b也写满了,这个时候,数据库就会出现挂起的情况。所以一般情况下,重做日志最好是三个组或者再多一点,而且大小要适当。实际上,一个重做日志组满了后,就开始写入归档日志。不是等abc都写满了,再归档,这样肯定就是出现挂起的情况了,oracle不是这样的,归档日志和重做日志都是物理上的文件,只是存放的目录不同,而且重做日志的文件名不变,而归档日志的文件名是备份时系统生成的。重做日志备份为归档日志后,系统就会把重做日志的内容清空,但文件依然存在,准备下一次使用。重做日志纪录了你所有做过的dml语句,重做日志循环使用,写满一轮后就要覆盖前面的。如果你是用热备模式,当重做日志写满一个后就将内容写入归档日志,以备将来恢复数据用。只有数据库运行在归档模式并且初始化参数archive_log_start等于true时,arcn进程才能被启动,进行自动归档。如果数据库运行在归档模式但archive_log_start等于false时,需要dba手工归档。重做日志文件也叫联机日志文件,一般数据库有几个日志文件(例如有三个,编号分别为1,2,3)先写1,当1满时再写2,当2满时再写3,当3满时1就归档出来,产生一个文件写到磁盘上,这个文件就叫归档日志文件.1归档出来后,新的联机日志文件又写到1中,将原来的覆盖,(即联机日志是循环使用的).一般当产生一个检查点或联机日志写满一定程度时会产生一个归档日志文件.

5. Oracle 日志与重做日志的区别是怎样的

一、Oracle中的几类日志文件 Redo log files –>联机重做日志 Archive log files –>归档日志 Alert log files –>告警日志 Trace files –>跟踪日志 user_mp_dest –>用户跟踪日志 backupground_mp_dest –>进程跟踪日志–查看后台进程相关目录 SQL> show parameter mpNAME TYPE VALUE ———————————— ———– —————————— background_core_mp string partial background_mp_dest string /u01/app/oracle/admin/orcl/bmp core_mp_dest string /u01/app/oracle/admin/orcl/cmp max_mp_file_size string UNLIMITED shadow_core_mp string partial user_mp_dest string /u01/app/oracle/admin/orcl/ump 关于Oracle 常用目录及路径请参考:Oracle 常用目录结构(10g) 关于Oracle 体系结构请参考:Oracle实例和Oracle数据库(Oracle体系结构)二、联机重做日志的规划管理 1.联机重做日志 记录了数据的所有变化(DML,DDL或管理员对数据所作的结构性更改等) 提供恢复机制(对于意外删除或宕机利用日志文件实现数据恢复) 可以被分组管理2.联机重做日志组 由一个或多个相同的联机日志文件组成一个联机重做日志组 至少两个日志组,每组一个成员(建议每组两个成员,分散放开到不同的磁盘) 由LGWR后台进程同时将日志内容写入到一个组的所有成员 LGWR的触发条件 在事务提交的时候(COMMIT) Redo Log Buffer 三分之一满 Redo Log Buffer 多于一兆的变化记录 在DBWn写入数据文件之前3.联机重做日志成员 重做日志组内的每一个联机日志文件称为一个成员 一个组内的每一个成员具有相同的日志序列号(log sequence number),且成员的大小相同 每次日志切换时,Oracle服务器分配一个新的LSN号给即将写入日志的日志文件组 LSN号用于唯一区分每一个联机日志组和归档日志 处于归档模式的联机日志,LSN号在归档时也被写入到归档日志之中4.日志文件的工作方式 日志文件采用按顺序循环写的方式 当一组联机日志组写满,LGWR则将日志写入到下一组,当最后一组写满则从第一组开始写入 写入下一组的过程称为日志切换 切换时发生检查点过程 检查点的信息同时写入到控制文件5.联机日志文件的规划 总原则 分散放开,多路复用 日志所在的磁盘应当具有较高的I/O 一般日志组大小应满足自动切换间隔至少15-20分钟左右业务需求 建议使用rdo结尾的日志文件名,避免误删日志文件。如redo1.rdo,redo2.rdo 规划样例 Redo Log Group1 Redo Log Group2 Redo Log Group3Member1 Member1 Member1 –>Physical Disk 1Member2 Member2 Member2 –>Physical Disk 2Member3 Member3 Member3 –>Physical Disk 36.日志切换和检查点切换 ALTER SYSTEM SWITCH LOGFILE; –强制手动切换ALTER SYSTEM CHECKPOING;强制设置检查点间隔 ALTER SYSTEM SET FAST_START_MTTR_TARGET = n7.添加日志文件组 ALTER DATABASE ADD LOGFILE [GROUP n] ('$ORACLE_BASE/oradata/u01/logn1.rdo', '$ORACLE_BASE/oradata/u01/logn2.rdo') SIZE mM;8.添加日志成员 ALTER DATABASE ADD LOGFILE MEMBER '$ORACLE_BASE/oradata/u01/logn1.rdo' TO GROUP 1, '$ORACLE_BASE/oradata/u01/logn2.rdo' TO GROUP 2;9.删除日志成员 不能删除组内的唯一一个成员 不能删除处于active 和current 状态组内的成员 删除处于active 和current 状态组内的成员,应使用日志切换使其处于INACTIVE状态后再删除 对于组内如果一个成员为NULL 值,一个为INVALID,且组处入INACTIVE,仅能删除INVALID状态成员 删除日志成员,物理文件并没有真正删除,需要手动删除 删除日志文件后,控制文件被更新 对于处于归档模式下的数据库,删除成员时确保日志已被归档,查看v$log视图获得归档信息 ALTER DATABASE DROP LOGFILE '$ORACLE_BASE/oradata/u01/logn1.rdo'10.删除日志组 一个实例至少需要两个联机日志文件组 活动或当前的日志组不能被删除 组内成员状态有NULL 值或INVALID状态并存,组不可删除 日志组被删除后,物理文件需要手动删除(对于非OMF) ALTER DATABASE DROP LOGFILE GROUP n11.日志的重定位及重命名 所需权限 ALTER DATABASE 系统权限 复制文件到目的位置操作系统权限(写权限) CURRENT状态组内的成员不能被重命名 建议该行为之前备份数据库 重命名或重定位之后建议立即备份控制文件 重定位及重命名的两种方法 添加一个新成员到日志组,然后删除一个旧的成员 使用ALTER DATABASE RENAME FILE 命令(不区分归档与非归档模式) 复制联机日志文件到新路径:ho cp <oldfile> <newfile> 执行ALTER DATABASE RENAME FILE '<oldfile>' TO '<newfile>' 对于处于CURRENT状态的需要改名且不切换的情况下 办法是切换到MOUNT状态下再执行上述操作12.清空日志文件组 ALTER DATABASE CLEAR LOGIFLE GROUP n ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP n –使用unarchived 避免归档13.日志周期循环及切换分析Group 1 Group 2 Group 3Current Inactive Inactive ———- Log Switch ————- Active Current Inactive ———- Log Switch ————- Active Active Current ———- Log Switch ————- Current Inactive Inactive–Active 和Current 称之为在一个循环周期之内(按顺序写日志) –Inactive 称为一个周期之外(一个新的循环) –新一轮循环开始如在归档状态则先归档再清空,否则直接清空日志 –数据库启动时Active 和Current 状态的日志不能丢失,否则出错14.日志的监视 查看日志视图中的物理日志文件是否存在、位置、大小等 SELECT 'ho cp '||member FROM v$logfile; 查看日志文件所处的磁盘空间是否足够 SQL> ho df -h 查看组内是否存在多个成员,如为单一成员应考虑增加日志成员 日志切换的间隔时间,应满足15-20分钟业务需求,如果切换间隔很短,应当增加日志文件的大小 增加方法,先删除日志组,再重建该组(对于current和active的需要切换再做处理)–查看切换时间间隔(下面的示例中为手工切换的时间,不作考虑) SQL> SELECT TO_CHAR(first_time,'yyyy-mm-dd hh24:mi:ss'),group# FROM v$log;TO_CHAR(FIRST_TIME, GROUP# ——————- ———- 2010-07-20 09:43:18 1 2010-07-19 22:44:30 2 2010-07-19 22:44:32 3 15.日志的异常处理(参照演示中9小节) 不一致的情况(启动时) ALTER DATABASE CLEAR LOGFILE GROUP n ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP n

6. 事物日志文件最大容量是,增量是可以算吗

事物日志文件最大容量900GB,增量是可以算的。

虚拟日志

虚拟日志文件是事务日志文件的截断单位,每个事务日志文件都被逻辑地分成称为虚拟日志文件的较小的段,每个虚拟日志文件的最小大小为256KB,每个事务日志文件的最小大小为512KB,可以提供两个256KB大小的虚拟日志文件。虚拟日志文件的数目和大小会随着事务日志文件的大小的增加。小日志文件可以包含较小量的小虚拟日志文件,大日志文件可以有较大的虚拟日志文件。

小虚拟日志文件的数量尽量避免过多,虚拟日志数量的增长比大小的增长要慢得多,如果日志文件以小增量的增长,则会趋向于包含多个小虚拟日志文件,如果日志文件以大增量增长,则sql server会创建较小数量的较大虚拟日志文件。

随着记录不断地写入日志中,日志的结尾会从一个虚拟日志文件增长到下一个虚拟日志文件。如果数据库有一个以上的物理日志文件,随着日志的增长,日志结尾将穿过每个物理文件中的每个虚拟日志文件,直至循环回到第一个物理文件中的第一个虚拟日志文件。只有当所有的日志文件已满时,日志才开始自动增长

场景:

部分DB几个月没有做事务日志备份,事务日志增长到几百GB

解决方案:

Snooze server;

Change db’s recovery model from full to simple(截断事务日志)

Run CHECKPOINT command(write page to disk)

Change db’s recovery model from simple to full

Shrink database’s log files to release space.

Run a full backup job for all dbs(保证数据的完整性)

Run tlog backup job

7. redo日志的作用是什么

redo日志的作用是叫做重做日志文件。

8. 在linux中,怎么实现日志文件的自动化循环

你好,设置方法如下:修改 Error log 设备的缓冲区大小Error log 设备 /dev/error 为块设备,需要使用缓冲区进行读写。缺省情况下,/dev/error 的缓冲区大小为 8KB,我们可以通过 /usr/lib/errdemon – B 来配置 /dev/error 的缓冲区大小。如果新配置的缓冲区大小大于现有的配置,新配置将会立即生效;如果新配置的缓冲区大小小于现有的配置,则新配置会在 errdemon 重新启动后生效。配置日志文件路径缺省情况下,AIX Error log 会使用文件 /var/adm/ras/errlog 存储日志信息,使用 /usr/lib/errdemon – i 可以配置 Error log 日志文件的路径。新配置的日志文件路径会立即生效。配置日志文件大小限制AIX Error log 的日志文件大小是可配置的,配置命令为 /usr/lib/errdemon – s。如果新配置的日志文件大小大于现有的配置,新配置将会立即生效;如果新配置的日志文件大小小于现有的配置,则现有的日志文件将会被备份为 *.log,然后 errdemon 会用新的日志文件大小配置生成一个新的日志文件。配置对重复条目的处理如果操作系统或者应用程序发生了重复的信息或者错误,在 Error log 中就会造成重复的条目。AIX Error log 对重复的条目会进行相应的处理,如在一定时间内内容相同的条目将会被标记为重复,如果重复的条目数超过了预先设置的阈值,则新的重复的条目将不会再作为重复条目被记入 Error log。是否打开重复条目处理功能的配置参数为 /usr/lib/errdemon – d,重复条目的时间间隔配置参数为 /usr/lib/errdemon – t,最大重复条目数的配置参数为 /usr/lib/errdemon – m。

9. 如果选用循环日志方式,辅助日志文件何时分配

两个没有区别,都是重做日志,且重做日志都是联机的,一般重做日志分成三个组,一个是当前日志,不断的写入信息,当写完成后,会根据数据库是否归档来决定是否删除非当期的日志(一般状态为inactive),如果是归档模式,会将该日志拷贝过去后再删除。 你问的是重做日志和归档日志的区别吧。 重做日志是不断删除,循环使用。归档日志是历史日志,不会自动删除的

10. LINUX清空日志文件内容我知道> filename,但是实际操作过程中日志文件一直再写入所以删除不了还有什么办法

最简单的方法是把写日志的进程停掉比如syslogd或者rsyslogd这些进程,就是写日志的,把它们关了就不会写了


赞 (0)