日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Oracle 中control_file_record_keep_time参数的解释

發布時間:2024/8/26 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle 中control_file_record_keep_time参数的解释 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Oracle基于RMAN的備份方式,可分為以catalog 和nocatalog的兩種方式進行備份管理。其中,catalog的方式需要一個catalog目錄數據庫,這個數據庫一般運行在另外一臺服務器上,這種方式可以用于用戶有多個Oracle數據庫的環境,同時對數據庫的備份恢復信息也可以長久的保存,也就是RMAN把對數據庫A的備份恢復記錄保留在catalog目錄數據庫中。

而基于nocatalog的備份管理方式,是將RMAN的備份信息放在控制文件中,由于控制文件的大小不能無限增大,所以在控制文件中只能保留一段時間的備份與恢復信息,而這個時間的控制,由一個參數為參考依據,這個參數就是control_file_record_keep_time,通過在sqlplus中show parameter control_file_record_keep_time 可以查到這個參數的值,默認為7天。

SQL> show parameter control_file_record_keep_time

NAME???????????????????? TYPE???? VALUE

------------------------------------ ----------- --------------------------

control_file_record_keep_time???????? integer???? 7

metalink中對此參數的解釋為:

CONTROL_FILE_RECORD_KEEP_TIME specifies the minimum number of days

before a reusable record in the control file can be reused. In the event a new record needs to be added to a reusable section and the oldest record has not aged enough, the record section expands. If this parameter is set to 0, then reusable sections never expand, and records are reused as needed

Note:

This parameter applies only to records in the control file that are circularly reusable (such as archive log records and various backup records). It does not apply to records such as datafile, tablespace, and redo thread records, which are never reused unless the corresponding object is dropped from the tablespace.

這段話的意思是說:control_file_record_keep_time表示控制文件里可重復使用的記錄所能保存的最小天數。如果新增加一條記錄 到控制文件可以重復使用的部分,這時最老的記錄尚沒有超出最小保留天數,那么記錄將控制文件的這一部分將擴展。如果將該參數設置為0,那么控制文件可以重 復使用的部分將永遠不會擴展。

注意,這個參數只應用于控制文件中可循環利用的部分,如歸檔日志文件,各種備份記錄。不應用于諸如數據文件,表空間,重做線程等,這些內容只有當其從對應的表空間中刪除后才能重用。

可重用的部分包括如下幾種類型(可以通過查詢視圖$contofile_record_section得到):

ARCHIVED LOG

BACKUP CORRUPTION

BACKUP DATAFILE

BACKUP PIECE

BACKUP REDO LOG

BACKUP SET

COPY CORRUPTION

DATAFILE COPY

DELETED OBJECT

LOGHISTORY

OFFLINERANGE

而MAXLOGHISTORY參數,其意義在于限制控制文件里和通過v$log_history視圖的歸檔日志文件數目。歸檔日志最多維持在MAXLOGHISTORY所設置的數目。如果超過這個數目,將從頭覆蓋以前的歸檔日志文件項。

最終,當歸檔日志數目超過MAXLOGHISTORY所設定的值時,v$log_history中的所有項都將被覆蓋。

當創建控制文件時,MAXLOGHISTORY的決定為歸檔日志信息分配多大的空間。MAXLOGHISTORY并不動態增加。當日志歸檔時,該歸檔文件的信息將被更新到控制文件。只有在如下情況下,才覆蓋原來的項:

控制文件中該區域所有項都被使用并且有一項超出了control_file_record_keep_time設定的時間

當使用RMAN目錄時,control_file_record_keep_time保存的時間不能比同步目錄的時間間隔短。換句話說,如果每天備份一次,那么controlfile_record_keep_time不能少于1。

如果不使用RMAN目錄,應該設置control_file_record_keep_time為你需要往后恢復的最大天數。

在Oracle 7中,將新歸檔日志記錄記錄到v$log_histroy中。當達到MAXLOGHISTORY的極限時,插入新記錄,同時覆蓋最老的記錄。在8.0版本 后,v$log_history視圖被v$archived_log取代了,并且maxloghistory不限制能夠插入到v$archived_log中的記錄數。

有人問:為什么我在創建控制文件時指定的MAXLOGHISTORY沒有起作用?

例如,創建控制文件時,設定MAXLOGHISTORY參數為100,控制文件的

Log History區域將創建227個記錄。這是一個可預料到的結果。

創建控制文件時,每個部分分配規定的大小和空間。每個部分的空間分配不是依據記錄數,而是根據Oracle的塊。控制文件中,每個部分的單條記錄大小是固 定的,都是36字節。因此,100個記錄(MAXLOGHISTORY)需要3600個字節。依據Oracle的塊大小————控制文件中設置的db_lock_size,控制文件塊大小也是DB_BLOCK_SIZE參數。特定數目的塊將為Log History部分分配。例如,如果DB_BLOCK_SIZE為8192,那么一個塊就足夠了。在這個塊中,我們有8192/36,大約227個記錄。 如果DB_BLOCK_SIZE 為2048,那么將分配2個快,但是只創建113個記錄。

MAXLOGHISTORY的最大值可以設置為65535。不得超過這個數。

總結

以上是生活随笔為你收集整理的Oracle 中control_file_record_keep_time参数的解释的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。