Call now: 252-767-6166  
Oracle Training Oracle Support Development Oracle Apps

 
 Home
 E-mail Us
 Oracle Articles


 Oracle Training
 Oracle Tips

 Oracle Forum
 Class Catalog


 Remote DBA
 Oracle Tuning
 Emergency 911
 RAC Support
 Apps Support
 Analysis
 Design
 Implementation
 Oracle Support


 SQL Tuning
 Security

 Oracle UNIX
 Oracle Linux
 Monitoring
 Remote s
upport
 Remote plans
 Remote
services
 Application Server

 Applications
 Oracle Forms
 Oracle Portal
 App Upgrades
 SQL Server
 Oracle Concepts
 Software Support

 Remote S
upport  
 Development  

 Implementation


 Consulting Staff
 Consulting Prices
 Help Wanted!

 


 Oracle Posters
 Oracle Books

 Oracle Scripts
 Ion
 Excel-DB   


 

 

 


 

 

 

 

 

Oracle Concepts - Redo Log Files

Oracle Tips by Burleson Consulting

Redo log files

Redo logs are transaction journals. Each transaction is recorded in the redo logs. Redo logs are used in a serial fashion with each transaction queuing up in the redo log buffers and being written one at a time into the redo logs. Redo logs as a general rule should switch about every thirty minutes. However, you may need to adjust the time up or down depending on the importance of your data. The rule of thumb is to size the redo logs such that you only loose the amount of data you can stand to loose should for some reason the online redo log become corrupt. With modern Oracle redo log mirroring and with disk array mirroring and various forms of online disk repair and replacement the occurrence of redo log corruptions has dropped to practically zero, so size based on the number of archive logs you want to apply should the database fail just before your next backup.

The LOG_BUFFER_SIZE and LOG_BUFFERS parameters control the redo log buffers. The LOG_BUFFER_SIZE should be set to reduce the number of writes required per redo log but not be so large that it results in an excessive IO wait time. Some studies have shown that sizing bigger than one megabyte rarely results in performance gains. Generally I size the LOG_BUFFER_SIZE such that it is equal to or results in an even divisor of the redo log size.

Monitor redo logs using the alert log, V$LOGHIST, V$LOGFILE, V$RECOVERY_LOG and V$LOG DPTs.

Control files

Control files are created when the database is created. Control file size is determined by a number of initialization parameters and really shouldn’t concern you. However, if you are using raw devices for control files make sure the raw partition is sized to allow the control file to grow in Oracle8 and Oracle8i databases as backup information is added. Each database instance must have at least one control file of it will not start. Loss of all control files will cause the database to crash. Have at least two copies on physically separate disk arrays or devices.

I suggest maintaining a script to rebuild your control files. The control file rebuild script should be recreated after each physical change to the database. The command CREATE CONTROLFILE is used to manually create a controlfile. However, the ALTER DATABASE BACKUP CONTROL FILE TO TRACE command is the preferred method to generate a script that can be used to rebuild the control file if it becomes damaged.

Initialization File

Although not normally discussed as a database file a database will not startup without a valid initialization parameter file. The file is only read at startup and contains the information required to set up the SGA, control file locations, trace and dump file locations and setup parameters for multi-threaded server, parallel query and Oracle Parallel Server. I suggest keeping a copy in a secure place incase yours ever becomes corrupted, deleted or damaged. The Oracle Reference, which is included in the Oracle8 and Oracle8i documentation set, provides descriptions of all initialization parameters. There are also undocumented initialization parameters that allow specialized behaviors to be configured. Both the documented and undocumented initialization parameters are covered in my book “ORACLE8i Administration and Management” from Wiley and Sons.

It should be obvious that the most important file regarding database setup and operation is probably the INIT<sid>.ORA, or initialization file. This file contains the assignments for the database initialization parameters.

For Oracle7, version 7.3, there are 154 initialization parameters, for Oracle8, version 8.0.5, there are 184. In Oracle8i there are 194. Table 11 is a list of the Oracle8i INIT.ORA parameters, their default values, and descriptions. Note that on your platform there may be more or less than this number of parameters.

NAME

VALUE

DESCRIPTION

O7_DICTIONARY_ACCESSIBILITY

TRUE

V7 Dictionary accessibility  Support (Migration only)

ALWAYS_ANTI_JOIN

NESTED_LOOPS

Always use this anti-join when possible

ALWAYS_SEMI_JOIN

standard

Always use this semi-join when possible

AQ_TM_PROCESSES

0

Number of AQ Time Managers to start

AUDIT_FILE_DEST

(PD)

Destination for audit files

AUDIT_TRAIL

NONE

Enable system auditing

BACKGROUND_CORE_DUMP

PARTIAL

Sets whether SGA is dumped with core file dump,   PARTIAL means don't dump SGA.

BACKGROUND_DUMP_DEST

(PD)

Detached process dump directory

BACKUP_TAPE_IO_SLAVES

FALSE

BACKUP Tape I/O slaves

BITMAP_MERGE_AREA_SIZE

1048576

Maximum memory allow for BITMAP MERGE

BLANK_TRIMMING

FALSE

Blank trimming semantics parameter

BUFFER_POOL_KEEP

0

Number of database blocks/latches in KEEP buffer pool             

BUFFER_POOL_RECYCLE

0

Number of database blocks/latches in recycle buffer pool

COMMIT_POINT_STRENGTH

1

Bias this node has toward not preparing in a two-phase commit

COMPATIBLE

8.1.0

 Database will be compatible with this software version

CONTROL_FILE_RECORD_KEEP_TIME

7

Control file record keep time in days

CONTROL_FILES

(PD)

Control file names list

CORE_DUMP_DEST

(PD)

Destination for core dump files.

CPU_COUNT

(PD)

Number of cpu's for this instance

CREATE_BITMAP_AREA_SIZE

8388608

Size of create bitmap buffer for bitmap index

CURSOR_SPACE_FOR_TIME

FALSE

Use more memory in order to get faster execution

DB_BLOCK_BUFFERS

8000

Number of database blocks  cached in memory

DB_BLOCK_CHECKING

TRUE

 Data and index block checking overrides events 10210 and 10211

DB_BLOCK_CHECKSUM

FALSE

Store checksum in db blocks and check during reads

DB_BLOCK_LRU_LATCHES

1|CPU_COUNT/2

Number of lru latches

DB_BLOCK_MAX_DIRTY_TARGET

DB_BLOCK_BUFFERS

Upper bound on modified buffers/recovery reads

DB_BLOCK_SIZE

(PD)

Size of database block in bytes

DB_DOMAIN

WORLD

Directory part of global database name stored with CREATE DATABASE

DB_FILE_DIRECT_IO_COUNT

64

Sequential I/O block count

DB_FILE_MULTIBLOCK_READ_COUNT

8

Db blocks read for each IO

DB_FILE_NAME_CONVERT

NULL

 Datafile name convert pattern and string for standby/clone database

DB_FILES

MAXDATAFILES

Max allowable # db files

DB_NAME

(PD)

Database name specified in CREATE DATABASE

DB_WRITER_PROCESSES

1

Number of background database writer processes to start

DBLINK_ENCRYPT_LOGIN

FALSE

Enforce password for distributed login always be encrypted

DBWR_IO_SLAVES

0

Number of DBWR I/O slaves

DELAYED_LOGGING_BLOCK_CLEANOUTS

TRUE

Turns delayed block cleanout on or off

DISK_ASYNCH_IO

TRUE

Use asynch I/O for random access devices

DISTRIBUTED_TRANSACTIONS

(PD)

Max. number of concurrent distributed transactions

DML_LOCKS

4*Trans.

Dml locks - one for each table modified in a transaction

ENQUEUE_RESOURCES

Derived

Resources for enqueues

EVENT

NULL

Debug event control

FIXED_DATE

NULL

Fixed SYSDATE value

FREEZE_DB_FOR_FAST_INSTANCE_RECOVERY

FALSE

Freeze database during instance recovery (OPS)

GC_DEFER_TIME

10

How long to defer down converts for hot buffers (DFS)(OPS)

GC_FILES_TO_LOCKS

NULL

Mapping between file numbers and lock buckets  (DFS)(OPS)

GC_RELEASABLE_LOCKS

0

Number of releasable locks (DFS)(OPS)

GC_ROLLBACK_LOCKS

20

Locks for the rollback segments (DFS)(OPS)

GLOBAL_NAMES

TRUE

Enforce that database links have same name as remote database

HASH_AREA_SIZE

2*SORT

Size of in-memory hash work area

HASH_JOIN_ENABLED

TRUE

Enable/disable hash join

HASH_MULTIBLOCK_IO_COUNT

1

Number of blocks hash join will read/write at once

HI_SHARED_MEMORY_ADDRESS

0

SGA starting address (high order 32-bits on 64-bit platforms)

HS_AUTOREGISTER

TRUE

Enable automatic server DD updates in HS agent self-registration

IFILE

NULL

Include file in init.ora

INSTANCE_GROUPS

NULL

List of instance group names

INSTANCE_NAME

NULL

Instance name supported by the instance

 

 

 

INSTANCE_NUMBER

0

Instance number

JAVA_POOL_SIZE

10000K

Size in bytes of the Java pool

JOB_QUEUE_INTERVAL

60

Wakeup interval in seconds for job queue processes

JOB_QUEUE_KEEP_CONNECTIONS

FALSE

Keep network connections between execution of jobs

JOB_QUEUE_PROCESSES

0

Number of job queue  processes to start

LARGE_POOL_SIZE

0

Size in bytes of the large allocation pool (auto set at 600k)

LICENSE_MAX_SESSIONS

0

Maximum number of non-system user sessions allowed

LICENSE_MAX_USERS

0

Maximum number of named users that can be created in the database

LICENSE_SESSIONS_WARNING

0

Warning level for number of non-system user sessions

LM_LOCKS

12000

Number of locks configured for the lock manager (OPS)

LM_PROCS

64

Number of client processes configured for the lock manager (OPS)

LM_RESS

6000

Number of resources configured for the lock manager (OPS)                                      

LOCAL_LISTENER

NULL

Local listener

LOCK_NAME_SPACE

NULL

Lock name space used for generating lock names for standby/clone database

LOCK_SGA

FALSE

Lock entire SGA in physical memory

 


This is an excerpt from the eBook "Oracle DBA made Simple".

For more details on Oracle database administration, see the "Easy Oracle Jumpstart" by Robert Freeman and Steve Karam.  It’s only $19.95 when you buy it directly from the publisher here.

 


 

 
  
 

 
 
 
 
Oracle performance tuning software
 
 

 

 
 
 
Oracle performance Tuning 10g reference poster
 
 
 
Oracle training in Linux commands
 
Oracle training Excel
 
Oracle training & performance tuning books
 

 

Burleson is the American Team

Note: This Oracle documentation was created as a support and Oracle training reference for use by our DBA performance tuning consulting professionals.  Feel free to ask questions on our Oracle forum.

Verify experience! Anyone considering using the services of an Oracle support expert should independently investigate their credentials and experience, and not rely on advertisements and self-proclaimed expertise. All legitimate Oracle experts publish their Oracle qualifications.

Errata?  Oracle technology is changing and we strive to update our BC Oracle support information.  If you find an error or have a suggestion for improving our content, we would appreciate your feedback.  Just  e-mail:  and include the URL for the page.


                    









Burleson Consulting

The Oracle of Database Support

Oracle Performance Tuning

Remote DBA Services


 

Copyright © 1996 -  2012 

All rights reserved.

Oracle © is the registered trademark of Oracle Corporation.