oracle主備切換參考

主備正常切換操作參考:RAC兩節點->單機

(rac和單機的操作區別:就是關閉其它節點,剩一個節點操作即可)?

1.主庫準備

檢查狀態

SQL> select inst_id,database_role,OPEN_MODE from? gv$database;

?? INST_ID DATABASE_ROLE??? OPEN_MODE

---------- ---------------- --------------------

???????? 2 PRIMARY????????? READ WRITE

???????? 1 PRIMARY????????? READ WRITE

停掉一個實例:

[oracle@tyzfdb02 ~]$ srvctl stop instance -d tyzfdb -i tyzfdb2

SQL> select inst_id,database_role,OPEN_MODE from? gv$database;

?? INST_ID DATABASE_ROLE??? OPEN_MODE

---------- ---------------- --------------------

???????? 1 PRIMARY????????? READ WRITE

2.備庫準備

SQL> select inst_id,database_role,OPEN_MODE from? gv$database;

?? INST_ID DATABASE_ROLE??? OPEN_MODE

---------- ---------------- --------------------

???????? 1 PHYSICAL STANDBY READ ONLY WITH APPLY

--取消備庫日志應用: --可選

--SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

--繼續應用日志: --可選

--SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;

3.主庫切換日志:

主庫切換日志,觀察備庫alert是否正常同步

--主庫

SQL> alter system switch logfile;

System altered.

SQL> /

System altered.

4.備庫確認同步正常

[oracle@adg trace]$ tail -f alert_tyzfdb.log

Tue Jun 25 15:35:27 2013

Media Recovery Waiting for thread 2 sequence 1630 (in transit)

Recovery of Online Redo Log: Thread 2 Group 72 Seq 1630 Reading mem 0

? Mem# 0: +DATA/tyzfdb_adg/onlinelog/group_72.1575.818724653

Tue Jun 25 15:35:30 2013

Archived Log entry 4890 added for thread 2 sequence 1629 ID 0x3545ffea dest 1:

上述信息Recovery of Online表示主備日志傳輸應用正常

5.主庫切換

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS

--------------------

TO STANDBY

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO STANDBY WITH SESSION SHUTDOWN;

6.備庫切換

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS

--------------------

TO PRIMARY

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

SQL> ALTER DATABASE OPEN;

SQL> select inst_id,database_role,OPEN_MODE from? gv$database;

7.繼續處理主庫變成備庫:

SQL> shutdown immediate

ORA-01092: ORACLE instance terminated. Disconnection forced

SQL> exit

[oracle@tyzfdb01 ogg]$ sqlplus / as sysdba

SQL> startup mount

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE cancel;

SQL> alter database open;

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;

8.主庫啟動節點2

[oracle@tyzfdb01 ~]$ srvctl start instance -d tyzfdb -i tyzfdb2

9.相關參考:

Performing Role Transitions Using Old Syntax
11G RAC TO 11G RAC ADG SWITCHOVER
19c ADG Switchover 切換測試 - AlfredZhao - 博客園
一條命令進行19C ADG主備切換 - 墨天輪

19c adg參考:

環境未配置DG Broker,手工切換ADG,19c也要比11g時代的切換更簡單。
使用自己的測試環境,具體可參見:?
單實例Primary快速搭建Standby RAC參考手冊(19.16 ADG)

1.主庫demo切換到RAC環境demorac:

在主庫demo執行命令:

SQL>

alter database switchover to demorac verify;

alter database switchover to demorac;

執行命令之后,原主庫demo將會關閉,原備庫demorac會重新啟動到mount狀態,且變成新主庫角色;

此時需要手工在新主庫demorac上執行命令:

SQL>

alter database open;

打開數據庫。

然后手工將原主庫demo進行startup,承擔新備庫角色,并開啟實時應用:

SQL>

startup

recover managed standby database disconnect;

注意:19c ADG 在未配置DG Broker的情況下,也很簡單實現了主備角色互換,只需手工處理下開庫的動作。
此外,與11g ADG不同,現在MRP進程默認就是開啟實時應用(前提是準備工作做好),也就是說:

備庫MRP實時開啟默認無需指定?using current logfile?關鍵字。
默認即是,如果不想實時,指定?
using archived logfile?關鍵字。

2.主庫demorac切換回單實例環境demo:

主要就是指向的db_unique_name更改,其他操作都一樣。

在主庫demorac執行命令:

SQL>

alter database switchover to demo verify;

alter database switchover to demo;

執行命令之后,原主庫demorac將會關閉,原備庫demo會重新啟動到mount狀態,且變成新主庫角色;

此時需要手工在新主庫demo上執行命令:

SQL>

alter database open;

打開數據庫。

然后手工將原主庫demorac進行startup,承擔新備庫角色,并開啟實時應用:

[oracle@db01rac1 ~]$

srvctl start database -d demorac

SQL>recover managed standby database disconnect;

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

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

相關文章

端到端自動駕駛系統實戰指南:從Comma.ai架構到PyTorch部署

引言:端到端自動駕駛的技術革命 在自動駕駛技術演進歷程中,端到端(End-to-End)架構正引領新一輪技術革命。不同于傳統分模塊處理感知、規劃、控制的方案,端到端系統通過深度神經網絡直接建立傳感器原始數據到車輛控制…

使用 Kotlin 和 Jetpack Compose 開發 Wear OS 應用的完整指南

環境配置與項目搭建 1. Gradle 依賴配置 // build.gradle (Module) android {buildFeatures {compose true}composeOptions {kotlinCompilerExtensionVersion "1.5.3"} }dependencies {def wear_compose_version "1.2.0"implementation "androidx.…

應用層協議簡介:以 HTTP 和 MQTT 為例

文章目錄 應用層協議簡介:什么是應用層協議?為什么需要應用層協議?什么是應用層協議?為什么需要應用層協議? HTTP 協議詳解HTTP 協議特點HTTP 工作的基本原理HTTP 請求與響應示例為什么 Web 應用基于 HTTP 請求&#x…

Kafka快速安裝與使用

引言 這篇文章是一篇Ubuntu(Linux)環境下的Kafka安裝與使用教程,通過本文,你可以非常快速搭建一個kafka的小單元進行日常開發與調測。 安裝步驟 下載與解壓安裝 首先我們需要下載一下Kafka,這里筆者采用wget指令: wget https:…

PD 分離推理的加速大招,百度智能云網絡基礎設施和通信組件的優化實踐

為了適應 PD 分離式推理部署架構,百度智能云從物理網絡層面的「4us 端到端低時延」HPN 集群建設,到網絡流量層面的設備配置和管理,再到通信組件和算子層面的優化,顯著提升了上層推理服務的整體性能。 百度智能云在大規模 PD 分離…

flutter Stream 有哪兩種訂閱模式。

Flutter 中的 Stream 有兩種訂閱模式: ?單訂閱模式 (Single Subscription)?? 只能有一個訂閱者(listen 只能調用一次),后續調用會拋出異常。數據僅在訂閱后開始傳遞,適用于點對點通信場景(如文件讀取流…

Python爬蟲實戰:研究JavaScript 環境補全逆向解密

1. 引言 1.1 研究背景與意義 隨著互聯網的快速發展,大量有價值的數據被發布在各種網站上。然而,為了保護數據安全和商業利益,許多網站采用了 JavaScript 加密技術對敏感數據進行保護。這些加密技術使得傳統的爬蟲技術難以直接獲取和解析數據,給數據采集工作帶來了巨大挑戰…

[system-design] ByteByteGo_Note Summary

目錄 通信協議 REST API 與 GraphQL gRPC 如何工作? 什么是Webhook? 如何提高應用程序接口的性能? HTTP 1.0 -> HTTP 1.1 -> HTTP 2.0 -> HTTP 3.0 (QUIC) SOAP vs REST vs GraphQL vs RPC 代碼優先與應用程序接口優先 HTT…

Linux中的進程

進程控制 fork 函數 fork 函數從已存在的進程中創建新的進程,已存在進程為父進程,新創建進程為子進程 fork 的常規用法 一個父進程希望復制自己,使父子進程同時執行不同的代碼段。例如,父進程等待客戶端請求,生成子…

EDR與XDR如何選擇適合您的網絡安全解決方案

1. 什么是EDR? 端點檢測與響應(EDR) 專注于保護端點設備(如電腦、服務器、移動設備)。通過在端點安裝代理軟件,EDR實時監控設備活動,檢測威脅并快速響應。 EDR核心功能 實時監控:…

AGI大模型(21):混合檢索之混合搜索

為了執行混合搜索,我們結合了 BM25 和密集檢索的結果。每種方法的分數均經過標準化和加權以獲得最佳總體結果 1 代碼 先編寫 BM25搜索的代碼,再編寫密集檢索的代碼,最后進行混合。 from rank_bm25 import BM25Okapi from nltk.tokenize import word_tokenize import jieb…

2025最新的軟件測試面試大全(含答案+文檔)

一、軟件測試基礎面試題 1、闡述軟件生命周期都有哪些階段? 常見的軟件生命周期模型有哪些? 軟件生命周期是指一個計算機軟件從功能確定設計,到開發成功投入使用,并在使用中不斷地修改、增補和完善,直到停止該軟件的使用的全過程(從醞釀到…

C++.神經網絡與深度學習(二次修改)

神經網絡與深度學習 1. 神經網絡基礎1.1 神經元模型與激活函數1.2 神經網絡結構與前向傳播2.1 損失函數與優化算法均方誤差損失函數交叉熵損失函數梯度下降優化算法2.2 反向傳播與梯度計算神經元的反向傳播3.1 神經元類設計與實現神經元類代碼實現代碼思路3.2 神經網絡類構建神…

FPGA圖像處理(六)------ 圖像腐蝕and圖像膨脹

默認迭代次數為1,只進行一次腐蝕、膨脹 一、圖像腐蝕 1.相關定義 2.圖像腐蝕效果圖 3.fpga實現 彩色圖像灰度化,灰度圖像二值化,圖像緩存生成濾波模塊(3*3),圖像腐蝕算法 timescale 1ns / 1ps // // Des…

中國版Cursor:CodeBuddy騰訊云代碼助手使用體驗

我正在參加CodeBuddy「首席試玩官」內容創作大賽,本文所使用的 CodeBuddy 免費下載鏈接:騰訊云代碼助手 CodeBuddy - AI 時代的智能編程伙伴” 1.CodeBuddy簡介 騰訊云代碼助手CodeBuddy,這個是一款編程插件,我們可以在各個編程…

Go語言 GORM框架 使用指南

在 Go 語言社區中,數據庫交互一直是開發者們關注的重點領域,不同開發者基于自身的需求和偏好,形成了兩種主要的技術選型流派。一部分開發者鐘情于像sqlx這類簡潔的庫,盡管其功能并非一應俱全,但它賦予開發者對 SQL 語句…

從零開始學習three.js(18):一文詳解three.js中的著色器Shader

在WebGL和Three.js的3D圖形渲染中,著色器(Shader) 是實現復雜視覺效果的核心工具。通過編寫自定義的著色器代碼,開發者可以直接操作GPU,實現從基礎顏色渲染到動態光照、粒子效果等高級圖形技術。本文將深入解析Three.j…

Python函數庫調用實戰:以數據分析為例

一、引言 Python之所以在編程領域廣受歡迎,很大程度上得益于其豐富且強大的函數庫。這些函數庫涵蓋了從數據分析、科學計算到Web開發、機器學習等眾多領域,極大地提高了開發效率。本文將以數據分析為例,介紹如何調用Python的一些常用函數庫。…

shell腳本之條件判斷,循環控制,exit詳解

if條件語句的語法及案例 一、基本語法結構 1. 單條件判斷 if [ 條件 ]; then命令1命令2... fi2. 雙分支(if-else) if [ 條件 ]; then條件為真時執行的命令 else條件為假時執行的命令 fi3. 多分支(if-elif-else) if [ 條件1 ]…

現代 Web 自動化測試框架對比:Playwright 與 Selenium 的深度剖析

現代 Web 自動化測試框架對比:Playwright 與 Selenium 的深度剖析 摘要:本文對 Playwright 與 Selenium 在開發適配性、使用難度、場景適用性及性能表現等方面進行了全面深入的對比分析。通過詳細的技術實現細節闡述與實測數據支撐,為開發者…