亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

Oracle的空間數(shù)據(jù)庫管理技巧

瀏覽:4日期:2023-11-20 09:31:00
在Oracle數(shù)據(jù)庫中,DBA可以通過觀測一定的表或視圖來了解當(dāng)前空間的使用狀況,進(jìn)而作出可能的調(diào)整決定。 一.表空間的自由空間 通過對表空間的自由空間的觀察,可用來判定分配給某個(gè)表空間的空間是太多還是不夠。請看下列的語句 SQL > select a.file_id 'FileNo',a.tablespace_name 'Tablespace_name', 2 a.bytes 'Bytes',a.bytes-sum(nvl(b.bytes,0)) 'Used', 3 sum(nvl(b.bytes,0)) 'Free', 4 sum(nvl(b.bytes,0))/a.bytes*100 '%free' 5 from dba_data_files a, dba_free_space b 6 where a.file_id=b.file_id(+) 7 group by a.tablespace_name , 8 a.file_id,a.bytes order by a.tablespace_name; File Tablespace No _nameBytes Used Free %free ------ --------- -------- --------- --------- --------- 11IDX_JF .146E+09 849305600 1.297E+09 60.431806 9 JFSJTS 2.146E+09 1.803E+09 343793664 16.016961 10JFSJTS 2.146E+09 1.359E+09 787431424 36.685546 2 RBS523239424 359800832 163438592 31.235909 12RBS1.610E+09 1.606E+09 3104768 .19289495 8 RBSJF 3.220E+09 2.716E+09 504356864 15.662396 7 SFGLTS 2.146E+09 1.228E+09 918159360 42.776014 6 SFSJTS 2.146E+09 1.526E+09 620093440 28.889457 1 SYSTEM 523239424 59924480 463314944 88.547407 3 TEMP 523239424294912 522944512 99.943637 4 TOOLS 15728640 12582912 314572820 5 USERS 7340032 81927331840 99.888393 12 rows selected. 可以看出,在FileNo為12的表空間RBS中,只有0.19%的分配空間未被使用,這個(gè)比例太小了,而在SYSTEM及TEMP等表空間中,高達(dá)80%以上的空間未被利用,對于生產(chǎn)型數(shù)據(jù)庫,這個(gè)表空間的設(shè)置有些偏高。 關(guān)于自由空間的治理,有下面的一些建議:利用EXPort及Import命令卸出和裝入表空間可以釋放大量的空間,從而緩解增加另外的數(shù)據(jù)文件的要求。假如包含具有高插入(insert)和更新(update)活動(dòng)的表的表空間中自由空間的比重下降到了15%以下,要為此表空間增加更多的空間。對于一個(gè)基本是靜態(tài)表數(shù)據(jù)的表空間,假如有多于20%的自由空間,則可以考慮減少分配給它的文件空間量。減少SYSTEM表空間的空間量比較困難,因?yàn)槟且亟〝?shù)據(jù)庫。 二 表及索引的擴(kuò)展 A.為了防止表或索引被過分?jǐn)U展,及時(shí)實(shí)現(xiàn)對數(shù)據(jù)庫的調(diào)整,用戶應(yīng)當(dāng)經(jīng)常對有關(guān)對象進(jìn)行觀察。我們可以認(rèn)為,擴(kuò)展區(qū)域大于5個(gè)的表或索引為過分?jǐn)U展(overextended)。請看下面的語句: SQL > select substr(segment_name,1,15)Segment_name,segment_type,2 substr(tablespace_name,1,10)Tablepace_name,extents,Max_extents3from dba_segments4where extents >5 and owner='JFCL'5order by segment_name;SEGMENT_NAMESEGMENT TABLEPACE_EXTENTS MAX_EXTENTS_TYPE-------------- --------- ----------CHHDFYB TABLE JFSJTS 11121CHHDFYB_DHHMINDEX JFSJTS9121DJHZFYB_BF TABLE JFSJTS 17500DJHZFYB_DJHMINDEX IDX_JF6500DJHZFYB_JZHMINDEX IDX_JF7500GSMFYB TABLE JFSJTS 11121JFDHTABLE JFSJTS 14500JFDH_DHHM INDEX IDX_JF 61500JFDH_JZHM INDEX IDX_JF 64500XYKFYB TABLE JFSJTS7121YHDATABLE JFSJTS6500YHDA_BAKTABLE JFSJTS6500YHHZFYB_12 TABLE JFSJTS 1050013 rows selected. 通過觀察, DBA可以及時(shí)發(fā)現(xiàn)問題并進(jìn)行相應(yīng)的處理。我們可以利用export卸出表,然后刪除表,再利用import命令將表裝入,這樣,可以將不連續(xù)的區(qū)域合并成一個(gè)連續(xù)的空間。 B.假如用戶希望對表的空間設(shè)置進(jìn)行優(yōu)化,例如,需要改變表EMP的initial參數(shù),可以采用下面的方法: 1.在將EMP表卸出并刪除后執(zhí)行imp命令時(shí)使用indexfile參數(shù):imp userid=scott/tiger file=emp.dmp indexfile=emp.sql Oracle把表和索引的創(chuàng)建信息寫到指定的文件,而不是把數(shù)據(jù)寫回。 2.打開emp.sql文件: REM CREATE TABLE 'SCOTT'.'EMP' ('EMPNO' NUMBER(4, 0), 'ENAME'REM VARCHAR2(10), 'JOB' VARCHAR2(9), 'MGR' NUMBER(4, 0), 'HIREDATE' DATE,REM 'SAL' NUMBER(7, 2), 'COMM' NUMBER (7, 2), 'DEPTNO' NUMBER(2, 0))REM PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 LOGGING STORAGE(INITIALREM 10240 NEXT 10240 MINEXTENTS 1 MAXEXTENTS 121 PCTINCREASE 50 FREELISTSREM 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)TABLESPACE 'USER_DATA' ;REM ... 14 rows對它進(jìn)行編輯,去除'REM'等信息,找到Initial參數(shù),根據(jù)需要改變它。3.在SQL*plus中執(zhí)行emp.sql。4.裝入數(shù)據(jù):imp userid=scott/tiger ignore=y file=emp.dmp需要注重的是,ignore參數(shù)必須設(shè)為Y.C.可以用下面的語句來觀察表或索引距離達(dá)到最大擴(kuò)展的狀況,“UNUSE”為距離達(dá)到最大擴(kuò)展的值,在User_extents表中,extent_id是從0開始記述數(shù)的。SQL >select a.table_name 'TABLE_NAME',max(a.max_extents) 'MAXEXTENTS' ,2 max(b.extent_id)+1 'IN USE', MAX(a.max_extents)-(max(b.extent_id)+1) 'UNUSE'3 from user_tables a, user_extents b4where a.table_name=b.segment_name5 group by a.table_name ORDER BY 4;TABLE_NAME MAXEXTENTS IN USEUNUSE---------- ----------- -------- ---------YZPHB 98 1 97SHJYB 121 1 120SHFYB 121 1 120RCHDB 121 1 120SJTXDZB121 1 120SJTXDAB121 1 120CHYHB 121 1 120JFDH 50014 4868 rows selected.假如“UNUSE'小到一定的程度,我們就應(yīng)該加以關(guān)注,進(jìn)行適當(dāng)?shù)恼{(diào)整處理。三 關(guān)于連續(xù)空間可以用下面的語句來查看數(shù)據(jù)庫中的自由空間:SQL > select * from dba_free_spacewhere tablespace_name='SFSJTS'2 order by block_id;TABLESPACE FILE_ID BLOCK_ID BYTESBLOCKS_NAME----------- --------- --------------SFSJTS 6 133455 1064960 130SFSJTS 6 133719 1032192 126SFSJTS 6 133845 1064960 130SFSJTS 6 135275 1064960 130SFSJTS 6 135721 606208 74SFSJTS 6 139877 901120 110SFSJTS 6 143497 737280 90SFSJTS 6 220248 737280 90SFSJTS 6 246228 491520 60SFSJTS 6 261804 1064960 13010 rows selected.我們可以通過命令的結(jié)果來估計(jì)相鄰自由空間的真正數(shù)量。對每一行,用起始快的id(BLOCK_ID)加上自由塊(BLOCKS)的數(shù)量,假如其和與下一行的塊id(BLOCK_ID)相等,則此兩行是連續(xù)的。如上例第二行和第三行,133719+126=133845,而1338456+130!=135275,所以從block_id為133719開始,有126+130=256個(gè)block的連續(xù)空間。 在Oracle數(shù)據(jù)庫的后臺,系統(tǒng)監(jiān)視器(SMON)周期性地合并自由空間相鄰的塊,以得到更大的連續(xù)塊。而DBA可以用SQL命令來完成這個(gè)工作: alter tablespace tablespace_name coalesce; Oracle空間治理對數(shù)據(jù)庫的工作性能有重要影響,其治理方法值得我們認(rèn)真摸索研
標(biāo)簽: Oracle 數(shù)據(jù)庫
主站蜘蛛池模板: 91视频地址| 亚洲一级色| 美国一级毛片片aa成人 | 色婷婷久久免费网站 | 国产免费91视频 | 国产乱码精品一区二区 | 窝窝午夜看片成人精品 | 国产一区二区在线观看视频 | 国产福利在线观看永久视频 | 欧美日韩成人在线观看 | a级国产乱理片在线观看 | a级毛片在线视频免费观看 a级毛片在线播放 | 欧美一区二区三区不卡 | 国产91在线看 | 亚洲色图亚洲色图 | 欧美成国产精品 | 精品一区 二区三区免费毛片 | 亚洲精品亚洲九十七页 | 日本96在线精品视频免费观看 | 久久久精品久久久久久 | 色视频在线观看 | 亚洲一区成人 | 一二三区乱码一区二区三区码 | 性美国xxxxx免费 | 国产区香蕉精品系列在线观看不卡 | 免费人成综合在线视频 | 亚洲精品专区一区二区欧美 | 成人网久久 | 国产欧美一区二区三区免费 | 国产一级淫片a视频免费观看 | 欧美一级毛片图 | 乱人伦精品一区二区 | 一区视频在线播放 | 成年女人视频在线观看免费 | 亚洲国产美女精品久久 | 高中生精品视频在线观看 | 美女毛片在线看 | 午夜看黄| 国产精品欧美日韩精品 | 尹人香蕉久久99天天拍欧美p7 | 日本大片在线观看免费视频 |