oracle体系三大文件,oracle 体系_第三章控制文件
第三章 控制文件
1.功能特點
記錄數據庫當前的物理狀態
維護數據庫的一致性,是一個二進制的小文件
在mount階段被讀取,記錄rman備份的元數據
查看database控制文件的位置
Show parameter control_file
Select name from v$controlfile
2實時更新機制
當增加,重命名刪除一個數據文件或者一個聯機日志文件時,oracle服務器進程會立即更新控制文件以反映數據結構的變化。
日志寫進程lgwr負責把當前日志序列號記錄到控制文件中。
檢查點進程ckpt負責把校驗點的信息記錄到控制文件中
歸檔進程arcn負責把回檔日志的信息記錄到控制文件中
通過視圖v$controlfile_record_section 可以了解到控制文件中記錄了大量的數據庫當前狀態信息
3多元化
配置多個control_files 控制文件最好事3個(最多是八個),多路復用指的是相互鏡像。
一般配置方法
修改spfile中的control_files 參數,修改之前最好將spfile 先備份一份
復制控制文件,oracle建議將多個控制文件分配在不同的物理磁盤上。
三個控制文件要一致(同一版本scn相同),本來就是鏡像關系
可以將控制文件dump出來,在跟蹤文件中觀察一下控制文件的內容
Alter session set events’immediate trace name controlf level 12’;
Select * from v$diag_info
4備份與重建
指對控制文件的實時備份,用于恢復數據文件
注意,數據庫打開時是不能cp控制文件的
Alter database backup controlfile to ‘/u01/oradata/prod/con.bak’;
重建控制文件
可以在數據庫啟動的mount 或open階段生成一個trace文件,方便重建控制文件
文件內容存在default trace file中
alter database backup ?controlfile to trace
可以指定trace文件的路徑
Alter database backup controlfile to trace as ‘/u01/oradata/prod/con.trace’
5恢復與重建控制文件
控制文件一旦損壞,系統將不能正常工作,受損的控制文件會記錄在告警日志中,恢復或重建控制文件必須在nomount的情況下進行。
如果單個控制文件損壞,可以通過簡單的復制解決
如果所有的控制文件丟失,可以通過二進制控制文件備份,和tracke腳本重建創建控制文件,trace 重建會丟失歸檔的記錄信息,和rman信息
利用trace 重建控制文件
第一步在數據局庫mount 或open下生成 trace腳本
第二步啟動到nomount狀態下
第三步 執行trace 腳本
腳本中的可見信息有 DB_NAME,指定幾個參數限定控制文件的最大值,在線日志的物理信息,數據文件的物理信息,使用的字符集。重建復制了當前所有數據文件頭部的最新scn信息復制到了控制文件中,以使接下來打開數據庫。
Select file#,checkpoint_change#fromo v$datafile ;
Select file#,checkpoint_change#from v$datafile_header
第四步 打開數據庫
Alter database open ;
第五步? 添加臨時數據文件信息,(trace腳本中的最后一行)
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/oradata/prod/temp01.dbf'
SIZE 30408704? REUSE AUTOEXTEND ON NEXT 655360? MAXSIZE 32767M;
ALTER TABLESPACE TEMP2 ADD TEMPFILE '/u01/oradata/prod/temp02.dbf'
SIZE 10485760? REUSE AUTOEXTEND OFF;
標簽:文件,第三章,trace,控制,數據庫,oracle,日志,重建
來源: https://blog.51cto.com/lusiyuan/2485117
總結
以上是生活随笔為你收集整理的oracle体系三大文件,oracle 体系_第三章控制文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果6p换电池后遗症
- 下一篇: 微软创始人比尔・盖茨曾沉迷扫雷游戏,最终