Oracle SCN ½éÉÜÈýƪÎÄÕÂ
ÎÄÕÂÒ»£ºSCNÊÇʲô£¿The System Change Number
system change number (SCN)ÊÇÒ»¸ö·Ç³£ÖØÒªµÄ±ê¼Ç£¬OracleʹÓÃËüÀ´±ê¼ÇÊý¾Ý¿âÔÚ¹ýȥʱ¼äÄÚµÄ״̬ºÍ¹ì¼£¡£
OracleʹÓÃSCNÀ´±£´æËùÓб仯µÄ¹ì¼£¡£SCNÊÇÒ»¸öÂ߼ʱÖÓÀ´¼Ç¼Êý¾Ý¿âʼþ¡£Ëü·Ç³£µÄÖØÒª£¬²¢²»ÊÇÖ»ÊÇΪÁ˻ָ´¡£
SCNÓеãÀàËÆÓÚsequence£¬OracleÔÚSGAÖÐÔö¼ÓËü¡£µ±Ò»¸öÊÂÎñÐ޸ĻòÕß²åÈëÊý¾Ý£¬OracleÊ×ÏÈдÈëÒ»¸öеÄSCNµ½»Ø¹ö¶ÎÖС£log writer½ø³ÌÁ¢¿Ì°ÑÌá½»µÄ¼Ç¼дÈëµ½ÖØ×öÈÕÖ¾ÖУ¬ÕâÌõÌá½»µÄ¼Ç¼½«ÓµÓÐΨһµÄSCN¡£ÊÂʵÉÏ£¬°ÑSCNдÈëµ½ÈÕÖ¾£¬¾ÍÒâζ×ÅÒ»¸öÊÂÎñµÄÍê³É¡£SCN°ïÖúOracle¾ö¶¨ÔÚÒ»´ÎͻȻÖжϻòÕßSHUTDOWN ABORTºó£¬ÊÇ·ñÐèÒªÒ»¸ö±ÀÀ£»Ö¸´¡£Ã¿µ±Êý¾Ý¿â·¢Éúcheckpoint£¬Oracle дһ¸öSTART SCNÃüÁîµ½Êý¾ÝÎļþÍ·¡£¿ØÖÆÎļþά»¤×Åÿ¸öÊý¾ÝÎļþ
µÄSCN£¬³ÆÎªSTOP SCN£¬Í¨³£ÊÇÎÞÇî´ó£¬Ã¿µ±ÊµÀýÕý³£¹Ø±Õ£¨SHUTDOWN NORMAL or SHUTDOWN IMMEDIATE£©£¬Oracle»á¸´ÖÆÊý¾ÝÎļþÍ·START SCNµ½¿ØÖÆÎļþµÄSTOP SCN¡£Èç¹ûÊÇÕý³£µÄÖØÆôÊý¾Ý¿â£¬ÊDz»ÐèÒª»Ö¸´µÄ£¬ÒòΪ¿ØÖÆÎļþºÍÊý¾ÝÎļþµÄSCNÊÇÎǺϵġ£·´Ö®£¬Í»È»ÖжÏϵͳ¾Íû·¨Í¬²½SCN£¬SCN²»Æ¥Å䣬Oracle¾ÍÈÏΪÐèÒª×ö»Ö¸´¡£
ÁíÍâOracle»¹Ê¹ÓÃÊý¾Ý¿éµÄSCNÀ´Î¬»¤²éѯµÄÒ»ÖÂÐÔºÍ¶à°æ±¾¡£
CheckpointÊÇÒ»¸öÊý¾Ý¿âʼþ£¬ÓÃÀ´Í¬²½ËùÓеÄdatafile£¬controlfileºÍredo logfile¡£µ±·¢³öckptʱ£¨»Ø¹Ëʲôʱºòoracle»á·¢³öckptÄØ£©£¬ckpt»á½«¼ì²éµãʱ¿ÌµÄscnдÈëµ½¿ØÖÆÎļþºÍÊý¾ÝÎļþÍ·²¿£¬Í¬Ê±»á´Ùʹdbwr½ø³Ì½«data bufferÖеÄËùÓеÄÔàÊý¾ÝдÈëµ½Êý¾ÝÎļþÖС£¶ødbwr½ø³Ì¹¤×÷ʱÓÖ»á´Ùʹlgwrдlog bufferÖеÄÈÕÖ¾Êý¾Ýµ½redo logfileÖС£ËùÒÔµ±·¢³ö¼ì²éµãʱCKPT£¬DBWRºÍLGWRͬʱ¹¤×÷£¬ÈýÖÖÎļþµÄscnÍêȫһÖ£¬´Ó¶øÄܱ£³ÖÍêȫͬ²½¡£
Ò»´Îcheckpoint°üº¬ÒÔϲ½Öè:
1. 1°Ñredo buffersµÄÄÚÈÝË¢µ½redo logÖС£
2. 2ÔÚredo log fileÖÐÁôÏÂÒ»¸öcheckpoint¼Ç¼¡£
3. 3°Ñdatabase buffer cacheµÄ±ä¸üˢе½´ÅÅÌ¡£
4. 4ÔÚcheckpointÍê³Éºó£¬¸üÐÂÊý¾ÝÎļþÍ·ºÍ¿ØÖÆÎļþ¡£
CheckpointµÄ¾ßÌ幤×÷°üÀ¨£º
• ´¥·¢DBWnÏò´ÅÅÌдÈëDirty data¡£
• °ÑcheckpointÐÅÏ¢¸üе½datafile headerÉÏ¡£
• °ÑcheckpointÐÅÏ¢¸üе½control fileÀï¡£
• Checkpoint×öµÄÊÂÇéÖ®Ò»ÊÇ´¥·¢DBWn°Ñbuffer cacheÖеÄDirty cache´ÅÅÌ¡£ÁíÍâ¾ÍÊǰÑ×î½üµÄϵͳµÄSCN¸üе½datafile headerºÍcontrol file£¨Ã¿Ò»¸öÊÂÎñ¶¼ÓÐÒ»¸öSCN£©£¬×öµÚÒ»¼þʵÄÄ¿µÄÊÇΪÁ˼õÉÙÓÉÓÚ
Ïà¹ØÎĵµ£º
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 ......
package DBbean;
import java.sql.*;
public class ConnBean
{
private Connection con;
//³õʼ»¯Á¬½Ó¡£
public ConnBean()
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
......
ÇëÑéÖ¤Ò»ÏÂsolarisºÍoracleµÄ°æ±¾ÐÅÏ¢£¬Èç¹û°æ±¾ºÅ²»¶Ô£¬¿ÉÄܻᰲװʧ°Ü
solaris°æ±¾£ºSunOs 5.10
oracle°æ±¾£º Oracle Database 10g Release 2 (10.2.0.2) for Solaris Operating System (x86)
**Èç¹û²»ÖªµÀsolarisµÄ°æ±¾£¬¿ÉÒÔÔÚÃüÁî´°¿ÚÊäÈë:uname -a
µÚÒ»²½:ÒÔROOTÉí·ÝµÇ½ϵͳ
µÚ¶þ²½:´´½¨Óû§ºÍ×é:
#groupadd ......