Oracle¶Î¸ßˮλ(HWM, high water mark)ÎÊÌâ
Oracle¶Ô±í×öÈ«±íɨÃèµÄʱºò
£¬»áɨÃèÍêHWMÒÔÏÂ
µÄÊý¾Ý¿é¡£Èç¹ûij¸ö±ídelete(delete²Ù×÷²»»á½µµÍ¸ßˮλ)ÁË´óÁ¿Êý¾Ý£¬ÄÇôÕâʱ¶Ô±í×öÈ«±íɨÃè¾Í»á×öºÜ¶àÎÞÓù¦£¬É¨ÃèÁËÒ»´ó¶ÑÊý¾Ý¿é£¬×îºó·¢ÏÖ¿éÀïÃæ¾ÓȻûÓÐÊý¾Ý¡£
ͨ³££¬ÔÚ¶Ô±í×öÁË´óÅúÁ¿delete²Ù×÷Ö®ºó£¬¾ÍÓ¦¸ÃÂíÉϽµµÍ±íµÄ¸ßˮ룬¿ÉÒÔʹÓÃshrink ÃüÁî»òÕßalter table table_name move½µµÍ±íµÄ¸ßˮλ¡£ÔÚ½µµÍ±íµÄ¸ßˮλ֮ºó£¬±íÉÏÃæµÄË÷Òý»áʧЧ£¬ÒòΪ±íµÄrowid¸ü¸ÄÁË£¬Õâ¸öʱºòÐèÒªrebuildË÷Òý¡£
ÈçºÎÇó³ö¶ÎµÄ¸ßˮλ£¿ÆäʵºÜ¼òµ¥£¬Ê×ÏȶԱíÊÕ¼¯Í³¼ÆÐÅÏ¢£¬È»ºó²éѯDBA_TABLESµÄblocks£¬ÒÔ¼°empty_blocks×ֶΣ¬blocks±íʾÒѾÓÃÁ˶àÉÙ¸öblocks,empty_blocks±íʾ´ÓÀ´Ã»ÓÐʹÓùýµÄblocks¡£ÄÇôblocks¾Í±íʾ¶ÎµÄ¸ßˮλ¡£
¿ÉÒÔʹÓÃÏÂÃæµÄÓï¾ä²é¿´±íµ½µ×ÓÃÁ˶àÉÙ¸öblocks
select count( distinct dbms_rowid.rowid_block_number(rowid)) from table_name;
È»ºóÔÙ¶Ô±Èdba_tables±íÖеÄblocksÁУ¬Èç¹ûÇó³öµÄblocksÊýÓëdba_tablesÏà²îÔÚ10×óÓÒ£¬ÄÇô±íʾÕâ¸ö±í²»ÐèÒªshrink,ÓÃÉÏÃæµÄ½Å±¾Çó³öµÄblocksÊýû¼ÆËã¶ÎÍ·£¬Î»Í¼¹ÜÀí¿é¡£Èç¹ûÏà²îºÜ´ó£¬ÄÇô±íʾÕâ¸ö±íÐèÒªshrinkÁË£¬²»¹ýÕâÑù×ö±È½ÏÂé·³£¬²»ÊÇÂð£¿
Æäʵ»¹¿ÉÒÔ¼à¿Ø±íµÄDML²Ù×÷£¬¸ù¾Ý¼à¿ØµÄ½á¹û£¬ÎÒÃǾͿÉÒÔÅжÏÄÄЩ±íÐèÒª½µµÍ¸ßˮλ¡£ÔÚOracle10gÖÐDBA_TAB_MODIFICATIONSÕâ¸öÊÓͼ¼Ç¼ÁË×ÔÉÏ´ÎÊÕ¼¯Í³¼ÆÐÅÏ¢ÒÔÀ´±íµÄDML²Ù×÷ÐÅÏ¢¡£µ±ÎÒÃÇÔٴζԱíÊÕ¼¯Í³¼ÆÐÅÏ¢£¬¸ÃÊÓͼµÄ¼Ç¼¾Í»á±»Çå¿Õ¡£
¶ÔÓÚ·Ç·ÖÇø±í£¬¿ÉÒÔʹÓÃÏÂÃæ½Å±¾³õ²½¼ì²âÄÄЩ±íÐèÒª½µµÍ¸ßˮλ
exec DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO ;
col table format a35
select a.owner || '.' || a.table_name "Table",a.num_rows,a.avg_row_len,b.inserts,b.deletes,a.num_rows+nvl(b.inserts,0)-nvl(b.deletes,0) total_rows,
round(a.avg_row_len*(a.num_rows+nvl(b.inserts,0)-nvl(b.deletes,0))/1024/1024,4) "Calculate_Sizle(Mb)",c.bytes/1024/1024 "Segment_Size(Mb)"
from dba_tables a left join all_tab_modifications b
on a.owner=b.table_owner and a.table_name=b.table_name inner join dba_segments c&n
Ïà¹ØÎĵµ£º
author£ºskate
time£º2010-05-25
Êý¾ÝÎļþ¹ÜÀí
1. datafile add
2. datafile delete
3. datafile resize
4. datafile rename
1. datafile add
Ìí¼Ó±í¿Õ¼ä£¬´Ó¶øÌí¼Ódatafile
SQL> create tablespace tbs_skate
2 datafile '+datagroup' size 20m;
Tablespace created
SQL> sel ......
²é¿´oracle·þÎñÆ÷×Ö·û¼¯:select * from nls_database_parameters where parameter = 'NLS_CHARACTERSET'
ʹÓÃPl/SQL ²éѯÊý¾ÝʱÂÒÂë,²åÈëÊý¾ÝʱÂÒÂë
Êý¾Ý¿â·þÎñÆ÷µÄ×Ö·û¼¯ºÍ¿Í»§¶ËµÄ×Ö·û¼¯²»Í¬ËùÔì³ÉµÄ,ÐÞ¸ÄÊý¾Ý¿â¿Í»§¶ËµÄ×Ö·û¼¯ºÍ·þÎñÆ÷µÄ×Ö·û¼¯Ò»ÖÂ
²Ù×÷·½·¨:
oracle 9i :Ð޸ı¾µØ×¢²á±íÖÐORACLE¿Í»§¶Ëµ ......
Oracle ´æ´¢¹ý³Ì·µ»Ø½á¹û¼¯Óà ref cursor ʵÏÖ¡£ÊÔÑé²½ÖèÈçÏ£º
1. ½¨Á¢ ref cursor ÀàÐͺ͹ý³Ì
CREATE OR REPLACE PACKAGE types
AS
TYPE ref_cursor IS REF CURSOR;
END;
/
CREATE TABLE STOCK_PRICES(
RIC VARCHAR(6) PRIMARY KEY,
PRICE NUMBER(7,2 ......
¿ÉÇ¨ÒÆ±í¿Õ¼ätransport tablespace
¿ÉÇ¨ÒÆ±í¿Õ¼ä
ʹÓÿÉÇ¨ÒÆ±í¿Õ¼ä(Transportable Tablespaces)µÄÌØÐÔÔÚÊý¾Ý¿âÖ®¼äÒÆ¶¯´óÁ¿Êý¾Ý£¬ÐÔÄܱÈexport/importºÍunload/loadÒª¿ìºÜ¶à£¬ÒòΪËüÇ¨ÒÆ±í¿Õ¼äÖ»ÐèÒª¸´ÖÆÊý¾ÝÎļþºÍ²åÈë±í¿Õ¼äÔªÊý¾Ýµ½Ä¿±êÊý¾Ý¿âÖС£
Ç¨ÒÆ±í¿Õ¼ä¶ÔÒÔÏÂÓ¦ÓÃÌØ±ðÓÐÓãº
·Ö½×¶Î½«OLTPµÄÊý¾ÝÒÆÈëÊý¾Ý²Ö¿â
¸ ......
select distinct id
from table t
where rownum < 10
order by t.id desc;
ÉÏÊöÓï¾äµÄ¹ýÂËÌõ¼þÖ´ÐÐ˳Ðò ÏÈwhere --->order by --->distinct
Èç¹ûÓÐgroup byµÄ»° group by ÔÚorder byÇ°ÃæµÄ ......