Oracle 10G DG 修復從庫-磁盤空間爆滿導致從庫無法工作

一、背景

由于近期在做應用升級和系統改造,導致幾天沒怎么觀察DG庫的狀態。這幾天歸檔日志暴漲導致磁盤空間用盡,從庫無法接收主庫的歸檔日志,且從庫無法工作。經過檢查,發現從庫所需要的日志在主庫均存在。所以當前文檔使用歸檔日志的方式進行恢復

二、DG從庫基于歸檔日志恢復

1、臨時手動刪除

  • 手動刪除無用文件、超過保留期限且占用空間大的備份文件、歸檔日志、數據庫日志、審計日志等。

2、從庫取消日志同步

 SQL>alter database recover managed standby database cancel;

3、查詢未同步的日志

# 主庫查詢歸檔日志序號
SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /data/oracle/archive
Oldest online log sequence     115312
Next log sequence to archive   115314
Current log sequence           115314# 從庫查詢歸檔日志應用情況
SQL>select SEQUENCE#,FIRST_TIME,NEXT_TIME ,APPLIED from v$archived_log order by 1;SEQUENCE# FIRST_TIME   NEXT_TIME    APPLIED
---------- ------------ ------------ ---------115211 27-MAR-25    27-MAR-25    YES115212 27-MAR-25    27-MAR-25    YES115213 27-MAR-25    27-MAR-25    NO# 從庫檢查歸檔日志物理存儲
注意:此處可以根據歸檔日志產生時間以及編號,來交叉驗證缺少的歸檔日志
$ cd /data/oracle/archive

4、主庫查詢
注意:此處需要校驗從庫缺少的歸檔日志是否存在。如果存在則可以使用歸檔進行直接恢復。如果不存在則需要考慮使用其它方法恢復。但是當前文檔是基于歸檔日志進行恢復的。

  • 基于SCN增量備份進行恢復
  • 使用完全備份直接恢復
注意:此處可以根據歸檔日志產生時間以及編號,來確認從庫缺少的歸檔日志是否存在,
$ cd /data/oracle/archive# 經檢查,從庫缺失的歸檔日志在主庫還存在

5、從庫查看歸檔日志
注意:這里查看歸檔日志的目的,是看從庫從哪個歸檔日志斷開的,最后應用的歸檔日志可能未完全應用。
經確認從庫 115213 號歸檔日志僅應用了一半,所以此處先移動該日志到其它路徑下,主庫發送完整日志到該路徑下 ,同時更改權限

6、從庫重啟日志同步
注意:由于10G DG在自動斷開同步的情況下,重啟MRP進程后,需要在主庫執行從庫歸檔路徑參數關閉再開啟

# 主庫發送歸檔日志到從庫
$ scp 115213.arc [從庫IP]:/data/oracle/archive# 從庫更改權限
$ chown oracle:dba 115213.arc# 從庫重啟MRP進程
SQL>alter database recover managed standby database using current logfile disconnect from session;

7、主庫執行參數更改
注意:此處需要查看主庫指定的從庫歸檔參數是哪個,才能準確重啟歸檔參數

# 主庫中指定的從庫歸檔參數
log_archive_dest_2='SERVICE=ORCL LGWR ASYNC VALID_FOR=(all_logfiles,all_roles) DB_UNIQUE_NAME=DGS'# 根據指定參數重啟開關
SQL>alter system set log_archive_dest_state_2=defer;
SQL>alter system set log_archive_dest_state_2=enable;

8、查看歸檔應用
注意:此處明確看到正在恢復,所以只需要等待恢復完成即可

$ tail -f alert_ORCL.log2025-03-27T11:28:47.526421+08:00
PR00 (PID:2359): Media Recovery Log /data/oracle/archive/oatest_1_115213_1056118119.arc
PR00 (PID:2359): Media Recovery Waiting for T-1.S-115213 (in transit)
2025-03-27T11:29:22.175855+08:00rfs (PID:31442): Opened log for T-1.S-115214 dbid 1148449189 branch 1056118119

三、永久解決磁盤爆滿的方案

上述臨時解決磁盤空間爆滿的方式,顯然這不是我們DBA的風格,DBA的風格都是追求自動化,所有的一切只需要經過簡單的手動處理就可以達到一勞永逸

1、定期自動化刪除

  • 創建刪除腳本
  • 加入crontab,實現定期自動化執行

定期自動化的操作流程

1、創建刪除腳本
注意:此處根據歸檔保留策略而定即可。如果確定可以刪除,那么可直接刪除保留策略前的日志。或者將這部分日志移動、發送到其它路徑或者服務器保存。

#!/bin/bash
#############################################################################
#
#Author:Albert
#Date:27-Mar-25
#
# Main purpose:This script is used to delete expired files.
#
#
#############################################################################
# Parameter
logpath="/data/scripts/scripts_db"
CURTIME=`date +%Y%m%d%H%M%S`
delF_log="$logpath/del_file_list_30.log"export week=`date +%w`if [ ! -f $delF_log ]; then
touch $delF_log
chmod 777 $delF_log
else
rm -rf $delF_log
touch $delF_log
chmod 777 $delF_log
fi#if [ $week -ne 0 ] ; then
#  echo "Today cannot Sunday:$week" >> $delF_log
#  exit 0
#fipad=$(printf '%0.1s' "-"{1..60})folList[0]="[需要刪除的文件的路徑]"echo "Delete 30 days before file " >> $delF_log
echo "Perform Date :"$CURTIME >> $delF_log
echo "$pad" >>$delF_log
for i in ${folList[@]}
do
echo "Location is :  $i " >>$delF_log
find $i -type d -mtime +30 >> $delF_log
find $i -type f -mtime +30 >> $delF_log
find $i -type f -mtime +30 -exec rm -rf  {} \;
done
echo "$pad" >>$delF_log
echo "Complete Time :"$CURTIME >> $delF_log

2、加入定時計劃

[oracle@hekdwdg ~]$ crontab -e
00 22 * * * sh /data/scripts/del_file_list_30.sh# 重啟定時任務即可
[oracle@hekdwdg ~]$service crond restart

3、一勞永逸
實現自動化檢查、刪除,就可以釋放雙手了。去干想干的事情。

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

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

相關文章

【踩坑系列】使用httpclient調用第三方接口返回javax.net.ssl.SSLHandshakeException異常

1. 踩坑經歷 最近做了個需求,需要調用第三方接口獲取數據,在聯調時一直失敗,代碼拋出javax.net.ssl.SSLHandshakeException異常, 具體錯誤信息如下所示: javax.net.ssl.SSLHandshakeException: sun.security.validat…

算法基礎——模擬

目錄 1 多項式輸出 2.蛇形方陣 3.字符串的展開 模擬,顧名思義,就是題?讓你做什么你就做什么,考察的是將思路轉化成代碼的代碼能?。這類題?般較為簡單,屬于競賽??的簽到題(但是,萬事?絕對&#xff…

PrimeTime生成.lib竟暗藏PG添加Bug

在primeTime里生成lib,如何能帶上相關的pg信息? 這是一位群友的發問,就這個問題總結了下可能的原因和解決步驟: 概念 PrimeTime是Synopsys的靜態時序分析工具,通常用于在設計的各個階段進行時序驗證。 1&#xff09…

yolo系列算法最新進展

YOLO(You Only Look Once)系列算法作為目標檢測領域的代表性模型,自2016年推出以來不斷迭代,在速度與精度之間尋求平衡。截至2024年,其最新進展主要集中在以下幾個方面: ?1. YOLOv8 的優化與擴展? ?官方…

動態規劃:路徑類dp

路徑類dp 1.矩陣的最小路徑和_牛客題霸_牛客網 #include<iostream> #include<cstring> using namespace std;const int N 510; int f[N][N]; int n, m;int main() {cin >> n >> m;memset(f, 0x3f3f3f, sizeof(f));f[0][1] 0;for (int i 1; i < …

性能測試理論基礎-性能指標及jmeter中的指標

1、什么是性能測試 通過一定的手段,在多并發下情況下,獲取被測系統的各項性能指標,驗證被測系統在高并發下的處理能力、響應能力,穩定性等,能否滿足預期。定位性能瓶頸,排查性能隱患,保障系統的質量,提升用戶體驗。 2、什么樣的系統需要做性能測試 用戶量大,頁面訪問…

Debian,Ubuntu,設置/etc/vim/vimrc.tiny解決:上下左右變成ABCD,backspace退格鍵失效的問題

Debian,Ubuntu,用設置/etc/vim/vimrc.tiny解決:上下左右變成ABCD,backspace退格鍵失效的問題 Debian,Ubuntu, 默認的vi 在編輯模式下的上下左右變成ABCD , 退格鍵也失效 解決辦法1, 卸載重裝vim sudo apt remove vim; sudo apt install -y vim解決辦法2: 修改 /etc/vim/vimr…

Redis 單機16個db,集群只有一個的基本知識

目錄 前言1. 基本知識2. 配置 前言 &#x1f91f; 找工作&#xff0c;來萬碼優才&#xff1a;&#x1f449; #小程序://萬碼優才/r6rqmzDaXpYkJZF 爬蟲神器&#xff0c;無代碼爬取&#xff0c;就來&#xff1a;bright.cn Java基本知識&#xff1a; java框架 零基礎從入門到精通…

藍橋杯C++基礎算法-多重背包(優化)

這段代碼實現了一個多重背包問題的動態規劃解法&#xff0c;并且使用了二進制拆分&#xff08;或稱二進制優化&#xff09;來優化物品的數量處理。這種方法可以顯著減少狀態轉移的次數&#xff0c;提高算法的效率。以下是代碼的詳細思路解析&#xff1a; 1. 問題背景 給定 n 個…

FALL靶機攻略

1.下載靶機&#xff0c;導入靶機 下載地址&#xff1a;https://download.vulnhub.com/digitalworld/FALL.7z 開啟靶機。 2. 靶機、kali設置NAT網卡模式 3. kali掃描NAT網卡段的主機 kali主機 nmap掃描&#xff1a;nmap 192.168.92.1/24 判斷出靶機ip是192.168.92.133。開啟…

notepad++代碼查看器分享

文章目錄 &#x1f4dd; Notepad 簡介&#x1f527; 主要特點打開.c文件示意高亮語法展示全局替換功能展示 &#x1f4dd; Notepad 簡介 Notepad 是一款 免費的開源文本編輯器和源代碼編輯器&#xff0c;運行在 Windows 系統上。 它是對 Windows 自帶“記事本”的增強版本&…

詳細介紹Spring MVC的執行流程是怎么樣的?

Spring MVC 是 Spring 框架的一部分&#xff0c;用于構建 Web 應用程序。它的執行流程如下&#xff1a; 前端控制器&#xff08;DispatcherServlet&#xff09;接收請求&#xff1a;用戶通過瀏覽器發送 HTTP 請求到服務器&#xff0c;請求首先被前端控制器 DispatcherServlet 接…

MySQL中的內連接與外連接詳解:基礎與進階應用

文章目錄 表的內連和外連&#xff08;重點&#xff09;內連接外連接左外連接右外連接 簡單回顧 表的內連和外連&#xff08;重點&#xff09; 表的連接分為內連和外連 內連接 內連接實際上就是利用where子句對兩種表形成的笛卡兒積進行篩選&#xff0c;我們前面學習的查詢都…

動態內存分配與內存對齊

在C語言及其他低級編程語言中,內存管理是一個至關重要的主題。動態內存分配和內存對齊是確保程序高效和穩定運行的關鍵因素。本文將深入探討動態內存分配的原理,內存對齊的概念,并解釋它們如何共同影響程序的性能和資源利用。 一、動態內存分配簡介 1.1 動態內存分配的概念…

Milvus×最新版DeepSeek v3:對標Claude,本地數據五分鐘寫網站

前言 就在昨晚&#xff0c;DeepSeek v3推出了新版本V3-0324&#xff0c;再次一夜爆火。 雖然官方表示“這只是一次小升級”“API接口和使用方式不變”&#xff0c;但經過Zilliz的第一時間實測&#xff0c;我們發現無論是邏輯能力&#xff0c;還是編程能力&#xff0c;相較原本的…

6.M-LAG專題

M-LAG 的作用及特點 能不能簡單的描述以下M-LAG的工作原理? 跨設備鏈路聚合&#xff0c;將兩臺物理設備在聚合層面虛擬成一臺設備來實現跨設備鏈路聚合&#xff0c;從而提供設備級冗余保護和流量負載分擔 M-LAG(跨設備鏈路聚合)是基于IEEEP802.1A協議的跨設備鏈路聚合技術。…

每日免費分享之精品wordpress主題系列~DAY16

主題介紹&#xff1a; 今日在網上尋找wordpress主題的時候逛到了大叔的網站&#xff0c;趕腳這個主題蠻不錯的&#xff0c;于是百度一下&#xff0c;果然&#xff0c;這個主題很受歡迎。作為主題下載站追夢者也不甘落后&#xff0c;馬上就發布出來了&#xff0c;希望對你們有用…

LeeCode 383. 贖金信

給你兩個字符串&#xff1a;ransomNote 和 magazine &#xff0c;判斷 ransomNote 能不能由 magazine 里面的字符構成。 如果可以&#xff0c;返回 true &#xff1b;否則返回 false 。 magazine 中的每個字符只能在 ransomNote 中使用一次。 示例 1&#xff1a; 輸入&#…

目標檢測20年(一)

今天看的文獻是《Object Detection in 20 Years: A Survey》&#xff0c;非常經典的一篇目標檢測文獻&#xff0c;希望通過這篇文章學習到目標檢測的基礎方法并提供一些創新思想。 論文鏈接&#xff1a;1905.05055 目錄 一、摘要 1.1 原文 1.2 翻譯 二、介紹 三、目標檢測…

分割 / 合并大文件的簡單 python 代碼

使用方法 分割: python fs.py -n <分割后的文件個數> <要分割的文件> 合并: python fs.py -m <分割文件1> <分割文件2> ... 示例 PS C:\Users\Administrator\Desktop> python fs.py 使用方法: 分割: python fs.py -n <分割后的文件個數> &…