成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Oracle 10g中UNDO數(shù)據(jù)的作用及UNDO表空間的操作詳解

數(shù)據(jù)庫 Oracle
本文我們主要介紹了Oracle 10g中UNDO數(shù)據(jù)的作用及UNDO表空間的一些常用的操作,希望能夠?qū)δ兴鶐椭?/div>

Oracle 10gUNDO數(shù)據(jù)的作用UNDO表空間的常用操作是本文我們主要要介紹的內(nèi)容,UNDO數(shù)據(jù)也稱為回滾(ROLLBACK)數(shù)據(jù),它用于確保數(shù)據(jù)的一致性.當執(zhí)行DML操作時,事務(wù)操作前的數(shù)據(jù)被稱為UNDO記錄.UNDO段用于保存事務(wù)所修改數(shù)據(jù)的舊值,其中存儲著被修改數(shù)據(jù)塊的位置以及修改前數(shù)據(jù)。

UNDO數(shù)據(jù)的作用:

1.回退事務(wù)

當執(zhí)行DML操作修改數(shù)據(jù)時,UNDO數(shù)據(jù)被存放到UNDO段,而新數(shù)據(jù)則被存放到數(shù)據(jù)段中,如果事務(wù)操作存在問題,舊需要回退事務(wù),以取消事務(wù)變化.假定用戶A執(zhí)行了語句UPDATE emp SET sal=1000 WHERE empno=7788后發(fā)現(xiàn),應(yīng)該修改雇員7963的工資,而不是雇員7788的工資,那么通過執(zhí)行ROLLBACK語句可以取消事務(wù)變化.當執(zhí)行ROLLBACK命令時,oracle會將UNDO段的UNDO數(shù)據(jù)800寫回的數(shù)據(jù)段中.

2.讀一致性

用戶檢索數(shù)據(jù)庫數(shù)據(jù)時,oracle總是使用用戶只能看到被提交過的數(shù)據(jù)(讀取提交)或特定時間點的數(shù)據(jù)(SELECT語句時間點).這樣可以確保數(shù)據(jù)的一致性.例如,當用戶A執(zhí)行語句UPDATE emp SET sal=1000 WHERE empno=7788時,UNDO記錄會被存放到回滾段中,而新數(shù)據(jù)則會存放到EMP段中;假定此時該數(shù)據(jù)尚未提交,并且用戶B執(zhí)行SELECT sal FROM emp WHERE empno=7788,此時用戶B將取得UNDO數(shù)據(jù)800,而該數(shù)據(jù)正是在UNDO記錄中取得的.

3.事務(wù)恢復(fù)

事務(wù)恢復(fù)是例程恢復(fù)的一部分,它是由oracle server自動完成的.如果在數(shù)據(jù)庫運行過程中出現(xiàn)例程失敗(如斷電,內(nèi)存故障,后臺進程故障等),那么當重啟oracle server時,后臺進程SMON會自動執(zhí)行例程恢復(fù),執(zhí)行例程恢復(fù)時,oracl會重新做所有未應(yīng)用的記錄.回退未提交事務(wù).

4.倒敘查詢(FlashBack Query)

倒敘查詢用于取得特定時間點的數(shù)據(jù)庫數(shù)據(jù),它是9i新增加的特性,假定當前時間為上午11:00,某用戶在上午10:00執(zhí)行UPDATE emp SET sal=3500 WHERE empno=7788語句,修改并提交了事務(wù)(雇員原工資為3000),為了取得10:00之前的雇員工資,用戶可以使用倒敘查詢特征.

使用UNDO參數(shù)

1.UNDO_MANAGEMENT

該初始化參數(shù)用于指定UNDO數(shù)據(jù)的管理方式.如果要使用自動管理模式,必須設(shè)置該參數(shù)為AUTO,如果使用手工管理模式,必須設(shè)置該參數(shù)為MANUAL,使用自動管理模式時,oracle會使用undo表空間管理undo管理,使用手工管理模式時,oracle會使用回滾段管理undo數(shù)據(jù),需要注意,使用自動管理模式時,如果沒有配置初始化參數(shù)UNDO_TABLESPACE,oracle會自動選擇***個可用的UNDO表空間存放UNDO數(shù)據(jù),如果沒有可用的UNDO表空間,oracle會使用SYSTEM回滾段存放UNDO記錄,并在ALTER文件中記載警告.

2.UNDO_TABLESPACE

該初始化參數(shù)用于指定例程所要使用的UNDO表空間,使用自動UNDO管理模式時,通過配置該參數(shù)可以指定例程所要使用的UNDO表空間.

在RAC(Real Application Cluster)結(jié)構(gòu)中,因為一個UNDO表空間不能由多個例程同時使用,所有必須為每個例程配置一個獨立的UNDO表空間.

3.UNDO_RETENTION

該初始化參數(shù)用于控制UNDO數(shù)據(jù)的***保留時間,其默認值為900秒,從9i開始,通過配置該初始化參數(shù),可以指定undo數(shù)據(jù)的保留時間,從而確定倒敘查詢特征(Flashback Query)可以查看到的最早時間點.

建立UNDO表空間

UNDO表空間專門用于存放UNDO數(shù)據(jù),并且在UNDO表空間尚不能建立任何數(shù)據(jù)對象(表,索引,簇)

1.使用CREATE DATABASE命令建立UNDO表空間.

當使用CREATE DATABASE命令建立數(shù)據(jù)庫時,通過指定UNDO TABLESPACE選項,可以建立UNDO表空間.示例如下:

 

  1. CREATE DATABASE db01  
  2. …  
  3. UNDO TABLESPACE undotbs_01  
  4. DATAFILE '/opt/oracle/oradata/ge01/UNDOTBS1.dbf' SIZE 30M; 

 

注意:UNDO TABLESPACE 子句不是必須的,如果使用自動UNDO管理模式,并且沒有指定該子句,那么建立數(shù)據(jù)庫時會自動生成名為UNDOTBS1的UNDO表空間.

2.使用CREATE UNDO TABLESPACE命令建立UNDO表空間.

 

  1. create undo tablespace undotbs2 datafile '/opt/oracle/oradata/ge01/UNDOTBS2.dbf' size 100m reuse autoextend on next 50m maxsize 5000m; 

 

修改UNDO表空間

使用ALTER TABLESPACE命令修改UNDO表空間.

當事務(wù)用盡了UNDO表空間后,使用ALTER TABLESPACE … ADD DATAFILE增加數(shù)據(jù)文件。

當UNDO表空間所在的磁盤填滿是,使用ALTER TABLESPACE … RENAME DATAFIEL 命令移動數(shù)據(jù)文件到其他磁盤上。

使用ALTER DATABASE … OFFLINE/ONLINE使表空間脫機/聯(lián)機。

當數(shù)據(jù)庫處于ARCHIVELOG模式時,使用ALTER TABLESPACE …BEGIN BACKUP/END BACKUP命令備份UNDO表空間.

切換UNDO表空間

啟動例程并打開數(shù)據(jù)庫后,同一時刻特定例程只能使用一個UNDO表空間,切換UNDO表空間是指停止例程當前使用的UNDO表空間,并啟動其他UNDO表空間,下面以啟用undotbs2表空間為例,說明切換UNDO表空間的方法.

ALTER SYSTEM SET undo_tablespace=undotbs02;

在RAC(Real Application Cluster)機構(gòu)中,不同例程必須使用獨立的UNDO表空間,而不能共用同一個UNDO表空間.

刪除UNDO表空間

當前例程正在使用的UNDO表空間是不能被刪除的,如果確定要刪除當前例程正在使用的UNDO表空間,應(yīng)首先切換UNDO表空間.然后刪除相應(yīng)的UNDO表空間.

DROP TABLESPACE undotbs3;

1.確定當前例程正在使用的UNDO表空間:Show parameter undo_tablespace

2.顯示數(shù)據(jù)庫的所有UNDO表空間:SELECT tablespace_name FROM dba_tablespaces WHERE contents=’UNDO’;

3.顯示UNDO表空間統(tǒng)計信息

使用自動UNDO管理模式時,需要合理地設(shè)置UNDO表空間的尺寸,為例合理規(guī)劃UNDO表空間尺寸,應(yīng)在數(shù)據(jù)庫運行的高峰階段搜集UNDO表空間的統(tǒng)計信息.最終根據(jù)該統(tǒng)計信息確定UNDO表空間的尺寸.通過查詢動態(tài)性能視圖V%UNDOSTAT,可以搜集UNDO統(tǒng)計信息.

 

  1. SELECT TO_CHAR(BEGIN_TIME,'HH24:MI:SS') BEGIN_TIME,  
  2. TO_CHAR(END_TIME,'HH24:MI:SS') END_TIME,UNDOBLKS FROM V$UNDOSTAT; 

 

BEGIN_TIME用于標識起始統(tǒng)計時間,END_TIME用于標識結(jié)束統(tǒng)計時間,UNDOBLKS用于標識UNDO數(shù)據(jù)所占用的數(shù)據(jù)塊個數(shù).oracle每隔10分鐘生成一行統(tǒng)計信息.

4.顯示UNDO段統(tǒng)計信息.

使用自動UNDO管理模式時,oracle會在UNDO表空間上自動建立10個UNDO段,通過查詢動態(tài)信息視圖V$ROLLNAME,可以顯示所有聯(lián)機UNDO段的名稱,通過查詢動態(tài)性能視圖V$ROLLLISTAT,可以顯示UNDO段的統(tǒng)計信息.通過在V$ROLLNAME和V$ROLLLISTAT之間執(zhí)行連接查詢,可以監(jiān)視特定UNDO段的特定信息.

 

  1. SELECT a.name, b.xacts, b.writes, b.extents   
  2. FROM v$rollname a, v$rollstat b WHERE a.usn=b.usn; 

 

Name用于標識UNDO段的名稱,xacts用于標識UNDO段所包含的活動事務(wù)個數(shù),Writes用于標識在undo段上所寫入的字節(jié)數(shù),extents用于標識UNDO段的區(qū)個數(shù)。

5.顯示活動事務(wù)信息.

當執(zhí)行DML操作時,oracle會將這些操作的舊數(shù)據(jù)放到UNDO段中,動態(tài)性能視圖v$session用于顯示會話的詳細信息,動態(tài)性能視圖v$transaction用于顯示事務(wù)的詳細信息,動態(tài)性能視圖v$rollname用于顯示聯(lián)機UNDO段的名稱.通過在這3個動態(tài)性能視圖之間執(zhí)行連接查詢,可以確定正在執(zhí)行事務(wù)操作的會話,事務(wù)所使用的UNDO段,以及事務(wù)所占用的UNDO塊個數(shù).

 

  1. Col username format a10  
  2. Col name format a10  
  3. SELECT a.username, b.name, c.used_ublk   
  4. FROM v$session a, v$rollname b, v$transaction c   
  5. WHERE a.saddr=c.ses_addr AND b.usn=c.xidusn AND a.username='gedb'

 

6.顯示UNDO區(qū)信息

數(shù)據(jù)字典視圖dba_undo_extents用于顯示UNDO表空間所有區(qū)的詳細信息.包括UNDO區(qū)尺寸和狀態(tài)等信息.

 

  1. SELECT extent_id, bytes, status   
  2. FROM dba_undo_extents WHERE segment_name’_SYSSMU5$’; 

 

其中,extent_id用于標識區(qū)編號,bytes用于標識區(qū)尺寸,status用于標識區(qū)狀態(tài)(ACTIVE:表示該區(qū)處于活動狀態(tài),EXPIRED:標識該區(qū)未用).

V$ROLLSTAT中的常用列

USN:回滾段標識

RSSIZE:回滾段默認大小

XACTS:活動事務(wù)數(shù)

在一段時間內(nèi)增量用到的列

WRITES:回滾段寫入數(shù)(單位:bytes)

SHRINKS:回滾段收縮次數(shù)

EXTENDS:回滾段擴展次數(shù)

WRAPS:回滾段翻轉(zhuǎn)(wrap)次數(shù)

GETS:獲取回滾段頭次數(shù)

WAITS:回滾段頭等待次數(shù)

關(guān)于Oracle 10g中UNDO數(shù)據(jù)的作用及UNDO表空間的操作的相關(guān)知識就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!

【編輯推薦】

  1. SQL Server使用UNION代替OR提升查詢性能的實例
  2. Oracle數(shù)據(jù)庫分析函數(shù)應(yīng)用實例之查找狀態(tài)全為1的ID
  3. SQL Server表中數(shù)據(jù)按條件批量導(dǎo)出為多個Excel文件
  4. Oracle數(shù)據(jù)庫中如果存在表就刪除不存在就創(chuàng)建的實例
  5. Oracle handbook系列之虛擬專用數(shù)據(jù)庫VPD的使用詳解
責任編輯:趙鵬 來源: ChinaUnix博客
相關(guān)推薦

2011-08-24 14:21:44

Oracle 10gUNDO表空間

2011-08-30 15:57:15

Oracle 10gUNDO_RETENT

2010-04-08 15:59:50

Oracle undo

2010-05-10 18:05:15

Oracle釋放und

2011-08-29 13:40:12

Oracle 10g創(chuàng)建表空間

2009-10-26 16:13:29

Oracle使用UND

2009-10-22 16:25:53

Oracle UNDO

2022-01-18 08:29:58

Oracle數(shù)據(jù)庫后端開發(fā)

2010-04-14 14:40:32

Oracle 10g

2009-10-26 17:07:17

VB.NET UNDO

2010-04-29 15:50:35

2011-08-30 15:28:33

Oracle 10g表

2011-08-23 18:04:16

Oracle 10g數(shù)據(jù)泵

2011-08-17 13:49:08

Oracle 10g客PLSQL develop

2011-04-15 09:53:37

Oracle 10gSQL優(yōu)化

2010-04-07 09:39:18

Oracle 10G

2010-04-08 14:35:42

Oracle 10G

2011-07-19 13:28:31

Oracle 10g

2010-03-31 10:30:03

Oracle 10g

2011-08-17 16:52:11

Oracle 10gLogmnr
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品亚洲第一 | 男女羞羞视频在线看 | 中文字幕 在线观看 | 亚洲精品日韩综合观看成人91 | 色小姐综合网 | 男人天堂国产 | 18性欧美 | 国产人久久人人人人爽 | 黄色片av | 日韩在线一区二区 | 亚洲欧美国产精品久久 | 亚洲乱码国产乱码精品精的特点 | 成人欧美一区二区三区在线播放 | 国产成人精品综合 | 欧美黄色一级毛片 | 欧美精品一区三区 | 日本一区二区高清不卡 | 国产综合久久 | 在线观看免费av片 | 国产精品久久久久久久久久了 | 久久久久久久久久性 | 日本人和亚洲人zjzjhd | 国产精品成人一区二区三区夜夜夜 | www.久| 久草99| 亚洲一区视频在线 | 国产高清精品一区二区三区 | 亚洲国产欧美国产综合一区 | 国产欧美一区二区三区国产幕精品 | 欧美二区在线 | 黄色毛片在线观看 | 久在线视频播放免费视频 | 国产成人99久久亚洲综合精品 | 亚洲欧美国产视频 | 国产一区二区三区免费 | 91视频大全 | 国产一区 | 一区精品在线观看 | 国产精品国产馆在线真实露脸 | 久久国产欧美日韩精品 | 美女爽到呻吟久久久久 |