ORACLE 控制檔案(Control Files)概述

Davis_itpub發表於2018-06-27
<h2 style="background-color:#FFFFFF;color:#222222;font-family:Tahoma, sans-serif;font-size:19.7600002288818px;"> Control Files概述 </h2> <p style="color:#222222;font-family:Tahoma, sans-serif;font-size:small;background-color:#FFFFFF;"> &nbsp; &nbsp; The database&nbsp;control file&nbsp;is a small binary file associated with only one database. Each database has one unique control file, although it may maintain identical copies of it. </p> <p style="color:#222222;font-family:Tahoma, sans-serif;font-size:small;background-color:#FFFFFF;"> &nbsp; &nbsp; 資料庫控制檔案是一個比較小的,並且只與一個資料庫關聯二進位制檔案。每個資料庫都有一個唯一的控制檔案,即使它擁有多個相同的副本。 </p> <div> <h3 style="background-color:#FFFFFF;font-size:18.0699996948242px;font-family:Tahoma, sans-serif;color:#222222;"> Use of Control Files </h3> <p style="font-size:small;font-family:Tahoma, sans-serif;color:#222222;background-color:#FFFFFF;"> &nbsp; &nbsp; The control file is the root file that Oracle Database uses to find database files and to manage the state of the database generally.&nbsp;A control file contains information such as the following: </p> <ul style="margin-top:0px;margin-bottom:0px;"> <li style="background-color:#FFFFFF;font-size:small;font-family:Tahoma, sans-serif;color:#222222;"> <p style="background-color:inherit;"> The database name and database unique identifier (DBID) </p> </li> <li style="background-color:#FFFFFF;font-size:small;font-family:Tahoma, sans-serif;color:#222222;"> <p style="background-color:inherit;"> The time stamp of database creation </p> </li> <li style="background-color:#FFFFFF;font-size:small;font-family:Tahoma, sans-serif;color:#222222;"> <p style="background-color:inherit;"> Information about data files, online redo log files, and&nbsp;archived redo log files </p> </li> </ul> </div> <div style="background-color:#FFFFFF;color:#222222;font-family:Tahoma, sans-serif;font-size:small;"> <ul style="margin-top:0px;margin-bottom:0px;background-color:inherit;"> <li style="background-color:inherit;"> Tablespace information </li> <li style="background-color:inherit;"> RMAN backups <p style="background-color:inherit;"> <br /> </p> </li> </ul> <p style="line-height:1.5;"> &nbsp; &nbsp; 一般來說,控制檔案是oracle資料庫用來查詢資料庫檔案、管理資料庫狀態的根檔案。一個控制檔案包含一下資訊: </p> <p style="line-height:1.5;"> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; </p> <div style="color:#000000;font-family:微軟雅黑;font-size:14px;"> <ul style="margin-top:0px;margin-bottom:0px;background-color:inherit;"> <li style="color:#222222;font-family:Tahoma, sans-serif;font-size:small;"> <p style="background-color:inherit;"> 資料庫名和資料庫唯一識別符號(DBID) </p> </li> <li style="color:#222222;font-family:Tahoma, sans-serif;font-size:small;"> <p style="background-color:inherit;"> 建立資料庫的時間戳 </p> </li> <li style="color:#222222;font-family:Tahoma, sans-serif;font-size:small;"> <p style="background-color:inherit;"> 包含資料檔案、聯機日誌檔案和歸檔重做日誌檔案的資訊 </p> </li> </ul> </div> <div> <ul style="margin-top:0px;margin-bottom:0px;background-color:inherit;"> <li style="background-color:inherit;"> 表空間資訊 </li> <li style="background-color:inherit;"> RMAN備份 </li> </ul> </div> </div> <div style="background-color:#FFFFFF;color:#222222;font-family:Tahoma, sans-serif;font-size:small;"> <p style="line-height:1.5;"> <br /> </p> </div> <div style="background-color:#FFFFFF;color:#222222;font-family:Tahoma, sans-serif;font-size:small;"> <p style="background-color:inherit;"> The control file serves the following purposes: </p> <ul style="margin-top:0px;margin-bottom:0px;background-color:inherit;"> <li style="background-color:inherit;"> <p style="background-color:inherit;"> It contains information about data files, online redo log files, and so on that are required to open the database. </p> <p style="background-color:inherit;"> The control file tracks structural changes to the database. For example, when an administrator adds, renames, or drops a data file or online redo log file, the database updates the control file to reflect this change. </p> </li> <li style="background-color:inherit;"> <p style="background-color:inherit;"> It contains metadata that must be accessible when the database is not open. </p> <p style="background-color:inherit;"> For example, the control file contains information required to recover the database, including checkpoints.&nbsp;A&nbsp;<a href="file://C:/Users/ZhuRui/AppData/Local/Youdao/YNote/editor/web/glossary.htm#CHDDBJEH" style="background-color:inherit;cursor:pointer;color:#72007C;">checkpoint</a>&nbsp;indicates the&nbsp;<a href="file://C:/Users/ZhuRui/AppData/Local/Youdao/YNote/editor/web/glossary.htm#CHDBFAEG" style="background-color:inherit;cursor:pointer;color:#72007C;">SCN</a>&nbsp;in the redo stream where&nbsp;<a href="file://C:/Users/ZhuRui/AppData/Local/Youdao/YNote/editor/web/glossary.htm#CHDIAJFJ" style="background-color:inherit;cursor:pointer;color:#72007C;">instance recovery</a>&nbsp;would be required to begin (see&nbsp;<a href="file://C:/Users/ZhuRui/AppData/Local/Youdao/YNote/editor/web/startup.htm#CEGCHJGF" style="background-color:inherit;cursor:pointer;color:#72007C;">"Overview of Instance Recovery"</a>). Every committed change before a checkpoint SCN is guaranteed to be saved on disk in the data files. At least every three seconds the checkpoint process records information in the control file about the checkpoint position in the online redo log. </p> </li> </ul> <p style="background-color:inherit;"> Oracle Database reads and writes to the control file continuously during database use and must be available for writing whenever the database is open. For example, recovering a database involves reading from the control file the names of all the data files contained in the database. Other operations, such as adding a data file, update the information stored in the control file. </p> <div style="background-color:inherit;"> <p style="font-weight:bold;background-color:inherit;"> <br /> </p> </div> </div> <div style="background-color:#FFFFFF;color:#222222;font-family:Tahoma, sans-serif;font-size:small;"> <h3 style="background-color:inherit;font-size:18.0699996948242px;"> Multiple Control Files </h3> <p style="background-color:inherit;"> Oracle Database enables multiple, identical control files to be open concurrently and written for the same database. By multiplexing a control file on different disks, the database can achieve redundancy and thereby avoid a single point of failure. </p> <div style="background-color:inherit;"> <p style="font-weight:bold;background-color:inherit;"> Note: </p> Oracle recommends that you maintain multiple control file copies, each on a different disk. </div> <p style="background-color:inherit;"> If a control file becomes unusable, then the database instance fails when it attempts to access the damaged control file. When other current control file copies exist, the database can be remounted and opened without&nbsp;<a href="file://C:/Users/ZhuRui/AppData/Local/Youdao/YNote/editor/web/glossary.htm#CHDHGHAE" style="background-color:inherit;cursor:pointer;color:#72007C;">media recovery</a>. If&nbsp;all&nbsp;control files of a database are lost, however, then the instance fails and media recovery is required. Media recovery is not straightforward if an older backup of a control file must be used because a current copy is not available. </p> <div style="background-color:inherit;"> <p style="font-weight:bold;background-color:inherit;"> <br /> </p> </div> </div> <div style="background-color:#FFFFFF;font-family:Tahoma, sans-serif;font-size:small;"> <h3 style="background-color:inherit;color:#222222;font-size:18.0699996948242px;"> Control File Structure </h3> <p style="color:#222222;background-color:inherit;"> Information about the database is stored in different&nbsp;sections&nbsp;of the control file. Each section is a set of&nbsp;records&nbsp;about an aspect of the database. For example, one section in the control file tracks data files and contains a set of records, one for each data file. Each section is stored in multiple logical&nbsp;control file blocks. Records can span blocks within a section. </p> <p style="color:#222222;background-color:inherit;"> The control file contains the following types of records: </p> <ul style="margin-top:0px;margin-bottom:0px;background-color:inherit;color:#222222;"> <li style="background-color:inherit;"> <p style="background-color:inherit;"> Circular reuse records </p> <p style="background-color:inherit;"> These records contain noncritical information that is eligible to be overwritten if needed. When all available record slots are full, the database either expands the control file to make room for a new record or overwrites the oldest record. Examples include records about&nbsp;archived redo log files and RMAN backups. </p> </li> <li style="background-color:inherit;"> <p style="background-color:inherit;"> Noncircular reuse records </p> <p style="background-color:inherit;"> These records contain critical information that does not change often and cannot be overwritten. Examples of information include tablespaces, data files, online redo log files, and redo threads. Oracle Database never reuses these records unless the corresponding object is dropped from the tablespace. </p> </li> </ul> <p style="background-color:inherit;"> <span style="background-color:inherit;color:#222222;">As explained in&nbsp;</span><a href="file://C:/Users/ZhuRui/AppData/Local/Youdao/YNote/editor/web/datadict.htm#i4370" style="background-color:inherit;cursor:pointer;"><span style="background-color:inherit;color:#000000;">"Overview of the Dynamic Performance Views"</span></a><span style="background-color:inherit;color:#222222;">, you can query the dynamic performance views, also known as&nbsp;</span><code style="color:#222222;font-size:12px;background-color:inherit;">V$</code><span style="background-color:inherit;color:#222222;">&nbsp;views, to view the information stored in the control file. For example, you can query&nbsp;</span><code style="color:#222222;font-size:12px;background-color:inherit;">V$DATABASE</code><span style="background-color:inherit;color:#222222;">&nbsp;to obtain the database name and DBID. However, only the database can modify the information in the control file.</span> </p> <p style="background-color:inherit;"> <span style="background-color:inherit;color:#222222;">Reading and writing the control file blocks is different from reading and writing</span><b style="background-color:inherit;">&nbsp;</b><a href="file://C:/Users/ZhuRui/AppData/Local/Youdao/YNote/editor/web/glossary.htm#CHDBACIH" style="background-color:inherit;cursor:pointer;"><span style="background-color:inherit;color:#000000;">data blocks</span></a><span style="background-color:inherit;color:#222222;">. For the control file, Oracle Database reads and writes directly from the disk to the&nbsp;</span><a href="file://C:/Users/ZhuRui/AppData/Local/Youdao/YNote/editor/web/glossary.htm#CHDCHGAJ" style="background-color:inherit;cursor:pointer;"><span style="background-color:inherit;color:#000000;">program global area (PGA)</span></a><span style="background-color:inherit;color:#222222;">. Each process allocates a certain amount of its PGA memory for control file blocks.</span> </p> <p style="color:#222222;background-color:inherit;"> <br /> </p> <p style="color:#222222;background-color:inherit;"> &nbsp; &nbsp; 還可以透過以下兩個檢視檢視控制檔案的內容: </p> <div style="background-color:inherit;color:#222222;"> <ul style="margin-top:0px;margin-bottom:0px;line-height:19px;white-space:normal;widows:auto;"> <li style="background-color:inherit;"> <p style="background-color:inherit;"> &nbsp;<code style="font-size:12px;background-color:inherit;">V$CONTROLFILE_RECORD_SECTION</code>&nbsp;view </p> </li> <li style="background-color:inherit;"> <span style="line-height:1.5;">&nbsp;</span><code style="font-size:12px;">CONTROL_FILE_RECORD_KEEP_TIME</code><span style="line-height:1.5;">&nbsp;initialization parameter</span> <p style="background-color:inherit;"> <br /> </p> </li> </ul> <p style="line-height:1.5;white-space:normal;widows:auto;"> &nbsp; &nbsp; &nbsp;另外,還有其他方法檢視控制檔案的內容,詳見部落格:<a href="http://blog.itpub.net/30208428/viewspace-1811811/" style="cursor:pointer;line-height:1.5;">http://blog.itpub.net/30208428/viewspace-1811811/</a> </p> <div> <br /> </div> </div> </div>

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31520497/viewspace-2156753/,如需轉載,請註明出處,否則將追究法律責任。

相關文章