成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

  • 正文
    • Oracle 重做日志文件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

DBA | Oracle 重做日志文件介紹配置實(shí)踐指南

2小時(shí)前
66
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

大家好,我是?WeiyiGeek,一名深耕安全運(yùn)維開(kāi)發(fā)(SecOpsDev)領(lǐng)域的技術(shù)從業(yè)者,致力于探索DevOps與安全的融合(DevSecOps),自動(dòng)化運(yùn)維工具開(kāi)發(fā)與實(shí)踐,企業(yè)網(wǎng)絡(luò)安全防護(hù),歡迎各位道友一起學(xué)習(xí)交流、一起進(jìn)步 ,若此文對(duì)你有幫助,一定記得倒點(diǎn)個(gè)關(guān)注?與小紅星??,收藏學(xué)習(xí)不迷路??。

Oracle 重做日志文件

什么是重做日志文件?

描述:重做日志文件(Redo Log Files)是Oracle數(shù)據(jù)庫(kù)中記錄所有數(shù)據(jù)變更操作的關(guān)鍵組件,它以循環(huán)方式記錄數(shù)據(jù)庫(kù)中發(fā)生的所有事務(wù)(變更操作),用于在數(shù)據(jù)庫(kù)發(fā)生異常時(shí)進(jìn)行容災(zāi)恢復(fù)的重要文件。每個(gè)Oracle數(shù)據(jù)庫(kù)必須至少有兩個(gè)重做日志組,每組可以包含一個(gè)或多個(gè)成員(鏡像文件),組中的每個(gè)日志文件被稱作一個(gè)組成員。

重做日志文件的作用,如下所示:

    數(shù)據(jù)恢復(fù):確保數(shù)據(jù)庫(kù)在故障后可以恢復(fù)已提交的事務(wù)實(shí)例恢復(fù):在數(shù)據(jù)庫(kù)異常關(guān)閉后重啟時(shí),自動(dòng)前滾已提交但未寫(xiě)入數(shù)據(jù)文件的事務(wù)介質(zhì)恢復(fù):配合歸檔日志文件,可以恢復(fù)到特定時(shí)間點(diǎn)保證數(shù)據(jù)一致性:確保事務(wù)的ACID特性(原子性、一致性、隔離性、持久性)支持?jǐn)?shù)據(jù)庫(kù)操作:為數(shù)據(jù)庫(kù)的正常運(yùn)行提供必要支持

重做日志文件結(jié)構(gòu)特點(diǎn)及工作流程

    重做日志文件結(jié)構(gòu)和特點(diǎn)

你可以將重做日志放入到兩個(gè)磁盤(pán)中DISK1、DISK2,組中的成員可以互為鏡像,Oracle循環(huán)使用日志組,后臺(tái)進(jìn)程?LGWR?負(fù)責(zé)寫(xiě)操作,寫(xiě)滿一組后切換到下一組,當(dāng)前亦可手動(dòng)觸發(fā)日志切換, 每個(gè)日志組可以包含多個(gè)相同的成員(實(shí)現(xiàn)冗余),日志文件大小影響檢查點(diǎn)和日志切換頻率。

    重做日志文件工作流程

當(dāng)一個(gè)重做日志文件在 Group3 寫(xiě)滿后,LGWR?將重做日志寫(xiě)入到下一個(gè)重做日志組 Group1,若已經(jīng)歸檔記錄歸檔日志,否則清空,同理在 Group1 寫(xiě)滿后,將寫(xiě)Group2 ,此步驟叫做日志切換,同時(shí)會(huì)觸發(fā)執(zhí)行檢查點(diǎn)作者,并會(huì)將相關(guān)操作及數(shù)據(jù)信息寫(xiě)入到控制文件中。


weiyigeek.top-重做日志文件結(jié)構(gòu)特點(diǎn)及工作流程

如何修改查詢與重做日志文件?

1.查詢?nèi)罩窘M及成員信息:

-- # 查看 v$log 視圖
SQL>?select?*?from?v$log;
? ? GROUP# ? ?THREAD# ?SEQUENCE# ? ? ?BYTES ?BLOCKSIZE ? ?MEMBERS ARC STATUS ? ? ? ? ? FIRST_CHANGE# FIRST_TIME ? ? NEXT_CHANGE# NEXT_TIME ? ? ? ? ?CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------- ------------ -------------- ----------
? ? ? ? ?1 [組號(hào)] ? ? ? ? ?1 [線程] ? ? ? ? ?1 [序列] ?209715200 [日志大小200M] ? ? ? 512 [塊大小512K] ? ? ? ? ?1 [成員數(shù)量] NO [是否歸檔] ?INACTIVE [當(dāng)前狀態(tài)] ? ? ? ? ? ? ? 1490582 [當(dāng)前SCN] 24-3月 -25 ? ? ? ? ?1534500 [下一個(gè)SCN] 08-4月 -25 ? ? ? ? ? ? ?0
? ? ? ? ?2 ? ? ? ? ?1 ? ? ? ? ?2 ?209715200 ? ? ? ?512 ? ? ? ? ?1 NO ?INACTIVE ? ? ? ? ? ? ? 1534500 08-4月 -25 ? ? ? ? ?1581300 09-4月 -25 ? ? ? ? ? ? ?0
? ? ? ? ?3 ? ? ? ? ?1 ? ? ? ? ?3 ?209715200 ? ? ? ?512 ? ? ? ? ?1 NO ?CURRENT ? ? ? ? ? ? ? ?1581300 09-4月 -25 ? ? ? 1.8447E+19 ? ? ? ? ? ? ? ? ? ? ? ? 0

-- # 查看當(dāng)前重做日志文件路徑及狀態(tài) ?
SQL> col MEMBER for a50;
SQL>?select?*?from?v$logfile;
GROUP# ? ?STATUS ?TYPE ? ?MEMBER ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?IS_ ? ? CON_ID
---------- ------- ------- ----------------------------------------- ?--- --------
3[組號(hào)] ?ONLINE[STATUS] ?C:APPORACLEORADATAHISTDBREDO03.LOG [成員路徑] ? ? ? ? ? ?NO ? ? ? ? ? 0
2 ? ? ? ? ONLINE ?C:APPORACLEORADATAHISTDBREDO02.LOG ? ? ? ? ? ?NO ? ? ? ? ? 0
1 ? ? ? ? ONLINE ?C:APPORACLEORADATAHISTDBREDO01.LOG ? ? ? ? ? ?NO ? ? ? ? ? 0

2.重做日志文件手工切換命令:

alter system switch logfile

3.新增重做日志文件命令:

# 新增重做日志組,日志文件后綴可以隨意通常為L(zhǎng)OG,或者rdo。
alter database add logfile group 4 ('C:apporacleoradatahistdbREDO04a.LOG','C:apporacleoradatahistdbREDO04b.LOG',,'C:apporacleoradatahistdbREDO04c.LOG') SIZE 100M;

# 新增重做日志組成員
alter database add logfile member
'C:apporacleoradatahistdbREDO1c.LOG'?to group 1,
'C:apporacleoradatahistdbREDO2c.LOG'?to group 2,
'C:apporacleoradatahistdbREDO3c.LOG'?to group 3;

4.重命名/重定位日志文件命令:

-- 1. 關(guān)閉數(shù)據(jù)庫(kù)
SHUTDOWN IMMEDIATE;

-- 2. 在操作系統(tǒng)層面移動(dòng)或重命名文件
cp 或者 mv 命令

-- 3. 啟動(dòng)到mount狀態(tài)
STARTUP MOUNT;

-- 4. 更新控制文件中的信息
ALTERDATABASERENAMEFILE
'/old_location/redo01.log'
TO'/new_location/redo01.log';

-- 5. 打開(kāi)數(shù)據(jù)庫(kù)
ALTERDATABASEOPEN;

5.刪除重做日志文件組與組成員命令:

-- # 確認(rèn)要?jiǎng)h除的組不是當(dāng)前活動(dòng)組
-- 查看日志組信息
SELECTgroup#, sequence#, bytes/1024/1024 "SIZE(MB)", members, status , archived
FROM?v$log;
-- 1 4192 200 1 INACTIVE NO
-- 2 4193 200 1 CURRENT NO
-- 3 4191 200 1 INACTIVE NO
-- 查看日志成員信息
SELECTgroup#, member, status FROM v$logfile;
-- 3 C:APPORADATAORCLREDO03.LOG?
-- 2 C:APPORADATAORCLREDO02.LOG?
-- 1 C:APPORADATAORCLREDO01.LOG?

-- 查看當(dāng)前日志序列號(hào)
SELECTsequence# FROM v$log WHERE status = 'CURRENT';
-- 4193

-- # 如果狀態(tài)為ACTIVE或CURRENT,需要先執(zhí)行日志切換
ALTERSYSTEMSWITCHLOGFILE;

-- # 刪除組
alterdatabasedroplogfilegroup4;
-- # 刪除組成員
alterdatabasedroplogfilemember'C:apporacleoradatahistdbREDO04b.LOG';

6.修改重做日志文件大小命令:

-- 無(wú)法直接修改現(xiàn)有日志文件大小,必須創(chuàng)建新組然后刪除舊組
-- 1. 添加新大小的日志組
ALTERDATABASEADDLOGFILEGROUP4
? ('/path/redo04a.log',?'/path/redo04b.log')?SIZE200M;

-- 2. 切換日志直到舊組變?yōu)镮NACTIVE狀態(tài)
ALTERSYSTEMSWITCHLOGFILE;

-- 3. 刪除舊日志組
ALTERDATABASEDROPLOGFILEGROUP1;

實(shí)例演示

    由于當(dāng)前數(shù)據(jù)庫(kù)實(shí)例 REDO 日志組不足,需要增加二組重做日志文件(默認(rèn)為 200M),生產(chǎn)環(huán)境常常遇到。
# 1.由于作者已經(jīng)有三組,所以新增組號(hào) 4,5
alter database add logfile group 4?'C:apporacleoradatahistdbREDO04a.LOG'?SIZE 200M;
alter database add logfile group 5?'C:apporacleoradatahistdbREDO05a.LOG'?SIZE 200M;

# 2.手動(dòng)切換重做日志文件
SQL> alter system switch logfile;

# 3.切換后組4 狀態(tài)為 CURRENT, 表明正常使用。
SQL> select * from v$log;
? ? GROUP# ? ?THREAD# ?SEQUENCE# ? ? ?BYTES ?BLOCKSIZE ? ?MEMBERS ARC STATUS ? ? ? ? ? FIRST_CHANGE# FIRST_TIME ? ? NEXT_CHANGE# NEXT_TIME ? ? ? ? ?CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------- ------------ -------------- ----------
? ? ? ? ?1 ? ? ? ? ?1 ? ? ? ? ?1 ?209715200 ? ? ? ?512 ? ? ? ? ?1 NO ?INACTIVE ? ? ? ? ? ? ? 1490582 24-3月 -25 ? ? ? ? ?1534500 08-4月 -25 ? ? ? ? ? ? ?0
? ? ? ? ?2 ? ? ? ? ?1 ? ? ? ? ?2 ?209715200 ? ? ? ?512 ? ? ? ? ?1 NO ?INACTIVE ? ? ? ? ? ? ? 1534500 08-4月 -25 ? ? ? ? ?1581300 09-4月 -25 ? ? ? ? ? ? ?0
? ? ? ? ?3 ? ? ? ? ?1 ? ? ? ? ?3 ?209715200 ? ? ? ?512 ? ? ? ? ?1 NO ?ACTIVE ? ? ? ? ? ? ? ? 1581300 09-4月 -25 ? ? ? ? ?1615472 09-4月 -25 ? ? ? ? ? ? ?0
? ? ? ? ?4 ? ? ? ? ?1 ? ? ? ? ?4 ?209715200 ? ? ? ?512 ? ? ? ? ?1 NO ?CURRENT ? ? ? ? ? ? ? ?1615472 09-4月 -25 ? ? ? 1.8447E+19 ? ? ? ? ? ? ? ? ? ? ? ? 0
? ? ? ? ?5 ? ? ? ? ?1 ? ? ? ? ?0 ?209715200 ? ? ? ?512 ? ? ? ? ?1 YES UNUSED ? ? ? ? ? ? ? ? ? ? ? 0 ? ? ? ? ? ? ? ? ? ? ? ? ? 0 ? ? ? ? ? ? ? ? ? ? ? ? 0


weiyigeek.top-新增增加二組重做日志

    由于數(shù)據(jù)庫(kù)系統(tǒng)空間不足,需要?jiǎng)h除兩組重做日志文件,需要在開(kāi)啟歸檔的狀態(tài)下,以釋放空間。
# 1.首先,將切換到 組1、組2、組3 都可以,不要占用要?jiǎng)h除的兩組重做日志組,切換日志直到舊組變?yōu)镮NACTIVE狀態(tài)
SQL> alter system switch logfile;

# 2.其次,刪除上面新增的兩組重做日志文件。
SQL> alter database drop logfile group 5;
SQL> alter database drop logfile group 4;

# 3.最后,查看日志文件相關(guān)成員。
SQL> select * from v$log;

weiyigeek.top-刪除增加的二組重做日志

最后提及一點(diǎn),重做日志文件是Oracle數(shù)據(jù)庫(kù)高可用性和可恢復(fù)性的核心組件,合理配置和管理對(duì)數(shù)據(jù)庫(kù)性能和數(shù)據(jù)安全至關(guān)重要。在生產(chǎn)環(huán)境中,一般3-5組,避免過(guò)多導(dǎo)致管理復(fù)雜,每個(gè)日志組至少應(yīng)有2個(gè)成員,存儲(chǔ)在不同磁盤(pán)上,通常建議100-200MB,根據(jù)事務(wù)量調(diào)整,并且建議將日志文件分散在不同I/O通道上,以減少I(mǎi)/O爭(zhēng)用。

加入:作者【全棧工程師修煉指南】知識(shí)星球

相關(guān)推薦

博罗县| 光山县| 绵阳市| 从化市| 五台县| 凉城县| 广河县| 宜春市| 承德市| 法库县| 酒泉市| 海兴县| 石柱| 乡城县| 扶绥县| 西充县| 曲麻莱县| 麻栗坡县| 乌拉特中旗| 达孜县| 保德县| 唐河县| 陇西县| 五家渠市| 礼泉县| 玛曲县| 永福县| 邵阳市| 黔南| 宁城县| 乃东县| 五大连池市| 岱山县| 二手房| 通河县| 舞钢市| 房山区| 邢台县| 祁阳县| 五寨县| 丹东市|