<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Decode360's Blog

    業(yè)精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
      302 隨筆 :: 26 文章 :: 82 評(píng)論 :: 0 Trackbacks
    一、管理表的準(zhǔn)則
    ?
    ??? 1、創(chuàng)建表之前的設(shè)計(jì)
    ?
    ??? 一般表的結(jié)構(gòu)由應(yīng)用開(kāi)發(fā)者負(fù)責(zé),數(shù)據(jù)庫(kù)管理員負(fù)責(zé)設(shè)置存儲(chǔ)參數(shù)以及給表定義簇。具體的需要做到:
    ?
    ??? ① 表被規(guī)范化
    ??? ② 每個(gè)列具有合適的數(shù)據(jù)類(lèi)型
    ??? ③ 最后定義允許空值的列,以便節(jié)約存儲(chǔ)空間
    ??? ④ 合適的時(shí)候?qū)Ρ矸执?,以?jié)省存儲(chǔ)空間和優(yōu)化SQL語(yǔ)句性能
    ?
    ??? 2、指定數(shù)據(jù)塊空間參數(shù)
    ?
    ??? 在創(chuàng)建每個(gè)表的時(shí)候,指定PCTFREEPCTUSED參數(shù)。
    ?
    ??? 3、指定每個(gè)表的位置
    ?
    ??? 在創(chuàng)建表的時(shí)候,都用TABLESPACE子句指定合適的表空間,具體意義有:
    ?
    ??? ① 可以提高數(shù)據(jù)庫(kù)系統(tǒng)的性能
    ??? ② 可以減少數(shù)據(jù)庫(kù)管理的時(shí)間
    ??? ③ 如果被默認(rèn)創(chuàng)建在SYSTEM空間,會(huì)影響Oracle性能
    ??? ④ 相關(guān)聯(lián)的表被隨機(jī)存儲(chǔ)在多個(gè)表空間,則管理操作時(shí)間會(huì)增加
    ?
    ??? 4、考慮并行創(chuàng)建表
    ?
    ??? 如果使用CREATE TABLE ... SELECT ...語(yǔ)句來(lái)創(chuàng)建表時(shí),盡量使用并行執(zhí)行,這樣由多個(gè)進(jìn)程一起創(chuàng)建表,會(huì)改善創(chuàng)建的效率。
    ?
    ??? 5、考慮創(chuàng)建時(shí)使用NOLOGGING
    ?
    ??? 使用NOLOGGING子句可以使創(chuàng)建表時(shí)所產(chǎn)生的重做信息量最小,具體好處有:
    ?
    ??? ① 節(jié)省了重做日志文件的空間
    ??? ② 減少了創(chuàng)建表的時(shí)間
    ??? ③ 改善了大表的并行創(chuàng)建的性能
    ?
    ??? 注:NOLOGGING子句還指定了不等級(jí)后續(xù)的用SQL*Loader和INSERT操作所做的直接加載操作,但是后續(xù)的DML語(yǔ)句不受影響,任然會(huì)產(chǎn)生重做登記。
    ?
    ??? 6、估計(jì)表的大小和設(shè)置存儲(chǔ)參數(shù)
    ?
    ??? ① 通過(guò)對(duì)表、索引、回滾段、重做日志文件的估計(jì),以決定支持期望的數(shù)據(jù)庫(kù)所需磁盤(pán)空間,購(gòu)買(mǎi)合適的硬件設(shè)備。
    ??? ② 估計(jì)單個(gè)表的大小,以便更好管理該表使用的磁盤(pán)空間,以配置合適的存儲(chǔ)參數(shù),改善I/O性能
    ?
    ??? 7、規(guī)劃大表
    ?
    ??? 可以設(shè)置MAXEXTENTS UNLIMITED來(lái)簡(jiǎn)單規(guī)劃大表,減少消耗的空間和碎片。具體可以考慮:
    ?
    ??? ① 將表和索引分開(kāi)。放入不同的表空間,甚至不同的磁盤(pán)。這樣在重建索引時(shí)也可以更容易找到連續(xù)的空間。
    ??? ② 分配足夠的臨時(shí)空間。用于防止排序時(shí)臨時(shí)空間不夠。
    ?
    ??? 注:不能更改數(shù)據(jù)字典來(lái)使MAXEXTENTS大于允許的數(shù)據(jù)庫(kù)塊的最大值。
    ?
    ??? 8、表的限制
    ?
    ??? ① 包含對(duì)象類(lèi)型的表不能導(dǎo)入Oracle 8之前的數(shù)據(jù)庫(kù)中
    ??? ② 當(dāng)原始數(shù)據(jù)還在數(shù)據(jù)庫(kù)中時(shí),不能將類(lèi)型和盤(pán)區(qū)表移動(dòng)到不同的模式中
    ??? ③ 不能將一個(gè)導(dǎo)出的表合并到不同模式中相同名字的表中
    ??? ④ Oracle對(duì)表所能具有的列數(shù)(或?qū)ο箢?lèi)型屬性)有限制
    ?
    ?
    二、創(chuàng)建表
    ?
    ??? 具體的創(chuàng)建方式,以及表的類(lèi)型,可以參見(jiàn)“Oracle表介紹”。這里簡(jiǎn)單得介紹一下
    ?
    ??? 1、表創(chuàng)建的格式
    ?
    ??? CREATE TABLE emp (
    ??? empno NUMBER(5) PRIMARY KEY,
    ??? ename VARCHAR2(15) NOT NULL,
    ??? job VARCHAR2(10),
    ??? mgr NUMBER(5),
    ??? hiredate DATE DEFAULT (sysdate),
    ??? sal NUMBER(7,2),
    ??? comm NUMBER(7,2),
    ??? deptno NUMBER(3) NOT NULL,
    ??? CONSTRAINT dept_fkey REFERENCES dept)
    ??? PCTFREE 10
    ??? PCTUSED 40
    ??? TABLESPACE users
    ??? STORAGE?
    ??? (INITIAL 50K
    ??? NEXT 50K
    ??? MAXEXTENTS 10
    ??? PCTINCREASE 25)
    ?
    ??? 2、創(chuàng)建臨時(shí)表
    ?
    ??? CREATE GLOBAL TEMPORARY TABLE work_area
    ??? (startdate DATE,
    ??? enddate DATE,
    ??? class CHAR(20))
    ??? ON COMMIT DELETE ROWS;
    ?
    ??? 說(shuō)明:
    ??? ON COMMIT DELETE ROWS:事務(wù)特殊,提交后舍棄表。
    ??? ON COMMIT?PRESERVE ROWS:會(huì)話(huà)特殊,結(jié)束會(huì)話(huà)時(shí)才舍棄表。
    ?
    ??? 3、并行創(chuàng)建表
    ?
    ??? 可以通過(guò)兩種方法來(lái)并行創(chuàng)建表:
    ?
    ??? ① 在CREATE TABLE .. AS SELECT語(yǔ)句中包含了PARALLEL子句
    ??? ② 指定了ALTER SESSION FORCE PARALLEL DDL語(yǔ)句
    ?
    ??? CREATE TABLE emp_dept
    ??? PARALLEL
    ??? AS SELECT * FROM scott.emp
    ??? WHERE deptno = 10;
    ?
    ??? 4、自動(dòng)收集表上的統(tǒng)計(jì)信息
    ?
    ??? 在CREATE(ALTER) TABLE語(yǔ)句中,加入MONITORING子句,則會(huì)使用DBMS_STATS包來(lái)自動(dòng)收集統(tǒng)計(jì)數(shù)據(jù)。
    ?
    ??? 可以通過(guò)這個(gè)包來(lái)收集、修改、查看、導(dǎo)出、導(dǎo)入和刪除統(tǒng)計(jì)數(shù)據(jù)。所統(tǒng)計(jì)的信息可以使用DBA|ALL|USER_TAB_MODIFICATIONS視圖來(lái)查看。
    ?
    ??? 取消收集用NOMONITORING語(yǔ)句。
    ?
    ?
    三、更改表
    ?
    ??? 可以使用ALTER TABLE語(yǔ)句來(lái)更改表。更改表可能處于以下的原因:
    ?
    ??? ● 添加、刪除、修改現(xiàn)有的列
    ??? ● 修改數(shù)據(jù)塊空間的使用參數(shù)(PCTFREE|PCTUSED)
    ??? ● 修改事務(wù)入口配置(INITRANS|MAXTRANS)
    ??? ● 修改存儲(chǔ)參數(shù)
    ??? ● 將表移動(dòng)到一個(gè)新段或表空間
    ??? ● 明確分配一個(gè)盤(pán)區(qū)或收回未使用的空間
    ??? ● 修改表的日志屬性
    ??? ● 修改CACHE|NOCACHE屬性
    ??? ● 添加、修改、刪除表的相關(guān)完整性約束
    ??? ● 啟用、停用表的相關(guān)完整性約束或觸發(fā)器
    ??? ● 修改表的并行度
    ??? ● 重命名表
    ??? ● 添加、修改索引結(jié)構(gòu)表的特征
    ??? ● 添加、修改LOB列
    ??? ● 添加、修改對(duì)象類(lèi)型、嵌入的表、Varray列
    ??? ● 啟動(dòng)、停用統(tǒng)計(jì)數(shù)據(jù)采集(MONITORING|NOMONITORING)
    ?
    ??? 下面舉例具體操作語(yǔ)句:
    ?
    ??? 1、移動(dòng)表到一個(gè)新段或表空間
    ?
    ??? ALTER TABLE emp MOVE
    ??? STORAGE
    ??? ( INITIAL 20K
    ?????NEXT 40K
    ???? MINEXTENS 2
    ???? MAXEXTENS 20
    ???? PCTINCREASE 0);
    ?
    ??? 2、手動(dòng)給表分配存儲(chǔ)空間
    ?
    ??? 使用ALTER TABLE語(yǔ)句中的ALLOCATE EXTENT子句來(lái)分配新盤(pán)區(qū)
    ??? 使用ALTER TABLE語(yǔ)句中的DEALLOCATE UNUSED子句來(lái)明確收回未使用的空間
    ?
    ??? 3、刪除列
    ?
    ??? ALTER TABLE emp DROP COLUMN sal;
    ??? ALTER TABLE emp DROP (sal,comm);
    ?
    ??? 注:不能刪除所有的列,不能刪除SYS擁有的表的列。
    ?
    ??? 4、標(biāo)記未使用且刪除
    ?
    ??? ALTER TABLE emp SET UNUSED (sal,comm);
    ?
    ??? 注1:標(biāo)記未使用的列在查詢(xún)和數(shù)據(jù)字典視圖中均不顯示,新建列可以使用改名字,且相關(guān)的約束、索引、統(tǒng)計(jì)數(shù)據(jù)均被刪除。
    ??? 注2:DBA|ALL|USER_UNUSED_COL_TABS視圖中列出所有包含未使用列的表,以及未使用列的個(gè)數(shù)。
    ?
    ??? 使用以下語(yǔ)句來(lái)刪除標(biāo)記為未使用的列:
    ?
    ??? ALTER TABLE emp DROP UNUSED COLUMNS;
    ?
    ?
    ?
    ?




    -The End-

    posted on 2009-02-11 21:51 decode360-3 閱讀(237) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): DBA
    主站蜘蛛池模板: 成人免费看黄20分钟| 手机看片国产免费永久| 亚洲一本一道一区二区三区| 久久亚洲AV成人出白浆无码国产| 亚洲嫩草影院久久精品| 亚洲黄色免费观看| 亚洲中字慕日产2021| 国产成人精品日本亚洲11| 国产亚洲精品成人AA片| 亚洲av成人一区二区三区观看在线| 美女黄频a美女大全免费皮| 四虎一区二区成人免费影院网址| 美美女高清毛片视频黄的一免费 | 无码人妻久久一区二区三区免费| 久久久国产精品福利免费| 午夜老司机永久免费看片| 精品成在人线AV无码免费看| 久久久久国产精品免费免费搜索| 午夜精品在线免费观看| 亚洲高清免费视频| 久久精品国产精品亚洲精品 | 国产成人免费ā片在线观看| 亚洲国产精品尤物yw在线| 亚洲理论电影在线观看| 久久精品蜜芽亚洲国产AV| 91丁香亚洲综合社区| 免费在线观看亚洲| 在线观看片免费人成视频播放| 99精品视频免费观看| 无码高潮少妇毛多水多水免费| 国产三级免费电影| 亚洲中文字幕第一页在线| 亚洲视频在线观看网址| 亚洲欧美日韩自偷自拍| 国产精品极品美女自在线观看免费| 午夜不卡久久精品无码免费| 午夜免费福利在线| 亚洲中文字幕无码中文字在线 | 国产亚洲精品一品区99热| 亚洲欧洲国产精品久久| 看亚洲a级一级毛片|