1. 程式人生 > >Oracle 資料庫多路歸檔,防止單點故障

Oracle 資料庫多路歸檔,防止單點故障

一、通常用來解決如下問題:

單個歸檔目錄滿導致資料庫hang的問題
歸檔多路徑,防止單點故障


二、多路徑歸檔的實現如下通過以下兩個引數來控制,具體如下:

LOG_ARCHIVE_DEST_n           ---使用LOG_ARCHIVE_DEST_n引數定義多個歸檔路徑
log_archive_min_succeed_dest

三、引數說明: 

LOG_ARCHIVE_DEST_n    引數定義多個歸檔路徑,使用初始化引數LOG_ARCHIVE_DEST_n配置歸檔位置時,可以在歸檔位置上指定OPTIONAL或MANDATORY選項.指定MANDATORY選項時,可以設定REOPEN屬性。

OPTIONAL:該選項是預設選項.使用該選項時,無論歸檔是否成功,都可以覆蓋重做日誌。
MANDATORY:強制歸檔.使用該選項時,只有在歸檔成功之後,重做日誌才能被覆蓋。
REOPEN:該屬性用於指定重新歸檔的時間間隔,預設值為300秒,必須跟在MANDATORY後。

LOG_ARCHIVE_MIN_SUCCEED_DEST   引數控制本地歸檔的最小成功個數 

四、實驗步驟:

如果要解決歸檔空間滿或者某路徑歸檔滿的問題,可以設定兩個歸檔路徑,路徑為可選optional,且log_archive_min_succeed_dest引數設定為1,即可解決相關問題。缺點是兩個目錄都正常情況下,需要歸檔兩份歸檔日誌。具體實驗步驟如下:

1,修改為多路徑模式,每個路徑為可選,但至少一個是成功才可以日誌覆蓋:

SQL> alter systemset log_archive_dest_1='location=/oracle/archive/arch1 optional';

System altered.

SQL> alter systemset log_archive_dest_2='location=/oracle/archive/arch2 optional';

System altered.

SQL> showparameter log_archive_min_succeed_dest

NAME                                TYPE        VALUE

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

log_archive_min_succeed_dest        integer     1

2,經過多檔測試,均可成功進行歸檔:

SQL> alter systemswitch logfile;

System altered.

[[email protected] arch1]#ls -l /oracle/archive/arch*

/oracle/archive/arch1:

total 389564

-rw-r----- 1 oracle oinstall 397999616 May 14 17:05 1_211_740745127.dbf
-rw-r----- 1 oracle oinstall    507904 May 14 17:06 1_212_740745127.dbf

/oracle/archive/arch2:

total 389564

-rw-r----- 1 oracle oinstall 397999616 May 14 17:05 1_211_740745127.dbf
-rw-r----- 1 oracle oinstall    507904 May 14 17:06 1_212_740745127.dbf

 
3,修改arch1的許可權,是不能歸檔到arch1,繼續歸檔,發現只能歸檔到arch2,當資料庫歸檔正常。

[[email protected]]# chown -R root:root ./arch1

[[email protected]]# ls -lrt

SQL> alter systemswitch logfile;

System altered.

[[email protected]]# ls -l /oracle/archive/arch*

/oracle/archive/arch1:

total 389564

-rw-r----- 1 root root 397999616 May 14 17:05 1_211_740745127.dbf
-rw-r----- 1 root root    507904 May 14 17:06 1_212_740745127.dbf

/oracle/archive/arch2:

total 390272

-rw-r----- 1 oracle oinstall 397999616 May 14 17:05 1_211_740745127.dbf
-rw-r----- 1 oracle oinstall    507904 May 14 17:06 1_212_740745127.dbf
-rw-r----- 1 oracle oinstall    351744 May 14 17:08 1_213_740745127.dbf
-rw-r----- 1 oracle oinstall    332800 May 14 17:08 1_214_740745127.dbf
-rw-r----- 1 oracle oinstall      2560 May 14 17:08 1_215_740745127.dbf
-rw-r----- 1 oracle oinstall      6656 May 14 17:08 1_216_740745127.dbf

4,修改回許可權,2個路徑的歸檔又恢復正常

[[email protected]]# chown -R oracle:oinstall /oracle/archive/arch1
[[email protected]]# ls -l /oracle/archive/arch*

/oracle/archive/arch1:

total 389788

-rwxr-xr-x 1 oracle oinstall 397999616 May 14 17:05 1_211_740745127.dbf
-rwxr-xr-x 1 oracle oinstall    507904 May 14 17:06 1_212_740745127.dbf
-rw-r----- 1 oracle oinstall    220672 May 14 17:14 1_219_740745127.dbf

/oracle/archive/arch2:

total 391464

-rw-r----- 1 oracle oinstall 397999616 May 14 17:05 1_211_740745127.dbf
-rw-r----- 1 oracle oinstall    507904 May 14 17:06 1_212_740745127.dbf
-rw-r----- 1 oracle oinstall    351744 May 14 17:08 1_213_740745127.dbf
-rw-r----- 1 oracle oinstall    332800 May 14 17:08 1_214_740745127.dbf
-rw-r----- 1 oracle oinstall      2560 May 14 17:08 1_215_740745127.dbf
-rw-r----- 1 oracle oinstall      6656 May 14 17:08 1_216_740745127.dbf
-rw-r----- 1 oracle oinstall    628736 May 14 17:11 1_217_740745127.dbf
-rw-r----- 1 oracle oinstall    342528 May 14 17:12 1_218_740745127.dbf
-rw-r----- 1 oracle oinstall    220672 May 14 17:14 1_219_740745127.dbf

相關推薦

Oracle 資料庫歸檔防止故障

一、通常用來解決如下問題: 單個歸檔目錄滿導致資料庫hang的問題 歸檔多路徑,防止單點故障 二、多路徑歸檔的實現如下通過以下兩個引數來控制,具體如下: LOG_ARCHIVE_DEST_n    

用Keepalived搭建雙Nginx server叢集 防止故障

                綜述:瀏覽器訪問虛擬IP: 192.168.1.57, 該虛擬IP被Keepalived接管,兩個Keepalived程序分別執行在物理IP為192.168.1.56和192.168.1.59伺服器上,這兩個伺服器上都執行著Nginx server。Nginx server都監

keepAlived應用於HaProxy的主備自動切換實現高可用避免故障

前言 對於訪問量較大的網站來說,隨著流量的增加單臺伺服器已經無法處理所有的請求,這時候需要多臺伺服器對大量的請求進行分流處理,即負載均衡。而如果實現負載均衡,必須在網站的入口部署伺服器(不只是一臺)對這些請求進行分發,這臺伺服器即反向代理。由於反向代理伺服器是網站的入口

複用實現服百萬級別RPS吞吐

多路複用其實並不是什麼新技術,它的作用是在一個通訊連線的基礎上可以同時進行多個請求響應處理。對於網路通訊來其實不存在這一說法,因為網路層面只負責資料傳輸;由於上層應用協議的制訂問題,導致了很多傳統服務並不能支援多路複用;如:http1.1,sqlserver和redis等等,雖然有些服務提供批量處理

《阿里雲伺服器搭建》------部署個tomcat防止jenkins與專案共用一個埠

本系列教程的搭建環境為阿里雲伺服器,其他伺服器可作為參考。 本文主要講述實現兩個tomcat的獨立使用,拆分jenkins和實際專案共用tomcat的問題 首先,我們知道真實的專案環境中,不可能只存在一個tomcat,或者換句話說,A專案在部署後需要重啟,那麼就需要重啟t

Oracle資料庫建表前先判斷是否表存在存在不建表不存在則建表

------建立TABNAME ---------- DECLARE   TOTAL INT := 0; BEGIN   SELECT COUNT(1)     INTO TOTAL     FROM USER_TABLES A

忘記了oracle資料庫使用者的密碼怎麼辦?

1:檢視環境變數ORACLE_SID的設定情況: windows: echo %ORACLE_SID% 2:設定環境變數ORACLE_SID的值為你想登入的oracle例項的SID: set ORACLE_SID=orcl 3:鍵入命令:sqlplus / as sysdba

Oracle資料庫提示密碼過期更改密碼永不過期的一種方法。

1、檢視當前所有使用者 select username,account_status,expiry_date,profile from dba_users;   2、檢視當前使用的賬戶資料儲存(預設只有一個) SELECT * FROM dba_profi

Oracle資料庫表查詢

內連線 select * from 表名 (別名) (inner) join 表名 (別名) on 連線條件 連線emp表和dep表(emp表中與dep表中的did是關聯欄位,這樣查詢did會出現2次): select * from emp,dep where emp.did = dep.did 相當

Oracle--Oracle資料庫中插入日期日期帶有時分秒(java.util.Date型別)

       通過JDBC向oracle資料庫中插入時間型別時間時,可以直接向資料庫中插入java.sql.Date型別的時間,但是時間只包含年月日,沒有時分秒。如果需要通過JDBC向oracle中插入java.util.Date型別的時間,先將Date轉換成格式化字串,再進

.net core通過複用實現服務百萬級別RPS吞吐

多路複用其實並不是什麼新技術,它的作用是在一個通訊連線的基礎上可以同時進行多個請求響應處理。對於網路通訊來其實不存在這一說法,因為網路層面只負責資料傳輸;由於上層應用協議的制訂問題,導致了很多傳統服務並不能支援多路複用;如:http1.1,sqlserver和redis等等,雖然有些服務提供批量處理,但這些處

解鎖oracle資料庫的 scott使用者親身測試。success

一、解鎖scott使用者 安裝完oracle和PL/SQL developer之後 登入使用者scott 突然發現無法登入,沒有解鎖。 接下來給大家講解下,怎麼解鎖scott使用者。 在cmd命令提示符中可直接登入oracle,輸入如下命令:sqlplus 輸

Oracle資料庫表插入

一、使用背景    當我們需要根據不同條件將一個子查詢結果集的資料分別插入不同表中時可以使用多表插入,快速插入資料記錄。二、如何使用1、在此我新建三個表用於儲存滿足不同條件的資料CREATE TABLE

Oracle資料庫表聯合修改的三種語句

1、效率最快的MERGE INTO user_member_info aUSING ( select min(UP.created) as cre,min(up.shop_no) as shop_no,up.memberid as memberid        from u

【SQL】ORACLE更新行資料利用decode函式對應關係改資料

需求如下: 資料庫如下: 要求上面移動,資料庫作對應改變。。。用decode函式,可以一條SQL改變三條語句。 實際執行SQL如下: UPDATE CC_SYS_FRAME SET FRAME_LEVEL = decode(FRAME_NAME, '裝置',1 ,

高效刪除Oracle資料庫中重複資料並保留最新一條的方法

在對資料庫進行操作過程中我們可能會遇到這種情況,表中的資料可能重複出現,使我們對資料庫的操作過程中帶來很多的不便,那麼怎麼刪除這些重複沒有用的資料呢?  重複資料刪除技術可以提供更大的備份容量,實現更長時間的資料保留,還能實現備份資料的持續驗證,提高資料恢復服務水平,方便實

Oracle資料庫的批量操作forallBULK COLLECT

oracle forall FORALL語句的一個關鍵性改進,它可大大簡化程式碼,並且對於那些要在PL/SQL程式中更新很多行資料的程式來說,它可顯著提高其效能。 1: 用FORALL來增強DML的處理能力 Oracle為Oracle8i中的PL/SQL

oracle資料庫建立表空間建立使用者操作

Oracle安裝完後,其中有一個預設的資料庫,除了這個預設的資料庫外,我們還可以建立自己的資料庫。對於初學者來說,為了避免麻煩,可以用'Database  Configuration Assistant'嚮導來建立資料庫。建立完資料庫後,並不能立即在資料庫中建表,必須先建立該資料庫的使用者,並且為該使用者指

ORACLE資料庫---表連結查詢

ORACLE多表連線查詢 一.概念 1.主鍵 PRIMARY KEY 約束唯一標識資料庫表中的每條記錄。 a.主鍵必須包含唯一的值。 b.主鍵列不能包含 NULL 值。 b.每個表都應該有一個主鍵,並且每個表只能有一個主鍵。 2.外來鍵 FOREIGN KEY 一個表中的

Oracle資料庫中插入日期日期帶有時分秒(java.util.Date型別)

通過JDBC向oracle資料庫中插入時間型別時間時,可以直接向資料庫中插入java.sql.Date型別的時間,但是時間只包含年月日,沒有時分秒。如果需要通過JDBC向oracle中插入java.util.Date型別的時間,先將Date轉換成格式化字串,再進