oracle 好书( 09 对象管理 )
所謂對象,指的是邏輯意義上的概念,不是物理意義上的,這些對象都放在某個用戶下,這些對象也叫
schema對象。schema表示某個用戶下對象的集合,schema名稱與用戶名相同。但是schema與用戶不
是一回事。如果用戶下沒有任何對象,則改用戶就不存在schema,只有當用戶具有了對象,用戶才具有
schema.
- 表
? 普通表:一個表對象一個segment
? 分區(qū)表:每個分區(qū)對應一個segment,每個segment可以位于不同的表空間里。一般我們會把數據量
???????? 大的表做成分區(qū)表。
? 索引組織表:IOT必須有一個主鍵索引,同時所有數據與主鍵列一起存放在主鍵索引的葉子節(jié)點里
? 簇表:兩個表經常進行關聯查詢,這時我們就可以把它們創(chuàng)建成簇表。
- 管理表?
? 擴展表:擴展存儲空間
? 重整表:主要是將一個表從目前所在表空間轉義到另外一個表空間,或者需要消除表的數據塊級碎片
???????? 還有就是處理高水位HWM.
? 收縮表:shrink, 收縮操作時通過事務的方式來將數據行從一個數據塊轉移到另一個數據塊里。在
???????? 收縮過程中,表仍然時可以進行DML操作。收縮的前提,表空間必須使用ASSM,另外,在被
???????? 收縮的表上必須啟用 row movement ( alter table t enable row movement; )
???????? 這個是oracle10g 新特性,以前就要重整表。
?
???? oracle 建議在業(yè)務高峰時期,進行壓縮,等到業(yè)務不繁忙,再降低HWM。
? 截斷表: truncate table. 有時候如果表太大了,比如幾個GB,如果使用 truncate 命令會需要
????????? 很長時間,可能超過幾個個小時,為此,oracle在進行截斷的時候,可以在更新完數據字
????????? 典以后,不立即釋放全部數據塊。但是表上的HWM已經下降了,然后,我們可以在系統(tǒng)比較
????????? 空閑的時候,分多次釋放數據塊。每次釋放部分空間。
? 刪除表: drop table t1;
? 修改或刪除列:在刪除列的過程中,oracle 會消耗undo表空間,從而把被刪除的列的值記錄下來,
????????????? 如果表里的數據行很多的話,就會消耗很多Undo資源,為解決這個問題,我們可以
????????????? 執(zhí)行 alter table t1 drop column code cascade constraints
?????????????????? checkpoint 2000; (checkpoint 2000 表示每隔2000行就提交一次)
? 設置unused: alter table t set unused column createdate;
???????????? alter table t drop unused columns checkpoint 2000;
- 約束
? not null, unique, primary key, foreign key, check
? 約束狀態(tài):
??? enable,disable: 表示創(chuàng)建約束以后,對表的數據進行插入或修改時,要參考約束情況。
??? validata, novalidate: 這表示創(chuàng)建約束時 , 是否要對表里的現存數據進行校驗,以判斷是否
??? 違反約束
??? 那么,這兩種排列組合就有4中狀態(tài)
??? enable+validate: 新插入數據要校驗,原有數據也要校驗
??? enable+novalidate: 不校驗已存,只校驗新插入
??? disable+validate: 不校驗新插入,只校驗已存在
??? disable+novalidate: 都不校驗
??? 我們一般使用前兩種,對于第二種情況,通常用戶數據合并.
- 使用分區(qū)表,索引組織表,簇表
? -- 分區(qū)表: 范圍分區(qū)(最常用)
? ?
? hash 分區(qū)
? 列表分區(qū)
? -- 索引組織表
? 索引組織表,IOT,本身不對應segment, 表里所有的數據都存放在主鍵所在的索引的葉子節(jié)點里
? -- 臨時表空間
?
- 索引?
? 索引與表一樣,也屬于一種段segment,里面存放了用戶的數據,與表一樣需要占用磁盤空間。只不過,在索引里的數據存放形式與表里的數據存放形式非常不一樣,它是一個有序排列的結構。索引所占的磁盤空間要比表小的多,其主要作用是為了加快對數據的搜索速度,也可以用來保證數據的唯一性。
? -- B 樹索引
-- 位圖索引
位圖索引是另外一種索引類型,它的組織形式與B樹索引相同,也是一棵平衡樹。與B樹索引的區(qū)別在于葉子節(jié)點存放索引條目的方式不同。
-- 管理索引
?
- 其他對象(view, sequence)
- 可恢復空間分配(oracle10g新特性)
轉載于:https://www.cnblogs.com/moveofgod/archive/2013/05/03/3054470.html
總結
以上是生活随笔為你收集整理的oracle 好书( 09 对象管理 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 11.2.0.2 HAIP
- 下一篇: Python subprocess