Nologging對恢復的影響(一)
Nologging在提高效能的同時,會給恢復帶來一定的影響。下面透過兩個案例來說明它是怎麼影響恢復的。
第一個案例要驗證在先發生nologging操作,再備份資料檔案的情況下,是否可以完全恢復資料。
[@more@]1. 建表
CREATE TABLE SUK.PLOGGING
( A NUMBER,
B NUMBER
)
PARTITION BY LIST (A)
(PARTITION P1 VALUES (1) TABLESPACE SUK ,
PARTITION P2 VALUES (2) TABLESPACE SUK ) ;
CREATE TABLE SUK.PNOLOGGING
( C NUMBER,
D NUMBER
)
PARTITION BY LIST (C)
(PARTITION P1 VALUES (1) TABLESPACE SUK ,
PARTITION P2 VALUES (2) TABLESPACE SUK ) ;
2. 用普通的方式寫入資料
SQL> insert into plogging select mod(rownum,2)+1,mod(rownum,2)+1 from dba_objects;
10500 rows inserted
SQL> insert into pnologging select mod(rownum,2)+1,mod(rownum,2)+1 from dba_objects;
10500 rows inserted
SQL> commit;
Commit complete
3. 對其中一個表用普通方式寫入資料,另一個表用nologging方式寫入資料
SQL> insert into plogging select 1,1 from dba_tables;
963 rows inserted
SQL> insert /*+ append */ into pnologging select 1,1 from dba_tables;
963 rows inserted
SQL> commit;
Commit complete
4. 此時備份表所在的表空間
RMAN> backup tablespace suk;
啟動 backup 於 21-11月-10
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=135 devtype=DISK
通道 ORA_DISK_1: 啟動全部資料檔案備份集
通道 ORA_DISK_1: 正在指定備份集中的資料檔案
輸入資料檔案 fno=00007 name=E:ORACLEPRODUCT10.2.0ORADATASUK.DBF
通道 ORA_DISK_1: 正在啟動段 1 於 21-11月-10
通道 ORA_DISK_1: 已完成段 1 於 21-11月-10
段控制程式碼=E:ORACLEPRODUCT10.2.0DB_1DATABASECLTJEFM_1_1 標記=TAG20101121T2206
46 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:07
完成 backup 於 21-11月-10
5. 備份完成後繼續用普通方式往表寫入資料
SQL> insert into plogging select mod(rownum,2)+1,mod(rownum,2)+1 from dba_objects;
10500 rows inserted
SQL> insert into pnologging select mod(rownum,2)+1,mod(rownum,2)+1 from dba_objects;
10500 rows inserted
SQL> commit;
Commit complete
SQL> delete from test where rownum<=1000;
1000 rows deleted
SQL> commit;
Commit complete
SQL> select count(1) from test;
COUNT(1)
----------
9000
SQL> select count(1) from plogging;
COUNT(1)
----------
21963
SQL> select count(1) from pnologging;
COUNT(1)
----------
21963
6. 此時模擬資料庫故障,恢復表空間suk
RMAN> restore tablespace suk;
啟動 restore 於 21-11月-10
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
通道 ORA_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
正將資料檔案00007恢復到E:ORACLEPRODUCT10.2.0ORADATASUK.DBF
通道 ORA_DISK_1: 正在讀取備份段 E:ORACLEPRODUCT10.2.0DB_1DATABASECLTJEFM_
1_1
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = E:ORACLEPRODUCT10.2.0DB_1DATABASECLTJEFM_1_1 標記 = TAG20101121T
220646
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:07
完成 restore 於 21-11月-10
RMAN> recover tablespace suk;
啟動 recover 於 21-11月-10
使用通道 ORA_DISK_1
正在開始介質的恢復
介質恢復完成, 用時: 00:00:04
7. 驗證資料
SQL> select count(1) from test;
COUNT(1)
----------
9000
SQL> select count(1) from plogging;
COUNT(1)
----------
21963
SQL> select count(1) from pnologging;
COUNT(1)
----------
21963
資料已經得到完全恢復。
結論:
一個表,發生nologging操作後再備份,且後續無nologging操作,則基於nologging後的備份可以完全恢復該表的資料。
第一個案例要驗證在先發生nologging操作,再備份資料檔案的情況下,是否可以完全恢復資料。
[@more@]1. 建表
CREATE TABLE SUK.PLOGGING
( A NUMBER,
B NUMBER
)
PARTITION BY LIST (A)
(PARTITION P1 VALUES (1) TABLESPACE SUK ,
PARTITION P2 VALUES (2) TABLESPACE SUK ) ;
CREATE TABLE SUK.PNOLOGGING
( C NUMBER,
D NUMBER
)
PARTITION BY LIST (C)
(PARTITION P1 VALUES (1) TABLESPACE SUK ,
PARTITION P2 VALUES (2) TABLESPACE SUK ) ;
2. 用普通的方式寫入資料
SQL> insert into plogging select mod(rownum,2)+1,mod(rownum,2)+1 from dba_objects;
10500 rows inserted
SQL> insert into pnologging select mod(rownum,2)+1,mod(rownum,2)+1 from dba_objects;
10500 rows inserted
SQL> commit;
Commit complete
3. 對其中一個表用普通方式寫入資料,另一個表用nologging方式寫入資料
SQL> insert into plogging select 1,1 from dba_tables;
963 rows inserted
SQL> insert /*+ append */ into pnologging select 1,1 from dba_tables;
963 rows inserted
SQL> commit;
Commit complete
4. 此時備份表所在的表空間
RMAN> backup tablespace suk;
啟動 backup 於 21-11月-10
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=135 devtype=DISK
通道 ORA_DISK_1: 啟動全部資料檔案備份集
通道 ORA_DISK_1: 正在指定備份集中的資料檔案
輸入資料檔案 fno=00007 name=E:ORACLEPRODUCT10.2.0ORADATASUK.DBF
通道 ORA_DISK_1: 正在啟動段 1 於 21-11月-10
通道 ORA_DISK_1: 已完成段 1 於 21-11月-10
段控制程式碼=E:ORACLEPRODUCT10.2.0DB_1DATABASECLTJEFM_1_1 標記=TAG20101121T2206
46 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:07
完成 backup 於 21-11月-10
5. 備份完成後繼續用普通方式往表寫入資料
SQL> insert into plogging select mod(rownum,2)+1,mod(rownum,2)+1 from dba_objects;
10500 rows inserted
SQL> insert into pnologging select mod(rownum,2)+1,mod(rownum,2)+1 from dba_objects;
10500 rows inserted
SQL> commit;
Commit complete
SQL> delete from test where rownum<=1000;
1000 rows deleted
SQL> commit;
Commit complete
SQL> select count(1) from test;
COUNT(1)
----------
9000
SQL> select count(1) from plogging;
COUNT(1)
----------
21963
SQL> select count(1) from pnologging;
COUNT(1)
----------
21963
6. 此時模擬資料庫故障,恢復表空間suk
RMAN> restore tablespace suk;
啟動 restore 於 21-11月-10
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
通道 ORA_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
正將資料檔案00007恢復到E:ORACLEPRODUCT10.2.0ORADATASUK.DBF
通道 ORA_DISK_1: 正在讀取備份段 E:ORACLEPRODUCT10.2.0DB_1DATABASECLTJEFM_
1_1
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = E:ORACLEPRODUCT10.2.0DB_1DATABASECLTJEFM_1_1 標記 = TAG20101121T
220646
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:07
完成 restore 於 21-11月-10
RMAN> recover tablespace suk;
啟動 recover 於 21-11月-10
使用通道 ORA_DISK_1
正在開始介質的恢復
介質恢復完成, 用時: 00:00:04
7. 驗證資料
SQL> select count(1) from test;
COUNT(1)
----------
9000
SQL> select count(1) from plogging;
COUNT(1)
----------
21963
SQL> select count(1) from pnologging;
COUNT(1)
----------
21963
資料已經得到完全恢復。
結論:
一個表,發生nologging操作後再備份,且後續無nologging操作,則基於nologging後的備份可以完全恢復該表的資料。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/231499/viewspace-1041838/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Nologging對恢復的影響(二)
- 一次rman恢復引起的nologging問題模擬
- mac恢復出廠設定方法介紹 mac恢復出廠設定對電腦有什麼影響Mac
- 【硬碟資料恢復】加電有異響的硬碟資料恢復硬碟資料恢復
- 【DATAGUARD】Oracle Dataguard nologging 塊修復Oracle
- 語言對思維的影響
- unusable index對DML/QUERY的影響Index
- 網線的分類與對網速的影響 網線對網速影響大嗎?
- 浮動的盒子對img的影響
- INDEX建立方式對SQL的影響IndexSQL
- 關於OPcache對Swoole影響的理解opcache
- 來電對播放音樂的影響
- python:super()對多繼承的影響Python繼承
- DB2 HADR對效能的影響DB2
- 【NetApp資料恢復案例】針對NetApp誤刪除資料的恢復APP資料恢復
- windows server許可權對tomcat的影響WindowsServerTomcat
- 虛擬記憶體對 OI 的影響記憶體
- VideaHealth:人工智慧對牙科的真正影響Idea人工智慧
- 網路延遲對事務的影響
- JVM 引數調整對 sortx 的影響JVM
- Mavrck:COVID-19對創作者的影響VR
- cluster factor對執行計劃的影響
- 淺談疫情對消費金融的影響
- namespace對axis解析xml請求的影響namespaceXML
- 終端環境對go程式的影響?Go
- margin為負值對佈局的影響
- Sailthru:Facebook醜聞對人們的影響AI
- 修改系統時間對oracle的影響Oracle
- TrendForce:DRAM廠陸續恢復生產,預估對第二季總DRAM位元產出影響低於1%
- OpenTelemetry agent 對 Spring Boot 應用的影響:一次 SPI 失效的Spring Boot
- MySQL alter 新增列對dml影響MySql
- 海外伺服器對SEO影響?伺服器
- Cirium:資料揭示新冠肺炎對中國航空業的影響及對全球航空旅遊增長的影響
- 教你一招,告警恢復時如何拿到恢復時的值?
- 主動寫入流對@ResponseBody註解的影響
- 論資訊顯示對我生活的影響
- 修改主機時區對Oracle的影響分析Oracle
- 人工智慧對軟體測試的影響人工智慧