日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle 11g 数据库恢复技术 ---03 补充日志

發(fā)布時間:2025/3/20 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 11g 数据库恢复技术 ---03 补充日志 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

補充日志(supplemental logging

補充日志是對重做記錄中變更矢量的補充信息,增加了變更矢量記載的記錄量。Oracle某些功能要求啟用補充日志才能正常或更好的工作,比如logminer(日志挖掘器)、閃回事務查詢、閃回事務等。

對于insertdelete來說,常規(guī)的重做記錄記載了被更改的行的所有字段,沒有什么補充,但是update例外,不但所有字段的舊值沒有被記錄(除非更新所有字段),有時update還是導致行遷移,

補充日志主要就是為update服務的,補充的目的就是要高度還原真實的update,在某種情況下,當實例和介質(zhì)恢復不能百分百地完成作用時,只能向殘存的日志索取更多的信息

?

1 數(shù)據(jù)庫級補充日志

oracle 11g中,默認不啟用

?

TEST@ orcl >select supplemental_log_data_min sl_min,supplemental_log_data_pk sl_pk,supplemental_log_data_ui sl_ui, supplemental_log_data_fk sl_fk,supplemental_log_data_all sl_all from v$database; 2 SL_MIN SL_ SL_ SL_ SL_ -------- --- --- --- --- NO NO NO NO NO

?

最小補充日志是最基本的一種數(shù)據(jù)庫級補充日志

LogMiner依賴最小補充日志產(chǎn)生的特殊信息以識別、分組與合并dml所產(chǎn)生的重做記錄,目的是為了讓logminer通過分析redo log就可以識別由update導致的行遷移、行移動。

如果update命令導致行變長,在數(shù)據(jù)塊空間不足的情況下行會部分(行頭部除外)遷移至另一個數(shù)據(jù)塊,稱為行遷移

TEST@ orcl >alter database add supplemental log data; ##啟用最小補充日志 Database altered. TEST@ orcl >select supplemental_log_data_min sl_min from v$database; SL_MIN -------- YES TEST@ orcl >alter database drop supplemental log data; ##關閉最小補充日志

啟用最小補充日志不會對重做記錄的生成產(chǎn)生明顯的額外開銷,又能使日志文件支持logminer和閃回事務查詢功能,提高數(shù)據(jù)塊抵抗人為錯誤的能力上考慮,應該啟用此功能。

注意凡是啟用或關閉數(shù)據(jù)庫級補充日志都會導致共享池中的所有的sql命令游標非法,在短期內(nèi)硬解析會顯著上升

TEST@ orcl >select count(*) from scott.emp;COUNT(*) ----------14 TEST@ orcl >select invalidations from v$sql where sql_text='select count(*) from scott.emp'; INVALIDATIONS -------------0 select sql_text,invalidations from v$sql where sql_text like 'select count(*) %';

關鍵字段補充日志4種主鍵、唯一索引、外鍵和全體字段補充日志。

--alter database add supplemental log data (primary key) columns;

開啟主鍵補充日志的前提必須要開啟最新補充日志,關閉也是一樣。

主鍵補充日志的作用是在update命令的重做記錄中添加被修改行的主鍵字段的舊值。

唯一索引補充日志只有當唯一索引字段被update時才會記錄該字段。

外鍵補充一樣,只有當外鍵字段被update修改時,其修改前的舊值才會被記錄。

全體字段補充日志,它和主鍵補充一樣同為不條件,無論哪個字段被update,所有字段(除了LOB\LONG類型)的舊值都將被記錄。

--alter database add supplemental log data (all) columns;

2 表級補充日志

針對某些表進行日志補充,前提要開啟數(shù)據(jù)庫最小日志補充。

表級補充分為主鍵、唯一索引、外鍵、全字段和自定義5種類型,前4種與數(shù)據(jù)庫級對應的類型特點一樣。

--alter table scott.emp add supplemental log data (primary key) columns;

--alter table scott.emp add supplemental log group emp_info(first_name,last_name,email);

如果只從DML命令性能的角度出發(fā),沒有人會啟用補充日志,建議至少啟用最小日志補充,否則至少將喪失logminer和閃回事務查詢功能。

?

轉載于:https://www.cnblogs.com/yhq1314/p/10938939.html

總結

以上是生活随笔為你收集整理的oracle 11g 数据库恢复技术 ---03 补充日志的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。