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

12 478 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 pps

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 39 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 lu trữ 10.1 Các cấu trúc lu trữ chính của Oracle Cấu trúc lu trữ Chơng trớc đã trình bày cấu trúc lu trữ trong Oracle. Cấu trúc lu 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 lu trữ Thông tin về cấu trúc lu trữ đợc lu 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. Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 40 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 lu trữ các đối tợng trong CSDL. Segments sử dụng vùng không gian trong các data files để lu 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 lu 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 nhng vẫn tách biệt nhau. Các dữ liệu trong một table segment đợc lu trên cùng một tablespace. Index segment Index đợc lu 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 lu vào các rollback segment. Phục vụ cho việc undo dữ liệu. Temporary segment Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 41 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 lu 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 lu 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 Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 42 Đố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ẽ lu 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 lu 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 để lu 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 Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 43 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 lu 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 để lu 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 ( Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 44 INITIAL 100K NEXT 100K MINEXTENTS 20 MAXEXTENTS 100 OPTIMAL 2000K ); Lu ý: - 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 lu 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: Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 45 - 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 Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 46 4 rows selected. 12 Quản lý Tables 12.1 Table - Phân loại table Table Table là nơi lu giữ dữ liệu của database. Các dòng dữ liệu trong table đợc lu 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 lu 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 lu 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 lu 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 lu 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 lu 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 lu 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: Lu 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 lu giữ độ rộng của cột và giá trị của cột đó tiếp ngay sau. Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 47 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 lu 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 lu 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 lu vào trong redo log file Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 48 - 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 lu 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ố lu 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); [...]... trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 49 Công ty cổ phần ti 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;... K|M ] ] - KEEP: Oracle Server giải phóng vùng nhớ không sử dụng nhng 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...Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Sử dụng Oracle Enterprise Manager: - Thay đổi các giá trị tơng ứng trong page Storage Chọn Table tơng ứng 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... DATA_OBJECT_ID HEADER_FILE HEADER_BLOCK - -CUSTOMER 12 743 2 902 DEPARTMENT 12 745 2 912 EMPLOYEE 12 748 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 ... 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... 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ố lu 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... 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 lu 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 . 4M; Sử dụng Oracle Enterprise Manager: Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 45 -. cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 46 4 rows selected. 12 Quản lý Tables 12.1 Table -. cột và giá trị của cột đó tiếp ngay sau. Công ty cổ phần ti ngân - BFC Giáo trình kiến trúc v quản trị Oracle 8i Đo tạo kiến trúc v quản trị ORACLE 8i http://www.ebook.edu.vn Trang 47

Ngày đăng: 06/08/2014, 01:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan