Oracle¼àÌý³ÌÐòµÄÅäÖÃ
(Ò») ¡¢¼àÌýÆ÷(LISTENER)
¼àÌýÆ÷ÊÇOracle»ùÓÚ·þÎñÆ÷¶ËµÄÒ»ÖÖÍøÂç·þÎñ£¬Ö÷ÒªÓÃÓÚ¼àÌý¿Í»§¶ËÏòÊý¾Ý¿â·þÎñÆ÷¶ËÌá³öµÄÁ¬½ÓÇëÇó¡£¼ÈÈ»ÊÇ»ùÓÚ·þÎñÆ÷¶ËÌá³öµÄÁ¬½ÓÇëÇó£¬ÄÇôËüÒ²Ö»´æÔÚÓÚÊý¾Ý¿â·þÎñÆ÷¶Ë£¬½øÐмàÌýÆ÷µÄÉèÖÃÒ²ÊÇÔÚÊý¾Ý¿â·þÎñÆ÷¶ËÍê³ÉµÄ¡£
£¨¶þ£©¡¢±¾µØ·þÎñÃû(Tnsname)
Oracle¿Í»§¶ËÓë·þÎñÆ÷¶ËµÄÁ¬½ÓÊÇͨ¹ý¿Í»§¶Ë·¢³öÁ¬½ÓÇëÇó£¬ÓÉ·þÎñÆ÷¶Ë¼àÌýÆ÷¶Ô¿Í»§¶ËµÄÁ¬½ÓÇëÇó½øÐкϷ¨¼ì²é£¬Èç¹ûÁ¬½ÓÇëÇóÓÐЧ£¬Ôò½øÐÐÁ¬½Ó£¬·ñÔò¾Ü¾ø¸ÃÁ¬½Ó¡£±¾µØ·þÎñÃûÊÇOracle¿Í»§¶ËÍøÂçÅäÖõÄÒ»ÖÖ£¬ÁíÍ⻹ÓÐOracleÃû×Ö·þÎñÆ÷(Oracle Names Server)µÈ¡£Oracle³£ÓõĿͻ§¶ËÅäÖþÍÊDzÉÓñ¾µØ·þÎñÃû¡£
“·þÎñÃüÃû”Îļþ¼ÐÓÃÓÚÅäÖñ¾µØÃüÃû·½·¨¡£±¾µØÃüÃû·½·¨ÊÇÃüÃû·½·¨Ö®Ò»£¬Ê¹ÓÃÕâÖÖ·½·¨¿ÉÒÔ½«¼òµ¥Ãû³Æ£¬Net·þÎñÃû³Æ½âÎöΪÁ¬½Óµ½Êý¾Ý¿â»ò·þÎñËùÐèµÄÐÅÏ¢¡£
£¨Èý£©¡¢OracleÍøÂçÁ¬½ÓÅäÖ÷½·¨
ÅäÖÃOracle·þÎñÆ÷¶ËÓë¿Í»§¶Ë¶¼¿ÉÒÔÔÚÆä×Ô´øµÄͼÐλ¯OracleÍøÂç¹ÜÀíÆ÷(Oracle Net Mnager)ÀïÍê³É(Ç¿ÁÒ½¨ÒéÔÚÕâ¸ö µÄ¹¤¾ßÏÂÍê³ÉOracle·þÎñÆ÷¶Ë»ò¿Í»§¶ËµÄÅäÖÃ)¡£
1. Oracle¼àÌýÆ÷ÅäÖÃ(LISTENER)
Oracle ¼àÌýÆ÷µÄÆô¶¯ÓëÍ£ ......
Oracle ÊÓͼ
ÊÓͼ: Äã¿ÉÒÔͨ¹ý´´½¨±íµÄÊÓͼÀ´±íÏÖÊý¾ÝµÄÂß¼×Ó¼¯»òÊý¾ÝµÄ×éºÏ.ÊÓͼÊÇ»ùÓÚ±í»òÕßÁíÒ»¸ö
ÊÓͼµÄÂß¼±í,Ò»¸öÊÓͼ²¢²»°üº¬Ëü×Ô¼ºµÄÊý¾Ý,ËüÏóÒ»¸ö´°¿Ú,ͨ¹ý¸Ã´°¿Ú¿ÉÒԲ鿴»ò¸Ä±ä
±íÖеÄÊý¾Ý.ÊÓͼ»ùÓÚÆäÉÏµÄ±í³ÆÎª»ù±í.ÊÓͼÔÚÊý¾Ý×ÖµäÖÐ×÷Ϊһ¸öselectÓï¾ä´æ´¢.
Óŵã:
1.ÏÞÖÆÊý¾ÝµÄ·ÃÎÊ,ÒòΪÊÓͼÄܹ»Ñ¡ÔñÐÔµÄÏÔʾ±íÖеÄÁÐ.
ÊÓͼ¿ÉÒÔÓÃÀ´¹¹³É¼òµ¥µÄ²éѯÒÔÈ¡³ö¸´ÔÓ²éѯµÄ½á¹û.ÀýÈç,ÊÓͼÄÜÓÃÓÚ´Ó¶à±íÖÐ
²éѯÐÅÏ¢,¶øÓû§²»±ØÖªµÀÔõÑùдÁ¬½ÓÓï¾ä.
2.ÊÓͼ¿ÉÒÔÓÃÀ´¹¹³É¼òµ¥µÄ²éѯÒÔÈ ......
http://blog.csdn.net/mustbelove/archive/2007/04/17/1567836.aspx(ת)
1 year=1*12 months
1 day=24
hours=24*(1*60mins)=24*60*(1*60 seconds)
1 week =7 days
×¢Ò⣺
ºÚÉ«×ÖÌåÊÇ oracle
8i£¬9i¶¼¿ÉÒÔʹÓõĺ¯Êý£¬
À¶É«×ÖÌåÊÇ Oracle
9i
ÐÂ
ÔöµÄ²¿·Ö¡£
Çë´ó¼ÒÔÚʹÓÃʱ£¬×¢Òâ°æ±¾ÏÞÖÆ¡£
add_months
current_date
current_timestamp
datimezone
extract(datetime)
last_day
months_between
new_time
next_day
round
SYSDATE
systimestamp
TO_DATE
trunc()
1£º Add_Months
Óï·¨£º
Add_Months(d,n)
º¯Êý -- n¿ÉÕý¿É¸º
×÷Ó㺠Add_Months(d,n) ·µ»ØÈÕÆÚ D ¼ÓÉÏn
ÔµÄÈÕÆÚ
Example:
A£ºÏ¸öÔµĽñÌì
select add_months(sysdate,1) from
dual --ÔÚÔ·ÝÉÏÔö¼Ó
B£ºÉϸöÔµĽñÌì
select add_months(sysdate,-1) from dual
--ÔÚÔ·ÝÉϼõÉÙ
C: ÉϸöÔµÄ×îºóÒ»Ìì
select last_day(add_months(sysdate,-1)) from
dual
2: C
urrent_date
Óï·¨£º
C
urrent_date
×÷Óãº
CURRENT_DATE ·µ»Øµ±Ç°Session Ê±ÇøµÄµ±Ç°ÈÕÆÚ¡£
Example£º
A£º²»ÌرðÉ趨 oracle
time_zone ÊǺÍϵͳTime_zone Ò»Ö¡£
select current_ ......
Ò»¸öÔµĵÚÒ»Ìì
´úÂë (Ë«»÷´úÂë¸´ÖÆµ½Õ³Ìù°å)
SELECT to_date(to_char(SYSDATE,'yyyy-mm')||'-01','yyyy-mm-dd')
from dual
sysdate ΪÊý¾Ý¿â·þÎñÆ÷µÄµ±Ç°ÏµÍ³Ê±¼ä¡£
to_char Êǽ«ÈÕÆÚÐÍתΪ×Ö·ûÐ͵ĺ¯Êý¡£
to_date Êǽ«×Ö·ûÐÍתΪÈÕÆÚÐ͵ĺ¯Êý£¬Ò»°ãʹÓà yyyy-mm-dd hh24:mi:ss¸ñʽ£¬µ±Ã»ÓÐÖ¸¶¨Ê±¼ä²¿·Öʱ£¬ÔòĬÈÏʱ¼äΪ 00:00:00
dual ±íΪsysÓû§µÄ±í£¬Õâ¸ö±í½öÓÐÒ»Ìõ¼Ç¼£¬¿ÉÒÔÓÃÓÚ¼ÆËãһЩ±í´ïʽ£¬Èç¹ûÓкÃÊÂÕßÓà sys Óû§µÇ¼ϵͳ£¬È»ºóÔÚ dual ±íÔö¼ÓÁ˼ǼµÄ»°£¬ÄÇôϵͳ99.999%²»ÄÜʹÓÃÁË¡£ÎªÊ²Ã´Ê¹ÓõÄʱºò²»Óà sys.dual ¸ñÊ½ÄØ£¬ÒòΪ sys ÒѾΪ dual ±í½¨Á¢ÁËËùÓÐÓû§¾ù¿ÉʹÓõıðÃû¡£
Ò»ÄêµÄµÚÒ»Ìì
´úÂë (Ë«»÷´úÂë¸´ÖÆµ½Õ³Ìù°å)
SELECT to_date(
to_char(SYSDATE,'yyyy')||'-01-01','yyyy-mm-dd'
)
from dual
¼¾¶ÈµÄµÚÒ»Ìì
´úÂë (Ë«»÷´úÂë¸´ÖÆµ½Õ³Ìù°å)
SELECT to_date(
to_char(SYSDATE,'yyyy-')||
lpad(floor(to_number(to_char(SYSDATE,'mm'))/3)*3+1,2,'0')||
'-01',
'yyyy-mm-dd')
......
ORACLE º¯Êý¿ª·¢
1¡¢½¨Á¢º¯ÊýµÄÓï·¨£º
CREATE [OR REPLACE] FUNCTION º¯ÊýÃû
[ (arg1 [mode] datatype[,........])] --µ±Ö¸¶¨²ÎÊýÊý¾ÝÀàÐÍʱ£¬²»ÄÜÖ¸¶¨Æä³¤¶È¡£modeÖµ£ºIN¡¢OUT¡¢IN OUT£¬µ±mode δָ¶¨Ê±£¬±íʾΪIN
RETURN datatype --ÓÃÓÚÖ¸¶¨º¯Êý·µ»ØÖµµÄÊý¾ÝÀàÐÍ£¬²»ÄÜÖ¸¶¨Æä³¤¶È
IS|AS
pl/sql block; --µ±½¨Á¢º¯Êýʱ£¬ÔÚº¯ÊýÍ·²¿±ØÐëÒª´øÓÐRETURN×Ӿ䣬ÔÚº¯ÊýÌåÄÚÖÁÉÙÒª°üº¬Ò»ÌõRETURNÓï¾ä¡£
Àý1¡¢Î޲κ¯Êý
SQL> CREATE OR REPLACE function HX_01 --´´½¨HX_01º¯Êý
2 RETURN VARCHAR2
3 IS
4 v_name varchar2(20);
5 begin
6 select ename into v_name from emp where empno=7369;
7 return v_name;
8 end;
9 /
Function created
SQL> select hx_01 from dual; --Ö´Ðк¯Êý
HX_01
---- ......
Ö£ÖØËµÃ÷£º´ËÎÄÀ´×ÔÓÚÍøÂ磬ÈçÓÐÇÖȨÇë¸æÖ®£¡
µ¼¶Á£º
¡¡¡¡Öؽ¨Ë÷ÒýÓжàÖÖ·½Ê½£¬Èçdrop and re-create¡¢rebuild¡¢rebuild onlineµÈ¡£ÏÂÃæ¼òµ¥±È½ÏÕ⼸ÖÖ·½Ê½ÒìͬÒÔ¼°ÓÅȱµã£º
¡¡¡¡Ê×ÏȽ¨Á¢²âÊÔ±í¼°Êý¾Ý£º
¡¡¡¡SQL> CREATE TABLE TEST AS SELECT CITYCODE C1 from CITIZENINFO2;
¡¡¡¡Table created
¡¡¡¡SQL> ALTER TABLE TEST MODIFY C1 NOT NULL;
¡¡¡¡Table altered
¡¡¡¡SQL> SELECT COUNT(1) from TEST;
¡¡¡¡COUNT(1)
¡¡¡¡----------
¡¡¡¡16000000
¡¡¡¡Ò»¡¢drop and re-createºÍrebuild
¡¡¡¡Ê×ÏÈ¿´¿´Õý³£½¨Á¢Ë÷Òýʱ£¬¶Ô±íµÄ¼ÓËøÇé¿ö¡£
¡¡¡¡suk@ORACLE9I> @show_sid
¡¡¡¡SID
¡¡¡¡----------
¡¡¡¡14
¡¡¡¡suk@ORACLE9I> CREATE INDEX IDX_TEST_C1 ON TEST(C1);
¡¡¡¡Ë÷ÒýÒÑ´´½¨¡£
¡¡¡¡SQL> SELECT OBJECT_NAME,LMODE from V$LOCK L,DBA_OBJECTS O WHERE O.OBJECT_ID=L.ID1 AND L.TYPE='TM' AND SID=14;
¡¡¡¡OBJECT_NAME LMODE
¡¡¡¡------------------------------ ----------
¡¡¡¡OBJ$ 3
¡¡¡¡TEST 4
¡¡¡¡¿É¼û£¬ÆÕͨÇé¿öϽ¨Á¢Ë÷Òýʱ£¬oracle»á¶Ô»ù±í¼ÓshareËø£¬ÓÉÓÚshareËøºÍ row-XÊDz»¼æÈݵģ¬Ò²¾ÍÊÇ˵£¬ÔÚ½¨Á¢Ë÷ÒýÆÚ¼ä£¬ÎÞ·¨¶Ô»ù±í½ ......