Oracle叢集斷電恢復
這是前段時間遇到的,今天有時間把它記錄下來。
情況是這樣的,使用者的OracleRAC叢集機房沒有安裝UPS,而且供電不穩定,因此總是突然斷電,前面幾次還可以,供電後集群就自動恢復了,但到最後還是出問題了,現象就是例項啟動不了。
經過幾次恢復,發現大概可以分為以下幾種情況,現分別描述如下。
情況一:可直接從redo日誌中恢復
[[email protected] ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Mon Jul 11 10:29:04 2016
Copyright (c) 1982, 2013 , Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup mount
ORACLE instance started.
Total System Global Area 1.0796E+11 bytes
Fixed Size 2266024 bytes
Variable Size 5.9861E+10 bytes
Database Buffers 4.8050E+10 bytes
Redo Buffers 50450432 bytes
Database mounted.
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [kcrfr_read_5], [63], [674817], [],
[], [], [], [], [], [], [], []
此時的情況是例項無法開啟,報600錯誤,其實就是有操作日誌沒有commit成功,查詢一下當前的日誌情況
SQL> select group#,sequence#,status,first_time,next_change# from v$log;
GROUP # SEQUENCE# STATUS FIRST_TIME NEXT_CHANGE#
---------- ---------- -------------------------------- ------------ ------------
5 63 CURRENT 28-MAY-16 2.8147E+14
2 62 INACTIVE 25-MAY-16 22437896
1 61 INACTIVE 22-MAY-16 21890487
4 68 INACTIVE 24-MAY-16 22317178
6 69 CURRENT 27-MAY-16 2.8147E+14
3 67 INACTIVE 21-MAY-16 21837803
6 rows selected.
OK,是Group5的時間最新,然後到ASM中去查一下group5日誌檔案的具體路徑,在恢復的時候需要手工輸入。
[grid@db01 ~]$ asmcmd
ASMCMD> ls DATA/例項名/ONLINELOG/
group_1.261.898205699
group_2.262.898205705
group_3.267.898205911
group_4.268.898205917
group_5.263.898205713
group_6.269.898205925
好,用查到的日誌來恢復資料吧!
SQL> recover database until cancel using backup controlfile;
ORA-00279: change 22771825 generated at 05/30/2016 11:21:44 needed for thread 2
ORA-00289: suggestion : /work/11.2.0.4/oracle/db/dbs/arch2_69_898205698.dbf
ORA-00280: change 22771825 for thread 2 is in sequence #69
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
+DATA/例項名/ONLINELOG/group_5.263.898205713
Log applied.
Media recovery complete.
運氣不錯,日誌只是沒有commit,而不是損壞丟失,然後就可以open例項了,記得帶上resetlogs引數。
SQL> alter database open resetlogs;
Database altered.
SQL> quit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, Oracle Label Security,
OLAP, Data Mining, Oracle Database Vault and Real Application Testing options
例項能夠啟動後,還需要使用叢集命令來檢查一下狀態,不行的話,還可以重新用叢集命令啟動一下
crs_stat –t
srvctl start database -d 例項名
今天先到這裡,下次繼續講如果日誌損壞丟失情況下如何恢復。
相關推薦
Oracle叢集斷電恢復
這是前段時間遇到的,今天有時間把它記錄下來。 情況是這樣的,使用者的OracleRAC叢集機房沒有安裝UPS,而且供電不穩定,因此總是突然斷電,前面幾次還可以,供電後集群就自動恢復了,但到最後還是出問題了,現象就是例項啟動不了。 經過幾次恢復,發現大概可以分
叢集斷電恢復
需要刪除每個節點的pid檔案,node.conf,rdb和dump檔案,再挨個啟動每個節點,重新建立叢集。 將所有節點的aof拿出來,用命令 redis-cli --pipe < appendonly.aof 載入到一個單臺的,用 save 命令寫到aof和du
異常斷電mysql叢集資料庫恢復
說明:專案相關,有些命令不一定適用於其他場景,僅供參考20180121日,xxxx專案,超融合異常掉電,導致資料庫啟動不了。 首先要備份/var/lib/mysql資料夾!!!!恢復:1)不強制恢復180121 20:00:37 mysqld_safe WSREP: Runn
Oracle備份與恢復
ron 還原 類型 修改 文件拷貝 per esp 主機數 segment 步驟:(面試) 1,在新主機DBCA建庫,實例名和原主機數據庫名一致2,在新主機創建用戶3,dbms_metadata.get_ddl導出表空間生成語句4,在新主機創建表空間5,exp導出原庫全部數
關於oracle實例恢復的前滾和回滾的理解
關於oracle實例恢復的前滾和回滾的理解關於oracle實例恢復的一些理解,一直都有誤區,今天通過查看相關資料和與同學探討,發覺了自己的錯誤,探討結果如下:實例恢復:當數據庫非正常關閉的時候(斷電或者shu abort等等非一致性關閉),當你從新啟動數據庫的時候,數據庫相關進程自動進行實例恢復,無須人工幹
Oracle RMAN 自動恢復
oracle rman recover 歸檔日誌 自動在日常工作中,有時會需要進行Oracle數據庫恢復,比如搭建測試環境、查找歷史數據、恢復測試等.可以通過計劃任務或nohup等方式來執行恢復腳本從而提高整個操作的效率,特此記錄.這裏使用的測試環境如下:OS PlatformRed Hat Enterpri
Oracle備份與恢復(五)
備份 oracle 恢復 備份: 定義: 把數據庫復制到轉儲設備的過程。 轉儲設備: 放置數據庫副本的磁帶或磁盤。 原數據庫的備份: 存放於轉儲設備中的數據庫的副本。 分類: 物理與邏輯角度: 物理備份:
Oracle備份和恢復(RMAN篇)
RMAN ORACLE 張晨 前言:歡迎加QQ交流1445696451微博地址http://blog.51cto.com/13434336~~~~~~~分割~~~~~~數據庫備份與恢復是數據庫管理員必須掌握的。沒有任何系統能免遭硬盤物理損壞、粗心用戶的錯誤操作、或一些可能會威脅到存儲數據的潛在災難
在異機實現 Oracle 不完全恢復
otg art set med resetlogs 和數 to_date 數據庫 over 1、將數據庫完全備份集和歸檔日誌備份集傳到執行恢復的 Oracle 服務器# 傳到中轉服務器 scp -P 2222 database.20181030.5* 218.17.56.5
Oracle 備份與恢復基礎
Oracle 備份與恢復基礎 :三思筆記 備份與恢復 A whole database backup is either a consistent backup or an inconsistent backup. Whether a backup is consiste
oracle備份與恢復--rman
(一)、建立恢復目錄1、建立恢復目錄資料庫#mkdir -p /u01/app/oracle/oradata/rmandb#chown -R oracle /u01/app/oracle/oradata/rmandb[[email protected] ~]#su - oracle[[email
oracle備份與恢復--閃回技術
一•啟用閃回資料庫1.啟用歸檔模式sql>shutdown immediate;sql>startup mount;sql>alter database archivelog;2.建立閃回區sql>alter system set db_recovey_file_dest='/opt/
ORACLE叢集配置(注:根據網上資料自行搭建成功步奏總結)
一、 安裝前準備 1. 2臺或多臺linux伺服器 2. 每臺伺服器一個公用ip一個私有ip 3. 公
oracle 11G dataguard 恢復
檢查主備機的sys 密碼是否一致,忘記密碼可以修改,同步 。alter user sys identified by xxx; orapwd file=oraxxx.ora password=admin entries=40 force=y; 檢查靜態tnsnames.ora 和
ORACLE用RMAN恢復可能用到的命令
SQL>startup force 強制重啟 SQL>select checkpoint_change# from vKaTeX parse error: Expected 'EOF', got '#' at position 53: …ec
Oracle 11gR2 RAC恢復OCR和VOTE DISK
Oracle 11gR2 RAC恢復OCR和VOTE DISK 原文連結: http://www.askmaclean.com/archives/11-2-lost-ocr-votedisk-group-recovery.html
oracle path路徑恢復及開啟
之前搞eclipse時不小心把path刪除了,真是作死,導致oracle無法用cmd登入了,今天終於找了oracle的bin目錄:D:\app\orcl\product\12.1.0\dbhome_1\BIN 當然每個人裝的盤不一樣,會有一些改變,不過後面的路徑應該都差不多吧,刪除的可憐蟲們
通過Oracle的回收站恢復被刪除的表淺談
在實際的工作中我們可能會因為一些誤操作刪除一些表。這個時候可以通過Oracle的回收站來恢復被刪除的表、 一、建立測試表A: create table A ( id VARCHAR2(20), name VARCHAR2(20), addres
RabbitMQ叢集故障恢復
原文 http://www.cnblogs.com/zhjh256/p/6475898.html RabbitMQ的mirror queue(映象佇列)機制是最簡單的佇列HA方案,它通過在cluste
RabbitMQ叢集故障恢復詳解
RabbitMQ的mirror queue(映象佇列)機制是最簡單的佇列HA方案,它通過在cluster的基礎上增加ha-mode、ha-param等policy選項,可以根據 需求將cluster中的佇列映象到多個節點上,從而實現高可用,消除cluster模式中佇列內容單點