STANDBY中NOLOGGING操作的監控
SQL> create table ctais2.no_test nologging as select /*+append */ * from dba_objects;
Table created.
SQL> alter system archive log current;
System altered.
SQL> SELECT ts#,file#,a.UNRECOVERABLE_CHANGE#,to_char(a.UNRECOVERABLE_TIME,'yyyymmdd hh24miss') FROM v$datafile a;
TS# FILE# UNRECOVERABLE_CHANGE# TO_CHAR(A.UNREC
---------- ---------- --------------------- ---------------
0 1 0
1 2 0
2 3 0
4 4 0
5 5 1004932 20090904 125926
切換日誌,讓STANDBY資料庫也應用日誌,可以看到在STANDBY資料庫中,NOLOGGING操作表現不出來
後臺日誌也沒有任何錯誤
SQL> SELECT ts#,file#,a.UNRECOVERABLE_CHANGE#,to_char(a.UNRECOVERABLE_TIME,'yyyymmdd hh24miss') FROM v$datafile a;
TS# FILE# UNRECOVERABLE_CHANGE# TO_CHAR(A.UNREC
---------- ---------- --------------------- ---------------
0 1 0
1 2 0
2 3 0
4 4 0
5 5 0
嘗試OPEN READONLY資料庫
SQL> shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 205520896 bytes
Fixed Size 1266608 bytes
Variable Size 67112016 bytes
Database Buffers 134217728 bytes
Redo Buffers 2924544 bytes
Database mounted.
Database opened.
SQL>
SQL> SELECT ts#,file#,a.UNRECOVERABLE_CHANGE#,to_char(a.UNRECOVERABLE_TIME,'yyyymmdd hh24miss') FROM v$datafile a;
TS# FILE# UNRECOVERABLE_CHANGE# TO_CHAR(A.UNREC
---------- ---------- --------------------- ---------------
0 1 0
1 2 0
2 3 0
4 4 0
5 5 0
SQL> analyze table ctais2.no_test validate structure;
analyze table ctais2.no_test validate structure
*
ERROR at line 1:
ORA-01578: ORACLE data block corrupted (file # 5, block # 3084)
ORA-01110: data file 5: '/dev/raw/raw13'
ORA-26040: Data block was loaded using the NOLOGGING option
SQL> SELECT ts#,file#,a.UNRECOVERABLE_CHANGE#,to_char(a.UNRECOVERABLE_TIME,'yyyymmdd hh24miss') FROM v$datafile a;
TS# FILE# UNRECOVERABLE_CHANGE# TO_CHAR(A.UNREC
---------- ---------- --------------------- ---------------
0 1 0
1 2 0
2 3 0
4 4 0
5 5 0
這個時候DBV驗證也會發現問題
DBV-00201: Block, DBA 20975318, marked corrupt for invalid redo application
DBV-00201: Block, DBA 20975319, marked corrupt for invalid redo application
DBV-00201: Block, DBA 20975320, marked corrupt for invalid redo application
DBV-00201: Block, DBA 20975321, marked corrupt for invalid redo application
DBV-00201: Block, DBA 20975322, marked corrupt for invalid redo application
Page 6401 is marked corrupt
Corrupt block relative dba: 0x01401901 (file 5, block 6401)
Completely zero block found during dbv:
Page 6402 is marked corrupt
Corrupt block relative dba: 0x01401902 (file 5, block 6402)
Completely zero block found during dbv:
Page 6403 is marked corrupt
Corrupt block relative dba: 0x01401903 (file 5, block 6403)
Completely zero block found during dbv:
對於NOLOGGING操作的記錄,應該是通過監控v$database.UNRECOVERABLE_CHANGE#,如果存在NOLOGGING操作,最後從主庫重新COPY資料檔案過去恢復
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8242091/viewspace-614038/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Nologging操作對standby的影響 (zt)
- 監控Logical standby databaseDatabase
- 同事寫的監控Logical Standby SQL apply 程式stop的監控報警指令碼SQLAPP指令碼
- 【DATAGUARD 學習】監控primary庫和standby庫
- 對table的操作進行監控
- 挽救DG中主庫的nologging操作的塊
- 監控批量操作進度
- Process Monitor監控目錄 - 監控檔案被哪個程式操作了
- Zabbix監控阿里雲SLB操作指引阿里
- 分散式監控系統Zabbix3.4-針對MongoDB效能監控操作筆記分散式MongoDB筆記
- Java 中的監控與管理原理概述Java
- KPI中的監控型監測型,控制型考核型KPI
- 【SQL監控】SQL完全監控的指令碼SQL指令碼
- 利用v$session_longops監控長操作SessionGo
- 【實驗】【審計】【FGA】使用Oracle的審計功能監控資料庫中的可疑操作Oracle資料庫
- APM效能監控軟體的監控型別服務及監控流程型別
- 黑盒監控、日誌監控
- mysql 的一個監控指令碼,監控heartbeatMySql指令碼
- 利用v$session_longops監控long RUN操作SessionGo
- VERITA備份日常監控及相關命令操作
- 6.prometheus監控--監控dockerPrometheusDocker
- Logical Standby的維護操作_SKIP
- 監控寶SQL Server效能監控的功能和配置SQLServer
- nagios的配置(監控端和被監控端)iOS
- mysql mon 的一個監控指令碼,監控heartbeatMySql指令碼
- 監控資料庫執行超過6s的操作資料庫
- 監控Ubuntu Linux中的CPU/GPU 溫度UbuntuLinuxGPU
- Linux 中CPU 和 GPU 的行為監控LinuxGPU
- MySQL中slave監控的延遲情況分析MySql
- Java程式碼中,如何監控Mysql的binlog?JavaMySql
- Zabbix中Orabbix監控失效的問題及分析
- 監控Oracle系統中鎖的常用指令碼Oracle指令碼
- 在Linux中,如何監控系統的效能?Linux
- 一種對雲主機進行效能監控的監控系統及其監控方法
- TiDB監控實現--存活監控TiDB
- 聊聊前端監控——錯誤監控篇前端
- nagios監控例項 -- PostgreSQL監控iOSSQL
- 使用 iotop 監控哪些程式在進行I/O操作