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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

oracle表存储表空间,Oracle的存储信息-表空间信息记录

發(fā)布時(shí)間:2023/12/4 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle表存储表空间,Oracle的存储信息-表空间信息记录 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

經(jīng)過(guò)前面的介紹,我們已經(jīng)能夠?qū)racle的存儲(chǔ)結(jié)構(gòu)有了深入的了解,總結(jié)一下前面的內(nèi)容:Oracle最小的數(shù)據(jù)存儲(chǔ)單位是數(shù)據(jù)塊(Block),如果以單個(gè)數(shù)據(jù)塊進(jìn)行對(duì)象空間分配,那么顯然分配將過(guò)于頻繁,所以O(shè)racle使用多個(gè)數(shù)據(jù)塊組成了區(qū)間(Extent),區(qū)間是Oracle數(shù)據(jù)庫(kù)對(duì)象的最小空間分配單位,對(duì)象的空間分配和擴(kuò)展只能以區(qū)間為單位進(jìn)行,多個(gè)區(qū)間組成了段(Segment),根據(jù)用途的不同,Oracle數(shù)據(jù)庫(kù)又存在不同的段類型。段存儲(chǔ)在表空間中,一個(gè)數(shù)據(jù)庫(kù)最終由一系列的表空間構(gòu)成。

將以上的描述通過(guò)圖5-6來(lái)表示(圖中的數(shù)據(jù)塊大小為2kB)。

圖5-6? 存儲(chǔ)的物理結(jié)構(gòu)示意圖

Oracle對(duì)于Block的空間管理使用手工段空間管理和自動(dòng)段空間管理技術(shù),對(duì)于Extent的管理則通過(guò)字典管理和本地管理兩種技術(shù)實(shí)現(xiàn)。Oracle的存儲(chǔ)信息可以通過(guò)不同的數(shù)據(jù)字典查詢得到,接下來(lái)將介紹一些主要的數(shù)據(jù)字典視圖。

表空間信息記錄(DBA_TABLESPACES)

DBA_TABLESPACES視圖記錄了數(shù)據(jù)庫(kù)的表空間信息,表空間是數(shù)據(jù)庫(kù)的一個(gè)邏輯概念,一個(gè)表空間可以由多個(gè)物理的數(shù)據(jù)文件組成。這個(gè)視圖中記錄了表空間的數(shù)據(jù)塊大小、Segment、Extent管理方式等重要信息:SQL>?select?tablespace_name,block_size,extent_management,

2??segment_space_management,contents,retention,bigfile

3??from?dba_tablespaces;

TABLESPACE_NAME?BLOCK_SIZE?EXTENT_MAN?SEGMEN?CONTENTS??RETENTION???BIG

---------------?----------?----------?------?---------?-----------?---

SYSTEM???????????????32768?LOCAL??????MANUAL?PERMANENT?NOT?APPLY???NO

UNDOTBS1?????????????32768?LOCAL??????MANUAL?UNDO??????NOGUARANTEE?NO

SYSAUX???????????????32768?LOCAL??????AUTO???PERMANENT?NOT?APPLY???NO

TEMP?????????????????32768?LOCAL??????MANUAL?TEMPORARY?NOT?APPLY???NO

USERS????????????????32768?LOCAL??????AUTO???PERMANENT?NOT?APPLY???NO

BOSSMGR??????????????32768?LOCAL??????AUTO???PERMANENT?NOT?APPLY???YES

DBMON????????????????32768?LOCAL??????AUTO???PERMANENT?NOT?APPLY???NO

TEMP1????????????????32768?LOCAL??????MANUAL?TEMPORARY?NOT?APPLY???NO

8?rows?selected.

注意這個(gè)視圖中的retention、bigfile信息都是Oracle 10g中增加的,BIGFILE指示一個(gè)表空間是否是大文件表空間,在本章后面的小節(jié)中將會(huì)詳細(xì)介紹大文件表空間;而Retention則和UNDO表空間的數(shù)據(jù)保留策略有關(guān)。

在AUM(Auto Undo Management)模式下,UNDO_RETENTION參數(shù)用以控制事務(wù)提交以后UNDO信息保留的時(shí)間,UNDO信息可以用于減少ORA-01555錯(cuò)誤及一系列的閃回操作(Flashback)。該參數(shù)以秒為單位,在Oracle 9iR1中初始值為900秒,在Oracle 9iR2增加為10800秒。但是這是一個(gè)非擔(dān)保性(NO Guaranteed)限制,也就是說(shuō),如果有其他事務(wù)需要回滾空間,而空間出現(xiàn)不足時(shí),這些信息仍然會(huì)被覆蓋,很多時(shí)候這是不希望被看到的。

從Oracle 10g開(kāi)始,默認(rèn)Oracle會(huì)啟用自動(dòng)調(diào)整以滿足最長(zhǎng)運(yùn)行查詢的需要,而不管UNDO_RETENTION的值是多少。SQL>?select?*?from?v$version?where?rownum?<2;

BANNER

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

Oracle?Database?11g?Enterprise?Edition?Release?11.2.0.1.0?-?64bit?Production

SQL>?show?parameter?undo_retention;

NAME?????????????????????????????????TYPE????????VALUE

------------------------------------?-----------?------------------------------

undo_retention???????????????????????integer?????900

SQL>?select?begin_time,end_time,undotsn,undoblks,tuned_undoretention?from?v$undostat

2??where?rownum<5?order?by?begin_time?desc;

BEGIN_TIME???????????END_TIME????????????????UNDOTSN???UNDOBLKS?TUNED_UNDORETENTION

--------------------?--------------------?----------?----------?-------------------

2011-1-4?18:21:56????2011-1-4?18:29:04?????????????2?????????23?????????????1896067

2011-1-4?18:11:56????2011-1-4?18:21:56?????????????2?????????20?????????????1894612

2011-1-4?18:01:56????2011-1-4?18:11:56?????????????2?????????26?????????????1891101

2011-1-4?17:51:56????2011-1-4?18:01:56?????????????2????????146?????????????1887939

從結(jié)果里可以看到,盡管當(dāng)前的undo_retention的值是900,但是在2011-1-4 18:21:56至2011-1-4 18:29:04這段時(shí)間內(nèi),oracle自動(dòng)將undo_retention的值調(diào)整成了1896067。

但這并不代表著默認(rèn)的undo_retention的值(Oracle 10gR2開(kāi)始,這個(gè)默認(rèn)值是900)沒(méi)有作用,實(shí)際上,即使undo_retention的自動(dòng)調(diào)整默認(rèn)已被oracle采用,但由于oracle并不支持對(duì)lob字段的undo retention的自動(dòng)調(diào)整,所以u(píng)ndo_retention的值依然對(duì)lob字段有效。同時(shí)Oracle增加了Guarantee控制,也就是說(shuō),你可以指定UNDO表空間必須嚴(yán)格滿足UNDO_RETENTION的限制,即使UNDO空間不足,Oracle也不會(huì)回收未過(guò)期的UNDO空間,這樣如果有用戶請(qǐng)求UNDO空間得不到滿足,則會(huì)報(bào)錯(cuò)退出。Oracle通過(guò)這種機(jī)制使得用戶的期望可以被確保。

可以通過(guò)如下命令修改UNDO表空間的保證機(jī)制:SQL>?alter?tablespace?undotbs1?retention?guarantee;

Tablespace?altered

SQL>?alter?tablespace?undotbs1?retention?noguarantee;

Tablespace?altered

這個(gè)屬性有3個(gè)選項(xiàng):GUARANTEE、NOGUARANTEE和NOT APPLY。對(duì)于其他表空間這個(gè)屬性不適用,顯示為NOT APPLY。

總結(jié)

以上是生活随笔為你收集整理的oracle表存储表空间,Oracle的存储信息-表空间信息记录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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