Oracle DB Link½éÉÜ
1¡£»ù±¾¸ÅÄ
Êý¾Ý¿âÁ¬½Ó´®Ö÷ÒªÓÃÓÚ½¨Á¢¶ÔÔ¶³ÌÊý¾Ý¿âµÄ·ÃÎÊ·½·¨£¬¿ÉÒÔÖ±½Ó¶ÁȡԶ³ÌOracleµÄÊý¾Ý£¬»òÕßÖ±½ÓÐ޸ġ£Êý¾Ý¿âÁ¬½Ó´®¿ÉÒÔÊǹ«ÓÃÁ¬½ÓPUBLIC»òÕß˽ÓÐÁ¬½ÓPRIVATE¡£ÕâÒ»µãºÍͬÒå´ÊºÜÏàÏñ¡£
1¡£´´½¨Óï·¨£º
CREATE DATABASE LINK TEST CONNECT TO USERNAME IDENTIFIED BY PASSWORD
USING 'CONNECT_STRING';
½âÊÍ£ºTESTÊÇÊý¾Ý¿âÁ¬½Ó´®µÄÃû×Ö¡£ÒÔºó¾Íͨ¹ýÕâ¸öÃû×ÖÀ´½øÐе÷ÓÃÔ¶³ÌÊý¾Ý¿âµÄÄÚÈÝ¡£
USERNAMEÊÇÓÃÀ´Á¬½Óµ½Ô¶³ÌÊý¾Ý¿âµÄºÏ·¨OracleÓû§Ãû¡£PASSWORDΪ¸ÃÓû§Á¬½Óµ½OracleʱºòµÄºÏ·¨ÃÜÂë¡£
CONNECT_STRINGΪ¸ÃOracleÊý¾Ý¿âËùÔÚµÄÖ÷»úÉϵÄtnsnames.oraÎļþÀï±ß¶¨ÒåµÄÊý¾Ý¿âÁ¬½Ó´®¡£
2¡£Ê¹Ó÷½·¨£º
SELECT COUNT(*) from TABLE_NAME@DB_LINK WHERE WHERE_CLAUSE;//²éÔÄÔ¶³ÌÊý¾Ý¿âµÄÄÚÈÝ¡£
UPDATE
TEST.TEST@DB_LINK
SET SO_NBR=NEW_SO_NBR
WHERE WHERE_CLAUSE;//
ÐÞ¸ÄÔ¶³ÌÊý¾Ý¿âµÄÄÚÈÝ¡£
ÔÚʵ¼ÊʹÓùý³ÌÖУ¬»¹¿ÉÒÔͨ¹ýΪÕâ¸öÔ¶³Ì±í½¨Á¢Ò»¸öͬÒå´ÊÀ´½øÒ»²½Ôö¼Ó͸Ã÷ÐÔ£¬Ê¹¸ÃÊý¾Ý¿âÁ¬½Ó´®¶ÔÓÚ³ÌÐòºÍ¿ª·¢ÈËÔ±À´½²Íêȫ͸Ã÷¡£
CREATE SYNONYM TABLE_NAME FOR TABLE_NAME@DB_LINK;
3¡£Êý¾Ý¿âÁ¬½ÓµÄ¹ÜÀí£º
1¡£ÈçºÎÖªµÀµ±Ç°Óû§¡¢µ±Ç°ÏµÍ³ÖÐÓÐÄÄЩÊý¾Ý¿âÁ¬½Ó´®£¿
SELECT * from USER_DB_LINKS;
Õâ¸ö²éѯ»á¸ø³öµ±Ç°Óû§µÄÊý¾Ý¿âÁª½ÓµÄÃû×Ö¡¢Áª½ÓÓû§Ãû¡¢Áª½ÓÃÜÂë¡¢ÒªÁ¬½ÓµÄÖ÷»úÒÔ¼°´´½¨Ê±ÆÚ¡£
SELECT * from DBA_DB_LINKS;
Õâ¸ö²éѯ»á¸ø³öµ±Ç°ÏµÍ³ÖÐËùÓеÄÊý¾Ý¿âÁª½ÓµÄ´´½¨Óû§¡¢Áª½ÓÓû§Ãû¡¢ÒªÁ¬½ÓµÄÖ÷»úÒÔ¼°´´½¨Ê±ÆÚ¡£
SELECT * from V$DBLINK;
Õâ¸ö²éѯ»á¸ø³öµ±Ç°´ò¿ªµÄÊý¾Ý¿âÁª½Ó¡£
Ïà¹ØÎĵµ£º
2008-09-02
J2EE²Ù×÷OracleµÄclobÀàÐÍ×Ö¶Î
¹Ø¼ü×Ö: java
OracleÖУ¬Varchar2Ö§³ÖµÄ×î´ó×Ö½ÚÊýΪ4KB£¬ËùÒÔ¶ÔÓÚijЩ³¤×Ö·û´®µÄ´¦Àí£¬ÎÒÃÇÐèÒªÓÃCLOBÀàÐ͵Ä×ֶΣ¬CLOB×Ö¶Î×î´óÖ§³Ö4GB¡£
»¹ÓÐÆäËû¼¸ÖÖÀàÐÍ£º
blob:¶þ½øÖÆ,Èç¹ûexe,zip
clob:µ¥×Ö½ÚÂë,±ÈÈçÒ»°ãµÄÎı¾Îļþ.
nlob:¶à×Ö½ÚÂë,ÈçUTF¸ñʽµÄÎļþ.
ÒÔÏÂ¾Í ......
Oracle³£Ó÷ÖÎöº¯Êý
ROW_NUMBER
·µ»ØÓÐÐò×éÖÐÒ»ÐÐµÄÆ«ÒÆÁ¿£¬´Ó¶ø¿ÉÓÃÓÚ°´Ìض¨±ê×¼ÅÅÐòµÄÐкÅ
row_number() over(partition by ... order by ...)
RANK
¸ù¾ÝORDER BY×Ó¾äÖбí´ïʽµÄÖµ£¬´Ó²éѯ·µ»ØµÄÿһÐУ¬¼ÆËãËüÃÇÓëÆäËüÐеÄÏà¶ÔλÖá£×éÄÚµÄÊý¾Ý°´ORDER BY×Ó¾äÅÅÐò£¬È»ºó¸øÃ¿Ò»Ðи³Ò»¸öºÅ£¬´Ó¶øÐγÉÒ»¸öÐòÁУ¬¸ÃÐòÁ ......
ÈçºÎÔ¶³ÌÅжÏOracleÊý¾Ý¿âµÄ°²×°Æ½Ì¨
¡¡¡¡select * from v$version;
¡¡¡¡²é¿´±í¿Õ¼äµÄʹÓÃÇé¿ö
¡¡¡¡select sum(bytes)/(1024*1024) as free_space,tablespace_name
¡¡¡¡from dba_free_space
¡¡¡¡group by tablespace_name;
¡¡¡¡SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES ......
ʹÓÃscott/tigerÓû§ÏµÄemp±íºÍdept±íÍê³ÉÏÂÁÐÁ·Ï°£¬±íµÄ½á¹¹ËµÃ÷ÈçÏÂ
¡¡¡¡empÔ±¹¤±í(empnoÔ±¹¤ºÅ/enameÔ±¹¤ÐÕÃû/job¹¤×÷/mgrÉϼ¶±àºÅ/hiredateÊܹÍÈÕÆÚ/salн½ð/commÓ¶½ð/deptno²¿ÃűàºÅ)
¡¡¡¡dept²¿Ãűí(deptno²¿ÃűàºÅ/dname²¿ÃÅÃû³Æ/locµØµã)
¡¡¡¡¹¤×Ê £½ н½ð £« Ó¶½ð
¡¡¡¡1£®ÁгöÖÁÉÙÓÐÒ»¸öÔ±¹¤µÄËùÓв¿ÃÅ
¡¡¡¡ ......
spool d:\deletetb.sql;
select 'delete ' || table_name || ' where to_char(col,'||'''yyyy'''||')='||'''2007'''||';'
from user_tables
where table_name in (select 'HS_' || lpad(rownum, '2', '0')
from dual
  ......