oracle資料表空間查詢維護命令大全之二(undo資料表空間),oracleundo

來源:互聯網
上載者:User

oracle資料表空間查詢維護命令大全之二(undo資料表空間),oracleundo
--undo資料表空間匯總
--查看所有的資料表空間名字
select name from v$tablespace;
--建立新的UNDO資料表空間,並設定自動擴充參數;
 create undo tablespace undotbs2 datafile 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\UNDOTBS02.DBF' size 10m reuse autoextend on next 100m maxsize unlimited;
--注意:在OPEN狀態下某些時刻只能用一個UNDO資料表空間,如果要用建立的資料表空間,必須切換到該資料表空間:
ALTER SYSTEM SET undo_tablespace=undo2;
--修改為自動管理
alter system set undo_management=auto scope=spfile;   

修改undo的資料表空間管理方式為manual   
alter system set undo_management=manual scope=spfile;  
--修改

--等待原UNDO資料表空間所有UNDO SEGMENT OFFLINE;
select usn,xacts,status,rssize/1024/1024/1024,hwmsize/1024/1024/1024,shrinks from v$rollstat order by rssize;
--刪除資料表空間
drop tablespace undo1 including contents and datafiles;
--更改uodo資料表空間的大小
alter database datafile '/u2/oradata/spring/undotbs01.dbf'

resize 1024M;


uodo是一些復原的資料,可以重複利用,如果想復原儘可能長時間的資料,應加大undo資料表空間

下回講解暫存資料表空間


oracle什決定UNDO資料表空間的大小

UNDO資料表空間用於存放UNDO資料,當執行DML操作時,oracle會將這些操作的舊資料寫入到UNDO段,以保證可以復原或者一致讀等,而暫存資料表空間主要用來做查詢和存放一些緩衝區資料。你聽說UNDO也是暫存資料表可能是因為這兩個資料表空間都不會永久儲存資料的原因。
-------------------------------------------------------------------------
oracle undo資料表空間

undo資料表空間用於存放undo資料,當執行DML操作(insert、update、delete)時,oracle會將這些操作的舊資料寫入到undo段。

undo資料的作用

1.回退事務

當執行DML操作修改資料後,舊資料被存放在undo段中。只要資料為提交、復原段未寫滿或者復原段為逾時的情況下,舊資料都能被復原回來。

2.讀一致性

通過DML操作後的資料沒有提交之前,其他使用者讀取的資料都是復原段裡面的舊資料。

使用undo參數

1.undo_management

該初始化參數用於指定undo資料的管理方式。如果要使用自動管理員模式,必須設定為auto,如果使用手工管理員模式必須設定該參數為manual,使用自動管理員模式時,oracle會使用undo資料表空間管理,使用手工管理員模式時,oracle會使用復原段管理undo資料。需要注意,使用自動管理員模式時,如果沒有配置初始化參數UNDO_TABLESPACE,oracle會自動選擇第一個可用的UNDO資料表空間存放UNDO資料,如果沒有可用的UNDO資料表空間,oracle會使用SYSTEM復原段存放UNDO記錄,並在ALTER檔案中記載警告。

2,UNDO_TABLESPACE

該初始化參數用於指定常式所要使用的UNDO資料表空間,使用自動UNDO管理員模式時,通過配置該參數可以指定常式所要使用的UNDO資料表空間.

在RAC(Real Application Cluster)結構中,因為一個UNDO資料表空間不能由多個常式同時使用,所有必須為每個常式配置一個獨立的UNDO資料表空間.

3,UNDO_RETENTION

該初始化參數用於控制UNDO資料的最大保留時間,其預設值為900秒,從9i開始,通過配置該初始化參數,可以指定undo資料的保留時間,從而確定倒敘查詢特徵(Flashback Query)可以查看到的最早時間點.

手工管理復原段的規劃:

SQL> show parameter undo;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

undo_management string AUTO

undo_retention integer 900

undo_tablespace string UNDOTBS1

SQL> show parameter transactions;

NAME TYPE VALUE

------------------------------------ ----------......餘下全文>>
 
Oracle的UNDO資料表空間與暫存資料表空間

首先肯定不是一個概念,UNDO資料表空間用於存放UNDO資料,當執行DML操作時,oracle會將這些操作的舊資料寫入到UNDO段,以保證可以復原或者一致讀等,而暫存資料表空間主要用來做查詢和存放一些緩衝區資料。你聽說UNDO也是暫存資料表可能是因為這兩個資料表空間都不會永久儲存資料的原因
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.