Oracle log files : An introduction
来源:互联网 发布:python supervisor 编辑:程序博客网 时间:2024/06/06 07:50
The Oracle server maintains the redo Oracle log files to minimize the loss of data in the Database in case of an uncontrolled shutdown.
Online redo Oracle log files are filled with redo records. A redo record, also called a redo entry, is made up of a group of change vectors, each of which is a description of a change made to a single block in the database.
For example, if you change a salary value in an employee table, you generate a redo record containing change vectors that describe changes to the data segment block for the table, the rollback segment data block, and the transaction table of the rollback segments.
The question here is how are the Oracle log files maintained, and what information do we have?
A couple of interesting Oracle views:
a)To view information on log files:
SELECT * FROM v$log;
b)To view information on log file history:
SELECT thread#, first_change#,
TO_CHAR(first_time,'MM-DD-YY HH12:MIPM'),
next_change#
FROM v$log_history;
The above shows you what log state your system is in. Read more about ARCHIVELOG in the article on Oracle Backup.
Consider the parameters that can limit the number of online redo Oracle log files before setting up or altering the configuration of an instance's online redo log.
The following parameters limit the number of online redo Oracle log files that you can add to a database:
- The MAXLOGFILES parameter used in the CREATE DATABASE statement determines the maximum number of groups of online redo Oracle log files for each database.
Group values can range from 1 to MAXLOGFILES.
The only way to override this upper limit is to re-create the database or its control file. Thus, it is important to consider this limit before creating a database.
If MAXLOGFILES is not specified for the CREATE DATABASE statement, Oracle uses an operating system specific default value. The MAXLOGMEMBERS parameter used in the CREATE DATABASE statement determines the maximum number of members for each group.
As with MAXLOGFILES, the only way to override this upper limit is to re-create the database or control file. Thus, it is important to consider this limit before creating a database.
If no MAXLOGMEMBERS parameter is specified for the CREATE DATABASE statement, Oracle uses an operating system default value.
At any given time, Oracle uses only one of the online redo log files to store redo records written from the redo log buffer.
The online redo log file that Log Writer (LGWR) is actively writing to is called the current online redo log file. Online redo Oracle log files that are required for instance recovery are called active online redo log files. Online redo log files that are not required for instance recovery are called inactive.
If you have enabled archiving (ARCHIVELOG mode), Oracle cannot reuse or overwrite an active online log file until ARCn has archived its contents.
If archiving is disabled (NOARCHIVELOG mode), then the last online redo log file fills writing continues by overwriting the first available active file. The best way to determine the appropriate number of online redo log files for a database instance is to test different configurations.
The optimum configuration has the fewest groups possible without hampering LGWR's writing redo log information.
In some cases, a database instance may require only two groups. In other situations, a database instance may require additional groups to guarantee that a recycled group is always available to LGWR.
During testing, the easiest way to determine if the current online redo log configuration is satisfactory is to examine the contents of the LGWR trace file and the database's alert log.
If messages indicate that LGWR frequently has to wait for a group because a checkpoint has not completed or a group has not been archived, add groups.
LGWR writes to online redo log files in a circular fashion. When the current online redo log file fills, LGWR begins writing to the next available online redo log file.
When the last available online redo log file is filled, LGWR returns to the first online redo log file and writes to it, starting the cycle again. The numbers next to each line indicate the sequence in which LGWR writes to each online redo log file.
Filled online redo log files are available to LGWR for reuse depending on whether archiving is enabled or disabled:
- If archiving is disabled (NOARCHIVELOG mode), a filled online redo log file is available once the changes recorded in it have been written to the datafiles.
- If archiving is enabled (ARCHIVELOG mode), a filled online redo log file is available to LGWR once the changes recorded in it have been written to the datafiles and once the file has been archived.
Operations on Oracle log files :
- Forcing log file switches:
ALTER SYSTEM switch logfile;
or
ALTER SYSTEM checkpoint; - Clear A Log File If It Has Become Corrupt:
ALTER DATABASE CLEAR LOGFILE GROUP group_number; - This statement overcomes two situations where dropping redo logs is not possible: If there are only two log groups and if the corrupt redo log file belongs to the current group:
ALTER DATABASE CLEAR LOGFILE GROUP 4; - Clear A Log File If It Has Become Corrupt And Avoid Archiving:
ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP group_number; - Use this version of clearing a log file if the corrupt log file has not been archived:
ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 3; - Privileges Related To Managing Log Files:
ALTER DATABASE
ALTER SYSTEM - Init File Parameters Related To Log Files:
log_checkpoint_timeout ... set to 0 - Managing Log File Members:
ALTER DATABASE
ADD LOGFILE MEMBER 'log_member_path_and_name'
TO GROUP group_number; - Adding log file group members:
ALTER DATABASE
ADD LOGFILE MEMBER '/oracle/dbs/log2b.rdo' TO GROUP 2; - Droping log file group members:
ALTER DATABASE
DROP LOGFILE MEMBER log_member_path_and_name';
ALTER DATABASE
DROP LOGFILE MEMBER '/oracle/dbs/log3c.rdo'; - To create a new group of online redo log files, use the SQL statement ALTER DATABASE with the ADD LOGFILE clause:
The following statement adds a new group of redo Oracle log files to the database:
ALTER DATABASE ADD LOGFILE ('/oracle/dbs/log1c.rdo', '/
oracle/dbs/log2c.rdo') SIZE 500K;
- Oracle log files : An introduction
- an introduction of ppm files
- Oracle log files
- Oracle EBS R12 log files
- 11gR2 Oracle clusterware log files
- 【错误】An error has occurred, see the log files - Eclipse
- 转储Linux日志文件 (Rotating Linux Log Files - Part 0: Introduction)
- An Introduction to Struts
- An introduction to LaTeX2e
- An Introduction To Ajax
- Clustering: An Introduction
- An introduction to SOA
- An introduction to Microcode
- An Introduction to LDAP
- An Introduction To SQLite
- An Introduction to Libaio
- An Introduction to LDAP
- An Introduction to GCC
- Excel中文本换行
- 反编译工具jad简单用法
- C#开发ISAPI程序(摘)
- 什么是云计算机
- 摘录好文:帮助理解聚集索引很非聚集索引
- Oracle log files : An introduction
- poi读写 excel
- ASP.NET实用技巧(一)
- 不在沉默中爆发,就在沉默中灭完!
- 企业级反垃圾邮件防火墙
- 触发器
- 莫名的IE中无法运行Flex(swf)程序的问题[已临时解决]
- 二进制代码审核
- “凡使用他人原话在3个连续词以上,都要使用直接引号,否则即使注明出处,仍视为抄袭”