Professional Documents
Culture Documents
MasterNote:OverviewofDatabaseControlFiles(DocID1493674.1)
InthisDocument
Purpose
Scope
Details
Concepts
ControlfileContents
ControlfileStructure
Circularreuserecords
Noncircularreuserecords
ControlFileParameters
CONTROL_FILES
CONTROL_FILE_RECORD_KEEP_TIME
ControlfileCreation
CREATECONTROLFILE
TroubleshootingaftercreatingControlfiles
CheckingforMissingorExtraFiles
HandlingErrorsduringCREATECONTROLFILE
ControlFileExpansion
ControlfileEnqueue
ControlfileDataDictionaryViews
12cRelated:
ControlfilewaitEvents
Controlfileparallelwrite
Controlfilesequentialread
Controlfilesinglewrite
ControlfileBackups
RMANCONTROLFILEAUTOBACKUP
BACKUPCONTROLFILEClause
GuidelinesforControlfiles
ProvideFilenamesfortheControlFiles
MultiplexControlFilesonDifferentDisks
BackUpControlFiles
DroppingControlfiles
AdditionalResources
KnownIssuesandResolutions
References
APPLIESTO:
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=15whalhnui_383&id=1493674.1 1/13
5/15/2015 Document1493674.1
OracleDatabaseEnterpriseEditionVersion9.2.0.8to12.1.0.1[Release9.2to12.1]
Informationinthisdocumentappliestoanyplatform.
PURPOSE
ThepurposeofthisdocumentistoprovideanoverviewoftheDatabasecontrolfileconcepts.
SCOPE
ThedetailsinthisdocumentinitiallyappliestoanonRACDatabasesetup.
DETAILS
Concepts
Thedatabasecontrolfileisasmallbinaryfilenecessaryforthedatabasetostartandoperatesuccessfully.Acontrol
fileisupdatedcontinuallybyOracleduringdatabaseuse,soitmustbeavailableforwritingwheneverthedatabaseis
open.Ifforsomereasonthecontrolfileisnotaccessible,thenthedatabasecannotfunctionproperly.Eachcontrolfile
isassociatedwithonlyoneOracledatabase.
Thecontrolfileservesthefollowingpurposes:
Itcontainsinformationaboutdatafiles,onlineredologfiles,andotherfilesthatarerequiredtoopenthe
database.
Thecontrolfiletracksstructuralchangestothedatabase.Forexample,whenanadministratoradds,renames,
ordropsadatafileoronlineredologfile,thedatabaseupdatesthecontrolfiletoreflectthischange.
Itcontainsmetadatathatmustbeaccessiblewhenthedatabaseisnotopen.
ControlfileContents
AControlfilecontainsinformationsuchas
Thedatabasename
Thetimestampofdatabasecreation
Thenamesandlocationsofassociateddatafilesandredologfiles
Tablespaceinformation
Datafileofflineranges
Theloghistory
Archivedloginformation
Backupsetandbackuppieceinformation
Backupdatafileandredologinformation
Datafilecopyinformation
Thecurrentlogsequencenumber
Checkpointinformation
Thedatabasenameandtimestamporiginatefromthedatabasecreation.Thedatabasenameistakenfromeitherthe
namespecifiedbytheDB_NAMEinitializationparameterorthenameusedintheCREATEDATABASEstatement.
Eachtimethatadatafileoraredologfileisaddedto,renamedin,ordroppedfromthedatabase,thecontrolfileis
updatedtoreflectthisphysicalstructurechange.Thesechangesarerecordedsothat:
Oraclecanidentifythedatafilesandredologfilestoopenduringdatabasestartup
Oraclecanidentifyfilesthatarerequiredoravailableincasedatabaserecoveryisnecessary
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=15whalhnui_383&id=1493674.1 2/13
5/15/2015 Document1493674.1
Therefore,ifyoumakeachangetothephysicalstructureofyourdatabase(usingALTERDATABASEstatements),then
youshouldimmediatelymakeabackupofyourcontrolfile.
OracleDatabaseConcepts10gRelease1(10.1)
PartNumberB1074301
http://docs.oracle.com/cd/B14117_01/server.101/b10743/physical.htm#i10135
ControlfileStructure
Informationaboutthedatabaseisstoredindifferentsectionsofthecontrolfile.Eachsectionisasetofrecordsabout
anaspectofthedatabase.Forexample,onesectioninthecontrolfiletracksdatafilesandcontainsasetofrecords,
oneforeachdatafile.Eachsectionisstoredinmultiplelogicalcontrolfileblocks.Recordscanspanblockswithina
section.
Thecontrolfilecontainsthefollowingtypesofrecords:
Circularreuserecords
Theserecordscontainnoncriticalinformationthatiseligibletobeoverwrittenifneeded.Whenallavailablerecordslots
arefull,thedatabaseeitherexpandsthecontrolfiletomakeroomforanewrecordoroverwritestheoldestrecord.
Examplesincluderecordsabout:
LOGHISTORY
OFFLINERANGE
ARCHIVEDLOG
BACKUPSET
BACKUPPIECE
BACKUPDATAFILE
BACKUPREDOLOG
DATAFILECOPY
BACKUPCORRUPTION
COPYCORRUPTION
DELETEDOBJECT
PROXYCOPY
Noncircularreuserecords
Theserecordscontaincriticalinformationthatdoesnotchangeoftenandcannotbeoverwritten.Examplesof
informationincludetablespaces,datafiles,onlineredologfiles,andredothreads.OracleDatabaseneverreusesthese
recordsunlessthecorrespondingobjectisdroppedfromthetablespace.Examplesofnoncircularcontrolfilesections
(theonesthatcanonlyexpand)
DATABASE(info)
CKPTPROGRESS(Checkpointprogress)
REDOTHREAD,REDOLOG(Logfile)
DATAFILE(DatabaseFile)
FILENAME(DatafileName)
TABLESPACE
TEMPORARYFILENAME
RMANCONFIGURATION
Readingandwritingthecontrolfileblocksisdifferentfromreadingandwritingdatablocks.Forthecontrolfile,Oracle
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=15whalhnui_383&id=1493674.1 3/13
5/15/2015 Document1493674.1
Databasereadsandwritesdirectlyfromthedisktotheprogramglobalarea(PGA).Eachprocessallocatesacertain
amountofitsPGAmemoryforcontrolfileblocks.
OracleDatabaseConcepts11gRelease2(11.2)
PartNumberE2578901
http://docs.oracle.com/cd/E11882_01/server.112/e25789/physical.htm#i10135
ControlFileParameters
CONTROL_FILES
Thisparameterisspecifiedinpfile/spfile.Thisparameterisusedtospecifythelocationofcontrolfiles.
CONTROL_FILESspecifiesoneormorenamesofcontrolfiles,separatedbycommas.Ainstanceusesthisparameter
tolocatethecontrolfilesforthedatabasestartup.
CONTROL_FILE_RECORD_KEEP_TIME
CONTROL_FILE_RECORD_KEEP_TIMEspecifiestheminimumnumberofdaysbeforeareusablerecordinthecontrol
filecanbereused.Intheeventanewrecordneedstobeaddedtoareusablesectionandtheoldestrecordhasnot
agedenough,therecordsectionexpands.Ifthisparameterissetto0,thenreusablesectionsneverexpand,and
recordsarereusedasneeded.
Note:
Itisnotmandatorythatalltherecordswillbereusedafterdaysspecified
forCONTROL_FILE_RECORD_KEEP_TIME.ItistheMINIMUMnumberofdaysthatthedetailsareretained.
Thisparameterappliesonlytorecordsinthecontrolfilethatarecircularlyreusable(suchasarchivelogrecords
andvariousbackuprecords).Itdoesnotapplytorecordssuchasdatafile,tablespace,andredothreadrecords,
whichareneverreusedunlessthecorrespondingobjectisdroppedfromthetablespace.
ControlfileCreation
Itisnecessaryforyoutocreatenewcontrolfilesinthefollowingsituations:
Allcontrolfilesforthedatabasehavebeenpermanentlydamagedandyoudonothaveacontrolfilebackup.
Youwanttochangethedatabasename.Forexample,youwouldchangeadatabasenameifitconflictedwith
anotherdatabasenameinadistributedenvironment.
YouwanttochangetheparametersfromtheCREATEDATABASEorCREATECONTROLFILEcommands:
MAXLOGFILES,MAXLOGMEMBERS,MAXLOGHISTORY,andMAXINSTANCES,whenthecompatibilityisearlier
than10.2.0.Ifcompatibilityis10.2.0orlater,youdonothavetocreatenewcontrolfileswhenyoumakesucha
changethecontrolfilesautomaticallyexpand,ifnecessary,toaccommodatethenewconfigurationinformation.
Note:
YoucanchangethedatabasenameandDBID(internaldatabaseidentifier)usingtheDBNEWIDutility.SeeOracle
DatabaseUtilitiesforinformationaboutusingthisutility.
YoucanalsocreateabackupoftheCreateControlfilecommandtoa(trace)fileusing"ALTERDATABASEBACKUP
CONTROLFILETO'FILENAME'/TRACE".
CREATECONTROLFILE
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=15whalhnui_383&id=1493674.1 4/13
5/15/2015 Document1493674.1
Tocreateacontrolfile,
YoumusthavetheSYSDBAsystemprivilege.
ThedatabaseshouldbeinNomountStage.
YoucancreateanewcontrolfileforadatabaseusingtheCREATECONTROLFILEstatement.Thefollowingstatement
createsanewcontrolfilefortheproddatabase(adatabasethatformerlyusedadifferentdatabasename)
CREATECONTROLFILE
SETDATABASEprod
LOGFILEGROUP1('/u01/oracle/prod/redo01_01.log',
'/u01/oracle/prod/redo01_02.log'),
GROUP2('/u01/oracle/prod/redo02_01.log',
'/u01/oracle/prod/redo02_02.log'),
GROUP3('/u01/oracle/prod/redo03_01.log',
'/u01/oracle/prod/redo03_02.log')
RESETLOGS
DATAFILE'/u01/oracle/prod/system01.dbf'SIZE3M,
'/u01/oracle/prod/rbs01.dbs'SIZE5M,
'/u01/oracle/prod/users01.dbs'SIZE5M,
'/u01/oracle/prod/temp01.dbs'SIZE5M
MAXLOGFILES50
MAXLOGMEMBERS3
MAXLOGHISTORY400
MAXDATAFILES200
MAXINSTANCES6
ARCHIVELOG
Cautions:
TheCREATECONTROLFILEstatementcanpotentiallydamagespecifieddatafilesandredologfiles.Omittinga
filenamecancauselossofthedatainthatfile,orlossofaccesstotheentiredatabase.Usecautionwhen
issuingthisstatementandbesuretofollowtheinstructionsin"StepsforCreatingNewControlFiles".
Ifthedatabasehadforcedloggingenabledbeforecreatingthenewcontrolfile,andyouwantittocontinueto
beenabled,thenyoumustspecifytheFORCELOGGINGclauseintheCREATECONTROLFILEstatement.Refer
"SpecifyingFORCELOGGINGMode".
OracleDatabaseAdministrator'sGuide11gRelease2(11.2)
PartNumberE2549402
http://docs.oracle.com/cd/E11882_01/server.112/e25494/control.htm#ADMIN11290
OracleDatabaseSQLLanguageReference11gRelease2(11.2)
PartNumberE2608802
http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_5003.htm#SQLRF01203
TroubleshootingaftercreatingControlfiles
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=15whalhnui_383&id=1493674.1 5/13
5/15/2015 Document1493674.1
CheckingforMissingorExtraFiles
Aftercreatinganewcontrolfileandusingittoopenthedatabase,checkthealertlogtoseeifthedatabasehas
detectedinconsistenciesbetweenthedatadictionaryandthecontrolfile,suchasadatafileinthedatadictionarythat
thecontrolfiledoesnotlist.
Ifadatafileexistsinthedatadictionarybutnotinthenewcontrolfile,thedatabasecreatesaplaceholderentryinthe
controlfileunderthenameMISSINGnnnn,wherennnnisthefilenumberindecimal.MISSINGnnnnisflaggedinthe
controlfileasbeingofflineandrequiringmediarecovery.
IftheactualdatafilecorrespondingtoMISSINGnnnnisreadonlyorofflinenormal,thenyoucanmakethedatafile
accessiblebyrenamingMISSINGnnnntothenameoftheactualdatafile.IfMISSINGnnnncorrespondstoadatafile
thatwasnotreadonlyorofflinenormal,thenyoucannotusetherenameoperationtomakethedatafileaccessible,
becausethedatafilerequiresmediarecoverythatisprecludedbytheresultsofRESETLOGS.Inthiscase,youmust
dropthetablespacecontainingthedatafile.
Conversely,ifadatafilelistedinthecontrolfileisnotpresentinthedatadictionary,thenthedatabaseremoves
referencestoitfromthenewcontrolfile.Inbothcases,thedatabaseincludesanexplanatorymessageinthealertlog
toletyouknowwhatwasfound.
HandlingErrorsduringCREATECONTROLFILE
IfOracleDatabasesendsyouanerror(usuallyerrorORA01173,ORA01176,ORA01177,ORA01215,orORA01216)
whenyouattempttomountandopenthedatabaseaftercreatinganewcontrolfile,themostlikelycauseisthatyou
omittedafilefromtheCREATECONTROLFILEstatementorincludedonethatshouldnothavebeenlisted.Inthiscase,
youshouldrestorethemissingfilesandrecreatethecontrolfile.
OracleDatabaseAdministrator'sGuide11gRelease2(11.2)
PartNumberE2549402
http://docs.oracle.com/cd/E11882_01/server.112/e25494/control.htm#ADMIN11293
ControlFileExpansion
ControlFileexpansioncanoccurinbothcircularandnoncircularsections.
Noncircularreuse(e.g.datafilerecords).
Iftherearenoemptyslotsforadatafile,andyouaddanewdatafiletothedatabase,inoracle8,thedatafilerecord
sectionwillexpandtoallowthenewfiletoberecordedinthecontrolfile.Noncircularreuserecordscannotbe
overwrittenuntiltheobjectitdescribesisremovedfromthedatabase.
Circularreuse(e.g.archivelogrecords)
Circularreuserecordscanbeoverwritten.Typically,theoldestrecordwillbeoverwrittenwheneverthereisaneedto
makeroomforanewentry,e.g.whenanewarchivelogisgeneratedandthereisnomorespaceinthearchivelog
sectionofthecontrolfile,theoldestarchivelogentrywillbeoverwrittenbythenewarchivelogentry.Whenthe
CONTROL_FILE_RECORD_KEEP_TIMEissetto0,thentheCircularreusesectionscannotexpandandareonlyreused.
Thesizeofthedatabasecontrolfilegrowthmaydependonthenumberof:
Backupsthatyouperform
Archivedredologsthatthedatabasegenerates
NumberofDaysthatthisinformationisstoredinthecontrolfile
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=15whalhnui_383&id=1493674.1 6/13
5/15/2015 Document1493674.1
andmanyotherfactorseachdependentoncorrespondingcontrolfilesection.
TheDatabasealertlogmaycontaintheentriessimilartothis.
TueApr1916:44:522011
Expandedcontrolfilesection11from28to109records
Requestedtogrowby81recordsadded3blocksofrecords
Theabovealertlogmessagecanbeseenwhenwethearchivelogsection(section11)incontrolfileexpands.This
sectioncouldexpandattimeswhenthereistooheavylogswitchinginthedatabase.
RMAN>CROSSCHECKarchivelogall;
RMAN>LISTEXPIREDarchivelogall;
RMAN>DELETEEXPIREDarchivelogall;
ControlfileEnqueue
Controlfileenqueueisacriticalresourcethatisobtainedbyaprocesswhichperformsacontrolfiletransaction.An
updatetothecontrolfileistermedascontrolfiletransaction.
FewsituationswhenCFEnqueueisacquiredare
RedologSwitch
RedologArchival
BEGIN/ENDBACKUP
Checkpoint
PerformingCrashRecovery
WhenanyprocessholdstheCFenqueueforlongtime,theotherprocesseswhichneedtoperformtheControlfile
transactionwillbewaitingtoacquiretheenqueue.Holdingtheenqueueforverylongtimecanleadtodatabasehang.
Hencethereisatimeoutsetforholdingthecontrolfileenqueue.Thetimeoutis900secs(15min).Iftheprocess
exceedsthistimeout,thentheholderprocessiskilledbykillingthesessionofholdingprocess.Thewaitingprocess
normallykillstheholdingprocesswhichexceedsthetimeout.Thentheerrorisloggedinthealertlog.
ORA00600:internalerrorcode,arguments:[2103](10.2.0.3andEarlier)
ORA00494:enqueue[CF]heldfortoolong(morethan900seconds)by'inst<instid>,ospid<ospid>'
(10.2.0.4andlater)
Whenthewaitingprocessisunabletokilltheholdingprocess,thenanORA239errorisraised.
CommoncausesforCFEnqueueTimeoutare
VeryslowI/OsubsystemwheretheControlfilesarestored.
Frequentlogswitchingredologstoosmallorinsufficientlogs
AsyncI/Oissueormultipledb_writers,youcan'tusebothofthem,backoutone.
OS/Hardwareissues
Note406191.1DiagnosingORA600[2103]IssuesinaNONRACenvironment
Note1272990.1ORA00240ReportedInAlert.LogAfterStartup
Note1068799.1DiskI/OContention/SlowCanLeadtoORA239andInstanceCrash(DocID1068799.1)
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=15whalhnui_383&id=1493674.1 7/13
5/15/2015 Document1493674.1
ControlfileDataDictionaryViews
Thefollowingviewsdisplayinformationaboutcontrolfiles
View Description
V$DATABASE Displaysdatabaseinformationfromthe
controlfile
V$CONTROLFILE Liststhenamesofcontrolfiles
V$CONTROLFILE_RECORD_SECTION Displaysinformationaboutcontrolfile
recordsections
V$PARAMETER Displaysthenamesofcontrolfilesas
specifiedintheCONTROL_FILES
initializationparameter
12cRelated:
In12cduetothemultitenantarchitecture,additionalcolumnCON_IDareaddedtotheaboveviews,whichcontains
anyofthebelowvalues.
0:ThisshowsdatarelatedtoentireCDBorrelatedtoentiredatabaseincaseofnonCDB.
1:Thisvalueisforrowswhichcontainsdatarelatedtoonlytheroot
n:WherenistheapplicablecontainerIDfortherowscontainingdata
ControlfilewaitEvents
Controlfileparallelwrite
Thiseventoccurswhilethesessioniswritingphysicalblockstoallcontrolfiles.Thishappenswhen:
Thesessionstartsacontrolfiletransaction(tomakesurethatthecontrolfilesareuptodateincasethe
sessioncrashesbeforecommittingthecontrolfiletransaction)
Thesessioncommitsatransactiontoacontrolfile
Changingagenericentryinthecontrolfile,thenewvalueisbeingwrittentoallcontrolfiles
WaitTime:Thewaittimeisthetimeittakestofinishallwritestoallcontrolfiles.
Parameter Description
files Thenumberofcontrolfilestowhich
thesessioniswriting
blocks Thenumberofblocksthatthesession
iswritingtothecontrolfile
requests ThenumberofI/Orequestswhichthe
sessionwantstowrite
Controlfilesequentialread
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=15whalhnui_383&id=1493674.1 8/13
5/15/2015 Document1493674.1
Readingfromthecontrolfile.Thishappensinmanycases.Forexample,while:
Makingabackupofthecontrolfiles
Sharinginformation(betweeninstances)fromthecontrolfile
Readingotherblocksfromthecontrolfiles
Readingtheheaderblock
WaitTime:Thewaittimeistheelapsedtimeoftheread.
Parameter Description
file# Thecontrolfilefromwhichthesession
isreading
block# Blocknumberinthecontrolfilefrom
wherethesessionstartstoread.The
blocksizeisthephysicalblocksizeof
theport(usually512bytes,someUNIX
portshave1or2Kilobytes).
blocks Thenumberofblocksthatthesession
istryingtoread
Controlfilesinglewrite
Thiswaitissignaledwhilethecontrolfile'ssharedinformationiswrittentodisk.Thisisanatomicoperationprotected
byanenqueue(CF),sothatonlyonesessionatatimecanwritetotheentiredatabase.
WaitTime:Thewaittimeistheelapsedtimeofthewrite.
Parameter Description
file# Thisidentifiesthecontrolfiletowhich
thesessioniscurrentlywriting
block# Blocknumberinthecontrolfilewhere
thewritebegins.Theblocksizeisthe
asthephysicalblocksizeoftheport
(usually512bytes,someUNIXports
have1or2Kilobytes).
blocks Thenumberofblocksthatthesession
istryingtowrite
OracleDatabaseReference11gRelease2(11.2)
PartNumberE2551302
http://docs.oracle.com/cd/E11882_01/server.112/e25513/waitevents003.htm#autoId19
ControlfileBackups
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=15whalhnui_383&id=1493674.1 9/13
5/15/2015 Document1493674.1
RMANCONTROLFILEAUTOBACKUP
Wecanbackupthecontrolfilewhenthedatabaseismountedoropen.RMANusesasnapshotcontrolfiletoensurea
readconsistentversion.IftheCONFIGURECONTROLFILEAUTOBACKUPcommandissettoON(bydefaultitisOFF),
thenRMANautomaticallybacksupthecontrolfileandserverparameterfileaftereverybackupandafterdatabase
structuralchanges.
RMAN>configurecontrolfileautobackupon;
Ifthedatabaseisstartedwithaspfile,aCONTROLFILEAUTOBACKUPwillalsoincludethespfile.WhenCONTROLFILE
AUTOBACKUPisnotenabledthecontrolfileandspfile(ifthedatabasewasstartedwithanspfile)areincluded
automaticallywhendatafile1isbackedup.
RMAN>backupdatafile1;
Inthecaseofabackupofotherdatafiles,likedatafile2,thecontrolfilewillnotbeincluded.Thecontrolfileand
spfilecanbeexplicitlyspecifiedintheBACKUPclause.
RMAN>backupdatafile2currentcontrolfilespfile;
Tomakeamanualbackup,youcaneitherspecifyINCLUDECURRENTCONTROLFILEwhenbackingupotherfilesor
specifyBACKUPCURRENTCONTROLFILE.
RMAN>BACKUPDEVICETYPEsbtTABLESPACEusersINCLUDECURRENTCONTROLFILE;
RMAN>BACKUPASCOPYCURRENTCONTROLFILEFORMAT'/tmp/control01.ctl';
OracleDatabaseBackupandRecoveryUser'sGuide11gRelease2(11.2)
PartNumberE1064205
http://docs.oracle.com/cd/E11882_01/backup.112/e10642/rcmbckba.htm#i1009642
Note272408.1RMANBACKUPAUTOMATICALLYINCLUDESCONTROLFILEANDSPFILE
BACKUPCONTROLFILEClause
WecanusetheBACKUPCONTROLFILEclausetobackupthecurrentcontrolfile.Thedatabasemustbeopenor
mountedwhenyouspecifythisclause.
TO'filename'Usethisclausetospecifyabinarybackupofthecontrolfile.Youmustfullyspecifythefilenameusing
theconventionsforyouroperatingsystem.Ifthespecifiedfilealreadyexists,thenyoumustspecifyREUSE.Inan
OracleRACenvironment,filenamemustbeonsharedstorage.
AbinarybackupcontainsinformationthatisnotcapturedifyouspecifyTOTRACE,suchasthearchivedloghistory,
offlinerangeforreadonlyandofflinetablespaces,andbackupsetsandcopies(ifyouuseRMAN).IftheCOMPATIBLE
initializationparameteris10.2orhigher,binarycontrolfilebackupsincludetempfileentries.
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=15whalhnui_383&id=1493674.1 10/13
5/15/2015 Document1493674.1
ALTERDATABASEBACKUPCONTROLFILETO'/oracle/backup/control.bkp';
TOTRACESpecifyTOTRACEifyouwantOracleDatabasetowriteSQLstatementstoatrace(text)fileratherthan
makingaphysicalbackupofthecontrolfile.Thetracefilesarestoredinasubdirectorydeterminedbythe
DIAGNOSTIC_DESTinitializationparameter.YoucanfindthenameandlocationofthetracefiletowhichtheCREATE
CONTROLFILEstatementswerewrittenbylookinginthealertlog.
YoucanuseSQLstatementswrittentothetracefiletostartupthedatabase,recreatethecontrolfile,andrecover
andopenthedatabaseappropriately,basedonthecreatedcontrolfile.IfyouissueanALTERDATABASEBACKUP
CONTROLFILETOTRACEstatementwhileblockchangetrackingisenabled,thentheresultingscriptwillcontaina
commandtoreenableblockchangetracking.
ALTERDATABASEBACKUPCONTROLFILETOTRACE;
OracleDatabaseSQLLanguageReference11gRelease2(11.2)
PartNumberE2608802
http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_1004.htm#i2078526
GuidelinesforControlfiles
ProvideFilenamesfortheControlFiles
YouspecifycontrolfilenamesusingtheCONTROL_FILESinitializationparameterinthedatabaseinitialization
parameterfile(see"CreatingInitialControlFiles").Theinstancerecognizesandopensallthelistedfilesduring
startup,andtheinstancewritestoandmaintainsalllistedcontrolfilesduringdatabaseoperation.
IncaseyoudonotspecifyfilesforCONTROL_FILESbeforedatabasecreation:
IfyouarenotusingOracleManagedFiles,thenthedatabasecreatesacontrolfileandusesadefaultfilename.
Thedefaultnameisoperatingsystemspecific.
IfyouareusingOracleManagedFiles,thentheinitializationparametersyousettoenablethatfeature
determinethenameandlocationofthecontrolfiles.
IfyouareusingOracleAutomaticStorageManagement(OracleASM),youcanplaceincompleteOracleASM
filenamesintheDB_CREATE_FILE_DESTandDB_RECOVERY_FILE_DESTinitializationparameters.OracleASM
thenautomaticallycreatescontrolfilesintheappropriateplaces.
MultiplexControlFilesonDifferentDisks
EveryOracleDatabaseshouldhaveatleasttwocontrolfiles,eachstoredonadifferentphysicaldisk.Ifacontrolfileis
damagedduetoadiskfailure,theassociatedinstancemustbeshutdown.Oncethediskdriveisrepaired,the
damagedcontrolfilecanberestoredusingtheintactcopyofthecontrolfilefromtheotherdiskandtheinstancecan
berestarted.Inthiscase,nomediarecoveryisrequired.
Thebehaviorofmultiplexedcontrolfilesisthis:
ThedatabasewritestoallfilenameslistedfortheinitializationparameterCONTROL_FILESinthedatabase
initializationparameterfile.
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=15whalhnui_383&id=1493674.1 11/13
5/15/2015 Document1493674.1
ThedatabasereadsonlythefirstfilelistedintheCONTROL_FILESparameterduringdatabaseoperation.
Ifanyofthecontrolfilesbecomeunavailableduringdatabaseoperation,theinstancebecomesinoperableand
shouldbeaborted.
Onewaytomultiplexcontrolfilesistostoreacontrolfilecopyoneverydiskdrivethatstoresmembersofredolog
groups,iftheredologismultiplexed.Bystoringcontrolfilesintheselocations,youminimizetheriskthatallcontrol
filesandallgroupsoftheredologwillbelostinasinglediskfailure.
BackUpControlFiles
Itisveryimportantthatyoubackupyourcontrolfiles.Thisistrueinitially,andeverytimeyouchangethephysical
structureofyourdatabase.Suchstructuralchangesinclude:
Adding,dropping,orrenamingdatafiles
Addingordroppingatablespace,oralteringtheread/writestateofthetablespace
Addingordroppingredologfilesorgroups
OracleDatabaseAdministrator'sGuide11gRelease2(11.2)
PartNumberE2549402
http://docs.oracle.com/cd/E11882_01/server.112/e25494/control.htm#i1106212
DroppingControlfiles
Youwanttodropcontrolfilesfromthedatabase,forexample,ifthelocationofacontrolfileisnolongerappropriate.
Rememberthatthedatabaseshouldhaveatleasttwocontrolfilesatalltimes.
Shutdownthedatabase.
EdittheCONTROL_FILESparameterinthedatabaseinitializationparameterfiletodeletetheoldcontrolfile
name.
Restartthedatabase.
Note:
Thisoperationdoesnotphysicallydeletetheunwantedcontrolfilefromthedisk.Useoperatingsystemcommandsto
deletetheunnecessaryfileafteryouhavedroppedthecontrolfilefromthedatabase.
AdditionalResources
Note735106.1HowtoRecreateaControlfile
Note881082.1UnabletoRestoreControlfileFromRMANAutobackup
Note580414.1RMANHowtorestorethecontrolfileusingRMAN
Note345180.1HowtoduplicateacontrolfilewhenASMisinvolved
Note329981.110gR2NewFeature:EliminateControlFileReCreation
Note305565.1PersistentControlfileconfigurationsforRMANin9iand10g
Note1056057.1HOWTOMONITORCONTROLFILESECTIONEXPANSIONOVERTIME
Note1086496.1HOWDOCIRCULARCONTROLFILESECTIONSEXPAND?(LOGHISTORY/ARCHIVEDLOGETC)
Note470463.1HowToCatalogBackups/Archivelogs/DatafileCopies/ControlfileCopies
Note403883.1HowToRestoreControlfileFromABackupsetWithoutACatalogOrAutobackup
Note406191.1DiagnosingORA600[2103]IssuesinaNONRACenvironment
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=15whalhnui_383&id=1493674.1 12/13
5/15/2015 Document1493674.1
KnownIssuesandResolutions
Note429943.1SummaryOfBugsOnORA00600[2103]Error
Note1084048.6ORA01503,ORA01161:onCreateControlfile
Note881082.1UnabletoRestoreControlfileFromRMANAutobackup
Note1072417.1PerformanceDegradationasaResultof'enq:CFcontention'
Note1058851.6EXCESSIVEI/OCONTROLFILEPERFORMANCEPROBLEMS
Note265599.1ORA600[2130]REPORTEDWithRMANRESTORECONTROLFILEVALIDATE
Note849071.110.2.0.3InstanceCrashWithORA600[2103]Error
Note28045.1ORA600[2103]"Timeouton'Controlfile'or'CheckpointProgress'Enqueue"
Note1308378.1AfterUpgradeTo11.2.0.2WeRecieveOra00245DuringAutobackupOfTheControlfile
Note10317487.8Bug10317487RMANcontrolfilebackupfailswithODMerrorORA17500orORA245
Note9145541.8Bug9145541OERI[25027]/OERI[4097]/OERI[4000]/ORA1555inpluggeddatafileafterCREATE
CONTROLFILEin11g
Note342696.1Rman20033:ControlFileSequence#TooLowRman20033
Note1265103.1RMANDUPLICATEfailswithORA600[KGEADE_IS_0]whilecreatingcontrolfile
Didn'tfindwhatyouarelookingfor?
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=15whalhnui_383&id=1493674.1 13/13