最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle 歸檔日志性能優(yōu)化指南

 更新時(shí)間:2026年06月02日 09:51:40   作者:六月雨滴  
Oracle數(shù)據(jù)庫(kù)的歸檔日志是保證數(shù)據(jù)完整性和可恢復(fù)性的關(guān)鍵組件,歸檔日志的性能優(yōu)化對(duì)于維護(hù)數(shù)據(jù)庫(kù)的健康運(yùn)行和提升性能至關(guān)重要,本文介紹Oracle 歸檔日志性能優(yōu)化指南,感興趣的朋友一起看看吧

歸檔日志性能是 Oracle 數(shù)據(jù)庫(kù)高并發(fā)場(chǎng)景下最容易被忽視但影響最嚴(yán)重的性能瓶頸之一。歸檔慢會(huì)直接導(dǎo)致日志切換阻塞,所有 DML 操作暫停,數(shù)據(jù)庫(kù)完全掛起,在電商大促、銀行交易高峰期等場(chǎng)景下會(huì)造成災(zāi)難性后果。

1、基本概念

1.1、歸檔日志性能優(yōu)化

歸檔日志性能優(yōu)化是通過(guò)優(yōu)化存儲(chǔ) IO、日志配置、進(jìn)程參數(shù)和網(wǎng)絡(luò)傳輸,讓歸檔進(jìn)程(ARCn)能夠以最快的速度完成在線重做日志的歸檔,確保 LGWR 進(jìn)程永遠(yuǎn)不會(huì)因?yàn)榈却龤w檔而阻塞。

1.2、性能問(wèn)題的典型表現(xiàn)

  • 出現(xiàn)大量log file switch (archiving needed)等待事件(最致命)
  • 執(zhí)行ALTER SYSTEM SWITCH LOGFILE;命令卡住
  • 數(shù)據(jù)庫(kù) TPS 急劇下降,所有寫(xiě)操作變慢
  • 告警日志中出現(xiàn)ARCn: Archival not startedArchiver stuck錯(cuò)誤
  • 在線重做日志切換頻率異常(如每分鐘切換多次)

1.3、性能瓶頸分布

歸檔性能瓶頸按出現(xiàn)頻率從高到低排序:

  • 存儲(chǔ) IO 瓶頸(70%):歸檔存儲(chǔ)讀寫(xiě)速度不足
  • 日志配置不合理(15%):日志文件太小、日志組太少
  • 歸檔進(jìn)程不足(10%):ARCn 進(jìn)程數(shù)量不夠
  • 網(wǎng)絡(luò)瓶頸(5%):遠(yuǎn)程歸檔或 Data Guard 環(huán)境下網(wǎng)絡(luò)帶寬不足

2、存儲(chǔ)層優(yōu)化

歸檔是純 IO 密集型操作,存儲(chǔ)性能直接決定了歸檔速度。

2.1、存儲(chǔ)分離原則

歸檔日志必須存儲(chǔ)在獨(dú)立于數(shù)據(jù)文件和在線重做日志的專(zhuān)用存儲(chǔ)上

  • 數(shù)據(jù)文件:隨機(jī)讀寫(xiě)為主
  • 在線重做日志:順序?qū)憺橹?/li>
  • 歸檔日志:順序?qū)憺橹?/li>

如果三者共享同一存儲(chǔ),會(huì)產(chǎn)生嚴(yán)重的 IO 競(jìng)爭(zhēng),導(dǎo)致所有組件性能下降。

2.2、ASM 磁盤(pán)組優(yōu)化

2.2.1、創(chuàng)建專(zhuān)用歸檔磁盤(pán)組

-- 創(chuàng)建專(zhuān)用歸檔磁盤(pán)組,使用NORMAL冗余,AU_SIZE=4M(適合大文件順序?qū)懀?
CREATE DISKGROUP ARCH NORMAL REDUNDANCY
FAILGROUP CONTROLLER1 DISK '/dev/asm-arch1', '/dev/asm-arch2'
FAILGROUP CONTROLLER2 DISK '/dev/asm-arch3', '/dev/asm-arch4'
ATTRIBUTE 
  'compatible.asm'='19.0.0.0',
  'compatible.rdbms'='19.0.0.0',
  'au_size'='4M',
  'disk_repair_time'='4.5h';

2.2.2、ASM 優(yōu)化要點(diǎn)

  • AU_SIZE 設(shè)置為 4M:歸檔日志是大文件,大 AU_SIZE 可以減少元數(shù)據(jù)開(kāi)銷(xiāo),提高順序?qū)懶阅?/li>
  • 使用 NORMAL 冗余:平衡性能和可靠性,避免使用 HIGH 冗余(寫(xiě)性能下降 50%)
  • 使用 SSD/NVMe 存儲(chǔ):歸檔順序?qū)懶阅鼙葯C(jī)械硬盤(pán)高 5-10 倍
  • 在線動(dòng)態(tài)擴(kuò)容:ASM 支持在線添加磁盤(pán),無(wú)需停機(jī)
    • 在線添加磁盤(pán),重平衡并行度設(shè)為8
    • ALTER DISKGROUP ARCH ADD DISK '/dev/asm-arch5' REBALANCE POWER 8 WAIT;

2.2.3、文件系統(tǒng)優(yōu)化

如果使用文件系統(tǒng)存儲(chǔ)歸檔日志:

啟用異步IO和直接IO(大幅提升文件系統(tǒng)IO性能):

ALTER SYSTEM SET filesystemio_options=SETALL SCOPE=SPFILE;

啟用磁盤(pán)異步IO(默認(rèn)已啟用):

ALTER SYSTEM SET disk_asynch_io=TRUE SCOPE=SPFILE;

2.2.4、存儲(chǔ)性能測(cè)試

測(cè)試歸檔目錄寫(xiě)入速度(1GB文件,直接IO):

dd if=/dev/zero of=/archive/testfile bs=1M count=1024 conv=fdatasync oflag=direct

監(jiān)控存儲(chǔ)IO性能:

iostat -dxm 2 | grep -E 'Device|sd|nvme'

3、在線重做日志優(yōu)化

在線重做日志的配置直接影響日志切換頻率和歸檔壓力。

3.1、合理設(shè)置日志文件大小

日志文件大小原則:日志切換頻率控制在每 15-30 分鐘一次。

業(yè)務(wù)場(chǎng)景推薦日志文件大小
低并發(fā)系統(tǒng)1GB
中并發(fā)系統(tǒng)2-4GB
高并發(fā)核心系統(tǒng)8-16GB

錯(cuò)誤做法:日志文件太?。ㄈ?100MB),導(dǎo)致每分鐘切換多次,歸檔進(jìn)程無(wú)法跟上。

3.2、合理設(shè)置日志組數(shù)量

日志組數(shù)量原則:至少配置 4 組在線重做日志,高并發(fā)系統(tǒng)配置 6-8 組。

-- 添加日志組
ALTER DATABASE ADD LOGFILE GROUP 4 ('+DATA/redo04.log') SIZE 8G;
ALTER DATABASE ADD LOGFILE GROUP 5 ('+DATA/redo05.log') SIZE 8G;
ALTER DATABASE ADD LOGFILE GROUP 6 ('+DATA/redo06.log') SIZE 8G;
-- 刪除過(guò)小的日志組
ALTER DATABASE DROP LOGFILE GROUP 1;
ALTER DATABASE DROP LOGFILE GROUP 2;
ALTER DATABASE DROP LOGFILE GROUP 3;

3.3、多路復(fù)用在線日志

每個(gè)日志組至少配置 2 個(gè)成員,分別存儲(chǔ)在不同的存儲(chǔ)設(shè)備上,防止單點(diǎn)故障:

ALTER DATABASE ADD LOGFILE MEMBER '+ARCH/redo04b.log' TO GROUP 4;
ALTER DATABASE ADD LOGFILE MEMBER '+ARCH/redo05b.log' TO GROUP 5;
ALTER DATABASE ADD LOGFILE MEMBER '+ARCH/redo06b.log' TO GROUP 6;

4、歸檔進(jìn)程優(yōu)化

4.1、調(diào)整歸檔進(jìn)程數(shù)量

Oracle 會(huì)根據(jù)負(fù)載自動(dòng)調(diào)整歸檔進(jìn)程數(shù)量,但在高并發(fā)場(chǎng)景下,需要手動(dòng)設(shè)置最大值:

-- 查看當(dāng)前歸檔進(jìn)程數(shù)量
SELECT process, status FROM v$archive_processes;
-- 設(shè)置最大歸檔進(jìn)程數(shù)為6(生產(chǎn)推薦值,范圍1-30)
ALTER SYSTEM SET log_archive_max_processes=6 SCOPE=BOTH;

最佳實(shí)踐

  • 單實(shí)例環(huán)境:4-6 個(gè) ARCn 進(jìn)程
  • RAC 環(huán)境:每個(gè)節(jié)點(diǎn) 4-6 個(gè) ARCn 進(jìn)程
  • Data Guard 環(huán)境:6-8 個(gè) ARCn 進(jìn)程

注意:歸檔進(jìn)程不是越多越好,超過(guò)存儲(chǔ) IO 能力后,增加進(jìn)程反而會(huì)導(dǎo)致 IO 競(jìng)爭(zhēng)加劇,性能下降。

4.2、啟用并行歸檔

并行歸檔單個(gè)日志文件,大幅提高歸檔速度:

-- 啟用并行歸檔,每個(gè)日志文件使用2個(gè)進(jìn)程并行歸檔
ALTER SYSTEM SET "_parallel_archive_log"=TRUE SCOPE=SPFILE;
ALTER SYSTEM SET "_parallel_archive_log_workers"=2 SCOPE=SPFILE;

到此這篇關(guān)于Oracle 歸檔日志性能優(yōu)化的文章就介紹到這了,更多相關(guān)Oracle 歸檔日志內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Oracle Index索引無(wú)效的原因與解決方法

    Oracle Index索引無(wú)效的原因與解決方法

    這篇文章主要給大家介紹了關(guān)于Oracle Index索引無(wú)效的原因與解決方法,文中通過(guò)示例代碼以及圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • oracle行轉(zhuǎn)列與列轉(zhuǎn)行的幾種方式匯總

    oracle行轉(zhuǎn)列與列轉(zhuǎn)行的幾種方式匯總

    最近項(xiàng)目需要進(jìn)行行轉(zhuǎn)列,經(jīng)過(guò)上網(wǎng)查找到了一些解決方法,分享給大家,這篇文章主要給大家介紹了關(guān)于oracle行轉(zhuǎn)列與列轉(zhuǎn)行的幾種方式,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • 如何使用log miner分析oracle日志

    如何使用log miner分析oracle日志

    日常生活中,我們經(jīng)常因?yàn)椴僮魇д`丟失數(shù)據(jù)或者是更改數(shù)據(jù),如何進(jìn)行恢復(fù)吶?這篇文章就是幫助我們解決這一困擾,需要的朋友可以參考下
    2015-07-07
  • Oracle?ORA-00904:標(biāo)識(shí)符無(wú)效解決方法(太坑了!!)

    Oracle?ORA-00904:標(biāo)識(shí)符無(wú)效解決方法(太坑了!!)

    最近執(zhí)行sql時(shí)oracle報(bào)錯(cuò)ORA-00904:標(biāo)識(shí)符無(wú)效,所以這篇文章主要給大家介紹了關(guān)于Oracle?ORA-00904:標(biāo)識(shí)符無(wú)效解決方法的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • Oracle中監(jiān)控SQL執(zhí)行時(shí)間的常用方法

    Oracle中監(jiān)控SQL執(zhí)行時(shí)間的常用方法

    在 Oracle 數(shù)據(jù)庫(kù)中,監(jiān)控 SQL 語(yǔ)句的執(zhí)行時(shí)間是性能調(diào)優(yōu)和問(wèn)題排查的關(guān)鍵環(huán)節(jié),Oracle 提供了多種機(jī)制來(lái)捕獲和分析 SQL 的執(zhí)行耗時(shí),以下是 常用且實(shí)用的方法,需要的朋友可以參考下
    2025-12-12
  • Oracle數(shù)據(jù)庫(kù)表被鎖如何查詢(xún)和解鎖詳解

    Oracle數(shù)據(jù)庫(kù)表被鎖如何查詢(xún)和解鎖詳解

    作為一個(gè)IT技術(shù)人員,可能經(jīng)常遇到在使用Oracle數(shù)據(jù)時(shí),由于操作不當(dāng)導(dǎo)致數(shù)據(jù)庫(kù)鎖表,從而影響項(xiàng)目正常使用,下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)表被鎖如何查詢(xún)和解鎖的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • Oracle 如何創(chuàng)建和使用全文索引

    Oracle 如何創(chuàng)建和使用全文索引

    Oracle實(shí)現(xiàn)全文檢索,其機(jī)制其實(shí)很簡(jiǎn)單。即通過(guò)Oracle專(zhuān)利的詞法分析器(lexer),將文章中所有的表意單元(Oracle 稱(chēng)為 term)找出來(lái),記錄在一組 以dr$開(kāi)頭的表中,同時(shí)記下該term出現(xiàn)的位置、次數(shù)、hash 值等信息。
    2016-05-05
  • 直接拷貝數(shù)據(jù)文件實(shí)現(xiàn)Oracle數(shù)據(jù)遷移

    直接拷貝數(shù)據(jù)文件實(shí)現(xiàn)Oracle數(shù)據(jù)遷移

    Oracle 數(shù)據(jù)遷移是比較麻煩的,對(duì)菜鳥(niǎo)來(lái)說(shuō)更是如此。最近由于更換服務(wù)器,需要將Oracle遷移到另外一臺(tái)機(jī)器,在兩個(gè)服務(wù)器環(huán)境相同,以及 Oracle版本相同的前提下,通過(guò)直接拷貝數(shù)據(jù)文件到新服務(wù)器,就可以直接遷移成功。這里記錄一下遷移步驟。需要的朋友可以參考。
    2017-01-01
  • oracle中如何獲得數(shù)據(jù)庫(kù)的DBID信息

    oracle中如何獲得數(shù)據(jù)庫(kù)的DBID信息

    在進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)的過(guò)程中,很多時(shí)候我們需要知道Oracle數(shù)據(jù)庫(kù)的DBID,通常有以下幾種方法可以獲得數(shù)據(jù)庫(kù)的DBID
    2013-09-09
  • oracle查看執(zhí)行最慢與查詢(xún)次數(shù)最多的sql語(yǔ)句

    oracle查看執(zhí)行最慢與查詢(xún)次數(shù)最多的sql語(yǔ)句

    這篇文章主要給大家介紹了oracle查看執(zhí)行最慢與查詢(xún)次數(shù)最多的sql語(yǔ)句,文中給出完整的示例代碼,相信對(duì)大家的學(xué)習(xí)或者工作具有一定的參考價(jià)值,有需要的朋友們下面來(lái)一起看看吧。
    2017-01-01

最新評(píng)論

常山县| 都兰县| 呼玛县| 张家界市| 昂仁县| 德安县| 望都县| 邻水| 桃江县| 夏津县| 洛宁县| 手游| 临朐县| 茶陵县| 霍州市| 德保县| 濉溪县| 苗栗市| 大邑县| 大理市| 抚顺县| 兴城市| 中阳县| 涞水县| 城步| 军事| 白沙| 永德县| 紫阳县| 嘉义县| 柳江县| 乐至县| 南乐县| 同仁县| 修文县| 磐石市| 东兰县| 灯塔市| 樟树市| 金塔县| 盐亭县|