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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UNDO Tablespace

發(fā)布時間:2025/3/11 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UNDO Tablespace 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
UNDO表空間用于存放UNDO數(shù)據(jù),當執(zhí)行DML操作(insert、update、delete)的時候,oracle會將這些操作的舊數(shù)據(jù)寫入到UNDO段。
UNDO數(shù)據(jù)也稱為回滾數(shù)據(jù),用于確保數(shù)據(jù)的一致性。作用包括:1、回退事務2、讀一致性3、事務恢復4、閃回查詢

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ 一個undo_segment ?<<=============>> ?多個undo_block ? ?☆☆一個undo_segment <<==============>> 多個transaction ? ? ?☆☆一個transaction ? ? ? <<==============>> ?一個undo_block ? ? ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
undo管理的參數(shù):1、UNDO_MANAGEMENT用于指定undo數(shù)據(jù)的管理方式。如果使用自動管理,必須設置為AUTO;如果手動管理,必須設置為MANUAL。使用自動管理的時候,oracle會使用UNDO表空間管理UNDO數(shù)據(jù);使用手動管理時,oracle會使用回滾段管理UNDO數(shù)據(jù)。
2、UNDO_TABLESPACE用于指定例程所要使用的UNDO表空間。設置的時候,必須保證該表空間存在,否則會導致例程啟動失敗。使用RAC的時候,因為一個UNDO不能由多個例程同時使用,所以必須為每個例程配置一個獨立的UNDO表空間。
3、UNDO_RETENTION用于控制UNDO數(shù)據(jù)的最大保留時間,其默認值為900秒。即:一個transaction所屬的undo_block,在undo_tablespace保留最長的時間是900秒。(必須保存900秒后才能被覆蓋)SQL>Alter system set undo_retention=n;
===================================================================
★UNDO表空間和普通表空間的管理差不多★
建立UNDO表空間1、使用CREATE DATABASE命令建立UNDO表空間如果使用的是UNDO管理模式,但是沒有指定UNDO TABLESPACE,那么建立數(shù)據(jù)庫的時候oracle會自動生成名稱為SYS_UNDOTBS的UNDO表空間。SQL>create database db01. . .undo tablespace undo1datafile '/u01/oradata/undo1db01.dbf' size 20Mautoextend on;
2、使用CREATE UNDO TABLESPACE 命令建立UNDO表空間建立數(shù)據(jù)庫以后,可以使用該命令建立UNDO表空間。SQL>create undo tablespace undo1datafile '/u01/oradata/undo1db01.dbf'size 20M;

修改UNDO表空間當事務用盡UNDO表空間后,增加數(shù)據(jù)文件SQL>Alter tablespace undotbsadd datafile '/u01/oradata/undotbs.dbf'size 30Mautoextend on;?

切換UNDO表空間啟動并打開oracle數(shù)據(jù)庫后,同一時刻只能使用一個UNDO表空間。可以切換UNDO表空間:SQL>ALTER SYSTEM SET undo_tablespace=undotbs02;


刪除UNDO表空間當前使用的UNDO表空間不能被刪除,如果要刪除當前實例使用的UNDO,需要先切換,然后刪除:SQL>DROP TABLESPACE undotbs01;

===========================================================================
視圖:v$transaction ? ? ? ? ? ? ? ? ? 當前活動的transactionused_ublk ? ? ? ? ? ? ? ? ? ? ? ?一個transaction用了多少block
v$undostat ? undo 表空間的歷史信息end_time ? ? ? ? ? ? begin_time ? ? ? ? ? ? ? ? ? ?undoblks結束時間 ? ? ? ? ? ? ? 開始時間 ? ? ? ? ? ?這段時間所需要的undo_block

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆計算undo表空間需要的大小
1.transaction一秒鐘所需要的最多塊數(shù)①select max(undoblks/((end_time - begin_time)*24*3600)) from v$undostat
2.show parameter undo②參數(shù)undo_retention
3.show parameter block③參數(shù)db_block_size
undo表空間需要的最小空間=①×②×③

總結

以上是生活随笔為你收集整理的UNDO Tablespace的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。