新聞中心
數(shù)據(jù)庫force logging的作用與實現(xiàn)方法

創(chuàng)新互聯(lián)公司主要從事成都做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務莒縣,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18980820575
隨著互聯(lián)網(wǎng)和大數(shù)據(jù)時代的到來,數(shù)據(jù)管理變得越來越重要。在企業(yè)和組織中,數(shù)據(jù)庫是存儲數(shù)據(jù)的重要設(shè)施。為了保護數(shù)據(jù)的完整性和可靠性,數(shù)據(jù)庫需要進行日志記錄。日志記錄是指將所有的數(shù)據(jù)庫操作記錄下來,以便恢復在發(fā)生故障時丟失的數(shù)據(jù)。在日志記錄過程中,數(shù)據(jù)庫的Force Logging功能是一項重要的功能。
Force Logging是oracle數(shù)據(jù)庫中用于強制所有的操作都寫入歸檔日志文件的功能。Force Logging可以強制保證每個事務操作都寫入數(shù)據(jù)庫日志,以便在系統(tǒng)崩潰或者修復數(shù)據(jù)時,可以使用歸檔日志進行數(shù)據(jù)恢復等操作。以下是具體的作用和實現(xiàn)方法。
1.作用
1.1保證數(shù)據(jù)恢復的可靠性
在數(shù)據(jù)庫中,重要的數(shù)據(jù)修改如增加、刪除和更新操作都是在事務的基礎(chǔ)上進行。這些事務操作需要寫入歸檔日志文件。在數(shù)據(jù)庫崩潰或者人為誤操作時,可以使用歸檔日志進行數(shù)據(jù)恢復。如果不啟用Force Logging,則會出現(xiàn)部分事務操作沒有寫入歸檔日志的情況,這將會導致數(shù)據(jù)庫恢復失敗。
1.2保證日志數(shù)據(jù)完整
在數(shù)據(jù)操作過程中,由于各種原因,比如系統(tǒng)故障或存儲設(shè)備故障,一些日志數(shù)據(jù)可能會丟失或損壞。日志數(shù)據(jù)的不完整性會導致數(shù)據(jù)庫恢復失敗,而Force Logging可以保證日志數(shù)據(jù)的完整性,從而避免數(shù)據(jù)恢復失敗的情況。
1.3提高數(shù)據(jù)庫的性能
由于Force Logging功能可以一次性寫入所有事務日志,提高了讀寫效率。而不啟用Force Logging,則需要在每次提交事務時寫入日志文件,這對于數(shù)據(jù)庫的執(zhí)行效率將會有很大的影響,尤其是在高并發(fā)狀態(tài)下,效率下降更為明顯。
2.實現(xiàn)方法
2.1啟用Force Logging
在Oracle中,可以通過如下命令啟用Force Logging:
Alter Database Force Logging;
當啟用了Force Logging后所有的事務都會寫入歸檔日志文件。這樣會帶來一些開銷,但可以保證數(shù)據(jù)的完整性。需要注意的是,在啟用Force Logging之前,必須先對數(shù)據(jù)庫進行備份,這樣可以對數(shù)據(jù)做好保護措施,避免在數(shù)據(jù)庫恢復過程中的數(shù)據(jù)丟失。
2.2歸檔日志文件的管理
在啟用Force Logging之后,所有的事務操作都會寫入歸檔日志文件,這將會對系統(tǒng)的存儲和管理帶來一定的壓力。需要進行歸檔日志文件的管理,避免文件過多或文件過大,導致存儲空間的占用過大。
為了避免這種情況發(fā)生,可以在歸檔日志文件的每個周期結(jié)束后,將過期的歸檔日志文件刪除或者備份到存儲設(shè)備中。這樣可以釋放存儲空間,同時還可以保留歷史歸檔日志文件,避免在數(shù)據(jù)恢復時數(shù)據(jù)損失。
在數(shù)據(jù)庫操作中,F(xiàn)orce Logging功能是非常重要的。它可以避免數(shù)據(jù)庫在崩潰或者人為誤操作時發(fā)生數(shù)據(jù)丟失或損壞的情況。雖然啟用Force Logging功能會增加系統(tǒng)開銷,但它可以保證數(shù)據(jù)的完整性和系統(tǒng)的穩(wěn)定性。因此,對于重要的系統(tǒng),建議啟用該功能并對歸檔日志文件進行有效的管理。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務!
有沒有朋友做過oracle主從配置,更好有詳細文檔
1、oracle雙機熱備叫做DataGuard簡稱DG,簡單來說就一些步驟,每個步驟都有些概念需要了解。
2、晌鉛10g和11g稍微有點區(qū)別,大謹歷10g備庫在熱備狀態(tài)不能open查詢,11g支持ActiveDataguard備庫可以在熱備狀態(tài)open并select數(shù)據(jù):alter database open read only;。
3、DG多配置幾次就會輕車熟路。
4、首先數(shù)據(jù)庫必須開啟歸檔模式,然后復制一份主庫到備庫,這個步驟11g也有更先進的命令,11g支持-Active database duplicate。
備份主庫過程可以熟悉一下rman這個工具。
5、DG配置監(jiān)聽listener.ora和initSID.ora
在使用DATA GUARD 時,要求使用強制記錄日志模式。日志記錄模式(LOGGING 、FORCE LOGGING 、NOLOGGING)
ALTER DATABASE FORCE LOGGING;
6、啟動備庫
物理standby極少情況下可以以read-write模式打開,某些情況下可以以read-only模式滾搜打開,所以默認情況下,加載到mount狀態(tài)即可。
SQL> STARTUP MOUNT;
啟動redo應用
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
啟動實時應用
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
7、DG主庫和備庫之間角色切換
DATAGUARD包含三個服務(日志傳輸、日志應用、角色轉(zhuǎn)換)
8、DATAGUARD的幾種保護模式:更大保護maximum protection,更大可用maximum availability,更大性能maximum performance
例如在主庫修改保護模式為maximize availability,并打開數(shù)據(jù)庫
ALTER DATABASE SET STANDBY DATABASE TO maximize availability;
oracle中的 v$database是什么意思啊?
desc v$database
名稱 是否為空? 類型
—–
DBID NUMBER
NAME VARCHAR2(9)
CREATEDDATE
RESETLOGS_CHANGE# NUMBER
RESETLOGS_TIME DATE
PRIOR_RESETLOGS_CHANGE#NUMBER
PRIOR_RESETLOGS_TIMEDATE
LOG_MODEVARCHAR2(12)
CHECKPOINT_CHANGE# NUMBER
ARCHIVE_CHANGE# NUMBER
CONTROLFILE_TYPE VARCHAR2(7)
CONTROLFILE_CREATEDDATE
CONTROLFILE_SEQUENCE#NUMBER
CONTROLFILE_CHANGE#NUMBER
CONTROLFILE_TIME DATE
OPEN_RESETLOGS VARCHAR2(11)
VERSION_TIMEDATE
OPEN_MODEVARCHAR2(10)
PROTECTION_MODE VARCHAR2(20)
PROTECTION_LEVEL VARCHAR2(20)
REMOTE_ARCHIVE VARCHAR2(8)
ACTIVATION#NUMBER
SWITCHOVER#NUMBER
DATABASE_ROLE VARCHAR2(16)
ARCHIVELOG_CHANGE# NUMBER
ARCHIVELOG_COMPRESSIONVARCHAR2(8)
SWITCHOVER_STATUS VARCHAR2(20)
DATAGUARD_BROKER VARCHAR2(8)
GUARD_STATUSVARCHAR2(7)
SUPPLEMENTAL_LOG_DATA_MINVARCHAR2(8)
SUPPLEMENTAL_LOG_DATA_PKVARCHAR2(3)
SUPPLEMENTAL_LOG_DATA_UIVARCHAR2(3)
FORCE_LOGGING VARCHAR2(3)
PLATFORM_IDNUMBER
PLATFORM_NAME VARCHAR2(101)
RECOVERY_TARGET_INCARNATION# NUMBER
LAST_OPEN_INCARNATION#NUMBER
CURRENT_SCNNUMBER
FLASHBACK_ONVARCHAR2(18)
SUPPLEMENTAL_LOG_DATA_FKVARCHAR2(3)
SUPPLEMENTAL_LOG_DATA_ALLVARCHAR2(3)
DB_UNIQUE_NAME VARCHAR2(30)
STANDBY_BECAME_PRIMARY_SCNNUMBER
FS_FAILOVER_STATUS VARCHAR2(21)
FS_FAILOVER_CURRENT_TARGETVARCHAR2(30)
FS_FAILOVER_THRESHOLDNUMBER
FS_FAILOVER_OBSERVER_PRESENT VARCHAR2(7)
FS_FAILOVER_OBSERVER_HOSTVARCHAR2(512)
2、字段說明
DBID:數(shù)字形式的DB標識,會記錄在每個數(shù)據(jù)文件頭,可以根據(jù)這個來確定數(shù)據(jù)文件是屬于哪一個數(shù)據(jù)庫的
NAME:數(shù)據(jù)庫名稱(就是通俗的數(shù)據(jù)庫名)
DB_UNIQUE_NAME:?
RESETLOGS_CHNAGE#:上一次resetlogs時的scn
RESETLOGS_TIME:上一次resetlogs的時間
PRIOR_RESETLOGS_CHANGE#:更早的(最早的?)restlogs時的scn
PRIOR_RESETLOGS_TIME:更早的(最早的?)restlogs時的scn
LOG_MODE:是否是歸檔模式,有三種可能(noarhivelog|archivelog|manual)
CHECKPOINT_CHANGE#:上一次checkpoint的scn,這個值是從控制文件中來的。
ARCHIVE_CHANGE#:表示在這個scn之前的(比這個scn?。﹔edolog都將會自動強制歸檔。
CONTROLFILE_TYPE:standby表示這個數(shù)據(jù)庫在standby模式;clone表示這個數(shù)據(jù)庫是個clone的數(shù)據(jù)庫;backup|created表示這個數(shù)據(jù)庫正在從使用備份的控制文件恢復中;current表示數(shù)據(jù)庫是正常模式
CONTROLFILE_CREATED:控制文件創(chuàng)建的時間
CONTROLFILE_SEQUENCE#:控制文件的一個遞增的序列號,用途不明
CONTROLFILE_CHANGE#:控制文件中記錄的scn
CONTROLFILE_TIME:上一次控制文件更新的時間
OPEN_RESETLOGS:指示下一次打開數(shù)據(jù)庫是是否需要使用resetlogs來打開,可能為(not allowed|allowed|required)
VERSION_TIME:版本時間(意義不明,用途不明)
OPEN_MODE:指示數(shù)據(jù)庫以什么方式打開(read only|read write|mount)
PROTECTION_MODE:數(shù)據(jù)庫的保護模式(似乎在dataguard的情況下有用)
PROTECTION_LEVEL:保護等級
REMOTE_ARCHIVE:是否允許遠程歸檔,就是remote_archive_enable初始化參數(shù)的值
ACTIVATION#:?
SWTICHOVER#:?
DATABASE_ROLE:指示數(shù)據(jù)庫是logical standby|physical standby|primary
ARCHIVELOG_CHNAGE#:上一次歸檔動作結(jié)束時的scn,也就是最新的歸檔日志的所記錄的最后一個SCN(根據(jù)文檔也就是v$archived_log里更大的next_change#),要注意于archive_change#的區(qū)別
ARCHIVELOG_COMPRESSION:歸檔的壓縮狀況
SWITCHOVER_STATUS:switch over 的狀態(tài)
DATAGUARD_BROKER:Indicates whether the Data Guard configuration is being managed by the broker (ENABLED) or not (DISABLED)
GUARD_STATUS:防止數(shù)據(jù)庫修改的狀態(tài)(可能為all或者none或者standby)
SUPPLEMENTAL_LOG_DATA_MIN:
SUPPLEMENTAL_LOG_DATA_PK:如果為YES則表示當有主鍵的表更新行時,會將組成主鍵的所有列也記入redo log
SUPPLEMENTAL_LOG_DATA_UI:如果為YES則表示當有unqiue鍵的表更新行時,會將組成unique鍵的所有列也記入redo log
SUPPLEMENTAL_LOG_DATA_FK:同上(記錄foreign key)
SUPPLEMENTAL_LOG_DATA_ALL:同上(記錄所有fix_width maximun size column)
FORCE_LOGGING:指示數(shù)據(jù)庫是否在force logging模式
PLATFORM_ID:操作系統(tǒng)平臺ID
PLATFORM_NAME:操作系統(tǒng)平臺名稱
RECOVERY_TARGET_INCARNATION#:恢復時從哪一個場景號進行恢復(每次使用resetlogs打開數(shù)據(jù)庫會創(chuàng)建一個新的場景號)
LAST_OPEN_INCARNATION:最后一次打開的場景號
CURRENT_SCN:數(shù)據(jù)庫當前的SCN
STANDBY_BECAME_PRIMARY_SCN:SCN at which a physical standby database became a primary database.
FLASHBACK_ON:是否打開了flashback 功能
FS_FAILOVER_STATUS:
FS_FAILOVER_CURRENT_TARGET:
FS_FAILOVER_THRESHOLD:
FS_FAILOVER_OBSERVER_PRESENT:
FS_FAILOVER_OBSERVER_HOST:
3、可以查詢的東西
a、是否是歸檔模式
b、flashback功能是否打開
c、當前系統(tǒng)的scn
d、當前數(shù)據(jù)庫的DBID、NAME、Unique Name
e、checkpoint的相關(guān)信息
f、歸檔日志的相關(guān)信息
g、controlfile的相關(guān)信息:創(chuàng)建日期、controlfile里記錄的scn,
h、數(shù)據(jù)庫是什么時候創(chuàng)建的
i、數(shù)據(jù)庫所在操作系統(tǒng)平臺信息
4、易混淆的列
name和db_unique_name
archive_change#和archivelog_change#
是一個動碼粗態(tài)性能視圖,主要用來查看數(shù)據(jù)庫當遲派鎮(zhèn)前的一些信息,具體可以看Oracle Document Library 的Oracle Database Reference 10g Release 2 (10.2)書的672頁羨段
關(guān)于數(shù)據(jù)庫force logging的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)-老牌IDC、云計算及IT信息化服務領(lǐng)域的服務供應商,業(yè)務涵蓋IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)服務、云計算服務、IT信息化、AI算力租賃平臺(智算云),軟件開發(fā),網(wǎng)站建設(shè),咨詢熱線:028-86922220
網(wǎng)站名稱:數(shù)據(jù)庫forcelogging的作用與實現(xiàn)方法(數(shù)據(jù)庫forcelogging)
文章位置:http://m.fisionsoft.com.cn/article/djjgohc.html


咨詢
建站咨詢
