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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Undo TableSpace ①.管理方法

發(fā)布時間:2024/8/26 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Undo TableSpace ①.管理方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Undo TableSpace ①.管理方法 ? ??? 撤銷表空間對于目前的Oracle來說是非常重要的表空間類型。Undo TableSpace的大小,還決定了閃回的時間長度,而且對于其他的版本一致性都有很大的作用。不過目前基本上撤銷表空間都是選擇自動管理的,所以還是比較方便的,像我這樣的菜鳥,就了解一下基礎(chǔ)知識,然后當(dāng)它是黑盒吧。 ? 一、What is Undo ? ??? ① 當(dāng)發(fā)布一條回滾語句時,撤銷記錄用于撤銷未提交事務(wù)讀數(shù)據(jù)庫所做的修改。 ??? ② 在數(shù)據(jù)庫恢復(fù)期間,撤銷記錄用于撤銷從重做日志作用到數(shù)據(jù)文件的任何未提交的修改。 ??? ③ 當(dāng)另一用戶正在修改數(shù)據(jù)時,撤銷記錄為正在訪問數(shù)據(jù)的用戶提供修改錢的映像。 ? ??? 注:一個數(shù)據(jù)庫只有一個SYSTEM回滾段,通常在CREATE DATABASE時自動創(chuàng)建,并在實例啟動時聯(lián)機。 ? ? 二、指定管理Undo TableSpace的方式 ? ??? 管理Undo TableSpace的方法有兩種:一是使用回滾段來管理,該方式被認(rèn)為是手動撤銷管理;二是使用撤銷表空間的方法,是以自動撤銷管理方式。不能在一個數(shù)據(jù)庫實例中同時使用兩種方法,如要進(jìn)行切換,則需要關(guān)閉和重啟數(shù)據(jù)庫。實例中使用何種管理方法,由初始化參數(shù)UND_MANAGEMENT決定。 ? ????1、自動撤銷管理方式 ? ????UNDO_MANAGEMENT = AUTO ??? 注:前提是一個撤銷表空間必須是可用的。 ? ??? ① 實例啟動時,Oracle自動選擇第一個可用的撤銷表空間。 ??? ② 如果沒有撤銷表空間,則啟動時使用SYSTEM回滾段,但會有警告信息產(chǎn)生。 ??? ③ 可以啟動時指定特定的撤銷表空間,通過 UBDO_TABLESPACE 初始化參數(shù)約定。 ? ??? 其他相關(guān)初始化參數(shù): ? ????UNDO_RETENTION:保持撤銷的時間長度動態(tài)參數(shù),默認(rèn)為900秒 ????UNDO_SUPPRESS_ERRORS:自動撤銷管理方法下,發(fā)布手動撤銷管理SQL語句時,是否發(fā)布錯誤信息。TRUE取出信息|FALSE發(fā)布信息 ? ????2、手動撤銷管理方式 ? ????UNDO_MANAGEMENT = MANUAL (default) ??? 注:此模式下UNDO_TABLESPACE參數(shù)值被忽略。 ? ??? 其他相關(guān)的初始化參數(shù): ? ????ROLLBACK_SEGMENTS:指定在啟動時需要的回滾段 ????TRANSACTIONS:指定并發(fā)事務(wù)的最大個數(shù) ????TRANSACTIONS_PER_ROLLBACK_SEGMENT:指定每個回滾段希望被處理的并發(fā)事務(wù)個數(shù) ????MAX_ROLLBACK_SEGMENTS:指定可以為任何實例聯(lián)機服務(wù)的回滾段最大個數(shù) ? ? ----------------------------------------------------------------------------------- ? 管理撤銷表空間 ? ??? Oracle強烈建議以自動撤銷管理方式進(jìn)行操作。 ? 1、創(chuàng)建撤銷表空間 ? ??? ① CREATE DATABASE 的 UNDO TABLESPACE 子句 ? ??? 若在CREATE DATABASE中沒有UNDO TABLESPACE子句,則Oracle會自動創(chuàng)建一個名為SYS_UNDOTBS(9i)的默認(rèn)撤銷表空間,以自動撤銷管理方式進(jìn)行。SYS_UNDOTBS初始大小為10M,自動盤區(qū)。 ? ??? 創(chuàng)建語法: ? ??? CREATE DATABASE rbdb1 ??? CONTROLFILE REUSE ??? ... ??? UNDO TABLESPACE undotbs_01 DATAFILE '/u01/oracle/rbdb1/undo0101.dbf'; ? ??? 注:使用該子句后,若Undo TableSpace沒有創(chuàng)建成功,則整個數(shù)據(jù)庫新建操作失敗。 ? ??? ② 使用 CREATE UNDO TABLESPACE 語句 ? ??? CREATE UNDO TABLESPACE undotbs_02 ??? DATAFILE '/u02/oracle/rbdb1/undo0201.dbf' SIZE 2M REUSE AUTOEXTEND ON; ? ??? 注:與CREATE TABLESPACE語句基本一樣。 ? 2、修改撤銷表空間 ? ??? 撤銷表空間也可以通過ALTER TABLESPACE語句來進(jìn)行修改,但是由于撤銷表空間中大多數(shù)的方面都由系統(tǒng)自動管理,所以用戶只需要進(jìn)行以下的操作(也只允許用戶進(jìn)行這些屬性的修改): ? ??? ① 添加數(shù)據(jù)文件 ??? ② 數(shù)據(jù)文件重命名 ??? ③ 數(shù)據(jù)文件聯(lián)機/脫機 ??? ④ 開始/結(jié)束數(shù)據(jù)文件的公開備份 ? ??? 注:具體操作與普通數(shù)據(jù)文件操作相同,不再舉例。 ? 3、取消撤銷表空間 ? ??? 一個撤銷表空間只有在沒有被任何實例所使用的情況下才可以被取消。如果包含任何未完成的事務(wù),則操作失敗。 ? ??? DROP TABLESPACE undotbs_01; ? ??? 注:取消Undo TableSpace時相當(dāng)于 DROP TABLESPACE ... INCLUDING CONTENTS ? 4、切換撤銷表空間 ? ??? ALTER SYSTEM SET UNDO_TABESPACE = undotbs_02; ? ??? 命令執(zhí)行后,會立即切換,但是需要注意以下幾點: ??? ① 該表空間必須存在 ??? ② 該表空間必須是一個撤銷表空間 ??? ③ 該表空間不能被其他實例使用 ? ??? 因為切換操作不等待已有事務(wù)的提交,所以當(dāng)切換操作完成之后,原先的Undo TableSpace進(jìn)入PENDING OFFLINE狀態(tài),已經(jīng)開始的事務(wù)可以繼續(xù)進(jìn)行操作,新事務(wù)則使用新的Undo TableSpace。 ? ??? 另外,可以使用?ALTER SYSTEM SET UNDO_TABLESPACE = '';? 來去掉Undo TableSpace。 ? 5、為撤銷空間確定用戶限額 ? ??? Oracle的Database Resource Manager的UNDO_POOL指令允許DBA限制一個用戶組所消耗的撤銷空間的數(shù)量。?可以為每個使用者組指定一個撤銷池,一個撤銷池控制由一個使用者產(chǎn)生的全部撤銷數(shù)量。 ? ??? 當(dāng)沒有明確定義UNDO_POOL指令時,用戶被允許使用沒有限制的撤銷表空間。 ? 6、為撤銷信息設(shè)置保留期 ? ????① 指定保留期 ? ??? UNDO_RETENTION = 500 (default 900) ??? 初始化參數(shù) UNDO_RETENTION 可設(shè)置數(shù)據(jù)保留期。?UNDO_RETENTION參數(shù)是可以通過ALTER SYSTEM 來動態(tài)修改的。 ? ??? 該保留期的計算不受系統(tǒng)崩潰的影響,即實例崩潰前生成的撤銷,一直保持到它的保留期過期,即使重新啟動實例也是如此。 ? ???注:UNDO_RETENTION只有在Undo TableSpace有足夠空間時才起作用。當(dāng)空間不足時,系統(tǒng)開始重用未到期的撤銷空間。 ? ????② 閃回查詢的保留期 ? ????DBMS_FLASHBACK可以實現(xiàn)系統(tǒng)的閃回操作,即用戶可以見到過去一個指定時間的一致版本。 ? ??? 閃回可以回退的時間最大長度,取決于撤銷的保存時間長度,所以一般如果需要閃回在12小時的,則需要設(shè)置: ??? UNDO_RETENTION = 43200 ? ???③ 撤銷保留的空間要求 ? ??? 通過一下公式計算撤銷保留所需要的空間: ????UndoSpace = UR * UPS + Overhead ? ????UndoSpace?= 撤銷塊數(shù)目 ????UR?= 以秒計的 UNDO_RETENTION ????UPS?= 每秒的撤銷塊數(shù) ????Overhead?= 元數(shù)據(jù)的小開銷 (事務(wù)表、位圖等) ? 7、關(guān)于撤銷空間的信息 ? ????V$UNDOSTAT:包括用來監(jiān)聽和調(diào)整撤銷空間的統(tǒng)計信息 ????V$ROLLSTAT:自動撤銷管理方式中撤銷表空間中撤銷段的行為 ????V$TANSACTION:撤銷段的信息 ????DBA_UNDO_EXTENTS:撤銷表空間中每個盤區(qū)的提交時間 ? ??? 監(jiān)控撤銷空間: ??? SELECT BEGIN_TIME, END_TIME, UNDOTSN, UNDOBLKS, TXNCOUNT, MAXCONCURRENCY "MAXCON" ??? FROM V$UNDOSTAT;?--?監(jiān)控某段時間內(nèi)撤銷空間的消耗情況

總結(jié)

以上是生活随笔為你收集整理的Undo TableSpace ①.管理方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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