好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Oracle數據庫的空間管理技巧

Oracle數據庫的空間管理技巧

熱門標簽:修改高德地圖標注 淮安自動外呼系統開發 語音電話機器人缺點 地圖標注原件 南通防封外呼系統運營商 百變地圖標注 宜賓外呼系統廠家 語音電話機器人營銷方案 廣州市400電話辦理

正在看的ORACLE教程是:Oracle數據庫的空間管理技巧。  在Oracle數據庫中,DBA可以通過觀測一定的表或視圖來了解當前空間的使用狀況,進而作出可能的調整決定。 

一.表空間的自由空間

---- 通過對表空間的自由空間的觀察,可用來判斷分配給某個表空間的空間是太多還是不夠。請看下列的語句

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%的分配空間未被使用,這個比例太小了,而在SYSTEM及TEMP等表空間中,高達80%以上的空間未被利用,對于生產型數據庫,這個表空間的設置有些偏高。

---- 關于自由空間的管理,有下面的一些建議:

利用Export及Import命令卸出和裝入表空間可以釋放大量的空間,從而緩解增加另外的數據文件的要求。

如果包含具有高插入(insert)和更新(update)活動的表的表空間中自由空間的比重下降到了15%以下,要為此表空間增加更多的空間。

對于一個基本是靜態表數據的表空間,如果有多于20%的自由空間,則可以考慮減少分配給它的文件空間量。

減少SYSTEM表空間的空間量比較困難,因為那要重建數據庫。

二 表及索引的擴展

---- A.為了防止表或索引被過分擴展,及時實現對數據庫的調整,用戶應當經常對有關對象進行觀察。

---- 我們可以認為,擴展區域大于5個的表或索引為過分擴展(overextended)。請看下面的語句:

SQL > select substr(segment_name,1,15) 
Segment_name,segment_type, 
2 substr(tablespace_name,1,10) 
Tablepace_name,extents,Max_extents 
3from dba_segments 
4where extents >5 and owner='JFCL' 
5order by segment_name; 

SEGMENT_NAMESEGMENT TABLEPACE_
EXTENTS MAX_EXTENTS
_TYPE
-------------- --------- ----------
CHHDFYB TABLE JFSJTS 11121
CHHDFYB_DHHMINDEX JFSJTS9121
DJHZFYB_BF TABLE JFSJTS 17500
DJHZFYB_DJHMINDEX IDX_JF6500
DJHZFYB_JZHMINDEX IDX_JF7500
GSMFYB TABLE JFSJTS 11121
JFDHTABLE JFSJTS 14500
JFDH_DHHM INDEX IDX_JF 61500
JFDH_JZHM INDEX IDX_JF 64500
XYKFYB TABLE JFSJTS7121
YHDATABLE JFSJTS6500
YHDA_BAKTABLE JFSJTS6500
YHHZFYB_12 TABLE JFSJTS 10500

13 rows selected.

---- 通過觀察, DBA可以及時發現問題并進行相應的處理。
---- 我們可以利用export卸出表,然后刪除表,再利用import命令將表裝入,這樣,可以將不連續的區域合并成一個連續的空間。

---- B.如果用戶希望對表的空間設置進行優化,例如,需要改變表EMP的initial參數,可以采用下面的方法:

---- 1.在將EMP表卸出并刪除后執行imp命令時使用indexfile參數:

---- imp userid=scott/tiger file=emp.dmp indexfile=emp.sql oracle把表和索引的創建信息寫到指定的文件,而不是把數據寫回。

---- 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(INITIAL 
REM 10240 NEXT 10240 MINEXTENTS 1 MAXEXTENTS 
121 PCTINCREASE 50 FREELISTS 
REM 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) 
TABLESPACE "USER_DATA" ; 
REM ... 14 rows

---- 對它進行編輯,去除"REM"等信息,找到Initial參數,根據需要改變它。
---- 3.在SQL*plus中執行emp.sql。

---- 4.裝入數據:

---- imp userid=scott/tiger ignore=y file=emp.dmp

---- 需要注意的是,ignore參數必須設為Y.

---- C.可以用下面的語句來觀察表或索引距離達到最大擴展的狀況,“UNUSE”為距離達到最大擴展的值,在User_extents表中,extent_id是從0開始記述數的。

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 b 
4where a.table_name=b.segment_name 
5 group by a.table_name ORDER BY 4; 

TABLE_NAME MAXEXTENTS IN USEUNUSE
---------- ----------- -------- ---------
YZPHB 98 1 97
SHJYB 121 1 120
SHFYB 121 1 120
RCHDB 121 1 120
SJTXDZB121 1 120
SJTXDAB121 1 120
CHYHB 121 1 120
JFDH 50014 486
8 rows selected.

---- 如果“UNUSE"小到一定的程度,我們就應該加以關注,進行適當的調整處理。

---- 三 關于連續空間

---- 可以用下面的語句來查看數據庫中的自由空間:

SQL > select * from dba_free_space 
where tablespace_name='SFSJTS' 
2 order by block_id; 

TABLESPACE FILE_ID BLOCK_ID BYTESBLOCKS
_NAME
----------- --------- --------------
SFSJTS 6 133455 1064960 130
SFSJTS 6 133719 1032192 126
SFSJTS 6 133845 1064960 130
SFSJTS 6 135275 1064960 130
SFSJTS 6 135721 606208 74
SFSJTS 6 139877 901120 110
SFSJTS 6 143497 737280 90
SFSJTS 6 220248 737280 90
SFSJTS 6 246228 491520 60
SFSJTS 6 261804 1064960 130

10 rows selected.

---- 我們可以通過命令的結果來估計相鄰自由空間的真正數量。對每一行,用起始快的id(BLOCK_ID)加上自由塊(BLOCKS)的數量,如果其和與下一行的塊id(BLOCK_ID)相等,則此兩行是連續的。如上例第二行和第三行,133719+126=133845,而1338456+130!=135275,所以從block_id為133719開始,有126+130=256個block的連續空間。
---- 在oracle數據庫的后臺,系統監視器(SMON)周期性地合并自由空間相鄰的塊,以得到更大的連續塊。而DBA可以用SQL命令來完成這個工作:

---- alter tablespace tablespace_name coalesce;

---- oracle空間管理對數據庫的工作性能有重要影響,其管理方法值得我們認真摸索研究。

您可能感興趣的文章:
  • 在Linux系統上同時監控多個Oracle數據庫表空間的方法
  • Oracle數據庫中表空間的基本管理操作小結
  • ORACLE數據庫空間整理心得
  • Oracle數據庫空間滿了進行空間擴展的方法

標簽:襄陽 聊城 嘉峪關 池州 股票投資 南平 南平 通化

巨人網絡通訊聲明:本文標題《Oracle數據庫的空間管理技巧》,本文關鍵詞  Oracle,數據庫,的,空間,管理,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle數據庫的空間管理技巧》相關的同類信息!
  • 本頁收集關于Oracle數據庫的空間管理技巧的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 日韩精品久久不卡中文字幕| 日韩美女福利视频| 免费在线观看欧美| 特别黄的免费视频大片| a级毛片在线播放| 亚洲国产精品xo在线观看| 久久久久久久久精品成人热小说| 国语对白清晰刺激对白| 啪啪1000部| 丰满多毛的大隂唇特写图片 | 欧美成人怡红院在线观看| 天美传媒麻豆| 青青热久免费精品视频在app| 无码人妻久久一区二区三区69 | 香蕉大综综综合久久啪| 国产成人精品亚洲AV无人区一区 | 熟女倶楽部ru0378全在线播放| 高清??码????免费漫画| 性姿势无遮挡免费视频| 9色视频在线| 国产色司机在线视频免费观看| 中文无码日韩精品影片| 曹逼网站| 中文字幕久久久久久精品 | free少妇两片肥肉PicS| 交换旅行| 男人边吃奶边扒开大腿高潮| 潘娇娇的大尺度裸乳| 无人区码一码二码三码区别小说| 女人黄色电影| 被c到喷水嗯h厨房play| 喂奶bbwbbwhd| 无码人妻丰满熟妇精品区东京直播| 久久99国产精品视频| 国产边摸边吃奶叫床视频| 男人把女人躁得呻吟| 色婷五月天| 欧美又大粗又爽又黄大片视频| 男女无遮挡XX00动态图| 厕所xxxx| 天天做夜夜爽|