oracle cannot allocate new log,Thread 1 cannot allocate new log

今天發現alter.log有以下信息:

Thread 1 cannot allocate new log, sequence 6166

Private strand flush not complete

對于這個錯誤信息得解釋如下:

當系統要重新利用某個日志文件的時候,系統需要將該日志文件所包括的buffer cache 中的dirty block

寫到相應的數據文件。由于對于一個數據庫操作而言,它可能產生的redo 量僅僅是幾十字節,但是對于buffer cache中確是一個block

(一般為8k)。所以,對于一個僅僅是幾百M的日志文件,它所保護的buffer cache 可能是幾個G

一旦發生"Thread 1 cannot allocate new log",表明系統的checkpoint 沒有來得及完成,也就是說 buffer

cache 中的dirty data還沒有完全寫到數據文件,就已經有大量的日志需要寫入到系統。而系統只能通知應用:checkpoint

還沒有完成,你只能等待。這個時候,系統就基本處于hang 狀態了 When the database waits on checkpoints,redo

generation is stopped until the log switch is done

如果,我們在這個時候查看系統信息,就會發現:v$log中的日志狀態大多處于active 狀態; v$session_wait 中會有很多log file

switch 事件的發生

解決辦法: a. 添加更多的日志文件??b. 加大checkpoint 觸發的頻度??c. 減小redo log 的size d. 提高DBWR的效率

e. 為了更好的了解系統的運行,可以設置

log_checkpoint_interval = 0

log_checkpoint_timeout = 0

log_checkpoints_to_alert=True

9i以后可能大家都喜歡通過設置fast_start_mttr_target來控制instance

recovery的粒度。但是仍然有兩個參數一直影響著我們的checkpoint,就是他們:

log_checkpoint_interval

Oracle8.1版本后log_checkpoint_interval指的是兩次checkpoint之間操作系統數據塊的個數。checkpoint時Oracle把內存里修改過的數據塊用DBWR寫到物理文件,用LGWR寫到日志和控制文件(在8i的時候lgwr進程在兼有ckpt進程的作用,呵呵。為了減輕我們本來就可能在高壓情況下疲于奔命的LGWR兄弟的負擔,Oracle引入了ckpt來更新我們的控制文件和數據文件頭的SCN信息)。

一般UNIX操作系統的數據塊為512bytes。

從性能優化的角度來說,建議log_checkpoint_interval=redologfilesizebytes

/ 512bytes,根據我們的online redo?file的大小來指定我們數據塊的個數.

from

concept:

LOG_CHECKPOINT_INTERVAL specifies the frequency of

checkpoints(用來指定檢查點發生的頻率) in terms of the number of redo log file blocks that

can exist between an incremental checkpoint and the last block written to the

redo log. This number refers to physical operating system blocks, not database

blocks.

Regardless of this value, a checkpoint always occurs when switching

from one online redo log file to another. Therefore, if the value exceeds the

actual redo log file size, checkpoints occur only when switching logs.

Checkpoint frequency is one of the factors that influence the time

required for the database to recover from an unexpected

failure.

log_checkpoint_timeout

Oracle8.1版本后log_checkpoint_timeout指的是兩次checkpoint之間時間秒數(單位是秒)。

Oracle建議不用這個參數來控制,因為事務(transaction)大小不是按時間等量分布的(事務的長短并不是最重要的,重要的是我們的業務邏輯和數據的完整性)。那么我們用log_checkpoint_interval參數控制會更好一些。

我們可以通過log_checkpoint_timeout=0來禁用此參數或者按默認的900。

LOG_CHECKPOINT_TIMEOUT

specifies (in seconds) the amount of time that has passed since the incremental

checkpoint at the position where the last write to the redo log (sometimes

called the tail of the log) occurred. This parameter also signifies that no

buffer will remain dirty (in the cache) for more than integer

seconds.

Specifying a value of 0 for the timeout disables time-based

checkpoints. Hence, setting the value to 0 is not recommended unless

FAST_START_MTTR_TARGET is set.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/528885.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/528885.shtml
英文地址,請注明出處:http://en.pswp.cn/news/528885.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

arduino tft 方向_ESP32在Arduino環境下玩轉 LVGL,ESP32移植LVGL詳細教程

微信關注 “DLGG創客DIY”設為“星標”,重磅干貨,第一時間送達。?轉載自慕容流年 https://me.csdn.net/qq_41868901?1. LVGL簡介LittlevGL是一個免費的開源圖形庫,提供了創建嵌入式GUI所需的一切,具有易于使用的圖形元素、漂亮的…

linux內核開文件系統,內核必須懂(二): Linux文件系統初探

目錄前言文件系統結構新建文件和inode文件創建過程inode解析打開文件參考最后前言這次來說文件系統. 文件系統是非常重要的, 提高磁盤使用率, 減小磁盤磨損等等都是文件系統要解決的問題. 市面上的文件系統也是數不勝數, 比較常用的像ext4, xfs以及ntfs等等, 國內的像鵝廠的tfs…

gps衛星位置計算程序matlab_科研項目 | BD/ GPS衛星導航仿真測試系統研究

一、項目背景在移動互聯和互聯網的時代,衛星導航定位已經成為生活中不可或缺的部分。目前,我國的交通、銀行、電力、采礦、測繪等部門以及大眾化市場都需要大量的定位、授時服務。許多企業也形成了覆蓋衛星導航相關材料及元器件、衛星導航芯片、衛星導航…

linux docker權限,linux - 如何解決ubuntu中的docker權限問題? - Ubuntu問答

問題描述我已經按照here的說明安裝了docker。我使用Ubuntu Trusty 14.04 (LTS) (64-bit)。安裝過程中的一切都很好。另外,命令$ sudo docker run -i -t ubuntu /bin/bash可以很好地完成(在打開的控制臺中鍵入”exit”之后。但是當我嘗試執行其他操作時,我…

python虛擬人臉生成_GitHub - 597111463/seeprettyface-generator-yellow: 這是一個用StyleGAN訓練出的黃種人人臉生成器...

黃種人人臉生成器注明:之前做的一些有意思的人臉生成器,現在全部開源分享出來。它的主要作用是可生成制作各類型的人臉素材,供我們任意使用且無須擔心人臉版權的問題。在定制人臉上,開源的全系列生成器包括:黃種人臉生…

Linux輸入密碼接口,Linux下搭建接口自動化測試平臺

前言我們今天來學習一下在Linux下如何搭建基于HttpRunner開發的接口自動化測試平臺吧!需要在Linux上提前準備的環境(下面是本人搭建時的環境):1,Python 3.6.8 (可參考隨筆:Linux學習6-安裝Python3.6)2,MySQL 5.7(可參考…

python構建字典實現英文大寫字母與ascii編碼的轉換_Python:將復雜的字符串字典從Unicode轉換為ASCII...

作為從JSON API調用解析的多級字典,我有很多輸入.字符串都是unicode,這意味著有很多ustuff like this.我正在使用jq來處理結果,需要將這些結果轉換為ASCII.我知道我可以編寫一個函數來像這樣轉換它:def convert(input):if isinstance(input, dict):ret {}for stuff in input:r…

linux下查看windows文件夾大小,如何從Windows命令行檢查文件夾的大小?

我意識到這個問題要求使用進行文件大小分析CMD line。但是,如果您愿意使用它,PowerQuery (Excel add-in, versions 2010)則可以創建一些非常引人注目的文件大小分析。下面的腳本可以粘貼到空白查詢中;您唯一需要做的就是添加一個名為“ param…

python多進程傳遞參數_急急急, Python 多進程,如何傳遞 epoll?

102019-06-16 15:39:41 08:00NoAnyLove 好的好的,我查了下,說 IPC 或向 worker 參數傳遞的東西必須要能 pickle,不然就報錯,那就是 select.epoll 是不支持的。error:TypeError: cant pickle select.epoll objects。代碼…

linux查看一小時之內的日志,linux – 在[timespan]內(例如最后一小時)查找日志文件中的條目...

我的服務器CPU使用率不高,我可以看到Apache正在使用太多的內存。我有一種感覺,我正在用一個IP進行DOS.-也許你可以幫我找到他?我已經使用以下行找到10個最“活躍”的IP:cat access.log | awk {print $1} |sort |uniq -c |sort -n …

圖像語義分割_圖像語義分割(9)-DeepLabV3: 再次思考用于圖像語義分割的空洞卷積...

論文地址 :Rethinking Atrous Convolution for Semantic Image Segmentation論文代碼:Github鏈接1. 摘要文章主要的工作:使用空洞卷積來調整濾波器的感受野并控制特征圖分辨率使用不同空洞率的空洞卷積的串聯或者并行操作來分割不同尺度的目標…

linux系統列表,Linux常用系統調用列表-20210415054405.docx-原創力文檔

LinuxLinux常用系統調用列表作者:雷震 2002年3月本文列出了大部分常見的Linux系統調用,并附有簡要中文說明。以下是Linux系統調用的一個列表,包含了大部分常用系統調用和由系統調用派 生出的的函數。按照慣例,這個列表以man pages…

sql replace 雙引號變單引號_sql-匯總、排序以及分析思路

一、匯總函數注:匯總函數,如果輸入是列名,計算會把null 排除在外,count(*)對所有的行進行計數二、如何用sql解決業務問題注1:空值(null)的排序,排序是最小的,例如select * from tea order by tea_name注2&a…

linux subversion 根目錄檢出,經驗總結:詳解Linux下Subversion的安裝配置記錄 下

上節介紹額Linux下Subversion的安裝問題,本節介紹Linux下Subversion配置問題,你可以和Windows下Subversion的安裝配置做一個對比,你就會發現在這兩種操作系統中Subversion的不同運行機制。第二章配置本系統采用為每個項目單獨建一版本庫的策略…

python用戶名密碼登錄退出_用戶登錄登出

一、功能需求分析1.登錄功能分析1.1登錄流程1.2功能(一個請求為一個功能)~登錄頁面~登錄功能~登出功能二、登錄頁面1.接口設計1.1.接口說明類目                  說明請求方式                GETurl定義…

openwrt是嵌入式linux,非常方便的OpenWrt的嵌入式Linux開發環境

今天聽中央經濟廣播電臺說,今年有559萬大學畢業生,大學生的就業形式嚴峻.我想那些精通Linux開發的畢業大學生們,估計一點也不用擔心,因為他們已經不再是一顆大白菜了.最近在幫一個朋友把OpenWrt移植到一塊單板上,有一些心得,分享給大家.OpenWrt是一個很好的學習Linux的平臺,而且…

linux添加有效群組,Linux中的有效群組和初始群組

在Linux中,每個賬號都可以加入多個群組,那用戶登錄后默認的用的是哪個群組呢?關于這個問題就要說說有效群組和初始群組了。在用戶賬號信息文件/etc/passwd中,那個由冒號分割的7個欄目中,第四個欄目是群組ID(GID)&#…

php多個表中查找數據_HeidiSQL 免費的可視化數據庫管理工具

HeidiSQL是一款免費的軟件,并且易于學習和使用。HeidiSQL讓你從數據庫內可視化的讀寫數據、結構體。它支持MariaDB、MySQL、Microsoft SQL、PostgreSQL等數據庫。功能免費且開源內置中文在同個窗口連接多個服務支持以命令行形式連接服務連接支持SSH、SSL創建修改表、…

嵌入式linux啟動根文件系統,嵌入式Linux根文件系統制作和掛載

嵌入式Linux系統由三部分組成: uboot、kernel、根文件系統, 還是這張老圖這里的根文件系統可以說是包含兩個部分: 一個是根,一個是文件系統那么什么是根呢?哈哈 其實根表示的就是第一個的意思下面貼張圖看看整個根文件…

sqlite 查詢 支持多用戶同時_SQLite支持多進程同時操作數據庫文件嗎?

多個進程可以同時打開同一個數據庫。多個進程可以同時執行SELECT。但是,只有一個進程可以隨時對數據庫進行更改。SQLite使用讀/寫鎖來控制對數據庫的訪問。(在Win95 / 98 / ME下,缺少對讀寫鎖的支持,而是使用概率模擬。)但請注意:…