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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

12c集群日志位置_Oracle 19C RAC 集群日志位置变化

發布時間:2025/3/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 12c集群日志位置_Oracle 19C RAC 集群日志位置变化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者 | JiekeXu

來源 |?JiekeXu之路(ID: JiekeXu_IT)

轉載請聯系授權 |?(微信ID:xxq1426321293)

大家好,我是 JiekeXu,很高興又和大家見面了,今天分享一篇 Oracle 19C RAC 集群日志位置變化。本文首發于墨天輪,歡迎點擊上方藍字關注我,標星或置頂,更多干貨第一時間到達!

有些時候,當數據庫出現故障,尤其是當數據庫集群無法啟動時,這時候就需要查看各種日志來分析定位問題。例如db 的alert 日志,集群日志,ASM 日志,操作系統日志等等,下面來一起看著怎么查找日志,尤其是 12C 以后的數據庫集群日志由于新特性而發生變化,更加不好查找。

在 oracle 11g 時查看數據庫后臺日志,一般會使用視圖 v$diag_info 或者參數 dump 來查看,當然安裝規范的話,也可以直接?cd 查看。

cd $ORACLE_BASE/diag/rdbms/{db_name}/{SID}/trace/alter{SID}.log

SQL> set line456 pages 345SQL> col NAMEfor a30SQL> col VALUEfor a88SQL>?select?* from?v$diag_info; INST_ID NAME VALUE---------------------------------------- ---------------------------------------------------------------------------------------- 2 Diag Enabled TRUE 2 ADR Base /app/oracle 2 ADR Home /app/oracle/diag/rdbms/Jiekedb/Jiekedb2 2 Diag Trace /app/oracle/diag/rdbms/Jiekedb/Jiekedb2/trace 2 Diag Alert /app/oracle/diag/rdbms/Jiekedb/Jiekedb2/alert 2 Diag Incident /app/oracle/diag/rdbms/Jiekedb/Jiekedb2/incident 2 Diag Cdump /app/oracle/diag/rdbms/Jiekedb/Jiekedb2/cdump 2 Health Monitor /app/oracle/diag/rdbms/Jiekedb/Jiekedb2/hm 2 Default Trace File /app/oracle/diag/rdbms/Jiekedb/Jiekedb2/trace/Jiekedb2_ora_1212.trc 2 Active Problem Count 2 2 Active Incident Count 511?rows?selected.SQL> showparameter dumpNAME TYPE VALUE----------------------------------------------- ------------------------------background_core_dump string partialbackground_dump_dest?????????????????string??????/app/oracle/diag/rdbms/Jiekedb/Jiekedb2/tracecore_dump_dest???????????????????????string??????/app/oracle/diag/rdbms/Jiekedb/Jiekedb2/cdumpmax_dump_file_size string unlimitedshadow_core_dump string partialuser_dump_dest???????????????????????string??????/app/oracle/diag/rdbms/Jiekedb/Jiekedb2/trace

ASM 日志位置

$ORACLE_BASE/diag/asm/+asm/SID/tracecd $ORACLE_BASE/diag/asm/+asm/+ASM2/traceJiekeXur2:/app/grid/diag/asm/+asm/+ASM2/trace$ls alert*alert_+ASM2.logJiekeXur2:/app/grid/diag/asm/+asm/+ASM2/trace$pwd/app/grid/diag/asm/+asm/+ASM2/trace

當然也可以在 ASM 實例中查看

JiekeXur2:/home/grid$sqlplus / as sysasmSQL*Plus: Release11.2.0.4.0 Production on Fri Dec 18 17:13:19 2020Copyright (c)1982, 2013, Oracle. All rights reserved.Connected to:Oracle Database11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the RealApplication Clusters and Automatic Storage Management optionsSQL> showparameter dumpNAME TYPE VALUE--------------------------------------------------------------------- ------------------------------background_core_dump string partialbackground_dump_dest?????????????????string?????????????????????????? ?/app/grid/diag/asm/+asm/+ASM2/tracecore_dump_dest???????????????????????string????????????????????????????/app/grid/diag/asm/+asm/+ASM2/cdumpmax_dump_file_size string 100Mshadow_core_dump string partialuser_dump_dest???????????????????????string?????????????????????????? ?/app/grid/diag/asm/+asm/+ASM2/trace

那么,集群日志位置在哪呢?

cd $ORACLE_HOME/log/hostname/?? --指主機名

JiekeXur2:/app/product/11.2.0/grid/log/JiekeXur2$echo $ORACLE_HOME/app/product/11.2.0/gridJiekeXur2:/app/product/11.2.0/grid/log/JiekeXur2$cd /app/product/11.2.0/grid/log/JiekeXur2/JiekeXur2:/app/product/11.2.0/grid/log/JiekeXur2$ll alert*-rw-rw-r-- 1 gridoinstall 1483455 Dec 18 17:25 alertJiekeXur2.log

下面一起看一下 19C 日志位置變化:

在單機環境下 db alert 日志沒有變化,如下位置

cd $ORACLE_BASE/diag/rdbms/{db_name}/{SID}/trace/alter{SID}.log

這樣就可以找到 alert 日志以及當前目錄下的各種 trace?文件了。

SYS@JiekeCDB>col NAME for a30SYS@JiekeCDB>col VALUE for a88SYS@JiekeCDB>set line 456SYS@JiekeCDB>select * from v$diag_info; INST_ID NAME VALUE CON_ID---------------------------------------- -------------------------------------------------------------------------------------------------- 1 Diag Enabled TRUE 0 1 ADR Base /opt/oracle 0 1 ADR Home /opt/oracle/diag/rdbms/jiekecdb/JiekeCDB 0 1 Diag Trace /opt/oracle/diag/rdbms/jiekecdb/JiekeCDB/trace 0 1 Diag Alert /opt/oracle/diag/rdbms/jiekecdb/JiekeCDB/alert 0 1 Diag Incident /opt/oracle/diag/rdbms/jiekecdb/JiekeCDB/incident 0 1 Diag Cdump /opt/oracle/diag/rdbms/jiekecdb/JiekeCDB/cdump 0 1 Health Monitor /opt/oracle/diag/rdbms/jiekecdb/JiekeCDB/hm 0 1 Default Trace File /opt/oracle/diag/rdbms/jiekecdb/JiekeCDB/trace/JiekeCDB_ora_6468.trc 0 1 Active Problem Count 0 0 1 Active Incident Count 0 0 1 ORACLE_HOME /opt/oracle/product/19c/dbhome_1 012?rows?selected.

對于 trace 文件也可以進入到 alert?日志目錄下查看,當然,這里還有一種辦法查看:

例如查看 lgwr 進程,然后通過進程號查看所在文件路徑。

[oracle@JiekeXu~]$ ps -ef | grep lgwroracle 6597 18080 0 18:03 pts/1 00:00:00 grep--color=auto lgwroracle 15429 1 0 Dec02 ? 00:01:19 ora_lgwr_JiekeCDB[oracle@JiekeXu~]$ find /opt -name *15429*.trc/opt/oracle/diag/rdbms/jiekecdb/JiekeCDB/trace/JiekeCDB_lgwr_15429.trc[oracle@JiekeXu~]$ tail -f /opt/oracle/diag/rdbms/jiekecdb/JiekeCDB/trace/JiekeCDB_lgwr_15429.trc***2020-12-13T10:35:33.746113+08:00 (CDB$ROOT(1))Adaptive scalableLGWR disabling workerskcrfw_slave_adaptive_updatemode:single->scalable redorate=78013 switch=668***2020-12-13T14:04:09.009604+08:00 (CDB$ROOT(1))Adaptive scalableLGWR enabling workerskcrfw_slave_adaptive_updatemode:scalable->single group0=22646 all=31422 rw=808 single=1436scalable_nopipe=1616 scalable_pipe=1212 scalable=1459***2020-12-14T22:00:12.018302+08:00 (CDB$ROOT(1))Adaptive scalableLGWR disabling workers

“Warning: logwrite broadcast wait time 65287ms” 這個警告是:當存儲延遲大于?500ms 時,會記錄在?lgwr trace?日志中,這里存儲方面應該有問題,需要排查延遲問題,我們生產環境里就出現了這樣的現象,這里不再闡述。

當然,對于 alert? 日志,通過參數 dump 也可查看日志位置。

?

當然 19C ASM 日志位置還是可以通過如下方法查看:

ASM 日志位置沒有變化:

/app/oracle/grid/diag/asm/+asm/+ASM1/trace/alert_+ASM1.log

不過集群日志位置根據前面提供

cd $ORACLE_HOME/log/hostname/?? --指主機名

如上圖,此目錄下已經沒有集群日志?alertJiekeXur1.log??了,crsd、cssd、gipcd??等集群進程目錄下也沒有相關日志信息了,那么集群日志到底在什么位置呢?我們來一起看看吧。

在?Oracle?中,各個組件(監聽器、數據庫實例、各種配置工具)在安裝和運行時都會有相應的日志Log和跟蹤文件Trace生成。Oracle 11g?之前,這些信息都是零散的分布在?Oracle?組件目錄中的。在11g,Oracle推出了ADR(Automatic Diagnostic Repository)的概念,將這些信息統一的列入到其中管理。

ADR 包含:trace:每個服務器和后臺進程都可以寫入關聯的 trace 文件。trace 文件在流程的整個生命周期內定期更新,可以包含有關流程環境、狀態、活動和錯誤的信息。此外,當進程檢測到嚴重錯誤時,它會將有關該錯誤的信息寫入其 trace 文件。

dumps:dumps 是一種特定類型的trace 文件。它通常是針對事件(如事件)的診斷數據的一次性輸出,而 trace file 往往是診斷數據的連續輸出。

core: core 文件包含一個內存轉儲,采用全二進制的格式。

Alert Log:告警日志,這個不用多說了吧。

sbtio.log 磁帶備份 IO相關日志,TSM,NBU 備份等均會寫日志到此文件。sbtio.log?的例子如下:

tail -f /app/oracle/diag/rdbms/orcl/orcl1/trace/sbtio.logSBT-14601 08/21/202019:38:59 remove2.cpp(314): sbtremove2(): Exit tdpoSession() failed, dsmHandle =1, rc = -50===========================================================Tracing startedfor:----------------------------------------------------------- Application Client : TDPO LinuxZ64 Version : 7.1.3.0===========================================================SBT-5957010/24/2020?20:00:50?send2.cpp(533):?sbtwrite2():?Exit?-?DSMSENDDATA()?failed.dsmHandle?=?1

下面我們看一下 ADR 目錄結構:?

例如一個 DB_UNIQUE_NAME 和 SID 都是orcl 的數據庫 ADR??家目錄是:/u01/app/oracle/diag/rdbms/orcl/orcl

?

每個子目錄的作用如下:

alert:XML格式的 alert log。

cdump:core 文件。

incident: 多個子目錄,其中每個子目錄都是針對特定事件命名的,每個子目錄只包含與該事件相關的轉儲。

trace: 后臺和服務器進程跟蹤文件、SQL跟蹤文件和文本格式的alert log。alert Log 包含有嚴重錯誤(事件)、管理操作,如啟動或關閉數據庫、恢復數據庫、創建或刪除表空間等、自動刷新實化視圖時出錯、其他數據庫事件。

others: ADR home的其他子目錄,存儲事件包、運行狀況監視報告、警報日志以外的日志(例如DDL日志和調試日志)以及其他信息。

在 Oracle 12c/ 19c 中,集群日志的位置在?ADR_HOME。$ADR_BASE/diag/crs/hostname/crs,我們可以證實,從?ADRCI??命令行,如下圖所示:

TEST1:[+ASM1]/home/grid$ asmcmd -Vasmcmd version19.6.0.0.0TEST1:[+ASM1]/home/grid$ asmcmd showversionASM version : 19.6.0.0.0TEST1:[+ASM1]/home/grid$ adrciADRCI: Release19.0.0.0.0 - Production on Tue Dec 29 11:02:14 2020Copyright (c)1982, 2019, Oracle and/or its affiliates. All rights reserved.ADR base ="/app/oracle/grid"adrci>adrci> showhome

這里便可以很容易找到各個日志,也能看到集群日志以及各個進程的信息日志,為我們分析問題提供更好的幫助。結合操作系統日志 /var/log/messages?加上 OSW、nmon 等工具一起分析問題效果更佳。

下面是 adrci 的一個簡單應用,show problems 查看集群中所有的問題,沒有問題則顯示“0 rows fetched“,

adrci> show problemsADR Home =/app/grid/diag/asm/+asm/+ASM1:*************************************************************************0 rows fetchedADR Home =/app/grid/diag/tnslsnr/Jieker1/listener:*************************************************************************0?rows?fetched

如果集群有問題會顯示如下信息,然后按照 problem id 將相關日志打包存到指定的目錄,如下是一個簡單示例:

ADR Home =/app/oracle/grid/diag/asm/+asm/+ASM1:*************************************************************************PROBLEM_ID PROBLEM_KEY LAST_INCIDENT LASTINC_TIME --------------------------------------------------------------------------------------------------- ----------------------------------------1 ORA 7445 [kghidmp_new] 158689 2020-10-10 10:17:21.841000 +08:00 adrci> sethomepath diag/crs/Jieker1/crsadrci> IPSCREATE PACKAGE PROBLEM 1Created package 1based on problem id 1, correlation level typicaladrci> ipsgenerate package 1 in /tmpGenerated package1 in file /tmp/IPSPKG_20201229110539_COM_1.zip, mode completeadrci> exit

?

當然,Oracle 也提供了一些很不錯的日志收集工具 TFA、ORAchk、EXAchk 等,更有強大的EM 監控工具。

Oracle Trace File Analyzer(TFA)簡單示例如下:

ps -ef | grep -itfa/bin/tfactl diagcollect -all -from ”Jun/19/2018 11:00:00“ -to” Jun/19/2018 14:00:00“/app/product/11.2.0/grid/tfa/Jieker1/tfa_home/bin/tfactl diagcollect -all -from "DEC/28/2020 09:30:00" -to "DEC/28/2020 11:00:00"--查看 TFA 運行情況Jieker1:~ # ps -ef| grep -i tfaroot 27780 60312 0 09:18 pts/0 00:00:00 grep -i tfaroot 66166 1 0 Jul17 ? 01:38:39 /bin/sh /etc/init.d/init.tfarungrid 66652 1 0 Jul17 ? 05:03:19 /bin/sh ./OSWatcher.sh 30 48NONE /app/grid/tfa/repository/suptools/Jieker1/oswbb/grid/archivegrid 67873 66652 0 Jul17 ? 00:42:05 /bin/sh ./OSWatcherFM.sh 48/app/grid/tfa/repository/suptools/Jieker1/oswbb/grid/archiveroot 78089 1 0 Jul17 ? 1-09:42:39 /app/product/11.2.0/grid/jdk/jre/bin/java-Xms128m -Xmx512m oracle.rat.tfa.TFAMain/app/product/11.2.0/grid/tfa/Jieker1/tfa_home--使用 TFA 收集一段時間的日志Jieker1:~ #/app/product/11.2.0/grid/tfa/Jieker1/tfa_home/bin/tfactl diagcollect -all -from"DEC/28/2020 09:30:00" -to "DEC/28/2020 11:00:00"Collecting datafor all components using above parameters...Collecting datafor all nodesScanning filesfrom DEC/28/2020 09:30:00 to DEC/28/2020 11:00:00Collection Id :20201229091823Jieker1RepositoryLocation in Jieker1 : /app/grid/tfa/repositoryCollection monitorwill wait up to 60 seconds for collections to start2020/12/29 09:18:25 CST : NOTE : Any file or directory name containing the string .comwill be renamed to replace .com with dotcom2020/12/29 09:18:25 CST : Collection Name : tfa_Tue_Dec_29_09_18_23_CST_2020.zip2020/12/29 09:18:25 CST : Sending diagcollect request to host : Jieker22020/12/29 09:18:25 CST : Scanning of files for Collection in progress...2020/12/29 09:18:25 CST : Collecting extra files...2020/12/29 09:19:33 CST : Getting list of files satisfying time range [12/28/2020 09:30:00CST, 12/28/2020 11:00:00 CST]2020/12/29 09:19:33 CST : Starting Thread to identify stored files to collect2020/12/29 09:19:33 CST : Getting List of Files to Collect …………2020/12/29 09:21:17 CST : Zip file size : 8.5MB2020/12/29 09:21:17 CST : Total time taken : 172s2020/12/29 09:21:17 CST : Remote Collection in Progress...2020/12/29 09:21:17 CST : Jieker2:Completed Collection2020/12/29 09:21:17 CST : Completed collection of zip files.Logs are beingcollected to:/app/grid/tfa/repository/collection_Tue_Dec_29_09_18_23_CST_2020_node_all/app/grid/tfa/repository/collection_Tue_Dec_29_09_18_23_CST_2020_node_all/Jieker1.tfa_Tue_Dec_29_09_18_23_CST_2020.zip/app/grid/tfa/repository/collection_Tue_Dec_29_09_18_23_CST_2020_node_all/Jieker2.tfa_Tue_Dec_29_09_18_23_CST_2020.zip--簡單查看日志路徑及內容Jieker1:/app/grid/tfa/repository/collection_Tue_Dec_29_09_18_23_CST_2020_node_all# ls -lrttotal 16612-rwx------ 1 rootroot 1198 Dec 29 09:19Jieker1.tfa_Tue_Dec_29_09_18_23_CST_2020.zip.txt-rwx------ 1 rootroot 1186 Dec 29 09:20Jieker2.tfa_Tue_Dec_29_09_18_23_CST_2020.zip.txt-rwx------ 1 rootroot 8411861 Dec 29 09:20 Jieker2.tfa_Tue_Dec_29_09_18_23_CST_2020.zip-rwx------ 1 rootroot 3257 Dec 29 09:20diagcollect_20201229091823_Jieker2.log-rwx------ 1 rootroot 8545429 Dec 29 09:21 Jieker1.tfa_Tue_Dec_29_09_18_23_CST_2020.zip-rwx------ 1 rootroot 4613 Dec 29 09:21diagcollect_20201229091823_Jieker1.log

以上是簡單示例,還有更多詳細內容可查官方文檔,19C?新特性系列中對于?TFA 也有所增強,感興趣的可自行查看。

Oracle ORAchk and Oracle EXAchk

Oracle ORAchk?和?OracleEXAchk?為?Oracle?軟件和硬件組件堆棧提供了一個輕量級和非侵入性的健康檢查框架。

Oracle ORAchk?和?Oracle EXAchk:

  • 在業務受到影響之前自動識別風險和主動通知

  • 基于嚴重和反復出現的問題運行運行狀況檢查

  • 針對已知問題,提供有關系統運行狀況風險和漏洞的高級報告

  • 使您能夠深入研究特定的問題并理解它們的解決方案

  • 使您能夠定期安排重復的運行狀況檢查

  • 在守護模式下運行時發送電子郵件通知和diff報告

  • 將發現集成到Oracle健康檢查集合管理器和您選擇的其他工具中

  • 在您的環境中運行,不需要向Oracle發送任何東西

Oracle ORAchk?和?OracleEXAchk?平時沒有涉及到,這里也就不在敘述了,更多信息可查看官方文檔,今天就到這里了。如果本文對您有一丁點兒幫助,請多支持“在看”與轉發,都看到這里了哪怕是一個小小的贊,您的鼓勵都將是我寫文章最大的鼓勵,讓我有一直寫下去的動力,最后一起加油,奧利給!

參考鏈接:

https://docs.oracle.com/en/database/oracle/oracle-database/19/newft/index.html

https://www.modb.pro/db/41837

————————————————————————————
公眾號:JiekeXu之路
墨天輪:https://www.modb.pro/u/4347
CSDN :https://blog.csdn.net/JiekeXu
騰訊云:https://cloud.tencent.com/developer/user/5645107
————————————————————————————

Oracle 12c 及以上版本補丁更新說明及下載方法(收藏版)

Oracle 21C 新特性:數據泵相關新特性匯總

使用數據泵導出時遇到 ORA-27054 錯誤解決辦法

案例|RAC 添加表空間誤將數據文件放本地處理辦法

11g RAC 在線存儲遷移實現 OCR 磁盤組完美替換

震驚:Oracle 11gR2 RAC ADG 并沒有高可用

如何通過 Shell 監控異常等待事件和活躍會話?

我的 OCM 之路|書寫無悔青春追夢永不止步

Oracle 19c 之多租戶 PDB 連接與訪問(三)

Oracle 12C 最新補丁下載與安裝操作指北

DBA 常用的軟件工具有哪些(分享篇)?

深入了解 Oracle Flex ASM 及其優點

Oracle 11g 臨時表空間管理

Oracle 每日一題系列合集

總結

以上是生活随笔為你收集整理的12c集群日志位置_Oracle 19C RAC 集群日志位置变化的全部內容,希望文章能夠幫你解決所遇到的問題。

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