作用:
二進位制檔案
記錄了資料庫當前例項的結構和行為,資料檔案日誌檔案的資訊,維護資料庫一致性
引數檔案中定義了控制檔案的位置和大小
很小的二進位制檔案,一般不超過100m
mount階段open以後,一直在用
一套控制檔案只能連線乙個database
分散放置,至少乙份,至多八份
相關檢視:
v$controlfile ---- 列出例項的所有控制檔案的名字和狀態
v$parameter ---- 列出所有引數的位置和狀態(where name='control_files')
v$controlfile_recode_section ---- 提供控制檔案的記錄部分的資訊
show parameter control_files ---- 列出控制檔案的名字、狀態和位置
檢視控制檔案內容:
strings $oracle_base/oradata/$oracle_sid/control01.ctl
alter database backup controlfile to trace as ''
轉儲控制檔案:
alter system set events 'immediate trace name controlf level 10'
level 1 塊頭
level 2 檔案內容
level 3 1+2
level 10 全部
管理控制檔案:
spfile 修改spfile引數control_files(alter……)
一致性關閉資料庫
增加或減少控制檔案
啟動資料庫使用spfile
驗證結果
pfile 一致性關閉資料庫
修改pfile引數
增加或減少控制檔案
啟動資料庫使用spfile
驗證結果
狀態查詢:引數和具體檔案是否對應、磁碟空間剩餘、控制檔案<100m
熱備控制檔案:
資料庫歸檔模式下,alter database backup controlfile to ''
其他模式下:alter database backup controlfile to trace as ''得到建立控制檔案指令碼
資料庫歸檔模式下rman備份:
rman target /
>backup current controlfile; or
>backup database include current controlfile;
rman自動備份控制檔案:
>show all中的configure controlfile autobackup設定為on
>configure controlfile autobackup on
問題解決:
控制檔案不一致:
1. 拷貝新版本的控制檔案到舊版本檔案
2. 修改引數檔案,只使用新版本的檔案(alter system set……),重啟
控制檔案丟失:
【mount階段,使用archive log list可以檢視資料庫是否在歸檔模式下】
1. 控制檔案無備份
a.資料庫非歸檔,資料檔案聯機日誌檔案存在 --- 重建控制檔案
>create controlfile reuse database noarchivelog noresetlogs datafile <'datafiles'> logfile
2. 控制檔案有備份
a.資料庫歸檔,資料檔案聯機和歸檔日誌檔案存在 --- 還原控制檔案
先全備,再將控制檔案拷貝到引數指定的路徑,然後》alter database recover database using backup controlfile until change;
Oracle 11g備份檔案匯入10g
將 dmp檔案匯入到10g的時候 碰到了好多問題 剛開始不知道是從11g裡匯出的 然後匯入到10g裡會出現以下錯誤 imp 00010 不是有效的匯出檔案,頭部驗證失敗imp 00000 未成功終止匯入 用工具開啟dmp檔案,第一行有版本的 cexport v11.01.00 然後我把它改為 cex...
Oracle 11g資料匯入到10g
原文 一 在11g伺服器上,使用expdp命令備份資料 11g 匯出語句 expdp userid facial facial orcl as sysdba schemas facial directory data pump dir dumpfile test dmp logfile test l...
ORACLE之字符集修改(10g)
當從oracle伺服器將資料匯出成dmp檔案後,再匯入到本地的oracle資料庫時,出現 imp 00019 由於 oracle 錯誤 12899 而拒絕行 imp 00003 遇到 oracle 錯誤 12899 ora 12899 列 jackeyj jk register opname 的值太...