intTypePromotion=1

Đào tạo Oracle cơ bản - Giáo trình kiến trúc và quản trị Oracle 8i - Phần 4

Chia sẻ: Nguyen Nhi | Ngày: | Loại File: PDF | Số trang:12

0
88
lượt xem
16
download

Đào tạo Oracle cơ bản - Giáo trình kiến trúc và quản trị Oracle 8i - Phần 4

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

10 Cấu trúc l-u trữ 10.1 Các cấu trúc l-u trữ chính của Oracle • Cấu trúc l-u trữ Ch-ơng tr-ớc đã trình bày cấu trúc l-u trữ trong Oracle. Cấu trúc l-u trữ bao gồm hai mức physical và logic. ở mức logic, database bao gồm nhiều tablespaces. Mỗi tablespace lại tiếp tục đ-ợc chia thành nhiều segments. Phần này sẽ giới thiệu chủ yếu về các segments. • Thông tin về cấu trúc l-u trữ Thông tin về cấu trúc l-u trữ đ-ợc l-u giữ trong từ điển dữ liệu. Ta có thể dùng câu lệnh SQL để lấy đ-ợc các thông...

Chủ đề:
Lưu

Nội dung Text: Đào tạo Oracle cơ bản - Giáo trình kiến trúc và quản trị Oracle 8i - Phần 4

  1. C«ng ty cæ phÇn tμi ng©n - BFC Gi¸o tr×nh kiÕn tróc vμ qu¶n trÞ Oracle 8i ALTER DATABASE RENAME FILE ’/DISK1/system_01.dbf’ TO ’/DISK2/system_01.dbf’; C¸ch lµm: T¾t database - Di chuyÓn file d÷ liÖu t−¬ng øng b»ng hÖ ®iÒu hµnh - Mount l¹i víi hÖ ®iÒu hµnh - Thùc hiÖn c©u lÖnh ë trªn - Më l¹i database - • C¸c th«ng tin tõ ®iÓn d÷ liÖu §Ó cã thÓ cã c¸c th«ng tin cÇn thiÕt ta cã thÓ tham kh¶o mét sè view sau: • Th«ng tin vÒ tablespace: DBA_TABLESPACES, V$TABLESPACE • Th«ng tin vÒ data files: DBA_DATA_FILES, V$DATAFILE • Th«ng tin vÒ c¸c file trung gian: DATA_TEMP_FILES, V$TEMPFILE 10 CÊu tróc l−u tr÷ 10.1 C¸c cÊu tróc l−u tr÷ chÝnh cña Oracle • CÊu tróc l−u tr÷ Ch−¬ng tr−íc ®· tr×nh bµy cÊu tróc l−u tr÷ trong Oracle. CÊu tróc l−u tr÷ bao gåm hai møc physical vµ logic. ë møc logic, database bao gåm nhiÒu tablespaces. Mçi tablespace l¹i tiÕp tôc ®−îc chia thµnh nhiÒu segments. PhÇn nµy sÏ giíi thiÖu chñ yÕu vÒ c¸c segments. • Th«ng tin vÒ cÊu tróc l−u tr÷ Th«ng tin vÒ cÊu tróc l−u tr÷ ®−îc l−u gi÷ trong tõ ®iÓn d÷ liÖu. Ta cã thÓ dïng c©u lÖnh SQL ®Ó lÊy ®−îc c¸c th«ng tin nµy. C¸c th«ng tin nµy cã thÓ lÊy ®−îc tõ c¸c view: DBA_TABLESPACES, DBA_SEGMENTS, DBA_DATµ_FILES, DBA_EXTENTS, DBA_FREE_SPACE. VÝ dô: • Xem sè l−îng extents vµ blocks cÊp ph¸t cho mét segment SQL> SELECT segment_name,tablespace_name,extents,blocks 2 FROM dba_segments 3 WHERE owner=’SCOTT’; SEGMENT_NAME TABLESPACE_NAME EXTENTS BLOCKS ------------ --------------- -------- -------- EMP DATA01 5 55 DEPT DATA01 1 5 BONUS DATA01 1 5 SALGRADE DATA01 1 5 5 rows selected. §μo t¹o kiÕn tróc vμ qu¶n trÞ ORACLE 8i http://www.ebook.edu.vn Trang 39
  2. C«ng ty cæ phÇn tμi ng©n - BFC Gi¸o tr×nh kiÕn tróc vμ qu¶n trÞ Oracle 8i • Xem th«ng tin vÒ c¸c extents trong mét segment SQL> SELECT extent_id,file_id,block_id,blocks 2 FROM dba_extents 3 WHERE owner=’SCOTT’ 4 AND segment_name=’EMP’; EXTENT_ID FILE_ID BLOCK_ID BLOCKS --------- ------- -------- ------ 0 4 2 5 1 4 27 5 2 4 32 10 3 4 42 15 4 4 57 20 5 rows selected. SQL> SELECT tablespace_name, count(*), 2 max(blocks), sum(blocks) 3 FROM dba_free_space 4 GROUP BY tablespace_name; TABLESPACE_NAME COUNT(*) MAX(BLOCKS SUM(BLOCKS --------------- -------- ---------- ---------- DATA01 2 1284 1533 RBS 3 2329 2419 SORT 1 1023 1023 SYSTEM 1 5626 5626 TEMP 1 2431 2431 5 rows selected. 10.2 Segments - ph©n lo¹i segments • Segments (ph©n ®o¹n) Lµ vïng kh«ng gian l−u tr÷ c¸c ®èi t−îng trong CSDL. Segments sö dông vïng kh«ng gian trong c¸c data files ®Ó l−u gi÷ ®èi t−îng. Segments cã thÓ ph©n ra lµm nhiÒu kiÓu kh¸c nhau. • Table segment Table lµ n¬i l−u gi÷ d÷ liÖu cña database. Mét table cã thÓ ®−îc chia thµnh c¸c table segment. Trong mçi table segment, d÷ liÖu ®−îc tËp hîp l¹i nh−ng vÉn t¸ch biÖt nhau. C¸c d÷ liÖu trong mét table segment ®−îc l−u trªn cïng mét tablespace. • Index segment Index ®−îc l−u gi÷ trong index segment. Mçi mét index øng víi mét index segment. Môc ®Ých sö dông segment nµy lµ ®Ó t×m (lookup) vÞ trÝ dßng d÷ liÖu trong b¶ng dùa trªn mét tr−êng kho¸. • Rollback segment Rollback segment ®−îc sö dông bëi c¸c giao dÞch cã lµm thay ®æi database. Tr−íc khi thay ®æi d÷ liÖu hay index blocks, c¸c gi¸ trÞ cò sÏ ®−îc l−u vµo c¸c rollback segment. Phôc vô cho viÖc undo d÷ liÖu. • Temporary segment §μo t¹o kiÕn tróc vμ qu¶n trÞ ORACLE 8i http://www.ebook.edu.vn Trang 40
  3. C«ng ty cæ phÇn tμi ng©n - BFC Gi¸o tr×nh kiÕn tróc vμ qu¶n trÞ Oracle 8i Trong mét vµi thao t¸c (vÝ dô: CREATE INDEX, SELECT DISTINCT, SELECT GROUP BY, …) Oracle Server thùc hiÖn viÖc s¾p xÕp d÷ liÖu. ViÖc s¾p xÕp cÇn cã kho¶ng kh«ng gian dïng lµm trung gian, temporary segment ®−îc sö dông lµm vïng trung gian ®ã. • LOB segment Trong mét vµi tr−êng hîp, mét cét cña Table cã thÓ dïng ®Ó chøa c¸c ®èi t−îng lín (large objects - LOBs) vÝ dô: ®o¹n v¨n b¶n text, h×nh ¶nh, video, …Oracle Server l−u gi÷ c¸c d÷ liÖu nµy trªn mét segment riªng biÖt gäi lµ LOB segment. • LOB index Khi mét LOB segment ®−îc t¹o, theo ngÇm ®Þnh, Oracle Server còng sÏ t¹o t−¬ng øng mét LOB index. LOB index ®−îc sö dông ®Ó cã thÓ dÔ dµng t×m ®−îc d÷ liÖu trªn LOB segment. • Bootstrap segment Bootstrap segment cã chøc n¨ng nh− mét cache segment. Nã ®−îc t¹o khi database ®−îc t¹o lËp, gióp Ých cho viÖc khëi t¹o tõ ®iÓn d÷ liÖu khi database ®−îc më bëi instance. 10.3 Qu¶n lý bé nhí ®èi víi segment • CÊp ph¸t vµ thu håi vïng trèng C¸c vïng trèng ®−îc cÊp ph¸t khi segment ®−îc t¹o míi (created), më réng (extended), thay ®æi (altered). Ng−îc l¹i, segment sÏ bÞ thu håi vïng trèng khi nã bÞ huû (drop), thay ®æi (altered), c¾t bít (truncated), hay tù ®éng thay ®æi kÝch th−íc. ë møc vËt lý, c¸c segment lµ c¸c phÇn thuéc data file. Trong mét data file, block ®©u tiªn lµ header block. D÷ liÖu cã thÓ ghi vµo data file b¾t ®Çu tõ block thø 2 trë ®i t¹o nªn c¸c vïng sö dông (used extents) vµ vïng rçi (free extents). • Blocks Mét block gåm cã ba phÇn chÝnh: • Vïng header: chøa c¸c th«ng tin data block address, table directory, row directory, vµ c¸c transaction slots (vïng l−u gi÷ th«ng tin vÒ c¸c transactions lµm thay ®æi d÷ liÖu trong block) khi c¸c transaction thay ®æi c¸c dßng d÷ liÖu trong block. Vïng header ®−îc më réng tõ trªn xuèng. • Vïng d÷ liÖu: chøa c¸c dßng d÷ liÖu. D÷ liÖu ®−îc n¹p vµo block theo chiÒu tõ d−íi lªn. • Vïng trèng: n»m ë gi÷a cña block. H×nh vÏ 5 CÊu tróc mét block §μo t¹o kiÕn tróc vμ qu¶n trÞ ORACLE 8i http://www.ebook.edu.vn Trang 41
  4. C«ng ty cæ phÇn tμi ng©n - BFC Gi¸o tr×nh kiÕn tróc vμ qu¶n trÞ Oracle 8i §èi víi mét block, ta cÇn quan t©m tíi mét vµi th«ng sè chÝnh sau: • INITRANS: sè l−îng transaction slots trong block lóc khëi t¹o. MÆc ®Þnh lµ 1 ®èi víi data segment, lµ 2 ®èi víi index segment. • MAXTRANS: sè l−îng transaction slots tèi ®a trong block. MÆc ®Þnh lµ 255. • PCTFREE: phÇn tr¨m dung l−îng dù tr÷ trong block ®Ó cã thÓ ®¸p øng ®−îc sù t¨ng tr−ëng d÷ liÖu trong block (thay ®æi c¸c d÷ liÖu dÉn ®Õn thay ®æi kÝch th−íc cña d÷ liÖu). MÆc ®Þnh lµ 10%. • PCTUESD: phÇn tr¨m dung l−îng tèi thiÓu trong block mµ d−íi møc nµy th× cã thÓ insert dßng d÷ liÖu vµo trong block ®ã. MÆc ®Þnh lµ 40%. VÝ dô: PCTFREE = 20% vµ PCTUESD = 40%, ta xem xÐt 4 tr−êng hîp sau. • C¸c dßng d÷ liÖu vÉn cã thÓ insert vµo trong block cho tíi khi phÇn tr¨m dung l−îng rçi nhá h¬n hay b»ng 20% • V−ît qu¸ sè l−îng nµy, block ®ã sÏ kh«ng thÓ insert thªm ®−îc d÷ liÖu. Tuy nhiªn vÉn cã thÓ updata d÷ liÖu vµ viÖc updata d÷ liÖu nµy vÉn cã thÓ lµm cho dung l−îng sö dông cña block t¨ng lªn. • Sau khi PCTUSED cña block lín h¬n 80%, d÷ liÖu trong block cã thÓ ®−îc update vµ lµm cho PCTUSED < 80%. Tuy nhiªn, lóc nµy vÉn kh«ng thÓ insert thªm dßng d÷ liÖu vµo block ®ã. • Trong tr−êng hîp d÷ liÖu trong block tiÕp tôc ®−îc cËp nhËt vµ lµm cho PCTUSED tiÕp tôc gi¶m xuèng d−íi 40%. Lóc nµy block l¹i cã thÓ insert ®−îc d÷ liÖu vµo. • Ph©n ®o¹n d÷ liÖu trong c¸c segments Khi segment ®−îc t¹o, nã ®−îc cÊp ph¸t kh«ng gian trong tablespace. Khi segment gi¶i phãng, nã sÏ tr¶ l¹i vïng trèng cho tablespace. Cø nh− vËy, sau mét thêi gian sÏ x¶y ra hiÖn t−îng ph©n ®o¹n trong c¸c data file cña tablespace. D−íi ®©y lµ ph©n lo¹i møc ®é ph©n ®o¹n d÷ liÖu trong database: Tablespace Usage Fragmentation SYSTEM Data dictionary Zero TOOLS Applications Very low DATA n Data segments Low INDEX n Index segments Low RBS n Rollback segments High TEMP n Temporary segments Very high* 11 Qu¶n lý Rollback Segments 11.1 Rollback segments • Rollback segment Khi mét tiÕn tr×nh thay ®æi d÷ liÖu trong database, nã sÏ l−u tr÷ c¸c d÷ liÖu vµ vÞ trÝ (location) cña d÷ liÖu tr−íc khi thay ®æi nã. Rollback segment lµ n¬i l−u tr÷ c¸c gi¸ trÞ ®ã. Rollback segment th−êng ®−îc sö dông cho c¸c transaction. C¸c transaction sö dông rollback segment ®Ó l−u gi¸ trÞ ban ®Çu cña c¸c b¶n ghi tr−íc khi nã cã nh÷ng thay ®æi. T¹i mçi thêi ®iÓm, mét §μo t¹o kiÕn tróc vμ qu¶n trÞ ORACLE 8i http://www.ebook.edu.vn Trang 42
  5. C«ng ty cæ phÇn tμi ng©n - BFC Gi¸o tr×nh kiÕn tróc vμ qu¶n trÞ Oracle 8i transaction chØ sö dông mét rollback segment. Tuy nhiªn, mét rollback segment cã thÓ phôc vô cho nhiÒu transaction ®ång thêi. PhÇn header cña rollback segment l−u gi÷ th«ng tin vÒ c¸c transaction hiÖn ®ang sö dông rollback segment ®ã. Khi mét transaction b¾t ®Çu, Oracle server sÏ bè trÝ cho transaction ®ã mét vïng kh«ng gian ®Ó l−u gi÷ gi¸ trÞ cò. Mét con trá trá tíi vïng trèng ®−îc cÊp ph¸t cho transaction ®ã. Khi transaction ®ã kÕt thóc, nã sÏ tr¶ l¹i vïng kh«ng gian cho rollback segment. C¸c extent ®−îc sö dông theo kiÓu tuÇn tù. Extent nµy ®Çy th× l¹i chuyÓn tíi extent tiÕp theo. Khi extent cuèi cïng ®Çy, nã l¹i quay vÒ extent ®Çu (nÕu extent ®Çu rçng). Trong tr−êng hîp tÊt c¶ c¸c extent ®Òu kh«ng rçi (used), khi ®ã cÇn ph¶i bæ sung thªm extent vµo rollback segment. Khi transaction b¾t ®Çu, cÇn cã mét rollback segment phôc vô cho transaction ®ã. Transaction còng cã thÓ yªu cÇu sö dông mét rollback segment nhÊt ®Þnh th«ng qua c©u lÖnh. VÝ dô: SET TRANSACTION USE ROLLBACK SEGMENT rollback_segment; Rollback segment cã thÓ ë mét trong hai tr¹ng th¸i: Online hay Offline. Nã chØ cã thÓ sö dông ®−îc khi nã ë tr¹ng th¸i Online. • Ph©n lo¹i rollback segment • SYSTEM rollback segment: n»m trong SYSTEM tablespace. Nã ®−îc t¹o ra ngay khi t¹o database. Segment nµy sö dông cho viÖc thay ®æi d÷ liÖu cña c¸c ®èi t−îng trong SYSTEM tablespace. • Non-SYSTEM rollback segment: sö dông cho viÖc thay ®æi c¸c ®èi t−îng kh«ng n»m trong SYSTEM tablespace. Segment nµy l¹i cã thÓ ph©n ra lµm hai lo¹i con: Private rollback segment: phôc vô cho tõng instance cô thÓ. - Public rollback segment: phôc vô cho c¸c Oracle Parallel Instance - • Deferred rollback segment: ®−îc t¹o khi tablespace chuyÓn sang chÕ ®é offline. Sö dông ®Ó cã thÓ rollback c¸c transaction khi tablespace ë tr¹ng th¸i offline. 11.2 Qu¶n lý rollback segment • T¹o rollback segment • Sö dông c©u lÖnh: CREATE [PUBLIC] ROLLBACK SEGMENT rollback_segment [TABLESPACE tablespace] [STORAGE ([INITIAL integer[K|M]] [NEXT integer[K|M]] [MINEXTENTS integer] [MAXEXTENTS {integer|UNLIMITED}] [OPTIMAL {integer[K|M]|NULL}] ) ] vÝ dô: CREATE ROLLBACK SEGMENT rbs01 TABLESPACE rbs STORAGE ( §μo t¹o kiÕn tróc vμ qu¶n trÞ ORACLE 8i http://www.ebook.edu.vn Trang 43
  6. C«ng ty cæ phÇn tμi ng©n - BFC Gi¸o tr×nh kiÕn tróc vμ qu¶n trÞ Oracle 8i INITIAL 100K NEXT 100K MINEXTENTS 20 MAXEXTENTS 100 OPTIMAL 2000K ); L−u ý: MINEXTENTS: nhËn gi¸ trÞ thÊp nhÊt lµ 2 - OPTIMAL: nhËn gi¸ trÞ lín h¬n hoÆc b»ng kÝch th−íc khëi t¹o cña rollback segment. - • Sö dông Oracle Enterprise Manager : Chän th− môc rollback segment, bÊm chuét ph¶i råi chän Create - Trong page General, nhËp vµo tªn rollback segment, chän tablespace, kiÓu, tr¹ng th¸i. - Trong page Extents, nhËp vµo c¸c th«ng tin l−u tr÷. - BÊm Create ®Ó hoµn tÊt c«ng viÖc. - • Thay ®æi kÝch th−íc rollback segment • Sö dông c©u lªnh: ALTER ROLLBACK SEGMENT rollback_segment [STORAGE ( [NEXT integer[K|M]] [MINEXTENTS integer] [MAXEXTENTS {integer|UNLIMITED}] [OPTIMAL {integer[K|M]|NULL}] ) ] vÝ dô: ALTER ROLLBACK SEGMENT rbs01 STORAGE( MAXEXTENTS 200 ); • Sö dông Oracle Enterprise Manager: Chän rollback segment cÇn thay ®æi - Thay ®æi c¸c th«ng sè t−¬ng øng trong page Storage - Chän Apply ®Ó hoµn tÊt c«ng viÖc - • Thu håi kho¶ng trèng cÊp ph¸t • Sö dông c©u lªnh: ALTER ROLLBACK SEGMENT rollback_segment SHRINK [ TO integer [ K|M ]]; VÝ dô: ALTER ROLLBACK SEGMENT rbs01 SHRINK TO 4M; • Sö dông Oracle Enterprise Manager: §μo t¹o kiÕn tróc vμ qu¶n trÞ ORACLE 8i http://www.ebook.edu.vn Trang 44
  7. C«ng ty cæ phÇn tμi ng©n - BFC Gi¸o tr×nh kiÕn tróc vμ qu¶n trÞ Oracle 8i Chän rollback segment cÇn thu nhá - BÊm chuét ph¶i råi chän Shring - NhËp kÝch th−íc míi råi bÊm OK - • Thay ®æi tr¹ng th¸i cña rollback segment • Sö dông c©u lªnh: ALTER ROLLBACK SEGMENT rollback_segment OFFLINE | ONLINE; VÝ dô: ALTER ROLLBACK SEGMENT rbs01 OFFLINE; • Sö dông Oracle Enterprise Manager: Chän rollback segment cÇn thu nhá - BÊm chuét ph¶i råi chän Take Offline hoÆc Take Offline - Yes ®Ó ®ång ý. - • Huû bá rollback segment • Sö dông c©u lªnh: DROP ROLLBACK SEGMENT rollback_segment; VÝ dô: DROP ROLLBACK SEGMENT rbs01; • Sö dông Oracle Enterprise Manager: Chän rollback segment cÇn thu nhá - BÊm chuét ph¶i råi chän Remove. (ChØ remove ®−îc khi rollback segment ë tr¹ng th¸i offfline) - Yes ®Ó ®ång ý. - 11.3 Th«ng tin vÒ rollback segment Th«ng tin cô thÓ cña rollback segment cã thÓ lÊy ®−îc trong view: DBA_ROLLBACK_SEGS. Ngoµi ra, th«ng tin vÒ rollback segment cßn cã thÓ lÊy ®−îc tõ view: V$ROLLSTAT, V$ROLLNAME VÝ dô: lÊy th«ng tin vÒ tÊt c¶ c¸c rollback segment sö dông trong database SQL> SELECT segment_name, tablespace_name, owner, status 2 FROM dba_rollback_segs; SEGMENT_NAME TABLESPACE_NAME OWNER STATUS -------------- ----------------- ------ --------------- SYSTEM SYSTEM SYS ONLINE RBS1 RBS SYS ONLINE RBS2 RBS SYS ONLINE RBS3 RBS SYS OFFLINE §μo t¹o kiÕn tróc vμ qu¶n trÞ ORACLE 8i http://www.ebook.edu.vn Trang 45
  8. C«ng ty cæ phÇn tμi ng©n - BFC Gi¸o tr×nh kiÕn tróc vμ qu¶n trÞ Oracle 8i 4 rows selected. 12 Qu¶n lý Tables 12.1 Table - Ph©n lo¹i table • Table Table lµ n¬i l−u gi÷ d÷ liÖu cña database. C¸c dßng d÷ liÖu trong table ®−îc l−u gi÷ theo mét trËt tù tuú thuéc vµo tÝnh chÊt cña table. • Patitioned Table §Ó t¨ng c−êng tÝnh s½n dïng (availability) vµ më réng (scalability) ®èi víi c¸c b¶ng hay ®−îc sö dông ®ång thêi (hight concurrent usage). D÷ liÖu trong mét b¶ng cã thÓ ®−îc l−u gi÷ thµnh nhiÒu vïng riªng biÖt gäi lµ partition. C¸c partition nµy cã thÓ thuéc c¸c tablespace kh¸c nhau. Oracle Server hç trî viÖc qu¶n lý c¸c ph©n vïng cña table b»ng c¸c gi¸ trÞ kho¸ hay c¸c hµm b¨m. • Index-Organized Table Trong index-organized table, d÷ liÖu trong index ®−îc l−u tr÷ theo c¸c gi¸ trÞ kho¸. Do ®ã kh«ng cÇn ph¶i cã lookup table ®Ó x¸c ®Þnh dßng d÷ liÖu. Cã thÓ truy xuÊt trùc tiÕp tíi d÷ liªu. • Clustered Table Clustered table lµ mét kiÓu cña table, cho phÐp l−u gi÷ d÷ liÖu mét c¸ch tèi −u. Clustered table ®−îc t¹o bëi nhãm c¸c table cïng cã chung c¸c data blocks. C¸c table nµy cã thÓ cã chung c¸c cét d÷ liÖu. Dßng d÷ liÖu trong cluster cã thÓ ®−îc truy xuÊt theo index hay theo hµm b¨m. • CÊu tróc dßng d÷ liÖu trong table Dßng d÷ liÖu ®−îc l−u gi÷ trong c¸c database blocks d−íi d¹ng c¸c b¶n ghi cã ®é dµi cã thÓ thay ®æi (variable-length records). C¸c cét t−¬ng øng trªn mét dßng d÷ liÖu ®−îc l−u tr÷ theo nh− thø tù lóc ®Þnh nghÜa b¶ng. C¸c cét nhËn gi¸ trÞ NULL sÏ kh«ng ®−îc l−u tr÷. Nh− vËy, sè cét d÷ liÖu gi÷a c¸c dßng kh¸c nhau cã thÓ lµ kh¸c nhau. CÊu tróc mçi dßng d÷ liÖu trong table: • PhÇn ®Çu: L−u gi÷ sè l−îng cét d÷ liÖu trªn dßng ®ã, c¸c th«ng tin rµng buéc, vµ c¸c tr¹ng th¸i lock cña dßng ®ã. • PhÇn d÷ liÖu: Víi mçi cét, Oracle server l−u gi÷ ®é réng cña cét vµ gi¸ trÞ cña cét ®ã tiÕp ngay sau. §μo t¹o kiÕn tróc vμ qu¶n trÞ ORACLE 8i http://www.ebook.edu.vn Trang 46
  9. C«ng ty cæ phÇn tμi ng©n - BFC Gi¸o tr×nh kiÕn tróc vμ qu¶n trÞ Oracle 8i H×nh vÏ 6 CÊu tróc dßng d÷ liÖu trong table DÞch chuyÓn dßng d÷ liÖu (Row migration): Khi phÇn tr¨m kh«ng gian trèng qu¸ nhá, cã thÓ sÏ kh«ng ®ñ chç trèng cho viÖc l−u gi÷ dßng d÷ liÖu (trong tr−êng hîp nã ®−îc update). Khi ®ã Oracle Server sÏ di chuyÓn toµn bé dßng d÷ liÖu ®ã sang mét block míi. Gép dßng d÷ liÖu(Row Chaining): Row chaining x¶y ra khi dßng d÷ liÖu qu¸ lín ®Ó ®Æt võa mét block. Khi ®ã, Oracle Server sÏ chia dßng d÷ liÖu ®ã thµnh nhiÒu khóc (chunks) gäi lµ c¸c row pieces. Mçi mét row piece sÏ ®−îc ®Æt trong block. C¸c row piece ®−îc gép l¹i víi nhau. 12.2 Qu¶n lý table • T¹o table • Sö dông c©u lÖnh: CREATE TABLE [schema.] table (column datatype [ , column datatype ] ...) [TABLESPACE tablespace ] [ PCTFREE integer ] [ PCTUSED integer ] [ INITRANS integer ] [ MAXTRANS integer ] [ STORAGE storage-clause ] [LOGGING | NOLOGGING] [CACHE | NOCACHE] ] TABLESPACE: tªn cña tablespace l−u gi÷ table - PCTFREE: phÇn tr¨m kh«ng gian trèng thuéc block trªn mçi dßng d÷ liÖu - PCTUSED: vïng trèng nhá nhÊt ®−îc sö dông trªn mét block - INITRANS: sè l−îng transactions entries cho mçi block - MAXTRANS: sè l−îng tèi ®a c¸c transactions entries cho mçi block - STORAGE: c¸ch thøc c¸c vïng trèng (extents) ®−îc cÊp ph¸t cho mçi table. - LOGGING: viÖc t¹o table ®−îc l−u vµo trong redo log file - §μo t¹o kiÕn tróc vμ qu¶n trÞ ORACLE 8i http://www.ebook.edu.vn Trang 47
  10. C«ng ty cæ phÇn tμi ng©n - BFC Gi¸o tr×nh kiÕn tróc vμ qu¶n trÞ Oracle 8i CACHE: d÷ liÖu trong table cã thÓ ®−îc truy xuÊt qua cache - VÝ dô: CREATE TABLE employee( id NUMBER(7), last_name VARCHAR2(25), dept_id NUMBER(7)) PCTFREE 20 PCTUSED 50 STORAGE(INITIAL 200K NEXT 200K PCTINCREASE 0 MAXEXTENTS 50) TABLESPACE data; Cã thÓ t¹o table b»ng c¸ch copy tõ mét b¶ng kh¸c theo có ph¸p: CREATE TABLE [schema.]table [ LOGGING | NOLOGGING ] ... AS subquery • Sö dông Schema manager: Chän môc Object/Create trong menu bar - Chän kiÓu Object t−¬ng øng lµ table, sö dông Table Wizard ®Ó t¹o table. - • Temporary table (b¶ng trung gian) Temporary table l−u gi÷ gi¸ trÞ cña d÷ liÖu tån t¹i trong kho¶ng thêi gian cña transaction hay session. • T¹o temporary table: CREATE GLOBAL TEMPORARY TABLE • §Æt chÕ ®é tån t¹i cho dßng d÷ liÖu trong temprary table ON COMMIT DELETE ROWS: dßng d÷ liÖu chØ tån t¹i trong transsaction - ON COMMIT PRESERVE ROWS: dßng d÷ liÖu tån t¹i trong c¶ session. - • Thay ®æi c¸c tham sè l−u tr÷ trong table • Sö dông c©u lÖnh: ALTER TABLE [schema.]table {[ storage-clause ] [ PCTFREE integer ] [ PCTUSED integer ] [ INITRANS integer ] [ MAXTRANS integer]} VÝ dô: ALTER TABLE summit.employee PCTFREE 30 PCTUSED 50 STORAGE(NEXT 500K MINEXTENTS 2 MAXEXTENTS 100); §μo t¹o kiÕn tróc vμ qu¶n trÞ ORACLE 8i http://www.ebook.edu.vn Trang 48
  11. C«ng ty cæ phÇn tμi ng©n - BFC Gi¸o tr×nh kiÕn tróc vμ qu¶n trÞ Oracle 8i • Sö dông Oracle Enterprise Manager: Chän Table t−¬ng øng - Thay ®æi c¸c gi¸ trÞ t−¬ng øng trong page Storage - Chän Apply ®Ó hoµn tÊt c«ng viÖc - • CÊp ph¸t c¸c Extents (vïng trèng) b»ng tay Ta cã thÓ cÊp ph¸t c¸c extents b»ng tay ®Ó ®iÒu khiÓn viÖc ph©n bæ c¸c extents cña mét table gi÷a c¸c file. §ång thêi tr¸nh viÖc më réng tù ®éng ®èi víi c¸c b¶ng. Có ph¸p: ALTER TABLE [schema.]table ALLOCATE EXTENT [ ([SIZE integer [K|M]] [ DATAFILE ‘filename’ ]) ] VÝ dô: ALTER TABLE summit.employee ALLOCATE EXTENT(SIZE 500K DATAFILE ‘/DISK3/DATA01.DBF’); ViÖc thay ®æi c¸c tham sè l−u tr÷ trong table cã thÓ c¶i thiÖn viÖc sö dông kh«ng gian vµ gi¶m thiÓu viÖc dÞch chuyÓn d÷ liÖu. • High-water mark Mçi table cã mét high-water mark (møc cao nhÊt) dïng ®Ó x¸c ®Þnh block cuèi cïng trong mét table. Khi d÷ liÖu ®−îc n¹p vµo b¶ng, high-water mark sÏ dÞch chuyÓn tíi block cuèi cïng. Vµ nã sÏ kh«ng ®−îc dÞch chuyÓn l¹i khi d÷ liÖu bÞ xo¸ ®i. ViÖc scan d÷ liÖu cña Oracle Server sÏ diÔn ra cho tíi khi nã gÆp ®−îc high-water mark cña b¶ng ®ã. Ta cã thÓ x¸c ®Þnh ®−îc high-water mark dùa vµo hµm x©y dùng s½n bëi Oracle: DBMS_SPACE.UNUSED_SPACE. • Thu håi vïng trèng ®· cÊp ph¸t Có ph¸p: ALTER TABLE [schema.]table DEALLOCATE UNUSED [KEEP integer [ K|M ] ] KEEP: Oracle Server gi¶i phãng vïng nhí kh«ng sö dông nh−ng sÏ gi÷ l¹i mét sè byte qu¸ - high-water mark VÝ dô: ALTER TABLE summit.employee DEALLOCATE UNUSED; • Truncate table Truncate table sÏ xo¸ tÊt c¶ c¸c dßng d÷ liÖu trong b¶ng vµ gi¶i phãng vïng kh«ng gian sö dông. High-water mark sÏ ®−îc ®−a vÒ block ®Çu tiªn. Có ph¸p: TRUNCATE TABLE [schema.] table §μo t¹o kiÕn tróc vμ qu¶n trÞ ORACLE 8i http://www.ebook.edu.vn Trang 49
  12. C«ng ty cæ phÇn tμi ng©n - BFC Gi¸o tr×nh kiÕn tróc vμ qu¶n trÞ Oracle 8i [{DROP | REUSE} STORAGE] VÝ dô: TRUNCATE TABLE summit.employee; • Drop table Có ph¸p: DROP TABLE [schema.] table [CASCADE CONSTRAINTS] CASCADE CONSTRAINTS: Xo¸ c¸c ngo¹i kho¸ n»m trong c¸c b¶ng kh¸c tr−íc khi xo¸ - b¶ng. VÝ dô: DROP TABLE summit.department CASCADE CONSTRAINTS; • Thay ®æi tÝnh chÊt cña table Ta cã thÓ thay ®æi mét sè tÝnh chÊt cña b¶ng: drop column, constraints, default value,… th«ng qua c©u lÖnh ALTER TABLE. 12.3 Th«ng tin vÒ table Th«ng tin vÒ table ®−îc l−u gi÷ trong c¸c view tõ ®iÓn ®÷ liÖu: DBA_OBJECTS, DAB_SEGMENTS, DBA_TABLES. VÝ dô: lÊy th«ng tin vÒ c¸c b¶ng së h÷u bëi SUMMIT SQL> SELECT t.table_name, o.data_object_id, 2 s.header_file, s.header_block 3 FROM dba_tables t, dba_objects o, dba_segments s 4 WHERE t.owner=o.owner 5 AND t.table_name=o.object_name 6 AND t.owner=s.owner 7 AND t.table_name=s.segment_name 8 AND t.owner=’SUMMIT’; TABLE_NAME DATA_OBJECT_ID HEADER_FILE HEADER_BLOCK ---------- -------------- ----------- ------------ CUSTOMER 12743 2 902 DEPARTMENT 12745 2 912 EMPLOYEE 12748 2 927 IMAGE 12751 2 942 INVENTORY 12753 2 952 ITEM 12755 2 962 LONG_TEXT 12758 2 977 ORDERS 12760 2 987 PRODUCT 12762 2 997 REGION 12765 2 1012 TITLE 12768 2 1027 WAREHOUSE 12770 2 1037 12 rows selected. §μo t¹o kiÕn tróc vμ qu¶n trÞ ORACLE 8i http://www.ebook.edu.vn Trang 50
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2