oracle¸ßˮλÏß
ʲôÊÇË®Ïß(High Water Mark)?
----------------------------
ËùÓеÄoracle¶Î(segments£¬ÔÚ´Ë£¬ÎªÁËÀí½â·½±ã£¬½¨Òé°Ñsegment×÷Ϊ±íµÄÒ»¸öͬÒå´Ê) ¶¼ÓÐÒ»¸öÔÚ¶ÎÄÚÈÝÄÉÊý¾ÝµÄÉÏÏÞ£¬ÎÒÃÇ°ÑÕâ¸öÉÏÏÞ³ÆΪ"high water mark"»òHWM¡£Õâ¸öHWMÊÇÒ»¸ö±ê¼Ç£¬ÓÃÀ´ËµÃ÷ÒѾÓжàÉÙûÓÐʹÓõÄÊý¾Ý¿é·ÖÅä¸øÕâ¸ösegment¡£HWMͨ³£Ôö³¤µÄ·ù¶ÈΪһ´Î5¸öÊý¾Ý¿é£¬ÔÔòÉÏHWMÖ»»áÔö´ó£¬²»»áËõС£¬¼´Ê¹½«±íÖеÄÊý¾ÝÈ«²¿É¾³ý£¬HWM»¹ÊÇΪÔÖµ£¬ÓÉÓÚÕâ¸öÌص㣬ʹHWMºÜÏóÒ»¸öË®¿âµÄÀúÊ·×î¸ßˮ룬ÕâÒ²¾ÍÊÇHWMµÄÔʼº¬Ò壬µ±È»²»ÄÜ˵һ¸öË®¿âûˮÁË£¬¾Í˵¸ÃË®¿âµÄÀúÊ·×î¸ßˮλΪ0¡£µ«ÊÇÈç¹ûÎÒÃÇÔÚ±íÉÏʹÓÃÁËtruncateÃüÁÔò¸Ã±íµÄHWM»á±»ÖØÐÂÖÃΪ0¡£
HWMÊý¾Ý¿âµÄ²Ù×÷ÓÐÈçÏÂÓ°Ï죺
a) È«±íɨÃèͨ³£Òª¶Á³öÖ±µ½HWM±ê¼ÇµÄËùÓеÄÊôÓڸñíÊý¾Ý¿â¿é£¬¼´Ê¹¸Ã±íÖÐûÓÐÈκÎÊý¾Ý¡£
b) ¼´Ê¹HWMÒÔÏÂÓпÕÏеÄÊý¾Ý¿â¿é£¬¼üÈëÔÚ²åÈëÊý¾ÝʱʹÓÃÁËappend¹Ø¼ü×Ö£¬ÔòÔÚ²åÈëʱʹÓÃHWMÒÔÉϵÄÊý¾Ý¿é£¬´ËʱHWM»á×Ô¶¯Ôö´ó¡£
ÈçºÎÖªµÀÒ»¸ö±íµÄHWM£¿
a) Ê×ÏȶԱí½øÐзÖÎö:
ANALYZE TABLE <tablename> ESTIMATE/COMPUTE STATISTICS;
b) SELECT blocks, empty_blocks, num_rows
from user_tables
WHERE table_name = <tablename>;
BLOCKS Áдú±í¸Ã±íÖÐÔø¾Ê¹ÓùýµÃÊý¾Ý¿â¿éµÄÊýÄ¿£¬¼´Ë®Ïß¡£
EMPTY_BLOCKS ´ú±í·ÖÅä¸ø¸Ã±í£¬µ«ÊÇÔÚË®ÏßÒÔÉϵÄÊý¾Ý¿â¿é£¬¼´´ÓÀ´Ã»ÓÐʹÓõÄÊý¾Ý¿é¡£
ÈÃÎÒÃÇÒÔÒ»¸öÓÐ28672ÐеÄBIG_EMP1±íΪÀý½øÐÐ˵Ã÷£º
1) SQL> SELECT segment_name,segment_type,blocks
from dba_segments
WHERE segment_name='BIG_EMP1';
SEGMENT_NAME SEGMENT_TYPE BLOCKS EXTENTS
----------------------------- ----------------- ---------- -------
BIG_EMP1 TABLE 1024 2
1 row selected.
2) SQL> ANALYZE TABLE big_emp1 ESTIMATE STATISTICS;
Statement processed.
3) SQL> SELECT table_name,num_rows,blocks,empty_blocks
from user_tables
WHERE table_name='BIG_EMP1';
TABLE_NAME NUM_ROWS BLOCKS EMPTY_BLOCKS
------------------------------ ---------- ---------- ------------
BIG_EMP1 28672 700 323
1 row selected.
×¢Ò⣺
BLOCKS + EMPTY_BLOCKS (700+323=1023)±ÈDBA_SEGMENTS.BLOCKSÉÙ¸öÊý¾Ý¿â¿é£¬ÕâÊÇÒòΪÓÐÒ»¸öÊý¾Ý¿â¿é±»±£ÁôÓÃ×÷segment header¡£DBA_SEGMENTS.BLOCKS ±íʾ·ÖÅä¸øÕâ¸ö±íµÄËùÓеÄÊý¾Ý¿â¿éµÄÊýÄ¿¡£U
Ïà¹ØÎĵµ£º
select trunc(sysdate ,'yyyy') from dual --±¾Äê¶ÈµÚÒ»Ìì
select trunc(sysdate ,'mm') from dual --±¾ÔµÚÒ»Ìì
&nbs ......
SELECT
DECODE(ÁÐ,0,'Q'1,'P',2,'O')¡¡AS ret
from dual
--·ÖÎö: µ± ÁÐ=0ʱ,½«"Q"¸³Öµ
--µ± ÁÐ =1ʱ,½«"P"¸³Öµ
--µ± ÁÐ=2ʱ,½«"O"¸³Öµ
--NVL()º¯Êý:
--NVL(ARG,VALUE)´ï±êÈç¹ûÇ°ÃæµÄARGֵΪNULLÄÇô·µ»ØµÄֵΪºóÃæµÄVALUE¶þÕß½áºÏʹÓÃ:
DECODE(NVL(±äÁ¿ ''),'','-','OK')
//·ÖÎö:
--Èô ±äÁ¿ ÊÇ·ñΪ¿Õ.ÈôΪ¿Õ¸³¸ø¿ ......
oracle grant
ÊÚȨÓï¾ä--select * from dba_users; ²éѯÊý¾Ý¿âÖеÄËùÓÐÓû§
--alter user TEST_SELECT account lock; ËøסÓû§
--alter user TEST_SELECT account unlock; ¸øÓû§½âËø
--create user xujin identified by xujin; ½¨Á¢Óû§
--grant create tablespace to xujin; ÊÚȨ
--grant select ......
Âò±¾Êé ÏÈ´Ó°²×°¿ªÊ¼°É È»ºóÂò±¾PLSQL ѧѧÓï·¨ ÕâÊÇ×î»ù±¾µÄ ½ÓÏÂÀ´¾ÍÑо¿¹ÊÕϺóÔõôÐÞ¸´ ÔÙ¾ÍÊDZ¸·Ý ÓÅ»¯ ¼¯Èº È»ºó»¹ÒªÑ§Ï°LINUX²Ù×÷ ÕâÊÇÒ»¶¨ÒªµÄ ×°WINDOWSÉϵÄORACLE²»¶à ÔÙ»¨2WÈ¥¿¼¸öOCP ¾ÍÐÐÁË
oracleµÄ¹Ù·½½Ì²ÄµÄ˳ÐòÊÇsql»ù´¡£¬½á¹¹£¬±¸·Ý»Ö¸´£¬ÐÔÄÜÓÅ»¯¡£
sqlÓï¾äµÄ»ù´¡»¹ÊǺÜÖØÒªµÄ¡£Èç¹ûÄãÏë×ö¿ª·¢pl/sqlÒ» ......
ÔÚ
Oracle
Êý
¾Ý¿â
ÖУ¬
Ö÷ÒªÓÐÁ½ÖÖ
ÈÕÖ¾
²Ù×÷ģʽ£¬·Ö±ðΪ·Ç¹é
µµÄ£Ê½Óë¹éµµÄ£Ê½¡£Ä¬ÈÏÇé¿öÏ£¬Êý¾Ý¿â
²É
ÓõÄÊǷǹ鵵ģʽ
¡£×÷Ϊһ¸öºÏ¸ñµÄÊý¾Ý¿â¹Ü
Àí
Ô±£¬Ó¦µ±ÉîÈëÁ˽âÕâÁ½ÖÖÈÕÖ¾²Ù×÷ģʽµÄÌص㣬²¢ÇÒÔÚÊý¾Ý¿â½¨Á¢Ê±£¬Ñ¡
ÔñºÏÊʵIJÙ×÷ģʽ¡£
¡¡¡¡±ÊÕß
½ñÌì¾Í̸̸×Ô¼º¶ÔÕâÁ½ÖÖ²Ù×÷ģʽµÄÀí½â£¬²¢ÇÒ¸ø³ö ......