<?xml version="1.0" encoding="gb2312"?>
<rss version="2.0">
	<channel>
		<title>½ðÂóÍøÂç</title>
		<link>http://www.kingmx.com</link>
		<copyright>Copyright (C) 2006 ½ðÂóÍøÂç-Kingmx.com All Rights Reserved.</copyright>
		<item>
			<title>OracleÊý¾Ý¿âÖÐÐÐÇ¨ÒÆ/ÐÐÁ´½ÓµÄÎÊÌâ</title>
			<link>http://www.kingmx.com/article.php?id=14964</link>
			<pubDate>2007-1-18</pubDate>
			<description><![CDATA[

Ò»¡¢ÐÐÇ¨ÒÆ/ÐÐÁ´½ÓµÄ½éÉÜ 

ÔÚÊµ¼ÊµÄ¹¤×÷ÖÐÎÒÃÇ¾­³£»áÅöµ½Ò»Ð©OracleÊý¾Ý¿âÐÔÄÜ½ÏµÍµÄÎÊÌâ£¬µ±È»£¬ÒýÆðOracleÊý¾Ý¿âÐÔÄÜ½ÏµÍµÄÔ­ÒòÊÇ¶à·½ÃæµÄ£¬ÎÒÃÇÜ¹»Í¨¹ýÒ»Ð©ÕýÈ·µÄÉè¼ÆºÍÕï¶ÏÀ´¾¡Á¿µÄ±ÜÃâÒ»Ð©OracleÊý¾Ý¿âÐÔÄÜ²»ºÃ£¬Row Migration (ÐÐÇ¨ÒÆ) &amp; Row Chaining (ÐÐÁ´½Ó)¾ÍÊÇÆäÖÐÎÒÃÇ¿ÉÒÔ¾¡Á¿±ÜÃâµÄÒýÆðOracleÊý¾Ý¿âÐÔÄÜµÍÏÂµÄÇ±ÔÚÎÊÌâ¡£Í¨¹ýºÏÀíµÄÕï¶ÏÐÐÇ¨ÒÆ/ÐÐÁ´½Ó£¬ÎÒÃÇ¿ÉÒÔ½Ï´ó·ù¶ÈÉÏÌá¸ßOracleÊý¾Ý¿âµÄÐÔÄÜ¡£ 

ÄÇ¾¿¾¹Ê²Ã´ÊÇÐÐÇ¨ÒÆ/ÐÐÁ´½ÓÄØ£¬ÏÈÈÃÎÒÃÇ´ÓOracleµÄblock¿ªÊ¼Ì¸Æð¡£ 

²Ù×÷ÏµÍ³µÄ×îÐ¡¶ÁÐ´²Ù×÷µ¥ÔªÊÇ²Ù×÷ÏµÍ³µÄblock£¬ËùÒÔµ±´´½¨Ò»¸öOracleÊý¾Ý¿âµÄÊ±ºòÎÒÃÇÓ¦¸Ã½²Êý¾Ý¿âµÄblock sizeÉèÖÃ³ÉÎª²Ù×÷ÏµÍ³µÄblock sizeµÄÕûÊý±¶£¬Oracle blockÊÇOracleÊý¾Ý¿âÖÐ¶ÁÐ´²Ù×÷µÄ×îÐ¡µ¥Ôª£¬Oracle9iÖ®Ç°µÄOracleÊý¾Ý¿â°æ±¾ÖÐOracle blockÒ»µ©ÔÚ´´½¨Êý¾Ý¿âµÄÊ±ºò±»Éè¶¨ºó¾ÍÃ»·¨ÔÙ¸ü¸Ä¡£ÎªÁËÔÚ´´½¨Êý¾Ý¿âÖ®Ç°È·¶¨Ò»¸öºÏÀíµÄOracle blockµÄ´óÐ¡£¬ÎÒÃÇÐèÒª¿¼ÂÇÒ»Ð©ÒòËØ£¬ÀýÈçÊý¾Ý¿â±¾ÉíµÄ´óÐ¡ÒÔ¼°²¢·¢ÊÂÎñµÄÊýÁ¿µÈ¡£Ê¹ÓÃÒ»¸öºÏÊÊµÄOracle block´óÐ¡¶ÔÓÚÊý¾Ý¿âµÄµ÷ÓÅÊÇ·Ç³£ÖØÒªµÄ¡£ 

Ò»¸öOracle blockÓÉÈý¸ö²¿·Ö×é³É£¬·Ö±ðÊÇÊý¾Ý¿éÍ·¡¢×ÔÓÉ¿Õ¼ä¡¢Êµ¼ÊÊý¾ÝÈý²¿·Ý×é³É¡£ 

Êý¾Ý¿éÍ·£ºÖ÷Òª°üº¬ÓÐÊý¾Ý¿éµØÖ·µÄÒ»Ð©»ù±¾ÐÅÏ¢ºÍ¶ÎµÄÀàÐÍ£¬ÒÔ¼°±íºÍ°üº¬ÓÐÊý¾ÝµÄÊµ¼ÊÐÐµÄµØÖ·¡£ 

×ÔÓÉ¿Õ¼ä£ºÊÇÖ¸¿ÉÒÔÎªÒÔºóµÄ¸üÐÂºÍ²åÈë²Ù×÷·ÖÅäµÄ¿Õ¼ä£¬´óÐ¡ÓÉPCTFREEºÍPCTUSEDÁ½¸ö²ÎÊýÓ°Ïì¡£ 

Êµ¼ÊÊý¾Ý£ºÊÇÖ¸ÔÚÐÐÄÚ´æ´¢µÄÊµ¼ÊÊý¾Ý¡£ 

µ±´´½¨»òÕß¸ü¸ÄÈÎºÎ±íºÍË÷ÒýµÄÊ±ºò£¬OracleÔÚ¿Õ¼ä¿ØÖÆ·½ÃæÊ¹ÓÃÁ½¸ö´æ´¢²ÎÊý£º 

PCTFREE:Îª½«À´¸üÐÂÒÑ¾­´æÔÚµÄÊý¾ÝÔ¤Áô¿Õ¼äµÄ°Ù·Ö±È¡£ 

PCTUSED:ÓÃÓÚÎª²åÈëÒ»ÐÂÐÐÊý¾ÝµÄ×îÐ¡¿Õ¼äµÄ°Ù·Ö±È¡£Õâ¸öÖµ¾ö¶¨ÁË¿éµÄ¿ÉÓÃ×´Ì¬¡£¿ÉÓÃµÄ¿éÊ±¿ÉÒÔÖ´ÐÐ²åÈëµÄ¿é£¬²»¿ÉÓÃ×´Ì¬µÄ¿éÖ»ÄÜÖ´ÐÐÉ¾³ýºÍÐÞ¸Ä£¬¿ÉÓÃ×´Ì¬µÄ¿é±»·ÅÔÚfreelistÖÐ¡£ 

µ±±íÖÐÒ»ÐÐµÄÊý¾Ý²»ÄÜÔÚÒ»¸öÊý¾ÝblockÖÐ·ÅÈëµÄÊ±ºò£¬Õâ¸öÊ±ºò¾Í»á·¢ÉúÁ½ÖÖÇé¿ö£¬Ò»ÖÖÊÇÐÐÁ´½Ó£¬ÁíÍâÒ»ÖÖ¾ÍÊÇÐÐÇ¨ÒÆÁË¡£ 

ÐÐÁ´½Ó²úÉúÔÚµÚÒ»´Î²åÈëÊý¾ÝµÄÊ±ºòÈç¹ûÒ»¸öblock²»ÄÜ´æ·ÅÒ»ÐÐ¼ÇÂ¼µÄÇé¿öÏÂ¡£ÕâÖÖÇé¿öÏÂ£¬Oracle½«Ê¹ÓÃÁ´½ÓÒ»¸ö»òÕß¶à¸öÔÚÕâ¸ö¶ÎÖÐ±£ÁôµÄblock´æ´¢ÕâÒ»ÐÐ¼ÇÂ¼£¬ÐÐÁ´½Ó±È½ÏÈÝÒ×·¢ÉúÔÚ±È½Ï´óµÄÐÐÉÏ£¬ÀýÈçÐÐÉÏÓÐLONG¡¢LONG RAW¡¢LOBµÈÊý¾ÝÀàÐÍµÄ×Ö¶Î£¬ÕâÖÖÊ±ºòÐÐÁ´½ÓÊÇ²»¿É±ÜÃâµÄ»á²úÉúµÄ¡£ 

µ±Ò»ÐÐ¼ÇÂ¼³õÊ¼²åÈëµÄÊ±ºòÊÂ¿ÉÒÔ´æ´¢ÔÚÒ»¸öblockÖÐµÄ£¬ÓÉÓÚ¸üÐÂ²Ù×÷µ¼ÖÂÐÐ³¤Ôö¼ÓÁË£¬¶øblockµÄ×ÔÓÉ¿Õ¼äÒÑ¾­ÍêÈ«ÂúÁË£¬Õâ¸öÊ±ºò¾Í²úÉúÁËÐÐÇ¨ÒÆ¡£ÔÚÕâÖÖÇé¿öÏÂ£¬Oracle½«»áÇ¨ÒÆÕûÐÐÊý¾Ýµ½Ò»¸öÐÂµÄblockÖÐ£¨¼ÙÉèÒ»¸öblockÖÐ¿ÉÒÔ´æ´¢ÏÂÕûÐÐÊý¾Ý£©£¬Oracle»á±£Áô±»Ç¨ÒÆÐÐµÄÔ­Ê¼Ö¸ÕëÖ¸ÏòÐÂµÄ´æ·ÅÐÐÊý¾ÝµÄblock£¬Õâ¾ÍÒâÎ¶×Å±»Ç¨ÒÆÐÐµÄROW IDÊÇ²»»á¸Ä±äµÄ¡£ 

µ±·¢ÉúÁËÐÐÇ¨ÒÆ»òÕßÐÐÁ´½Ó£¬¶ÔÕâÐÐÊý¾Ý²Ù×÷µÄÐÔÄÜ¾Í»á½µµÍ£¬ÒòÎªOracle±ØÐëÒªÉ¨Ãè¸ü¶àµÄblockÀ´»ñµÃÕâÐÐµÄÐÅÏ¢¡£ 

ÏÂÃæ¾ÙÀýÀ´¾ßÌåËµÃ÷ÐÐÇ¨ÒÆ/ÐÐÁ´½ÓµÄ²úÉú¹ý³Ì¡£ 

ÏÈ´´½¨Ò»¸öpctfreeÎª20ºÍpctusedÎª50µÄ²âÊÔ±í£º 






create table test£¨

col1 char(20),

col2 number)

storage (

pctfree 20

pctused 50);

µ±²åÈëÒ»Ìõ¼ÇÂ¼µÄÊ±ºò£¬Oracle»áÔÚfree listÖÐÏÈÈ¥Ñ°ÕÒÒ»¸ö×ÔÓÉµÄ¿é£¬²¢ÇÒ½«Êý¾Ý²åÈëµ½Õâ¸ö×ÔÓÉ¿éÖÐ¡£¶øÔÚfree listÖÐ´æÔÚµÄ×ÔÓÉµÄ¿éÊÇÓÉpctfreeÖµ¾ö¶¨µÄ¡£³õÊ¼µÄ¿Õ¿é¶¼ÊÇÔÚfree listÖÐµÄ£¬Ö±µ½¿éÖÐµÄ×ÔÓÉ¿Õ¼ä´ïµ½pctfreeµÄÖµ£¬´Ë¿é¾Í»á´Ófree listÖÐÒÆ×ß£¬¶øµ±´Ë¿éÖÐµÄÊ¹ÓÃ¿Õ¼äµÍÓÚpctusedµÄÊ±ºò£¬´Ë¿éÓÖ±»ÖØÐÂ·Åµ½free listÖÐ¡£ 

OracleÊ¹ÓÃfree list»úÖÆ¿ÉÒÔ´ó´óµÄÌá¸ßÐÔÄÜ£¬¶ÔÓÚÃ¿´ÎµÄ²åÈë²Ù×÷£¬OracleÖ»ÐèÒª²éÕÒfree list¾Í¿ÉÒÔÁË£¬¶ø²»ÊÇÈ¥²éÕÒËùÓÐµÄblockÀ´Ñ°ÕÒ×ÔÓÉ¿Õ¼ä¡£ 

¾ßÌåÎÒÃÇÍ¨¹ýÏÂÃæµÄÒ»¸öÊÔÑéÀ´²é¿´ÐÐÁ´½ÓºÍÐÐÇ¨ÒÆÊÇÈçºÎ²úÉú²¢ÔÚÊý¾ÝÎÄ¼þÖÐÌåÏÖ³öÀ´µÄ¡£ÏÈ²é¿´ALLANÕâ¸ö±í¿Õ¼äµÄÊý¾ÝÎÄ¼þºÅ£¬ÎªÁË±ãÓÚ²âÊÔ£¬ÎÒÖ»½¨Á¢ÁËÒ»¸öÊý¾ÝÎÄ¼þ¡£ 






SQL&gt; select file_id from dba_data_files where tablespace_name='ALLAN';

FILE_ID

----------

23

´´½¨Ò»¸ö²âÊÔ±ítest£º 






SQL&gt; create table test ( x int primary key, 
a char(2000), b char(2000), c char(2000), 
d char(2000), e char(2000) ) tablespace allan;

Table created.

ÒòÎªÎÒµÄÊý¾Ý¿âµÄdb_block_sizeÊÇ8K£¬ËùÒÔÎÒ´´½¨µÄ±íÓÐÎå¸ö×Ö¶Î£¬Ã¿¸öÕ¼2000¸ö×Ö½Ú£¬ÕâÑùÒ»ÐÐ¼ÇÂ¼´óÔ¼10K,¾ÍÄÜ³¬¹ýÒ»¸öblockµÄ´óÐ¡ÁË¡£ 

È»ºó²åÈëÒ»ÐÐ¼ÇÂ¼£¬Ö»ÓÐÒ»¸ö×Ö¶ÎµÄ£º 






SQL&gt; insert into test(x) values (1);

1 row created.

SQL&gt; commit;

Commit complete.

²éÕÒÕâÐÐ¼ÇÂ¼ËùÔÚµÄblock£¬²¢dump³öÀ´£º 






SQL&gt; select dbms_rowid.rowid_block_number(rowid) from test;

DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)

34

SQL&gt; alter system dump datafile 23 block 34;

System altered.

ÔÚudumpÄ¿Â¼ÏÂ²é¿´traceÎÄ¼þµÄÄÚÈÝÈçÏÂ£º 






Start dump data blocks tsn: 34 file#: 23 minblk 34 maxblk 34

buffer tsn: 34 rdba: 0x05c00022 (23/34)

scn: 0x0000.013943f3 seq: 0x01 flg: 0x02 tail: 0x43f30601

frmt: 0x02 chkval: 0x0000 type: 0x06=trans data

Block header dump: 0x05c00022

Object id on Block? Y

seg/obj: 0x3ccd csc: 0x00.13943ef itc: 2 flg: O typ: 1 - DATA

fsl: 0 fnx: 0x0 ver: 0x01

Itl Xid Uba Flag Lck Scn/Fsc

0x01 0x000a.02e.00000ad7 0x00800036.03de.18 --U- 1 fsc 0x0000.013943f3

0x02 0x0000.000.00000000 0x00000000.0000.00 ---- 0 fsc 0x0000.00000000

data_block_dump,data header at 0xadb505c

tsiz: 0x1fa0

hsiz: 0x14

pbl: 0x0adb505c

bdba: 0x05c00022

76543210

flag=--------

ntab=1

nrow=1

frre=-1

fsbo=0x14

fseo=0x1f9a

avsp=0x1f83

tosp=0x1f83
0xe:pti[0] nrow=1 offs=0

0x12:pri[0] offs=0x1f9a

block_row_dump:

tab 0, row 0, @0x1f9a

tl: 6 fb: --H-FL-- lb: 0x1 cc: 1

col 0: [ 2] c1 02

end_of_block_dump

End dump data blocks tsn: 34 file#: 23 minblk 34 maxblk 34

¶ÔÆäÖÐµÄÒ»Ð©ÐÅÏ¢×öÒ»Ð©½âÊÍ£º 

Fb:HÊÇÖ¸ÐÐ¼ÇÂ¼µÄÍ·£¬LÊÇÖ¸ÐÐ¼ÇÂ¼µÄ×îºóÒ»ÁÐ£¬FÊÇÖ¸ÐÐ¼ÇÂ¼µÄµÚÒ»ÁÐ¡£ 

Cc£ºÁÐµÄÊýÁ¿¡£ 

Nrid£º¶ÔÓÚÐÐÁ´½Ó»òÕßÐÐÇ¨ÒÆÀ´ËµµÄÏÂÒ»¸örow idµÄÖµ¡£ 

ÓÉÉÏÃæµÄdumpÐÅÏ¢ÎÒÃÇ¿ÉÒÔ¿´³öÀ´µ±Ç°±ítestÊÇÃ»ÓÐÐÐÁ´½Ó»òÕßÐÐÇ¨ÒÆµÄ¡£ 

È»ºó¸üÐÂtest±í,²¢ÖØÐÂdump³öÀ´£º 






SQL&gt; update test set a='test',b='test',c='test',d='test',e='test' where x=1;

1 row updated.

SQL&gt; commit;

Commit complete.

´ËÊ±Ó¦¸ÃÓÐÐÐÇ¨ÒÆ/ÐÐÁ´½Ó²úÉúÁË¡£ 






SQL&gt; alter system dump datafile 23 block 34;

System altered.

ÔÚudumpÄ¿Â¼ÏÂ²é¿´traceÎÄ¼þµÄÄÚÈÝÈçÏÂ£º 






Start dump data blocks tsn: 34 file#: 23 minblk 34 maxblk 34

buffer tsn: 34 rdba: 0x05c00022 (23/34)

scn: 0x0000.0139442b seq: 0x01 flg: 0x02 tail: 0x442b0601

frmt: 0x02 chkval: 0x0000 type: 0x06=trans data

Block header dump: 0x05c00022

Object id on Block? Y

seg/obj: 0x3ccd csc: 0x00.1394429 itc: 2 flg: - typ: 1 - DATA

fsl: 0 fnx: 0x0 ver: 0x01

Itl Xid Uba Flag Lck Scn/Fsc

0x01 0x000a.02e.00000ad7 0x00800036.03de.18 C--- 0 scn 0x0000.013943f3

0x02 0x0004.002.00000ae0 0x0080003b.0441.11 --U- 1 fsc 0x0000.0139442b

data_block_dump,data header at 0xadb505c

===============

tsiz: 0x1fa0

hsiz: 0x14

pbl: 0x0adb505c

bdba: 0x05c00022

76543210

flag=--------

ntab=1

nrow=1

frre=-1

fsbo=0x14

fseo=0x178a

avsp=0x177c

tosp=0x177c

0xe:pti[0] nrow=1 offs=0

0x12:pri[0] offs=0x178a

block_row_dump:

tab 0, row 0, @0x178a

tl: 2064 fb: --H-F--N lb: 0x2 cc: 3

nrid: 0x05c00023.0

col 0: [ 2] c1 02

col 1: [2000]

74 65 73 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20

20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20

¡­¡­¡­¡­

col 2: [48]

74 65 73 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20

20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20

end_of_block_dump

End dump data blocks tsn: 34 file#: 23 minblk 34 maxblk 34

ÎÒÃÇ²»ÄÑ¿´³ö£¬nrid³öÏÖÁËÖµ£¬Ö¸ÏòÁËÏÂÒ»¸örow id,Ö¤Ã÷¸Õ¸ÕµÄupdate²Ù×÷Ê¹ÕâÐÐ¼ÇÂ¼²úÉúÁËÐÐÁ´½Ó»òÕßÐÐ? 

¶þ¡¢ÐÐÇ¨ÒÆ/ÐÐÁ´½ÓµÄ¼ì²â 

Í¨¹ýÇ°ÃæµÄ½éÉÜÎÒÃÇÖªµÀ£¬ÐÐÁ´½ÓÖ÷ÒªÊÇÓÉÓÚÊý¾Ý¿âµÄdb_block_size²»¹»´ó£¬¶ÔÓÚÒ»Ð©´óµÄ×Ö¶ÎÃ»·¨ÔÚÒ»¸öblockÖÐ´æ´¢ÏÂ£¬´Ó¶ø²úÉúÁËÐÐÁ´½Ó¡£¶ÔÓÚÐÐÁ´½ÓÎÒÃÇ³ýÁËÔö´ódb_block_sizeÖ®ÍâÃ»ÓÐ±ðµÄÈÎºÎ°ì·¨È¥±ÜÃâ£¬µ«ÊÇÒòÎªÊý¾Ý¿â½¨Á¢ºódb_block_sizeÊÇ²»¿É¸Ä±äµÄ£¨ÔÚ9iÖ®Ç°£©£¬¶ÔÓÚOracle9iµÄÊý¾Ý¿âÎÒÃÇ¿ÉÒÔ¶Ô²»Í¬µÄ±í¿Õ¼äÖ¸¶¨²»Í¬µÄdb_block_size,Òò´ËÐÐÁ´½ÓµÄ²úÉú¼¸ºõÊÇ²»¿É±ÜÃâµÄ£¬Ò²Ã»ÓÐÌ«¶à¿ÉÒÔµ÷ÕûµÄµØ·½¡£ÐÐÇ¨ÒÆÔòÖ÷ÒªÊÇÓÉÓÚ¸üÐÂ±íµÄÊ±ºò£¬ÓÉÓÚ±íµÄpctfree²ÎÊýÉèÖÃÌ«Ð¡£¬µ¼ÖÂblockÖÐÃ»ÓÐ×ã¹»µÄ¿Õ¼äÈ¥ÈÝÄÉ¸üÐÂºóµÄ¼ÇÂ¼£¬´Ó¶ø²úÉúÁËÐÐÇ¨ÒÆ¡£¶ÔÓÚÐÐÇ¨ÒÆÀ´Ëµ¾Í·Ç³£ÓÐµ÷ÕûµÄ±ØÒªÁË£¬ÒòÎªÕâ¸öÊÇ¿ÉÒÔµ÷ÕûºÍ¿ØÖÆÇå³ýµÄ¡£ 

ÈçºÎ¼ì²âÊý¾Ý¿âÖÐ´æÔÚÓÐÁËÐÐÇ¨ÒÆºÍÐÐÁ´½ÓÄØ£¿ÎÒÃÇ¿ÉÒÔÀûÓÃOracleÊý¾Ý¿â×ÔÉíÌá¹©µÄ½Å±¾utlchain.sql£¨ÔÚ$ORACLE_HOME/rdbms/adminÄ¿Â¼ÏÂ£©Éú³Échained_rows±í£¬È»ºóÀûÓÃANALYZE TABLE table_name LIST CHAINED ROWS INTO chained_rowsÃüÁîÖð¸ö·ÖÎö±í£¬½«·ÖÎöµÄ½á¹û´æÈëchained_rows±íÖÐ¡£´Óutlchain.sql½Å±¾ÖÐÎÒÃÇ¿´µ½chained_rowsµÄ½¨±í½Å±¾£¬¶ÔÓÚ·ÖÇø±í£¬cluster±í¶¼ÊÇÊÊÓÃµÄ¡£È»ºó¿ÉÒÔÊ¹ÓÃÆ´´ÕÓï¾äµÄ°ì·¨Éú³É·ÖÎöËùÐèÒªµÄ±íµÄ½Å±¾£¬²¢Ö´ÐÐ½Å±¾½«¾ßÌåµÄ·ÖÎöÊý¾Ý·ÅÈëChained_rows±íÖÐ£¬ÀýÈçÏÂÃæÊÇ·ÖÎöÒ»¸öÓÃ»§ÏÂËùÓÐ±íµÄ½Å±¾£º 






SPOOL list_migation_rows.sql

SET ECHO OFF

SET HEADING OFF

SELECT 'ANALYZE TABLE ' || table_name ||
 ' LIST CHAINED ROWS INTO chained_rows;' FROM user_tables;

SPOOL OFF

È»ºó²éÑ¯chained_rows±í£¬¿ÉÒÔ¾ßÌå²é¿´Ä³ÕÅ±íÉÏÓÐ¶àÉÙµÄÐÐÁ´½ÓºÍÐÐÇ¨ÒÆ¡£ 






SELECT table_name, count(*) from chained_rows GROUP BY table_name;

µ±È»£¬Ò²¿ÉÒÔ²éÑ¯v$sysstatÊÓÍ¼ÖÐµÄ¡¯table fetch continued row¡¯ÁÐµÃµ½µ±Ç°µÄÐÐÁ´½ÓºÍÐÐÇ¨ÒÆÊýÁ¿¡£ 






SELECT name, value FROM v$sysstat WHERE name = 'table fetch continued row';

¿ÉÒÔÊ¹ÓÃÈçÏÂµÄ½Å±¾À´Ö±½Ó²éÕÒ´æÔÚÓÐÐÐÁ´½ÓºÍÐÐÇ¨ÒÆµÄ±í£¬×Ô¶¯Íê³ÉËùÓÐµÄ·ÖÎöºÍÍ³¼Æ¡£ 






accept owner prompt " Enter the schema name 
to check for Row Chaining (RETURN for All): "
prompt
prompt
accept table prompt " Enter the table name 
to check (RETURN for All tables owned by &amp;owner): "
prompt
prompt
set head off serverout on term on feed off veri off echo off
!clear
prompt 
declare
v_owner varchar2(30);
v_table varchar2(30);
v_chains number;
v_rows number;
v_count number := 0;
sql_stmt varchar2(100);
dynamicCursor INTEGER;
dummy INTEGER;
cursor chains is
select count(*) from chained_rows;
cursor analyze is
select owner, table_name
from sys.dba_tables 
where owner like upper('%&amp;owner%')
and table_name like upper('%&amp;table%')
order by table_name;
begin
dbms_output.enable(64000);
open analyze;
fetch analyze into v_owner, v_table;
while analyze%FOUND loop
dynamicCursor := dbms_sql.open_cursor;
sql_stmt := 'analyze table '||v_owner
||'.'||v_table||' list chained rows into chained_rows';
dbms_sql.parse(dynamicCursor, sql_stmt, dbms_sql.native);
dummy := dbms_sql.execute(dynamicCursor);
dbms_sql.close_cursor(dynamicCursor);
open chains;
fetch chains into v_chains;
if (v_chains != 0) then
if (v_count = 0) then
dbms_output.put_line(CHR(9)||CHR(9)||CHR(9)
||'&lt;&lt;&lt;&lt;&lt; Chained Rows Found &gt;&gt;&gt;&gt;&gt;');
v_count := 1;
end if;
dynamicCursor := dbms_sql.open_cursor;
sql_stmt := 'Select count(*) v_rows'||' From '||v_owner||'.'||v_table;
dbms_sql.parse(dynamicCursor, sql_stmt, dbms_sql.native);
dbms_sql.DEFINE_COLUMN(dynamicCursor, 1, v_rows);
dummy := dbms_sql.execute(dynamicCursor);
dummy := dbms_sql.fetch_rows(dynamicCursor);
dbms_sql.COLUMN_VALUE(dynamicCursor, 1, v_rows);
dbms_sql.close_cursor(dynamicCursor);
dbms_output.put_line(v_owner||'.'||v_table);
dbms_output.put_line(CHR(9)||'---&gt; Has '
||v_chains||' Chained Rows and '||v_rows||' Num_Rows in it!');
dynamicCursor := dbms_sql.open_cursor;
sql_stmt := 'truncate table chained_rows';
dbms_sql.parse(dynamicCursor, sql_stmt, dbms_sql.native);
dummy := dbms_sql.execute(dynamicCursor);
dbms_sql.close_cursor(dynamicCursor);
v_chains := 0;
end if;
close chains;
fetch analyze into v_owner, v_table;
end loop;
if (v_count = 0) then
dbms_output.put_line('No Chained Rows found 
in the '||v_owner||' owned Tables!');
end if;
close analyze;
end;
/
set feed on head on
prompt

Èý¡¢ÐÐÇ¨ÒÆºÍÐÐÁ´½ÓµÄÇå³ý 

ÓÉÓÚ¶ÔÓÚÐÐÁ´½ÓÀ´ËµÖ»ÄÜÔö´ódb_block_sizeÀ´Çå³ý£¬¶ødb_block_sizeÔÚ´´½¨ÁËÊý¾Ý¿âºóÓÖÊÇ²»ÄÜ¸Ä±äÁËµÄ£¬ËùÒÔÕâÀï¶ÔÐÐÁ´½ÓµÄÇå³ý²»×ö¹ý¶àµÄÐðÊöÁË£¬Ö÷ÒªÊÇÕë¶ÔÐÐÇ¨ÒÆÀ´Ì¸Ì¸ÔÚÊµ¼ÊµÄÉú²úÏµÍ³ÖÐÈçºÎÈ¥Çå³ý¡£ 

¶ÔÓÚÐÐÇ¨ÒÆµÄÇå³ý£¬Ò»°ãÀ´Ëµ·ÖÎªÁ½¸ö²½Öè£ºµÚÒ»²½£¬¿ØÖÆ×¡ÐÐÇ¨ÒÆµÄÔö³¤£¬Ê¹Æä²»ÔÚÔö¶à£»µÚ¶þ²½£¬Çå³ýµôÒÔÇ°´æÔÚµÄÐÐÇ¨ÒÆ¡£ 

ÖÚËùÖÜÖª£¬ÐÐÇ¨ÒÆ²úÉúµÄÖ÷ÒªÔ­ÒòÊÇÒòÎª±íÉÏµÄpctfree²ÎÊýÉèÖÃ¹ýÐ¡µ¼ÖÂµÄ£¬¶øÒªÊµÏÖµÚÒ»²½¿ØÖÆ×¡ÐÐÇ¨ÒÆµÄÔö³¤£¬¾Í±ØÐëÉèÖÃºÃÒ»¸öÕýÈ·ºÏÊÊµÄpctfree²ÎÊý£¬·ñÔò¼´Ê¹Çå³ýÁËµ±Ç°µÄÐÐÇ¨ÒÆºóÂíÉÏÓÖ»á²úÉúºÜ¶àÐÂµÄÐÐÇ¨ÒÆ¡£µ±È»£¬Õâ¸ö²ÎÊýÒ²²»ÊÇÔ½´óÔ½ºÃµÄ£¬Èç¹ûpctfreeÉèÖÃµÄ¹ý´ó£¬»áµ¼ÖÂÊý¾Ý¿éµÄÀûÓÃÂÊµÍ£¬Ôì³É¿Õ¼äµÄ´óÁ¿ÀË·Ñ£¬Òò´Ë±ØÐëÉèÖÃÒ»¸öºÏÀíµÄpctfree²ÎÊý¡£ÈçºÎÈ¥È·¶¨Ò»¸ö±íÉÏºÏÀíµÄpctfree²ÎÊýÄØ£¬Ò»°ãÀ´ËµÓÐÁ½ÖÖ·½·¨¡£ 

µÚÒ»ÖÖÊÇ¶¨Á¿µÄµÄÉè¶¨·½·¨£¬¾ÍÊÇÀûÓÃ¹«Ê½À´Éè¶¨pctfreeµÄ´óÐ¡¡£ÏÈÊ¹ÓÃANALYZE TABLE table_name ESTIMATE STATISTICSÃüÁîÀ´·ÖÎöÒªÐÞ¸ÄpctfreeµÄ±í,È»ºó²é¿´user_tablesÖÐµÄAVG_ROW_LENÁÐÖµ£¬µÃµ½Ò»¸öÆ½¾ùÐÐ³¤AVG_ROW_LEN1£¬È»ºó´óÁ¿µÄ¶Ô±í²Ù×÷Ö®ºó£¬ÔÙ´ÎÊ¹ÓÃÉÏÊöÃüÁî·ÖÎö±í£¬µÃµ½µÚ¶þ¸öÆ½¾ùÐÐ³¤AVG_ROW_LEN2£¬È»ºóÔËÓÃ¹«Ê½100 * £¨AVG_ROW_LEN2-AVG_ROW_LEN1£©/£¨AVG_ROW_LEN2-AVG_ROW_LEN1 + Ô­Ê¼µÄAVG_ROW_LEN£©µÃ³öµÄ½á¹û¾ÍÊÇ¶¨Á¿¼ÆËã³öÀ´µÄÒ»¸öºÏÊÊµÄpctfreeµÄÖµ¡£ÕâÖÖ·½·¨ÒòÎªÊÇ¶¨Á¿¼ÆËã³öÀ´µÄ£¬¿ÉÄÜ²»Ò»¶¨»áºÜ×¼È·£¬¶øÇÒÒòÎªÒª·ÖÎö±í£¬ËùÒÔ¶ÔÓÚÊ¹ÓÃRBOÖ´ÐÐ¼Æ»®µÄÏµÍ³²»ÊÇºÜÊÊÓÃ¡£ÀýÈç£ºavg_row_len_1 = 60£¬avg_row_len_2 = 70£¬ÔòÆ½¾ùÐÞ¸ÄÁ¿Îª 10£¬PCTFREE Ó¦µ÷ÕûÎª 100 * 10 /£¨10 + 60£©= 16.7% ¡£ 

µÚ¶þÖÖÊÇ²î·ÖÎ¢µ÷µÄ·½·¨£¬ÏÈ²éÑ¯µ½µ±Ç°±íµÄpctfreeµÄÖµ£¬È»ºó¼à¿ØºÍµ÷Õûpctfree²ÎÊý£¬Ã¿´ÎÔö¼ÓÒ»µãpctfreeµÄ´óÐ¡£¬Ã¿´ÎÔö¼ÓµÄ±ÈÀý²»Òª³¬¹ý5¸ö°Ù·Öµã£¬È»ºóÊ¹ÓÃANALYZE TABLE TABLE_NAME LIST CHAINED ROWS INTO chained_rowsÃüÁî·ÖÎöÃ¿´ÎËùÓÐµÄÐÐÇ¨ÒÆºÍÐÐÁ´½ÓµÄÔö³¤Çé¿ö£¬¶ÔÓÚ²»Í¬µÄ±í²ÉÈ¡²»Í¬µÄÔö³¤±ÈÀý£¬¶ÔÓÚÐÐÇ¨ÒÆÔö³¤µÄ±È½Ï¿ìµÄ±ípctfreeÖµ¾ÍÔö¼ÓµÄ¶àµã£¬¶ÔÓÚÔö³¤ÂýµÄ±í¾ÍÔö¼ÓµÄÉÙµã£¬Ö±µ½±íµÄÐÐÇ¨ÒÆ»ù±¾±£³Ö²»Ôö³¤ÁËÎªÖ¹¡£µ«ÊÇ×¢Òâ²»Òª°Ñpctfreeµ÷µÄ¹ý´ó£¬Ò»°ãÔÚ40%ÒÔÏÂ¾Í¿ÉÒÔÁË£¬·ñÔò»áÔì³É¿Õ¼äµÄºÜ´óÀË·ÑºÍÔö¼ÓÊý¾Ý¿â·ÃÎÊµÄIO¡£ 

Ê¹ÓÃÉÏÊöµÄ·½·¨¿ØÖÆ×¡ÁËµ±Ç°±íµÄÐÐÇ¨ÒÆµÄÔö³¤Ö®ºó£¬¾Í¿ÉÒÔ¿ªÊ¼Çå³ýÖ®Ç°±íÉÏ´æÔÚµÄÐÐÇ¨ÒÆÁË¡£ÊÇ·ñÇå³ýµôÐÐÇ¨ÒÆ£¬¹ØÏµµ½ÏµÍ³µÄÐÔÄÜÊÇ·ñÄÜ¹»ÓÐºÜ´óµÄÌá¸ß¡£Òò´Ë£¬¶ÔÓÚÒÔÇ°´æÔÚµÄÐÐÇ¨ÒÆÊÇÒ»¶¨¶øÇÒ±ØÐëÒªÇå³ýµôµÄ¡£Çå³ýµôÒÑ¾­´æÔÚµÄÐÐÇ¨ÒÆÓÐºÜ¶à·½·¨£¬µ«ÊÇ²¢²»ÊÇËùÓÐµÄ·½·¨¶¼ÄÜÊÊÓÃËùÓÐµÄÇé¿ö£¬ÀýÈç±íÖÐµÄ¼ÇÂ¼Êý¶àÉÙ£¬±íÉÏµÄ¹ØÁª¶àÉÙ¡¢±íÉÏÐÐÇ¨ÒÆµÄÊýÁ¿¶àÉÙµÈµÈÕâÐ©ÒòËØ¶¼»áÊÇ³ÉÎªÖÆÔ¼ÄãÊ¹ÓÃÊ²Ã´·½·¨Çå³ýµÄÌõ¼þ£¬Òò´Ë£¬¸ù¾Ý±íµÄÌØµãºÍ¾ßÌåÇé¿öµÄ²»Í¬ÎÒÃÇÓ¦¸Ã²ÉÓÃ²»Í¬µÄ·½·¨È¥Çå³ýÐÐÇ¨ÒÆ¡£ÏÂÃæÎÒ½«ÖðÒ»½éÉÜ¸÷ÖÖÇå³ýÐÐÇ¨ÒÆµÄ·½·¨ÒÔ¼°ËüÃÇ¸÷×ÔÊÊÓÃµÄ²»Í¬Çé¿ö¡£ 

·½·¨Ò»£º´«Í³µÄÇå³ýÐÐÇ¨ÒÆµÄ·½·¨ 

¾ßÌå²½ÖèÈçÏÂ£º 

1£® Ö´ÐÐ$ORACLE_HOME/rdbms/adminÄ¿Â¼ÏÂµÄutlchain.sql½Å±¾´´½¨chained_rows±í¡£ 

@$ORACLE_HOME/rdbms/admin/utlchain.sql 

2£® ½«´æÔÚÓÐÐÐÇ¨ÒÆµÄ±í£¨ÓÃtable_name´úÌæ£©ÖÐµÄ²úÉúÐÐÇ¨ÒÆµÄÐÐµÄrowid·ÅÈëµ½chained_rows±íÖÐ¡£ 

ANALYZE TABLE table_name LIST CHAINED ROWS INTO chained_rows; 

3£® ½«±íÖÐµÄÐÐÇ¨ÒÆµÄrow id·ÅÈëÁÙÊ±±íÖÐ±£´æ¡£ 






CREATE TABLE table_name_temp AS

SELECT * FROM table_name

WHERE rowid IN

(SELECT head_rowid FROM chained_rows

WHERE table_name = 'table_name');

4£® É¾³ýÔ­À´±íÖÐ´æÔÚµÄÐÐÇ¨ÒÆµÄ¼ÇÂ¼ÐÐ¡£ 






DELETE table_name

WHERE rowid IN

(SELECT head_rowid

FROM chained_rows

WHERE table_name = 'table_name');

5£® ´ÓÁÙÊ±±íÖÐÈ¡³ö²¢ÖØÐÂ²åÈëÄÇÐ©±»É¾³ýÁËµÄÊý¾Ýµ½Ô­À´µÄ±íÖÐ£¬²¢É¾³ýÁÙÊ±±í¡£ 






INSERT INTO table_name SELECT * FROM table_name_temp;

DROP TABLE table_name_temp;

¶ÔÓÚÕâÖÖ´«Í³µÄÇå³ýRMµÄ·½·¨£¬ÓÅµãÊÇÖ´ÐÐÆðÀ´¹ý³Ì±È½Ï¼òµ¥£¬ÈÝÒ×ÊµÏÖ¡£µ«ÊÇÕâÖÖËã·¨µÄÈ±ÏÝÊÇÃ»ÓÐ¿¼ÂÇµ½±í¹ØÁªµÄÇé¿ö£¬ÔÚ´ó¶àÊýÊý¾Ý¿âÖÐºÜ¶à±í¶¼ÊÇºÍ±ðµÄ±íÖ®¼äÓÐ±í¹ØÁªµÄ£¬ÓÐÍâ¼üµÄÏÞÖÆ£¬ÕâÑù¾ÍÔì³ÉÔÚ²½Öè3ÖÐ¸ù±¾ÎÞ·¨deleteµô´æÔÚÓÐÐÐÇ¨ÒÆµÄ¼ÇÂ¼ÐÐ£¬ËùÒÔÕâÖÖ·½·¨ÄÜ¹»ÊÊÓÃµÄ±íµÄ·¶Î§ÊÇÓÐÏÞµÄ£¬Ö»ÄÜÊÊÓÃÓÚ±íÉÏÎÞÈÎºÎÍâ¼ü¹ØÁªµÄ±í¡£ÓÉÓÚÕâÖÖ·½·¨ÔÚ²åÈëºÍÉ¾³ýÊý¾ÝµÄÊ±ºò¶¼Ã»ÓÐdisableµôË÷Òý£¬ÕâÑùµ¼ÖÂÖ÷ÒªÏûºÄÊ±¼äÊÇÔÚÉ¾³ýºÍ²åÈëÊ±Î¬³ÖË÷ÒýÊ÷µÄ¾ùºâÉÏÁË£¬Õâ¸ö¶ÔÓÚÈç¹û¼ÇÂ¼Êý²»¶àµÄÇé¿öÊ±¼äÉÏ»¹±È½Ï¶Ì£¬µ«ÊÇÈç¹û¶ÔÓÚ¼ÇÂ¼ÊýºÜ¶àµÄ±íÕâ¸öËùÏûºÄµÄÊ±¼ä¾Í²»ÊÇÄÜ¹»½ÓÊÜµÄÁË¡£ÏÔÈ»£¬ÕâÖÖ·½·¨ÔÚ´¦Àí´óÊý¾ÝÁ¿µÄ±íµÄÊ±ºòÏÔÈ»ÊÇ²»¿ÉÈ¡µÄ¡£ 

ÒÔÏÂÊÇÒ»¸ö¾ßÌåÔÚÉú²úÊý¾Ý¿âÉÏÇå³ýÐÐÇ¨ÒÆµÄÀý×Ó£¬ÔÚÕâÖ®Ç°ÒÑ¾­µ÷Õû¹ý±íµÄpctfree²ÎÊýÖÁÒ»¸öºÏÊÊµÄÖµÁË£º 






SQL&gt;@$ORACLE_HOME/rdbms/admin/utlchain.sql

Table created.

SQL&gt; ANALYZE TABLE CUSTOMER LIST CHAINED ROWS INTO chained_rows;

Table analyzed.

SQL&gt;SELECT count(*) from chained_rows£»

TABLE_NAME COUNT(*)

CUSTOMER 21306

1 rows selected.

²é¿´ÔÚCUSTOMER±íÉÏ´æÔÚµÄÏÞÖÆ: 






SQL&gt;select CONSTRAINT_NAME,CONSTRAINT_TYPE,
TABLE_NAME from USER_CONSTRAINTS where TABLE_NAME='CUSTOMER';

CONSTRAINT_NAME C TABLE_NAME

------------------------------ - --

PK_CUSTOMER1 P CUSTOMER

SQL&gt;select CONSTRAINT_NAME,CONSTRAINT_TYPE,
TABLE_NAME from USER_CONSTRAINTS 
where R_CONSTRAINT_NAME='PK_CUSTOMER1';

no rows selected

SQL&gt; CREATE TABLE CUSTOMER_temp AS

SELECT * FROM CUSTOMER WHERE rowid IN

(SELECT head_rowid FROM chained_rows

WHERE table_name = 'CUSTOMER'); 

Table created.

SQL&gt;select count(*) from CUSTOMER;

COUNT(*)

----------

338299

SQL&gt; DELETE CUSTOMER WHERE rowid IN

(SELECT head_rowid

FROM chained_rows

WHERE table_name = 'CUSTOMER');

21306 rows deleted.

SQL&gt; INSERT INTO CUSTOMER SELECT * FROM CUSTOMER_temp;

21306 rows created.

SQL&gt; DROP TABLE CUSTOMER_temp;

Table dropped.

SQL&gt; commit;

Commit complete.

SQL&gt; select count(*) from CUSTOMER;

COUNT(*)

----------

338299

SQL&gt; truncate table chained_rows;

Table truncated.

SQL&gt; ANALYZE TABLE CUSTOMER LIST CHAINED ROWS INTO chained_rows;

Table analyzed.

SQL&gt; select count(*) from chained_rows; 

COUNT(*)

----------

0

ÒÔÉÏÕû¸öÇå³ýÁ½Íò¶àÐÐµÄÐÐÇ¨ÒÆ¹ý³ÌÔÚÈý·ÖÖÓ×óÓÒ£¬¶øÇÒÈ«²¿¶¼ÔÚÁª»úµÄ×´Ì¬ÏÂÍê³É£¬»ù±¾ÉÏ²»»á¶ÔÒµÎñÓÐÊ²Ã´Ó°Ïì£¬Î¨Ò»¾ÍÊÇÔÚÒªÇå³ýÐÐÇ¨ÒÆµÄ±íÉÏ²»ÄÜÓÐ¶ÔÍâ¼üµÄÏÞÖÆ£¬·ñÔò¾Í²»ÄÜ²ÉÓÃÕâ¸ö·½·¨È¥Çå³ýÁË¡£
]]></description>
		</item>
		<item>
			<title>ÓÐ¹ØOracleÊý¾Ý¿âÖÐµÄ·âËø»úÖÆÏê½â</title>
			<link>http://www.kingmx.com/article.php?id=14938</link>
			<pubDate>2007-1-13</pubDate>
			<description><![CDATA[

ÉèÁ¢·âËø»úÖÆÖ÷ÒªÊÇÎªÁË¶Ô²¢·¢²Ù×÷½øÐÐ¿ØÖÆ£¬¶Ô¸ÉÈÅ½øÐÐ·âËø£¬±£Ö¤Êý¾ÝµÄÒ»ÖÂÐÔºÍ×¼È·ÐÔ¡£OracleÊý¾Ý¿â·âËø·½Ê½ÓÐÈýÖÖ:¹²Ïí·âËø£¬¶ÀÕ¼·âËø£¬¹²Ïí¸üÐÂ·âËø 

·âËøÀàÐÍ 

Oracle¡¡RDBMSµÄ·âËøÀàÐÍ¿É·ÖÎªÈçÏÂÈýÀà: 

1¡¢ÄÚ²¿¼¶·âËø 

ÄÚ²¿¼¶·âËøÊÇÓÃÓÚ±£»¤ORACLEÄÚ²¿½á¹¹£¬ÓÉÏµÍ³ÄÚ²¿ÊµÏÖ£¬ÓÃ»§²»ÄÜ·ÃÎÊ£¬Òò´ËÎÒÃÇ²»±Ø¶Ô´Ë×ö¹ý¶àµÄÁË½â¡£ 

2¡¢DDL¼¶·âËø(×Öµä/Óï·¨·ÖÎö·âËø) 

DDL¼¶·âËøÒ²ÊÇÓÉORACLE¡¡RDBMSÀ´¿ØÖÆ£¬ËüÓÃÓÚ±£»¤Êý¾Ý×ÖµäºÍÊý¾Ý¶¨Òå¸Ä±äÊ±µÄÒ»ÖÂÐÔºÍÍêÕûÐÔ¡£ËüÊÇÏµÍ³ÔÚ¶ÔSQL¶¨ÒåÓï¾ä×÷Óï·¨·ÖÎöÊ±×Ô¶¯µØ¼ÓËø£¬ÎÞÐèÓÃ»§¸ÉÓè¡£×Öµä/Óï·¨·ÖÎö·âËø¹²·ÖÈýÀà: 

(1)¡¢×Öµä²Ù×÷Ëø:ÓÃÓÚ¶Ô×Öµä²Ù×÷Ê±£¬Ëø×¡Êý¾Ý×Öµä£¬´Ë·âËøÊÇ¶ÀÕ¼µÄ£¬´Ó¶ø±£»¤ÈÎºÎÒ»¸öÊ±¿Ì½öÄÜ¶ÔÒ»¸ö×Öµä²Ù×÷¡£ 

(2)¡¢×Öµä¶¨ÒåËø:ÓÃÓÚ·ÀÖ¹ÔÚ½øÐÐ×Öµä²Ù×÷Ê±ÓÖ½øÐÐÓï·¨·ÖÎö£¬ÕâÑù¿ÉÒÔ±ÜÃâÔÚ²éÑ¯×ÖµäµÄÍ¬Ê±¸Ä¶¯Ä³¸ö±íµÄ½á¹¹¡£ 

(3)¡¢±í¶¨ÒåËø:ÓÃÓÚ¡¡Ò»¸öSQLÓï¾äÕýµ±·ÃÎÊÄ³¸ö±íÊ±£¬·ÀÖ¹×ÖµäÖÐÓë¸Ã±íÓÐ¹ØµÄÏîÄ¿±»ÐÞ¸Ä¡£ 

3¡¢DML¼¶·âËø 

DML¼¶·âËøÓÃÓÚ¿ØÖÆ²¢·¢ÊÂÎñÖÐµÄÊý¾Ý²Ù×Ý£¬±£Ö¤Êý¾ÝµÄÒ»ÖÂÐÔºÍÍêÕûÐÔ£¬Æä·âËø¶ÔÏó¿ÉÒÔÊÇ±í»òÐÐ¡£ 

¶ÔÓÃ»§µÄÊý¾Ý²Ù×Ý£¬Oracle¿ÉÒÔ×Ô¶¯Îª²Ù×ÝµÄÊý¾Ý½øÐÐ·âËø£¬µ«Èç¹ûÓÐ²Ù×ÝÊÚÈ¨£¬ÔòÎªÂú×ã²¢·¢²Ù×ÝµÄÐèÒªÁíÍâÊµÊ©·âËø¡£DML·âËø¿ÉÓÉÒ»¸öÓÃ»§½ø³ÌÒÔÏÔÊ½µÄ·½Ê½¼ÓËø£¬Ò²¿ÉÍ¨¹ýÄ³Ð©¡¡¡¡ SQLÓï¾äÒþº¬·½Ê½ÊµÏÖ¡£ 

DMLËøÓÐÈçÏÂÈýÖÖ·âËø·½Ê½: 

(1)¡¢¹²Ïí·âËø·½Ê½(SHARE) 

(2)¡¢¶ÀÕ¼·âËø·½Ê½(EXCLUSIVE) 

(3)¡¢¹²Ïí¸üÐÂ·âËø(SHARE UPDATE) 

ÆäÖÐSHARE£¬EXCLUSIVEÓÃÓÚ±í·âËø£¬SHARE UPDATEÓÃÓÚÐÐ·âËø¡£ 

1¡¢¹²Ïí·½Ê½µÄ±í·âËø 

¹²Ïí·½Ê½µÄ±í·âËøÊÇ¶Ô±íÖÐµÄËùÓÐÊý¾Ý½øÐÐ·âËø£¬¸ÃËøÓÃÓÚ±£»¤²éÑ¯Êý¾ÝµÄÒ»ÖÂÐÔ£¬·ÀÖ¹ÆäËüÓÃ»§¶ÔÒÑ·âËøµÄ±í½øÐÐ¸ü¸üÐÂ¡£ÆäËüÓÃ»§Ö»ÄÜ¶Ô¸Ã±íÔÙÊ©¼Ó¹²Ïí·½Ê½µÄËø£¬¶ø²»ÄÜÔÙ¶Ô¸Ã±íÊ©¼Ó¶ÀÕ¼·½Ê½µÄ·âËø£¬¹²Ïí¸üÐÂËø¿ÉÒÔÔÙÊ©¼Ó£¬µ«²»ÔÊÐí³ÖÓÐ¹²Ïí¸üÐÂ·âËøµÄ½ø³Ì×ö¸üÐÂ¡£¹²Ïí¸Ã±íµÄËùÓÐÓÃ»§Ö»ÄÜ²éÑ¯±íÖÐµÄÊý¾Ý£¬µ«²»ÄÜ¸üÐÂ¡£¹²Ïí·½Ê½µÄ±í·âËøÖ»ÄÜÓÉÓÃ»§ÓÃSQLÓï¾äÀ´ÉèÖÃ£¬»ùÓï¾ä¸ñÊ½ÈçÏÂ: 

¡¡ 





¡¡
¡¡¡¡[quote:04b72348bd]LOCK TABLE &lt;±íÃû&gt;[,&lt;±íÃû&gt;]...
¡¡¡¡
¡¡¡¡IN SHARE MODE [NOWAIT]
¡¡¡¡
¡¡¡¡[/quote:04b72348bd]
¡¡
¡¡ 
Ö´ÐÐ¸ÃÓï¾ä£¬¶ÔÒ»¸ö»ò¶à¸ö±íÊ©¼Ó¹²Ïí·½Ê½µÄ±í·âËø¡£µ±Ö¸¶¨ÁËÑ¡ÔñÏîNOWAIT£¬Èô¸Ã·âËøÔÝÊ±²»ÄÜÊ©¼Ó³É¹¦£¬Ôò·µ»Ø²¢ÓÉÓÃ»§¾ö¶¨ÊÇ½øÐÐµÈ´ý£¬»¹ÊÇÏÈÈ¥Ö´ÐÐ±ðµÄÓï¾ä¡£ 

³ÖÓÐ¹²ÏíËøµÄÊÂÎñ£¬ÔÚ³öÏÖÈçÏÂÖ®Ò»µÄÌõ¼þÊ±£¬±ãÊÍ·ÅÆä¹²ÏíËø: 

A¡¢Ö´ÐÐCOMMIT»òROLLBACKÓï¾ä¡£ 

B¡¢ÍË³öÊý¾Ý¿â(LOG¡¡OFF)¡£ 

C¡¢³ÌÐòÍ£Ö¹ÔËÐÐ¡£ 

¹²Ïí·½Ê½±í·âËø³£ÓÃÓÚÒ»ÖÂÐÔ²éÑ¯¹ý³Ì£¬¼´ÔÚ²éÑ¯Êý¾ÝÆÚ¼ä±íÖÐµÄÊý¾Ý²»·¢Éú¸Ä±ä¡£

2¡¢¶ÀÕ¼·½Ê½±í·âËø 

¶ÀÕ¼·½Ê½±í·âËøÊÇÓÃÓÚ·âËø±íÖÐµÄËùÓÐÊý¾Ý£¬ÓµÓÐ¸Ã¶ÀÕ¼·½Ê½±í·âËøµÄÓÃ»§£¬¼´¿ÉÒÔ²éÑ¯¸Ã±í£¬ÓÖ¿ÉÒÔ¸üÐÂ¸Ã±í£¬ÆäËüµÄÓÃ»§²»ÄÜÔÙ¶Ô¸Ã±íÊ©¼ÓÈÎºÎ·âËø(°üÀ¨¹²Ïí¡¢¶ÀÕ¼»ò¹²Ïí¸üÐÂ·âËø)¡£ÆäËüÓÃ»§ËäÈ»²»ÄÜ¸üÐÂ¸Ã±í£¬µ«¿ÉÒÔ²éÑ¯¸Ã±í¡£ 

¶ÀÕ¼·½Ê½µÄ±í·âËø¿ÉÍ¨¹ýÈçÏÂµÄSQLÓï¾äÀ´ÏÔÊ¾µØ»ñµÃ: 






LOCK TABLE &lt;±íÃû&gt;[,&lt;±íÃû&gt;]....
IN EXCLUSIVE MODE [NOWAIT]

¶ÀÕ¼·½Ê½µÄ±í·âËøÒ²¿ÉÒÔÔÚÓÃ»§Ö´ÐÐDMLÓï¾äINSERT¡¢UPDATE¡¢DELETEÊ±Òþº¬»ñµÃ¡£ 

ÓµÓÐ¶ÀÕ¼·½Ê½±í·âËøµÄÊÂÎñ£¬ÔÚ³öÏÖÈçÏÂÌõ¼þÖ®Ò»Ê±£¬±ãÊÍ·Å¸Ã·âËø: 

(1)¡¢Ö´ÐÐCOMMIT»òROLLBACKÓï¾ä¡£ 

(2)¡¢ÍË³öÊý¾Ý¿â(LOG OFF) 

(3)¡¢³ÌÐòÍ£Ö¹ÔËÐÐ¡£ 

¶ÀÕ¼·½Ê½·âËøÍ¨³£ÓÃÓÚ¸üÐÂÊý¾Ý£¬µ±Ä³¸ö¸üÐÂÊÂÎñÉæ¼°¶à¸ö±íÊ±£¬¿É¼õÉÙ·¢ÉúËÀËø¡£ 

DMLËøÓÐÈçÏÂÈýÖÖ·âËø·½Ê½: 

(1)¡¢¹²Ïí·âËø·½Ê½(SHARE) 

(2)¡¢¶ÀÕ¼·âËø·½Ê½(EXCLUSIVE) 

(3)¡¢¹²Ïí¸üÐÂ·âËø(SHARE UPDATE) 

ÆäÖÐSHARE£¬EXCLUSIVEÓÃÓÚ±í·âËø£¬SHARE UPDATEÓÃÓÚÐÐ·âËø¡£ 

3¡¢¹²Ïí¸üÐÂ·âËø·½Ê½ 

¹²Ïí¸üÐÂ·âËøÊÇ¶ÔÒ»¸ö±íµÄÒ»ÐÐ»ò¶àÐÐ½øÐÐ·âËø£¬Òò¶øÒ²³Æ×÷ÐÐ¼¶·âËø¡£±í¼¶·âËøËäÈ»±£Ö¤ÁËÊý¾ÝµÄÒ»ÖÂÐÔ£¬µ«È´¼õÈõÁË²Ù×÷Êý¾ÝµÄ²¢ÐÐÐÔ¡£ÐÐ¼¶·âËøÈ·±£ÔÚÓÃ»§È¡µÃ±»¸üÐÂµÄÐÐµ½¸ÃÐÐ½øÐÐ¸üÐÂÕâ¶ÎÊ±¼äÄÚ²»±»ÆäËüÓÃ»§ËùÐÞ¸Ä¡£Òò¶øÐÐ¼¶Ëø¼´¿É±£Ö¤Êý¾ÝµÄÒ»ÖÂÐÔÓÖÄÜÌá¸ßÊý¾Ý²Ù×÷µÄ±Å·¢ÐÔ¡£ 

¿ÉÍ¨¹ýÈçÏÂµÄÁ½ÖÖ·½Ê½À´»ñµÃÐÐ¼¶·âËø: 

(1)¡¢Ö´ÐÐÈçÏÂµÄSQL·âËøÓï¾ä£¬ÒÔÏÔÊ¾µÄ·½Ê½»ñµÃ: 

¡¡ 





¡¡
¡¡¡¡LOCK TABLE &lt;±íÃû&gt;[,&lt;±íÃû&gt;]....
¡¡¡¡
¡¡¡¡IN SHARE UPDATE¡¡MODE [NOWAIT]
¡¡

¡¡ 

(2)¡¢ÓÃÈçÏÂµÄSELECT ...FOR UPDATEÓï¾ä»ñµÃ: 

¡¡ 





¡¡
¡¡¡¡SELECT &lt;ÁÐÃû&gt;[,&lt;ÁÐÃû&gt;]...
¡¡¡¡
¡¡¡¡FROM &lt;±íÃû&gt;
¡¡¡¡
¡¡¡¡WHERE &lt;Ìõ¼þ&gt;
¡¡¡¡
¡¡¡¡FOR UPDATE OF &lt;ÁÐÃû&gt;[,&lt;ÁÐÃû&gt;].....[NOWAIT]

¡¡¡¡ 

Ò»µ©ÓÃ»§¶ÔÄ³¸öÐÐÊ©¼ÓÁËÐÐ¼¶·âËø£¬Ôò¸ÃÓÃ»§¿ÉÒÔ²éÑ¯Ò²¿ÉÒÔ¸üÐÂ±»·âËøµÄÊý¾ÝÐÐ£¬ÆäËüÓÃ»§Ö»ÄÜ²éÑ¯µ«²»ÄÜ¸üÐÂ±»·âËøµÄÊý¾ÝÐÐ.Èç¹ûÆäËüÓÃ»§Ïë¸üÐÂ¸Ã±íÖÐµÄÊý¾ÝÐÐ£¬ÔòÒ²±ØÐë¶Ô¸Ã±íÊ©¼ÓÐÐ¼¶Ëø.¼´Ê¹¶à¸öÓÃ»§¶ÔÒ»¸ö±í¾ùÊ¹ÓÃÁË¹²Ïí¸üÐÂ£¬µ«Ò²²»ÔÊÐíÁ½¸öÊÂÎñÍ¬Ê±¶ÔÒ»¸ö±í½øÐÐ¸üÐÂ£¬ÕæÕý¶Ô±í½øÐÐ¸üÐÂÊ±£¬ÊÇÒÔ¶ÀÕ¼·½Ê½·âËø±í£¬Ò»Ö±µ½Ìá½»»ò¸´Ô­¸ÃÊÂÎñÎªÖ¹¡£ÐÐËøÓÀÔ¶ÊÇ¶ÀÕ¼·½Ê½Ëø¡£ 

µ±³öÏÖÈçÏÂÖ®Ò»µÄÌõ¼þ£¬±ãÊÍ·Å¹²Ïí¸üÐÂËø: 

(1)¡¢Ö´ÐÐÌá½»(COMMIT)Óï¾ä; 

(2)¡¢ÍË³öÊý¾Ý¿â(LOG¡¡OFF) 

(3)¡¢³ÌÐòÍ£Ö¹ÔËÐÐ¡£ 

Ö´ÐÐROLLBACK²Ù×÷²»ÄÜÊÍ·ÅÐÐËø¡£ 

´ÓÉÏÃæ½²Êö¿É¼û£¬ORACLE¡¡RDBMSµÄ¼ÓËø»úÖÆ£¬½â¾öÁË²¢·¢ÊÂÎñµÄÏàÈÝÓë»¥³âÎÊÌâ¡£ÏàÈÝ±£Ö¤ÊÂÎñµÄ²¢·¢ÐÔ£¬»¥³âÈ·±£Êý¾ÝµÄÒ»ÖÂÐÔ¡£ 

ÆäÖÐ×îºóÒ»ÐÐ×îºóÒ»ÁÐÎªÆäËüÓÃ»§Ìá¹©ÔÚ²»Í¬ÐÐÉÏÉèÖÃSHARE UPDATEËø¡£µ«µ±ÓÃ»§1ÔÚÄ³ÐÐÉÏ½øÐÐ¸üÐÂ²Ù×÷Ê±£¬ÓÃ»§2Ö»ÓÐµÈ´ýÓÃ»§1Ìá½»ÊÂÎñºó£¬²ÅÄÜ¸üÐÂ×Ô¼ºËù·âËøµÄÐÐ¡£
]]></description>
		</item>
		<item>
			<title>Oracle·Ç·¨Êý¾Ý¿â¶ÔÏóÒýÆð´íÎó¼°½â¾ö</title>
			<link>http://www.kingmx.com/article.php?id=14937</link>
			<pubDate>2007-1-13</pubDate>
			<description><![CDATA[
Oracle Êý¾Ý¿âÊ¹ÓÃµÄÊ±¼äÔ½³¤£¬²Ù×÷Êý¾Ý¿âµÄÈËÔ½¶à£¬¿ÉÄÜ»áÓöµ½Ò»Ð©·Ç·¨Êý¾Ý¿â¶ÔÏóÒýÆðµÄ´íÎó¡£ 
¡¡¡¡ÀýÈç£º

¡¡¡¡°´ÓÃ»§ exp Ê±»á±¨´í(oracle10G)





¡¡¡¡. exporting synonyms
¡¡¡¡EXP-00008: ORACLE error 3113 encountered
¡¡¡¡ORA-03113: end-of-file on communication channel
¡¡¡¡EXP-00000: Export terminated unsuccessfully


¡¡¡¡ORACLE8i ÀïÃæµÄµÄexp´íÎó ORA-00980¡£

¡¡¡¡¸ú×ÙÎÄ¼þÀïµÄ´íÎó:





¡¡¡¡ORA-07445: exception encountered: 
&nbsp;&nbsp;&nbsp; core dump [joe_well_known_internal()+39] [SIGSEGV]
¡¡¡¡[Address not mapped to object] [0x1268D5C] [] []
¡¡¡¡......
¡¡¡¡
¡¡¡¡SELECT SYNNAM, DBMS_JAVA.LONGNAME(SYNNAM), 
&nbsp;&nbsp;&nbsp; DBMS_JAVA.LONGNAME(SYNTAB),TABOWN,
¡¡¡¡TABNODE, PUBLIC$, SYNOWN, SYNOWNID, TABOWNID, SYNOBJNO
¡¡¡¡FROM SYS.EXU9SYNU ORDER¡¡BY SYNTIME;


¡¡¡¡ÎÒµÄ¾­ÑéÊÇÕâÐ©Êý¾Ý¿âµÄÓÃ»§ÏÂºÜ¿ÉÄÜÓÐ·Ç·¨Êý¾Ý¿â¶ÔÏó¡£É¾³ý²»ºÏ·¨µÄÊý¾Ý¶ÔÏó£¬¾Í¿ÉÒÔÁË¡£Ò»°ãÇé¿öÏÂÉú³Éµ±Ç°ÓÃ»§ÏÂÖØ±àÒë·Ç·¨Êý¾Ý¿â¶ÔÏóµÄSQLÓï¾ä:





¡¡¡¡set pages 500;
¡¡¡¡set lines 200;
¡¡¡¡set trims on;
¡¡¡¡set heading off;
¡¡¡¡spool /tmp/1.sql;
¡¡¡¡select 'alter '||object_type||' '||object_name||'; 
&nbsp;&nbsp;&nbsp; compile' from user_objects where status='INVALID';
¡¡¡¡spool off;
¡¡¡¡@/tmp/1.sql;




µ«Ò²ÓÐÀýÍâµÄÇé¿ö:

¡¡¡¡µ±Ô­Ê¼µÄ±í±»dropµôºó£¬ÒÀ¾ÝËü´´½¨µÄÍ¬Òå´Ê¾Í±äµÃ²»ÄÜ·ÃÎÊÁË¡£

¡¡¡¡Ô­Ê¼µÄ±íÖØ½¨ÒÔºó£¬Í¬Òå´ÊÈÔÈ»²»¿ÉÒÔ·ÃÎÊ¡£

¡¡¡¡µ«ÔÚuser_objectsÀïÃæµÄstatus×´Ì¬ÊÇ'VALID'£¬È´²»ÊÇ'INVALID'¡£

¡¡¡¡ÕâÐèÒªÎÒÃÇ°ÑËüÃÇÕÒ³öÀ´£¬ÔËÐÐ²éÑ¯Í¬Òå´Ê±í½á¹¹µÄÓï¾ä:





¡¡¡¡spool /tmp/1.sql;
¡¡¡¡select 'desc '||synonym_name||';' from user_synonyms;
¡¡¡¡spool off;
¡¡¡¡@/tmp/1.sql;


¡¡¡¡³ö´íµÄÍ¬Òå´Ê, Ò»¶¨ÒªÏÈ³¹µ×É¾³ýµô£¬ÔÙÖØ½¨´´½¨Í¬Òå´Ê¡£





¡¡¡¡drop synonym &amp;synonym_name;
¡¡¡¡
¡¡¡¡create synonym &amp;synonym_name for &amp;owner.&amp;table_name;


¡¡¡¡ÖØ±àÒëºó£¬ÈÔÈ»³ö´íµÄÊý¾Ý¶ÔÏó£¬¾­¿ª·¢ÈËÔ±Í¬Òâºó£¬ÎÒÃÇ»¹¿ÉÒÔÑ¡ÔñdropËüÃÇ¡£ÎÒ»¹Óöµ½¹ýÒ»´ÎÔÚdrop·Ç·¨Êý¾Ý¿â¶ÔÏóµÄÊ±ºò£¬²»¼ÓË«ÒýºÅÖ®Ç°£¬ÌáÊ¾Êý¾Ý¶ÔÏó²»´æÔÚ¡£Ò»¶¨ÒªÔÚÊý¾Ý¿â¶ÔÏó¼ÓÉÏË«ÒýºÅ¾Í¿ÉÒÔÉ¾µôÁË¡£(Õâ¿ÉÄÜ¸ú´´½¨Êý¾Ý¶ÔÏóËùÓÃµÄ¸¨ÖúÐÔ¹¤¾ßÓÐ¹Ø)

¡¡¡¡ÀýÈç£º





&nbsp;&nbsp; ¡¡drop table scott."emp" cascade constraints;
¡¡¡¡
¡¡¡¡drop trigger scott."trigger_name";


¡¡¡¡Èç¹ûËùÓÐµÄ·Ç·¨Êý¾Ý¶ÔÏó¶¼Ã»ÓÐÁË£¬»¹»á³öÏÖÉÏÃæµÄ´íÎó¡£¿ÉÄÜÊÇjvm(javaÐéÄâ»·¾³)µÄÎÊÌâ¡£DBMS_JAVA.LONGNAME()¹ý³Ìº¯ÊýÒ»Ö´ÐÐ£¬¾Í»á±¨´í¡£»¹ÓÐÒ»¸ö½â¾ö°ì·¨£ºÖØ½¨sysÓÃ»§ÏÂ¸úÍ¬Òå´ÊÓÐ¹ØµÄÊÓÍ¼£¬ÈÃËüÕÒ²»µ½¼ÇÂ¼¡£





¡¡¡¡drop view EXU9SYNU;
¡¡¡¡
¡¡¡¡create view EXU9SYNU as
¡¡¡¡SELECT¡¡"SYNNAM","SYNNAM2","SYNTAB",
&nbsp;&nbsp;&nbsp; "TABOWN","TABNODE","PUBLIC$","SYNOWN",
¡¡¡¡"SYNOWNID","TABOWNID","SYNOBJNO","SYNTIME"
¡¡¡¡FROM¡¡¡¡sys.exu9syn
¡¡¡¡-- WHERE¡¡ synownid = UID; (Ô­À´µÄÊÓÍ¼´´½¨·½·¨)
¡¡¡¡WHERE¡¡ 0=1;
¡¡¡¡
¡¡¡¡grant select on sys.EXU9SYNU to public;


¡¡¡¡ÕâÑùÒ»À´°´ÓÃ»§µ¼³öÊý¾ÝÊ±£¬¿ÉÒÔÌø¹ýÍ¬Òå´Ê²¿·Ö£¬¼ÌÐøÍê³ÉºóÃæµÄ¹¤×÷¡£
]]></description>
		</item>
		<item>
			<title>Oracle9i×Ô¶¯·Ö¶Î¿Õ¼ä¹ÜÀí¸ÄÉÆ·Ö¶Î´æ´¢</title>
			<link>http://www.kingmx.com/article.php?id=14841</link>
			<pubDate>2006-12-22</pubDate>
			<description><![CDATA[

ÎªÁË±£³ÖÆä×îÇ¿´óºÍ×îÁé»îÊý¾Ý¿âµÄµØÎ»£¬OracleÔÚ×î½ü·¢²¼µÄ¼¸¸ö°æ±¾ÀïÒ»Ö±¶¼ÔÚ´´½¨ÐÂµÄ»úÖÆÀ´¶Ô±í¸ñºÍË÷ÒýµÄ´æ´¢½øÐÐ¼ò»¯ºÍ·Ö¿é¡£´ÓOracle8i¿ªÊ¼£¬Oracle¿ªÊ¼ÔÚtablespaceÄÚ²¿½«¶ÔÏó¹ÜÀí½øÐÐ×Ô¶¯»¯¡£µÚÒ»¸öÔöÇ¿µÄµØ·½Ô­À´½Ð×ö±¾µØ¹ÜÀítablespace£¨»òÕß¼òÐ´×÷LMT£©¡£ÔÚLMTÀï£¬Oracle½«tablespaceÀïµÄÐÅÏ¢´ÓÊý¾Ý×ÖµäµÄ±í¸ñ¿Õ¼äÀïÒÆ³öÈ¥£¬¶øÖ±½Ó½«Æä±£´æµ½tablespace×ÔÉíÀï¡£ÕâÔÚOracle9iÀïÒÑ¾­³ÉÎªÁËÒ»¸öÊÂÊµµÄ±ê×¼£¬ÒòÎªËü¼õÇáÁËÊý¾Ý×ÖµäµÄ¸ºµ£¡£ 

±í¸ñ¿Õ¼äµÄµÚ¶þ¸öÖ÷ÒªÔöÇ¿µÄÊÇ×Ô¶¯·Ö¶Î¿Õ¼ä¹ÜÀí£¨ASSM£©£¬ËüÊ×´Î³öÏÖÔÚOracle9iÀï¡£ÓÐÁËASSM£¬Á´½ÓÁÐ±ífreelist±»Î»Í¼ËùÈ¡´ú£¬ËüÊÇÒ»¸ö¶þ½øÖÆµÄÊý×é£¬ÄÜ¹»Ñ¸ËÙÓÐÐ§µØ¹ÜÀí´æ´¢À©Õ¹ºÍÊ£ÓàÇø¿é£¨free block£©£¬Òò´ËÄÜ¹»¸ÄÉÆ·Ö¶Î´æ´¢±¾ÖÊ¡£ 

¹ÜÀí¿Õ¼äµÄÁ½ÖÖ·½·¨ 

ÈÃÎÒÃÇ´Ó±È½ÏÕâÁ½ÖÖ¿Õ¼ä¹ÜÀí¿ªÊ¼£º 

±¾µØ¹ÜÀítablespace£¨LMT£©¡ª¡ªLMTÊÇÍ¨¹ý°ÑEXTENT MANAGEMENT LOCAL×Ó¾äÌí¼Óµ½tablespaceµÄ¶¨Òå¾ä·¨¶øÊµÏÖµÄ¡£ºÍÔ­À´ÓÉ×Öµä¹ÜÀíµÄtablespace£¨DMT£©²»Í¬£¬LMT»á½«À©Õ¹¹ÜÀí×Ô¶¯»¯£¬²¢±£³ÖOracle DBA²»»á±»ÓÃÀ´Ö¸¶¨¹ÜÀíÀ©Õ¹´óÐ¡µÄNEXT´æ´¢²ÎÊý¡£Õâ¸öÔ­ÔòÎ¨Ò»µÄÀýÍâÊÇÔÚNEXTºÍMINEXTENTSÒ»ÆðÓÃÔÚ±í¸ñ´´½¨µÄÊ±ºò¡£ 

×Ô¶¯Çø¶Î¿Õ¼ä¹ÜÀí£¨ASSM£©¡ª¡ªASSMµÄtablespaceÊÇÍ¨¹ý½«SEGMENT SPACE MANAGEMENT AUTO×Ó¾äÌí¼Óµ½tablespaceµÄ¶¨Òå¾ä·¨Àï¶øÊµÏÖµÄ¡£Í¨¹ýÊ¹ÓÃÎ»Í¼freelistÈ¡´ú´«Í³µ¥ÏòµÄÁ´½ÓÁÐ±ífreelist£¬ASSMµÄtablespace»á½«freelistµÄ¹ÜÀí×Ô¶¯»¯£¬²¢È¡ÏûÎª¶ÀÁ¢µÄ±í¸ñºÍË÷ÒýÖ¸¶¨PCTUSED¡¢FREELISTSºÍFREELIST GROUPS´æ´¢²ÎÊýµÄÄÜÁ¦¡£ 

OracleÖµµÃÔÞÑïµÄµØ·½ÊÇ£¬ÕâÁ½¸ö¿Õ¼ä¹ÜÀíµÄ·½·¨¶¼ÊÇ¿ÉÑ¡µÄÌØÐÔ£¬¶øÇÒOracleµÄÀÏÊÖ¿ÉÄÜÈÔ»áÊ¹ÓÃ¸ü¼ÓÏêÏ¸µÄ·½·¨£¬Ö»ÒªËûÃÇÔ¸ÒâµÄ»°¡£Òª×¢Òâ£¬Î»Í¼Çø¶Î¹ÜÀíÔÚOracle9iÀïÊÇ¿ÉÑ¡µÄ£¬¶øÇÒÖ»ÄÜÔÚtablespaceÕâÒ»²ãÊµÏÖ£¬ÕâÒ»µãÊÇÊ®·ÖÖØÒªµÄ¡£Ô­ÓÐµÄÏµÍ³»¹ÄÜ¹»¼ÌÐøÊ¹ÓÃ´«Í³·½·¨À´¹ÜÀífreelist¡£ 

Î»Í¼freelistÌôÕ½´«Í³µÄ¿Õ¼ä¹ÜÀí 

ÔÚÎÒÌÖÂÛÎ»Í¼freelistºÍ´«Í³µÄ¿Õ¼ä¹ÜÀíÖ®Ç°£¬ÈÃÎÒÃÇ¿´¿´Î»Í¼freelistÊÇÈçºÎÊµÏÖµÄ¡£ÎÒ»á´ÓÊ¹ÓÃÇø¶Î¿Õ¼ä¹ÜÀí×Ô¶¯²ÎÊý´´½¨tablespace¿ªÊ¼£º 






¡¡¡¡
¡¡¡¡create tablespace
¡¡¡¡¡¡ asm_lmt_ts
¡¡¡¡datafile
¡¡¡¡¡¡ 'c:\oracle\oradata\diogenes\asm_lmt.dbf'
¡¡¡¡size
¡¡¡¡¡¡ 5m
¡¡¡¡EXTENT MANAGEMENT LOCAL¡¡¡¡¡¡ -- Turn on LMT
¡¡¡¡SEGMENT SPACE MANAGEMENT AUTO -- Turn on ASSM
¡¡¡¡;

Ò»µ©Äã¶¨ÒåºÃÁËtablespace£¬ÄÇÃ´±í¸ñºÍË÷Òý¾ÍÄÜ¹»Ê¹ÓÃ¸÷ÖÖ·½·¨ºÜÈÝÒ×µØ±»ÒÆ¶¯µ½ÐÂµÄtablespaceÀï¡£ÏÂÃæ¾ÍÊÇÎÒ½øÐÐ´´½¨µÄ´úÂë£º 






¡¡¡¡
¡¡¡¡ 
¡¡¡¡create table
¡¡¡¡¡¡ new_cust
¡¡¡¡tablespace
¡¡¡¡¡¡ assm_lmt_ts
¡¡¡¡as
¡¡¡¡¡¡ select * from customer;
¡¡¡¡ 
¡¡¡¡alter index cust_name_idx rebuild tablespace assm_lmt_ts;
¡¡

Òª×¢Òâ£¬µ±±í¸ñ»òÕßË÷Òý±»·ÖÅäµ½Õâ¸ötablespaceÒÔºó£¬ÓÃÓÚ¶ÀÁ¢¶ÔÏóµÄPCTUSEDµÄÖµ»á±»ºöÂÔ£¬¶øOracle9i»áÊ¹ÓÃÎ»Í¼Êý×éÀ´×Ô¶¯µØ¹ÜÀítablespaceÀï±í¸ñºÍË÷ÒýµÄfreelist¡£¶ÔÓÚÔÚLMTµÄtablespaceÄÚ²¿´´½¨µÄ±í¸ñºÍË÷Òý¶øÑÔ£¬Õâ¸öNEXTÀ©Õ¹×Ó¾äÊÇ¹ýÊ±µÄ£¬ÒòÎªÓÉ±¾µØ¹ÜÀíµÄtablespace»á¹ÜÀíËüÃÇ¡£µ«ÊÇ£¬INITIAL²ÎÊýÈÔÈ»ÊÇÐèÒªµÄ£¬ÒòÎªOracle²»¿ÉÄÜÌáÇ°ÖªµÀ³õÊ¼±í¸ñ¼ÓÔØµÄ´óÐ¡¡£¶ÔÓÚASSM¶øÑÔ£¬INITIAL×îÐ¡µÄÖµÊÇÈý¸öÇø¿é¡£ 

¹ØÓÚÒ»¸öÍòÄÜµÄ·½·¨¶ÔÓÚOracleÀ´ËµÊÇ·ñÊÇ×îºÃµÄ·½·¨»¹ÓÐÒ»Ð©ÕùÂÛ¡£ÔÚ´óÐÍÊý¾Ý¿âÀï£¬µ¥¶ÀµÄ¶ÔÏóÉèÖÃ»á´øÀ´ÐÔÄÜºÍ´æ´¢ÉÏµÄ¾Þ´ó²»Í¬¡£

PCTFREEµÄÎÊÌâ 

PCTFREE²ÎÊýÊÇÓÃÀ´Ö¸¶¨Êý¾Ý¿éÊ£Óà¿Õ¼ä´óÐ¡µÄ£¬ÕâÒ»¿Õ¼äÎª½«À´Êý¾ÝÐÐµÄÀ©Õ¹¶ø±£Áô¡£Èç¹ûPCTFREEÉèÖÃµÃ²»µÃµ±£¬SQLµÄ¸üÐÂÉùÃ÷¾Í¿ÉÄÜµ¼ÖÂ´óÁ¿µÄÊý¾ÝÐÐËéÆ¬ºÍ¶ÏÁ´¡£ 

Êý¾ÝÐÐÔÚ¸Õ±£´æµÄÊ±ºò»¹ºÜÐ¡£¬¶øÔÚºóÀ´½øÐÐÁËÀ©Õ¹£¬ÔÚÕâÖÖÇé¿öÏÂ£¬PCTFREEµÄÉèÖÃ¾ÍÏÔµÃÓÈÆäÖØÒªÁË¡£ÔÚÕâÑùµÄÏµÍ³Àï£¬Í¨³£»á°ÑPCTFREEÉèÖÃ³ÉµÈÓÚ95£¬Õâ¾Í¸æËßOracleÒªÎªÊý¾ÝÐÐ½ñºóµÄÀ©Õ¹±£Áô95£¥µÄÊý¾ÝÇø¶Î¿Õ¼ä¡£ 

PCTUSEDµÄÎÊÌâ 

¶ÔPCTUSED²»ÕýÈ·µÄÉèÖÃ£¨ÀýÈçÉèµÃÌ«Ð¡ÁË£©»áµ¼ÖÂSQL²åÈëÉùÃ÷ÐÔÄÜµÄ¼±¾çÏÂ½µ¡£Èç¹ûÊý¾ÝÇø¿éÊ£Óà¿Õ¼ä²»ÊÇºÜ¶à£¬ÄÇÃ´ÔÚSQL²åÈë²Ù×÷µÄ¹ý³ÌÖÐ¾Í»á²úÉú¹ýÁ¿µÄI/O£¬ÕâÊÇÒòÎª±»ÖØÐÂÊ¹ÓÃµÄOracleÊý¾ÝÇø¿é»á±»Ñ¸ËÙµØÌîÂú¡£´Ó¼«¶ËµÄ½Ç¶ÈÀ´¿´£¬Ã»ÓÐÕýÈ·µØÉèÖÃPCTUSED»áµ¼ÖÂÊý¾ÝÇø¿éµÄÊ£Óà¿Õ¼äÒª±È±í¸ñÊý¾ÝÐÐµÄÆ½¾ù³¤¶ÈÐ¡¡£ÔÚÕâÑùµÄÇé¿öÏÂ£¬Oracle»áÎå´Î³¢ÊÔ´ÓfreelistÁ´È¡»ØÇø¿é¡£ÔÚÎå´Î³¢ÊÔÒÔºó£¬Oracle»áÌáÉý±í¸ñµÄË®Î»£¬²¢Îª²åÈë²Ù×÷ÌÚ³öÎå¸öÐÂµÄÊý¾Ý¿é¡£ 

ÓÐÁËOracle9iµÄASSM£¬PCTUSED¾Í²»ÔÙ¿ØÖÆ±í¸ñÊý¾Ý¿éµÄÖØÐÂÁ´½ÓãÚÖµÁË£¬µ«ÊÇÄã±ØÐëÒÀ¿¿OracleµÄÅÐ¶ÏÀ´È·¶¨Çø¿éÔÚÊ²Ã´Ê±ºò»áÓÐ×ã¹»µÄÊ£Óà¿Õ¼ä·ÅÖÃµ½freelistÀï¡£ 

¾¡¹ÜÓÐÁË±¾µØ¹ÜÀíµÄtablespaceºÍASSMÖ®ºóOracle9i»áºöÂÔPCTUSED¡¢FREELISTSºÍFREELIST GROUPSµÈ²ÎÊý£¬µ«ÊÇµ±ËüÃÇÓÃÓÚ±í¸ñ¶¨ÒåµÄÊ±ºò£¬Oracle»¹ÊÇ²»»á¸ø³ö´íÎóÐÅÏ¢£º 






¡¡¡¡
¡¡¡¡SQL&gt; create table
¡¡¡¡2 test_table
¡¡¡¡3 (c1 number)
¡¡¡¡4 tablespace
¡¡¡¡5 asm_test
¡¡¡¡6 pctfree 20 pctused 30
¡¡¡¡7 storage
¡¡¡¡8 ( freelists 23 next 5m ) ;
¡¡¡¡Table created.
¡¡¡¡

¡¡¡¡ 

Èç¹ûÄã²»¼ÇµÃ´øÓÐASSMµÄ±¾µØ¹ÜÀítablespace»áÂÔµôÈÎºÎÎªPCTUSED¡¢NEXTºÍFREELISTSËùÖ¸¶¨µÄÖµµÄ»°£¬Õâ½«ÊÇÒ»¸öÊ®·ÖÑÏÖØµÄÎÊÌâ¡£. 

Ê¹ÓÃASSMµÄÒ»¸ö¾Þ´óÓÅÊÆÊÇ£¬Î»Í¼freelist¿Ï¶¨ÄÜ¹»¼õÇá»º³åÇøÃ¦µÈ´ý£¨buffer busy wait£©µÄ¸ºµ££¬Õâ¸öÎÊÌâÔÚOracle9iÒÔÇ°µÄ°æ±¾ÀïÔøÊÇÒ»¸öÑÏÖØµÄÎÊÌâ¡£ÏÖÔÚÈÃÎÒÃÇÀ´×ÐÏ¸¿´¿´Õâ¸öÌØÐÔ¡£ 

»º³åÇø²»ÔÙÃ¦µÈ´ý 

ÔÚÃ»ÓÐ¶à¸öfreelistµÄÊ±ºò£¬Ã¿¸öOracle±í¸ñºÍË÷ÒýÔÚ±í¸ñµÄÍ·²¿¶¼ÔøÓÐÒ»¸öÊý¾Ý¿é£¬ÓÃÀ´¹ÜÀí¶ÔÏóËùÊ¹ÓÃµÄÊ£ÓàÇø¿é£¬²¢ÎªÈÎºÎSQL²åÈëÉùÃ÷Ëù´´½¨µÄÐÂÊý¾ÝÐÐÌá¹©Êý¾Ý¿é¡£µ±Êý¾Ý»º³åÄÚµÄÊý¾Ý¿éÓÉÓÚ±»ÁíÒ»¸öDMLÊÂÎñ´¦ÀíËø¶¨¶øÎÞ·¨Ê¹ÓÃµÄÊ±ºò£¬»º³åÇøÃ¦µÈ´ý¾Í»á·¢Éú¡£µ±ÄãÐèÒª½«¶à¸öÈÎÎñ²åÈëµ½Í¬Ò»¸ö±í¸ñÀïµÄÊ±ºò£¬ÕâÐ©ÈÎÎñ¾Í±»Ç¿ÖÆµÈ´ý£¬¶øÍ¬Ê±Oracle»áÔÚÍ¬Ê±·ÖÅÉÊ£ÓàµÄÇø¿é£¬Ò»´ÎÒ»¸ö¡£ 

ÓÐÁËASSMÖ®ºó£¬OracleÐû³ÆÏÔÖøµØÌá¸ßÁËDML²¢·¢²Ù×÷µÄÐÔÄÜ£¬ÒòÎª£¨Í¬Ò»¸ö£©Î»Í¼µÄ²»Í¬²¿·Ö¿ÉÒÔ±»Í¬Ê±Ê¹ÓÃ£¬ÕâÑù¾ÍÏû³ýÁËÑ°ÕÒÊ£Óà¿Õ¼äµÄ´®ÐÐ»¯¡£¸ù¾ÝOracleµÄ²âÊÔ½á¹û£¬Ê¹ÓÃÎ»Í¼freelist»áÏû³ýËùÓÐ·Ö¶ÎÍ·²¿£¨¶Ô×ÊÔ´£©µÄÕù¶á£¬»¹ÄÜ»ñµÃ³¬¿ìµÄ²¢·¢²åÈë²Ù×÷£¨Í¼A£©¡£ 




Í¼A Oracle¹«Ë¾¶ÔÊ¹ÓÃÎ»Í¼freelist½øÐÐSQL²åÈë²Ù×÷µÄ²âÊÔ½á¹û
ASSMµÄ¾ÖÏÞÐÔ 

¾¡¹ÜASSMÏÔÊ¾³öÁËÁîÈË¼¤¶¯µÄÌØÐÔ²¢ÄÜ¹»¼ò»¯Oracle DBAµÄ¹¤×÷£¬µ«ÊÇOracle9iµÄÎ»Í¼·Ö¶Î¹ÜÀí»¹ÊÇÓÐÒ»Ð©¾ÖÏÞÐÔµÄ£º 

Ò»µ©DBA±»·ÖÅäÖ®ºó£¬Ëü¾ÍÎÞ·¨¿ØÖÆtablespaceÄÚ²¿µÄ¶ÀÁ¢±í¸ñºÍË÷ÒýµÄ´æ´¢ÐÐÎª¡£ 

´óÐÍ¶ÔÏó²»ÄÜ¹»Ê¹ÓÃASSM£¬¶øÇÒ±ØÐëÎª°üº¬ÓÐLOBÊý¾ÝÀàÐÍµÄ±í¸ñ´´½¨·ÖÀëµÄtablespace¡£ 

Äã²»ÄÜ¹»Ê¹ÓÃASSM´´½¨ÁÙÊ±µÄtablespace¡£ÕâÊÇÓÉÅÅÐòÊ±ÁÙÊ±·Ö¶ÎµÄ¶ÌÔÝÌØÐÔËù¾ö¶¨µÄ¡£ 

Ö»ÓÐ±¾µØ¹ÜÀíµÄtablespace²ÅÄÜ¹»Ê¹ÓÃÎ»Í¼·Ö¶Î¹ÜÀí¡£ 

Ê¹ÓÃ³¬¸ßÈÝÁ¿µÄDML£¨ÀýÈçINSERT¡¢UPDATEºÍDELETEµÈ£©µÄÊ±ºò¿ÉÄÜ»á³öÏÖÐÔÄÜÉÏµÄÎÊÌâ¡£
]]></description>
		</item>
		<item>
			<title>Oracle9iÊý¾Ý¿âÈçºÎÖ§³Ö¶¯Ì¬ÖØÅäÖÃ</title>
			<link>http://www.kingmx.com/article.php?id=14840</link>
			<pubDate>2006-12-22</pubDate>
			<description><![CDATA[

Oracle9i×îÖØÒªµÄÐÂÌØÐÔ¾ÍÄÜ¶¯Ì¬ÐÞ¸Ä¼¸ºõËùÓÐOracleÐÔÄÜ²ÎÊý¡£ÕâÊ¹Oracle×¨¼ÒÄÜÔÚOracleÊµÀýÔËÐÐÆÚ¼ä¶¯Ì¬µØÖØÐÂÅäÖÃËü¡ª¡ª²»¹ÜÊÇÒòÎªÒª½â¾öµ±Ç°µÄÒ»¸öÐÔÄÜÎÊÌâ£¬»¹ÊÇÒòÎªÔ¤²âµ½Ò»¸ö½ôÆÈµÄÐÔÄÜÐèÇó¡£ÓÉÓÚÄÜ¶¯Ì¬ÐÞ¸ÄÏµÍ³È«¾ÖÇøÓò£¨System Global Area£¬SGA£©ÖÐµÄËùÓÐ¶«Î÷£¨SGAÊÇOracleµÄÒ»¸öÊµÀýÊ¹ÓÃµÄRAM£©£¬ËùÒÔÖÁ¹ØÖØÒªµÄÒ»µã¾ÍÊÇÖªµÀÈçºÎ¼àÊÓOracleÊý¾Ý¿â¡£¹éÄÉ³öÏµÍ³·ÃÎÊÇ÷ÊÆ¼°·ÃÎÊÄ£Ê½ºó£¬¿ÉÒòÎªÔ¤²âµ½³£¹æµÄ×ÊÔ´ÐèÇó¶øÌáÇ°ÖØÐÂÅäÖÃºÃÊý¾Ý¿â¡£ 

Ç£Éæµ½¶¯Ì¬Êý¾Ý¿âµ÷½Ú²Ù×÷Ê±£¬Oracle×¨¼ÒÍ¨³£¹ØÐÄµÄÊÇÁ½·½ÃæµÄÎÊÌâ£ºÊÂÏÈ°²ÅÅºÃµÄÖØÅäÖÃ£¬ÒÔÖ§³Ö³£¹æ´¦ÀíÐèÇóµÄ±ä»¯£»ÒÔ¼°»ùÓÚÇ÷ÊÆµÄ¶¯Ì¬ÖØÅäÖÃ£¬ÒÔÏìÓ¦´ÓSTATSPACKÖÐ»ñÈ¡µÄÐÅÏ¢¡£ÏÂÃæÀ´¿´¿´OracleÈçºÎ¶ÔÕâÁ½ÖÖ»î¶¯Ìá¹©Ö§³Ö¡£ 

°²ÅÅºÃµÄÖØÅäÖÃ 

¼Ù¶¨Ò»¸öOracleÊý¾Ý¿âÔÚ°×ÌìÒÔ¡°Áª»úÊÂÎñ´¦Àí¡±£¨OLTP£©Ä£Ê½ÔËÐÐ£¬Ò¹¼äÒÔ¡°¾ö²ßÖ§³Ö¡±Ä£Ê½ÔËÐÐ¡£ÕâÁ½ÖÖ·þÎñÎªÁË»ñµÃ×î¼ÑµÄÐÔÄÜ£¬·Ö±ðÌá³öÁËÍêÈ«²»Í¬µÄÒªÇó¡£Õë¶ÔÕâÖÖÀàÐÍµÄÊý¾Ý¿â£¬Oracle DBA¿ÉÊÂÏÈ°²ÅÅºÃÒ»¸öÈÎÎñ£¬Õë¶Ôµ±Ç°µÄ´¦ÀíÀàÐÍ£¬½«OracleÊµÀýÖØÅäÖÃÎª×îÇ¡µ±µÄÅäÖÃ¡£ 

Í¨³£¿ÉÑ¡ÔñÁ½ÖÖ¹¤¾ßÖ®Ò»À´°²ÅÅ¶¯Ì¬ÖØÅäÖÃ¡£×î³£¼ûµÄ·½Ê½ÊÇÊ¹ÓÃÒ»¸öUNIX cron×÷Òµ£¬ËüÆô¶¯Ò»¸öshell½Å±¾À´°²ÅÅ¶¨ÆÚÖØÅäÖÃ¡£»¹¿ÉÊ¹ÓÃOracle dbms_jobÊµÓÃ³ÌÐò¡£ÕâÁ½ÖÖ¹¤¾ß¶¼ÔÊÐíÄã°²ÅÅÒ»´ÎÅäÖÃ¸ü¸Ä¡£ 

Çåµ¥AÈçÏÂ£º 






Listing A: Script to change to DSS-mode 
¡¡¡¡ 
#!/bin/ksh 
 # First, we must set the environment . . . . 
ORACLE_SID=$1 export ORACLE_SID 
ORACLE_HOME=`cat /etc/oratab|grep ^$ORACLE_SID:|cut -f2 -d':'
#ORACLE_HOME=`cat /var/opt/oracle/oratab|grep 
^$ORACLE_SID:|cut -f2 -d':'` export ORACLE_HOME 
PATH=$ORACLE_HOME/bin:$PATH export 
PATH $ORACLE_HOME/bin/sqlplus ¨Cs /nologin&lt;¡¡¡¡
alter system set db_cache_size=1500m;
alter system set shared_pool_size=500m;
alter system set pga_aggregate_target=4000m;
exit !

Çåµ¥AÌá¹©ÁËÒ»¸öUNIX½Å±¾£¬¿ÉÓÃËüÕë¶Ô¾ö²ßÖ§³Ö´¦Àí¶øÖØÅäÖÃOracle¡£×¢Òâ¸Ã½Å±¾ÐÞ¸ÄÁËshared_pool¡¢db_cache_sizeÒÔ¼°pga_aggregate_targetµÈ²ÎÊý£¬ÒÔÂú×ãÊý¾Ý²Ö¿â»î¶¯µÄÐèÒª¡£µÚ¶þÌìÔçÉÏ¿ÉÔËÐÐÒ»¸öÀàËÆµÄ½Å±¾£¬½«Êý¾Ý¿âÅäÖÃ±ä»ØOLTPÄ£Ê½¡£

»ùÓÚÇ÷ÊÆµÄ¶¯Ì¬ÖØÅäÖÃ 

Ö´ÐÐ»ùÓÚÇ÷ÊÆµÄ¶¯Ì¬ÖØÅäÖÃÊ±£¬ÒªÊÕ¼¯ÓÐ¹ØOracleÊý¾Ý¿âµÄÀúÊ·Êý¾Ý£¬²¢ÓÃÕâÖÖÐÅÏ¢À´ÌáÇ°ÖØÅäÖÃÊý¾Ý¿â£¬¾ßÌå×ö·¨¿ÉÄÜÊÇÊ¹ÓÃdbms_job°ü½øÐÐÁÙÊ±ÐÔ¸ü¸Ä£¬»òÊ¹ÓÃÇ°ÃæÌÖÂÛµÄÄ³ÖÖ·½·¨°²ÅÅ¶¨ÆÚÖØÅäÖÃ¡£ÕâÀàËÆÓÚ¡°×¼ÊµÊ±¡±Éú²ú¡ª¡ª×°ÅäÏßÉÏÐèÒªÄ³Ð©Áã¼þÊ±£¬ÄÇÐ©Áã¼þ¾Í¸ÕºÃ³öÏÖÔÚÉú²ú³µ¼ä¡£Í¬ÑùµØ£¬Oracle DBA¿ÉÔ¤²â´¦ÀíÐèÇó£¬²¢È·±£¼°Ê±Ìá¹©SGA×ÊÔ´£¬ÒÔÂú×ã´¦ÀíÈÎÎñÖ®ÐèÒª¡£ 

¿ÉÓÃSTATSPACKÀ´¸ú×ÙÖØÒª¶ÈÁ¿Ö¸±ê£¬²¢½ÒÊ¾³ö·ÃÎÊÄ£Ê½£¬ÒÔÔ¤²âOracle·þÎñÆ÷¼´½«ÐèÒªµÄ×ÊÔ´¡£¶ÈÁ¿Ö¸±êÍ¨³£¸ù¾ÝÒ»ÌìÖÐµÄ²»Í¬Ð¡Ê±ÒÔ¼°Ò»ÖÜÖÐµÄ²»Í¬ÌìÀ´ÊÕ¼¯£¬ÒÔ±ã·¢ÏÖÆäÖÐµÄ·ÃÎÊÄ£Ê½¡£ÒÔÍ¼AÃ¿Ìì¸÷¸öÐ¡Ê±µÄÊý¾Ý»º³åÃüÖÐÂÊ£¨BHR£©ÎªÀý¡£ 




Í¼A
Õâ·ùBHRÍ¼±íÃ÷»º³åÇø¿é·´¸´³öÏÖ¶ÌÈ±ÏÖÏó,×¢ÒâÖØ¸´³öÏÖµÄÖ¸±ê±íÃ÷£¬Êý¾Ý»º³åÇø¿éÔÚ2:00µ½3:00 AMÖ®¼ä³öÏÖ¶ÌÈ±£¬Í¬ÑùµÄÇé¿öÔÚ8:00µ½9:00 PMÖ®¼äÔÙ´Î³öÏÖ¡£ÁË½âÕâÒ»µãºó£¬¾Í¿É°²ÅÅÈÎÎñ£¬ÔÚÕâÐ©Ê±¶ÎÎªÊý¾Ý»º³åÖØÐÂ·ÖÅäRAM£¬ÒÔ»º½âÎÊÌâ¡£ 

»¹¿ÉÒÔ»æÖÆÒ»ÖÜÖÐÃ¿Ò»ÔÚµÄÊý¾ÝBHRÍ¼£¬ÈçÍ¼BËùÊ¾¡£´ÓÖÐ¿ÉÒÔ¿´³ö£¬ÓÐÎÊÌâµÄÊÇÖÜÒ»ºÍÖÜÎå¡£ËùÒÔ£¬ÕâÁ½ÌìÐèÒªÔö´ódb_cache_sizeÀ´¾ÀÕýÎÊÌâ¡£ 




Í¼B
ÈÕBHRÍ¼½ÒÊ¾³ö½Ï³¤ÖÜÆÚÄÚ²úÉúµÄÎÊÌâ,»ùÓÚÇ÷ÊÆµÄÐÅÏ¢¶ÔÓÚOracle DBAÀ´ËµÊÇÒ»¸ö´óÓÐÇ±Á¦¿ÉÍÚµÄ½ð¿ó£¬ÒòÎª¿ÉÓÃËü½ÒÊ¾³öOracleÊý¾Ý¿âÖÐÒÔÇ°¿´²»¼ûµÄÐÔÄÜÇ÷ÊÆ¡£ÎÒµÄÏÂÒ»ÆªÎÄÕÂ½«¸üÑÐ¾¿´ÏÃ÷µÄOracle×¨¼ÒÏ²»¶Ê¹ÓÃµÄÒ»Ð©ÖØÒªÖ¸±ê£¬¿É¸ù¾ÝËüÃÇÈ·¶¨ÈçºÎ¶¯Ì¬µ÷½ÚOracle9iÊý¾Ý¿â¡£
]]></description>
		</item>
		<item>
			<title>OracleÊý¾Ý¿â¿Õ¼äÊ¹ÓÃºÍ¹ÜÀíÈô¸É·½·¨</title>
			<link>http://www.kingmx.com/article.php?id=14839</link>
			<pubDate>2006-12-22</pubDate>
			<description><![CDATA[

Êý¾Ý¿â¿Õ¼äµÄÓÐÐ§Ê¹ÓÃºÍÎ¬»¤²»½öÊÇÊý¾Ý¿â¹ÜÀíµÄÖØÒª¹¤×÷£¬Ò²ÊÇ´ó¶àÊý¿ª·¢ÈËÔ±Ëù¹ØÐÄµÄÄÚÈÝ£¬ÒòÎªËüÖ±½Ó¹ØÏµµ½Êý¾Ý¿âÐÔÄÜµÄ·¢»Ó¡£Í¬Ê±Êý¾ÝËéÆ¬ÊÇ¾­³£ÁîÈËÍ·ÌÛµÄÎÊÌâ£¬ËéÆ¬²»½öÔì³É¿Õ¼äµÄÀË·Ñ£¬¸üÖØÒªµÄÊÇ»áÖ±½ÓÓ°ÏìÓ¦ ÓÃ³ÌÐòµÄÏìÓ¦ËÙ¶È¡£ 

OracleÌá¹©ÁË²»ÉÙ·½·¨ÓÃÓÚÊý¾Ý¿Õ¼äµÄÊ¹ÓÃ¡¢¼à¿ØºÍÎ¬»¤£¬Í¬Ê±Ò²ÔÚ¸÷°æ±¾ÖÐÂ½Ðø¶ÔÕâ·½ÃæµÄ¹¦ÄÜ½øÐÐÁËÔöÇ¿£¬Ä¿µÄÔÚÓÚ¼ò»¯Õâ·½Ãæ¹¤×÷µÄ¸´ÔÓ¶È£¬Ìá¸ßÓ¦ÓÃµÄÔËÐÐÐ§ÂÊ¡£ 

±¾ÎÄÏ£ÍûÍ¨¹ýÏµÍ³µØ½éÉÜÕâ·½ÃæµÄÓÐ¹Ø¸ÅÄî£¬ÈÃ´ó¼ÒÄÜ¸üºÃµØ¹æ»®Ê¹ÓÃÊý¾Ý¿Õ¼ä£¬ÕýÈ·Ê¹ÓÃOracleÌá¹©µÄÓÐ¹Ø¹¦ÄÜÌØÐÔ£¬Ìá¸ßÓ¦ÓÃµÄÖ´ÐÐÐ§ÂÊ¡£ 

Ò»¡¢ÓÐ¹Ø¸ÅÄî 

Êý¾Ý¿âµÄ¿Õ¼äÔÚÂß¼­ÉÏ·ÖÎª¶à¸ö±í¿Õ¼ä£¬Ã¿¸ö±í¿Õ¼äÔòÓÉÏµÍ³ÖÐµÄÒ»¸ö»ò¶à¸öÎïÀíÊý¾ÝÎÄ¼þ¹¹³É¡£Oracle´æ´¢Êý¾ÝµÄ»ù±¾µ¥Î»ÊÇ¿é£¬Æä´óÐ¡ÔÚ½¨¿âÊ±ÓÉDB_BLOCK_SIZE²ÎÊýÈ·¶¨£¬Ò»¸ö»ò¶à¸öÁ¬ÐøµÄ¿é¹¹³ÉÒ»¸öÇøÆ¬£¨EXTENT£©£¬Ëü×÷ÎªÊý¾Ý¶ÔÏó´æ´¢µÄ»ù±¾µ¥Î»À´Ê¹ÓÃ¡£ÔÚOracleÖÐ£¬Ã¿¸ö»ù±¾Êý¾Ý¶ÔÏóÊ¹ÓÃµÄ¿Õ¼ä³ÆÎª¶Î£¨Segment£©£¬¶Î´æ·ÅÔÚÎ¨Ò»µÄ±í¿Õ¼äÉÏ£¬Ã¿¸ö¶ÎÊµ¼ÊÉÏÊÇÒ»ÏµÁÐÇøÆ¬£¨¸üÎª×¼È·µØÊÇÊý¾Ý¿é£©µÄ¼¯ºÏ¡£Ã¿¸ö¼òµ¥Êý¾Ý¶ÔÏó¶ÔÓ¦Ò»¸ö¶Î¡£¶ÔÓÚ·ÖÇø¶ÔÏóÈç·ÖÇø±í¡¢Ë÷Òý£¬ÔòÃ¿¸ö£¨×Ó£©·ÖÇø¶ÔÓ¦Ò»¸ö¶Î£¬ÓÉ¸÷¸ö£¨×Ó£©·ÖÇø¹²Í¬¹¹³ÉÒ»¸öÍêÕûµÄÊý¾Ý¶ÔÏó¡£Òò´Ë£¬¿ÉÒÔ°Ñ±í¿Õ¼ä¿´×÷Í°£¬ÀïÃæ·Å×ÅÐí¶à¶Î¡£Ò»¸ö¶ÎÖ»ÄÜ·ÅÔÚÒ»¸öÍ°ÖÐ£¬¶ø²»ÄÜ¿çÔ½¶à¸öÍ°¡£ 

¶þ¡¢±í¿Õ¼äµÄÊ¹ÓÃ 

±í¿Õ¼äËéÆ¬µÄ²úÉú 

ÓÉÓÚÍ¬Ò»¸ö±í¿Õ¼äÖÐ´æ·ÅÓÐ¶à¸öÊý¾Ý¶Î£¬¸÷¸öÊý¾Ý¶Î¿ÉÒÔÓÐ²»Í¬µÄÇøÆ¬³ß´ç£¬²»Í¬¶ÎµÄÇøÆ¬¿ÉÒÔ½»²æ´æ·Å¡£µ±ÕâÐ©¶ÎÖÐµÄÇøÆ¬¾­¹ý·ÖÅä£¨Èç´´½¨±í£©¡¢ÊÍ·Å£¨ÈçÉ¾³ý±í£©ºó£¬¾Í¿ÉÄÜÊ¹±í¿Õ¼äÖÐÔ­±¾Á¬ÐøµÄ¿ÕÏÐÊý¾Ý¿é±ä³É²»Á¬Ðø£¬¶øÇøÆ¬±ØÐëÓÉÁ¬ÐøµÄÊý¾Ý¿é¹¹³É£¬ÕâÊ±£¬µ±Ä³Ò»¶ÎÐèÒª·ÖÅäÐÂµÄÇøÆ¬Ê±£¬¾ÍÓÐ¿ÉÄÜ³öÏÖËäÈ»±í¿Õ¼ä¿ÕÏÐÊý¾Ý¿éµÄ×ÜºÍ´óÓÚËùÐèÇøÆ¬µÄ´óÐ¡£¬µ«È´ÎÞ·¨ÕÒµ½Ò»´®Á¬ÐøµÄ¿éÀ´¹©´ËÇøÆ¬·ÖÅäÊ¹ÓÃ¡£ÕâÖÖÇé¿ö¾Í³ÆÎª±í¿Õ¼äµÄExtent Fragmentation¡£ÎÒÃÇ¾­³£»áÓöµ½ÕâÖÖÇé¿ö£¬Ã÷Ã÷´ÓDBA_FREE_SPACEÖÐ¼ÆËã±í¿Õ¼ä»¹ÓÐ¼¸°ÙMB£¬µ«ÆäÖÐµÄÄ³Ò»¸ö±íÈ´ÎÞ·¨ÔÙÀ©Õ¹¼¸¸öMBµÄ¿Õ¼ä¡£ 

Ïû³ý±í¿Õ¼äËéÆ¬ 

OracleÔÚ¶ÎµÄÇøÆ¬·ÖÅäÉÏÎªÓÃ»§Ìá¹©ÁËºÜ´óµÄÁé»îÐÔ£¬È»¶øÈç¹ûÎ´ÄÜÕýÈ·Ê¹ÓÃ´´½¨±í¿Õ¼äºÍÊý¾Ý¶ÔÏóµÄ¸÷¸ö¿ÉÑ¡Ôñ²ÎÊý£¬ÔòÔÚ×îºó½«²»¿É±ÜÃâµÄÒªÃæ¶ÔÇøÆ¬ËéÆ¬µÄÎÊÌâ¡£Oracle µÄBhaskar Himatsingka ºÍ Juan Loaiza,Îª´ËÌá³öÁËSAFE£¨Simple Algorithm for Fragmentation Elimination.£©ÅäÖÆ¹æÔò£¬Í¨¹ý×ñÑ­ÕâÌ×¹æÔò£¬ÇøÆ¬¼¶ËéÆ¬¿ÉÒÔÍêÈ«µÄ±ÜÃâ¡£¶øÊµ¼ÊÉÏ£¬Oracle8iÒýÈëµÄÐÂÌØÐÔ£ºLocal Managed Tablespace¾ÍÊÇSAFE¹æÔòÔÚOracle ServerµÄÄÚÖÃÊµÏÖ¡£SAFEÔ­Ôò¸ÅÀ¨ÆðÀ´°üÀ¨£º 

1. ¶ÔÃ¿¸ö±í¿Õ¼äÉÏµÄ¶ÎÊ¹ÓÃÏàÍ¬µÄÇøÆ¬³ß´ç¡£¶Î²ÎÊýINITIAL£½NEXT£¬PCTINCREASE£½0¡£¿ÉÒÔÍ¨¹ýÊ¹ÓÃCreate Tablespace µÄ¡® MINIMUM EXTENT¡¯ ×Ó¾äÀ´È·±£·ÖÅäµÄÇøÆ¬ÊÇ´Ë²ÎÊýµÄ±¶Êý¡£ 

2. ½öÔÚ±í¿Õ¼ä¼¶Ö¸¶¨INITIAL¡¢NEXT²ÎÊý£¬ÔÚ´´½¨Êý¾Ý¶ÎÊ±²»ÒªÖ¸¶¨ÕâÐ©²ÎÊý¡£ 

3. ÇøÆ¬µÄ´óÐ¡¸ù¾Ý¶Î´óÐ¡À´È·¶¨£¬Ô­ÔòÊÇ¾ùºâË³ÐòÉ¨ÃèµÄÐ§ÂÊºÍ¿Õ¼äµÄÀûÓÃÂÊ£¬Í¬Ê±È·±£¶ÎµÄÇøÆ¬ÊýÄ¿¿ØÖÆÔÚ1024Ö®ÏÂ¡£¸ù¾Ý´ËÔ­Ôò£¬ÔÚ½øÐÐÏàÓ¦²âÊÔÖ®ºó£¬È·¶¨ÒÔÏÂÇøÆ¬Ñ¡È¡¹æÔò£º 






¡¡¡¡
¡¡¡¡¶Î´óÐ¡£¨Oracle7£© 
¡¡¡¡ÇøÆ¬´óÐ¡£¨Oracle7£© 
¡¡¡¡¶Î´óÐ¡£¨Oracle8£© 
¡¡¡¡ÇøÆ¬´óÐ¡£¨Oracle8£© 
¡¡¡¡
¡¡¡¡&amp;160M 
¡¡¡¡160K 
¡¡¡¡&amp;128M 
¡¡¡¡128K 
¡¡¡¡
¡¡¡¡160M-5G 
¡¡¡¡5M 
¡¡¡¡128M-4G 
¡¡¡¡4M 
¡¡¡¡
¡¡¡¡&amp;5G 
¡¡¡¡160M 
¡¡¡¡&amp;4G 
¡¡¡¡128M
¡¡¡¡ 
ÓÐ´ËÊý¾Ý¿âÖÐ¿ÉÒÔÖ»Ê¹ÓÃÈýÖÖÇøÆ¬´óÐ¡µÄ±í¿Õ¼ä¡£ÔÚ¶ÔÏó´´½¨Ö®Ç°Ðè¶ÔÆä´óÐ¡½øÐÐÆÀ¹À£¬²¢·Åµ½ÏàÓ¦µÄ±í¿Õ¼äÖÐ¡£ 

4. Oracle815ÒýÈëÁË±¾µØ¹ÜÀí±í¿Õ¼ä£¬ËüÔÚ¹ÜÀíºÍÐÔÄÜÉÏ¶¼ÓÅÓÚ´«Í³µÄ×Öµä¹ÜÀí±í¿Õ¼ä£¬ËüÒÑÈÚºÏÁË¹æÔò1¡¢2¡¢3 ¡£ÒªÊ¹ÓÃ´ËÌØÐÔ£¬ÔÚCREATE TABLESPACEÓï¾äÖÐÖ¸¶¨EXTENT MANAGEMENT LOCAL×Ó¾ä¡£ 

5. ¶ÎµÄÇøÆ¬ÊýÄ¿ÉÏÏÞÓ¦ÔÚ4096Ö®ÏÂ£¬DML²Ù×÷ÔÚ´ËÇøÆ¬ÊýÄ¿·¶Î§ÄÚ²»»áÓÐÃ÷ÏÔµÄÐÔÄÜ²îÒì¡£µ«Ä³Ð©DDL²Ù×÷µÄËÙ¶ÈÔòÓëÇøÆ¬µÄÊýÄ¿¹ØÏµ½Ï´ó¡£Òò´ËºÏÀíµÄÇøÆ¬ÊýÄ¿Ó¦±£³ÖÔÚ1024Ö®ÏÂ¡£¶ÔÓÚ³ÖÐø²»¶ÏÀ©Õ¹µÄ¶Î£¬Ó¦¼à¿ØÇøÆ¬ÊýÄ¿£¬ÔÚ±ØÒªÊ±ÒÆÖÁÆäËü±í¿Õ¼ä¡£ 

6. ¶ÔÓÚÌØ±ð´óµÄÊý¾Ý¶ÎÓ¦¿ØÖÆÔÚ4G£­128G£¨Oracle7Îª5G£­160G£©Ö®¼ä£¬ËüÃÇÓ¦´æ·Åµ½µ¥¶ÀµÄ±í¿Õ¼äÉÏ£¬Í¬Ê±¶ÔÓÚÕâÐ©ÌØ´ó¶ÎÓ¦¿¼ÂÇÊ¹ÓÃ·ÖÇøÀ­Ìá¸ßÐÔÄÜ¡£ 

7. ÓÃ»§µÄÁÙÊ±±í¿Õ¼äÓ¦Ê¹ÓÃTEMPORARYÀàÐÍ¡£ 

8. µ±ÏµÍ³µÄÊÂÎñ¹æÄ£±È½Ï¾ùºâÊ±¿ÉÒÔ¶Ô»Ø¹ö¶ÎÊ¹ÓÃOPTIMAL²ÎÊý£¬·ñÔòÓ¦±ÜÃâÖÆ¶¨OPTIMAL²ÎÊý£¬¶ø¶¨ÆÚ¼à¿Ø»Ø¹ö¶ÎµÄ´óÐ¡£¬²¢ÔÚ±ØÒªÊ±ÖØ½¨¡£ 

9. ÁÙÊ±¶ÎºÍ»Ø¹ö¶Î¾ø¶Ô²»Òª½«ÓÃ»§Êý¾Ý´æ·Åµ½SYSTEM±í¿Õ¼ä£¬ËüÊÇ×¨ÎªÓÀÔ¶²»»áDropºÍTruncateµÄÏµÍ³Êý¾Ý¶ÔÏó¶øÉè¼ÆµÄ¡£ 

10. ´´½¨±í¿Õ¼äÊ±Ö¸¶¨Êý¾ÝÎÄ¼þµÄ´óÐ¡Ó¦£½ÇøÆ¬ÕûÊý±¶£«1Êý¾Ý¿é£¬¶ÔÓÚLocal Managed TablespaceÔòÎªÇøÆ¬ÕûÊý±¶£«64K¡£ 

11. µ±±í¿Õ¼äÊ¹ÓÃÍ³Ò»µÄÇøÆ¬´óÐ¡Ê±£¬²»Òª¶ÔÆä½øÐÐ¿Õ¼äÕûÀí£¬ÖØÕûµÄ½á¹û²»½öºÄ·Ñ¾«Á¦¶øÇÒ¿ÉÄÜ»áÊ¹ÐÔÄÜ±ä²î¡£¶ÔÓÚÎ´Ê¹ÓÃÍ³Ò»µÄÇøÆ¬³ß´çµÄ±í¿Õ¼äÓ¦Í¨¹ýExport/ImportÖØÕû¡£ 

12. 8i Ìá¹©ÁËAlter Table ¡­Move [Tablespace¡­]ÃüÁî¿ÉÓÃÓÚ¿ìËÙÖØÕû±í£¬Alter Index ¡­Rebuild¡­[Tablespace¡­] ÃüÁî¿ÉÓÃÓÚ¿ìËÙÖØ½¨Ë÷Òý¡£

ÓÐ¹ØÊ¹ÓÃµ¥¸öÇøÆ¬µÄÎóµ¼ 

ÔÚÐí¶à¹ØÓÚËéÆ¬ÕûÀíµÄÎÄµµÖÐ½¨ÒéÔÚExportÊ±Ê¹ÓÃCompress£½YÑ¡Ïî£¬½«±íÖÐµÄËùÓÐÊý¾Ýµ÷Õûµ½Ò»¸öÇøÆ¬ÖÐ£¬ÆÚÍûÔÚImportºó»ñµÃÁ¼ºÃÐÔÄÜ¡£ÓÉ´ËÈÃÐí¶àÈË²úÉúÒ»¸ö¹Ûµã£¬ÈÏÎªµ±±íÖÐÊý¾ÝÈ«²¿´æ·Åµ½Ò»¸öÇøÆ¬ÖÐÊ±£¬¿ÉÒÔ»ñµÃÁ¼ºÃÐÔÄÜ¡£Êµ¼ÊÉÏµ¥ÇøÆ¬¶ÎÖ»ÔÚÒÔÏÂÌõ¼þ³ÉÁ¢Ê±£¬²Å¾ßÓÐÓÅÔ½ÐÔ¡£ 

Êý¾ÝÖ÷ÒªÒÔ£¨È«¶Î£©É¨Ãè·½Ê½·ÃÎÊ¡£ 

¶ÎËù¶ÔÓ¦µÄÊý¾Ý¿éÔÚÎïÀí´ÅÅÌÉÏÁ¬Ðø´æ·Å£¬Oracle¿ÉÒÔ·¢²¼½Ï´óµÄË³Ðò´ÅÅÌ¶Á²Ù×÷¡£ 

Í¨¹ý¶ÔÕâÁ½Ìõ½øÐÐ·ÖÎö¿ÉÒÔ·¢ÏÖ£¬Ò»·½ÃæÊý¾Ý¿âÖÐ´ó²¿·Ö±íÊÇÍ¨¹ýË÷ÒýÀ´·ÃÎÊ£¬ÁíÒ»·½ÃæÏÖÔÚµÄÊý¾Ý¿âÎÄ¼þÒ»°ãÔÚÎïÀíÉÏÊ¹ÓÃÁËRAID5»òRAID0£«1¼¼Êõ£¬Êý¾ÝÒÔÌõ´ø»¯·½Ê½·Ö²¼µ½¶à¸öÎïÀí´ÅÅÌÉÏ£¬Âß¼­ÉÏµÄµ¥¸öÇøÆ¬ºÍ¶àÇøÆ¬ÔÚÎïÀíÉÏ²¢ÎÞ±¾ÖÊÉÏµÄÇø±ð¡£ÁíÍâ£¬´ÓOracleµÄ½Ç¶ÈÀ´¿´£¬¹ÜÀí¼¸°Ù¸öÇøÆ¬µÄ¶ÎÊÇ·Ç³£ÇáËÉµÄ²¢²»»áÓÐÐÔÄÜµÄÏÂ½µ¡£ÓÉ´Ë¿É¼û½«Õû¸ö¶Î·Åµ½Ò»¸öÇøÆ¬ÖÐ²¢ÎÞÃ÷ÏÔºÃ´¦£¬¶øÕâÖÖ×ö·¨È´»áµ¼ÖÂ±í¿Õ¼äËéÆ¬µÄ²úÉú¡£ 

Èý¡¢±íÊý¾Ý¶ÎµÄÊ¹ÓÃ 

±í¿Õ¼äµÄ×éÖ¯ 

Heap±íµÄ¿Õ¼äÓÉÒ»ÏµÁÐÇøÆ¬Á´½Ó¶ø³É£¬Ã¿¸öÊý¾Ý¿é³ý¿éÍ·ÍâÆäÓà²¿·Ö¿ÉÓÃÓÚ´æ·ÅÊý¾Ý£¬ÔÚ´´½¨±íÊ±¿ÉÒÔÖ¸¶¨ÒÔÏÂ²ÎÊý£º 

PCTFREE£º¿éÖÐ±£ÁôÓÃÓÚUPDATE²Ù×÷µÄ¿Õ¼ä°Ù·Ö±È£¬µ±Êý¾ÝÕ¼ÓÃµÄ¿Õ¼ä´ïµ½´ËÉÏÏÞÊ±£¬ÐÂµÄÊý¾Ý½«²»ÄÜÔÙ²åÈëµ½´Ë¿éÖÐ¡£ 

PCTUSED£ºÖ¸¶¨¿éÖÐÊý¾ÝÊ¹ÓÃ¿Õ¼äµÄ×îµÍ°Ù·Ö±È¡£µ±Ò»¸ö¿éÔÚ´ïµ½PCTFREE£¬Ö®ºó¾­ÀúÁËÒ»Ð©DELETE²Ù×÷£¬ÔÚÆä¿Õ¼äÊ¹ÓÃÏÂ½µµ½PCTUSEDºó±ã¿ÉÒÔÖØÐÂ±»ÓÃÓÚINSERTÊý¾Ý¡£Õâ¾ÍÊÇPCTFREE/PCTUSED²ÎÊýµÄº¬Òå¡£ 

µ÷ÕûPCTFREE¡¢PCTUSED²ÎÊýµÄÄ¿±êÒ»·½ÃæÊÇÌá¸ßÐÔÄÜ£¬ÁíÒ»·½ÃæÔòÖ÷ÒªÊÇÌá¸ß¿Õ¼äÊ¹ÓÃÐ§ÂÊ£¬±ÜÃâ³öÏÖ¿éÖÐ´æÔÚÓÐÐí¶àÎ´ÓÃµÄ¿Õ¼ä£¬µ«È´ÎÞ·¨ÕÒµ½Ò»¸ö¿é¿ÉÒÔ±»ÓÃÓÚ²åÈëÐÂÊý¾ÝÐÐµÄÇé¿ö·¢Éú¡£ 

PCTFREEµÄÊ¹ÓÃ 

ÔÚOracleÖÐ±íµÄÃ¿Ò»ÐÐÊý¾ÝÓÉÎ¨Ò»µÄROWID±ê¼Ç¡£¶øOracleÖ§³ÖµÄÊý¾ÝÀàÐÍÖÐÓÐÒ»Ð©³¤¶ÈÊÇ¿É±äµÄ£¬ÈçVARCHAR£¬µ±¶ÔÕâÐ©Êý¾Ý½øÐÐUPDATEÊ±£¬Èç¹û¿éÖÐµÄ¿ÉÓÃ¿Õ¼ä²»ÄÜÈÝÄÉUPDATEºóµÄÊý¾ÝÐÐÊ±£¬Oracle½«»á°Ñ´ËÐÐÒÆµ½ÆäËüÊý¾Ý¿é£¬Í¬Ê±±£Áô´ËÊý¾ÝÐÐµÄROWID²»±ä£¬²¢ÔÚÔ­ÓÐ¿éÖÐ½¨Ò»Ö¸ÕëÖ¸ÏòÐÐÇ¨ÒÆºóµÄÎ»ÖÃ¡£ÔÚÕâÖÖÇé¿öÏÂ¶ÁÈ¡Ò»ÐÐÊý¾Ý½«ÐèÒª·ÃÎÊ2¸öÊý¾Ý¿é£¬´Ó¶øµ¼ÖÂÐÔÄÜÏÂ½µ¡£PCTFREE±£ÁôµÄ¿Õ¼ä¾ÍÊÇÎªÈ·±£¸ü¸ÄºóµÄÊý¾ÝÐÐ¿ÉÒÔÈÔ´æ·ÅÓÚÔ­ÓÐÊý¾Ý¿éÖÐ,±ÜÃâÐÐÇ¨ÒÆµÄÇé¿ö·¢Éú¡£ 

ÓÉ´Ë£¬Èç¹ûPCTFREEÉèÖÃ²»×ãÊ±¿ÉÄÜ²úÉúÐÐÇ¨ÒÆ¡£¶øÁíÒ»·½ÃæÈç¹ûPCTFREEÉèÖÃ¹ý¸ß£¬½«»áÔì³É¿Õ¼äÀË·Ñ¡£Òò´ËÕýÈ·ÉèÖÃPCTFREEÐèÒª¶Ô±íÖÐÊý¾ÝµÄÊ¹ÓÃ½øÐÐ·ÖÎö¡£¶ÔÓÚÊý¾Ý³¤¶È²»»á±ä»¯»ò¼«ÉÙ¸üÐÂµÄÇé¿ö£¬¿ÉÒÔ²ÉÓÃ½ÏÐ¡µÄPCTFREE¡£¶ÔÓÚÆäËü´ó¶àÊýÇé¿öÓ¦²ÉÓÃÉÔ´óµÄPCTFREE£¨PCTFREEµÄÈ±Ê¡ÖµÊÇ10£¬Èç¹û²»ºÃ¹À¼ÆÐèÔ¤ÁôµÄ¿Õ¼ä£¬¿ÉÒÔÊ¹ÓÃ15£­25µÄ·¶Î§£©£¬²»ÒªÎª½ÚÔ¼¿éÖÐµÄ¿Õ¼ä¶øÊ¹ÓÃ½ÏÐ¡µÄPCTFREEÖµ¡£ 

PCTUSEDµÄÊ¹ÓÃ 

µ±¿éµÄÊ¹ÓÃµÄ¿Õ¼äÏÂ½µµ½PCTUSEDºó£¬´Ë¿é±»ÖØÐÂ·Å»Ø¿ÕÏÐÁ´±í£¨Freelist£©ÖÐ£¬×÷ÎªºóÐøInsertµÄºòÑ¡¿é¡£Í¬Ñù£¬ÉèÖÃPCTUSEDÐèÒªÊÓÊý¾ÝÐÐµÄÌØÐÔºÍInsert¡¢Update¡¢DeleteµÄÄ£Ê½¶ø¶¨£¬µ«±ØÐë×ñÊØµÄÔ­ÔòÊÇ£ºdb_block_size * (100 - PCTFREE - PCTUSED)±ØÐë±ÈÐÐµÄ³¤¶È´ó¡£ 

¶ÔÓÚÊý¾ÝÐÐ³¤¶È±ä»¯½Ï´óµÄÇé¿ö£¬Ó¦Ê¹ÓÃ×î´óÐÐ³¤¶ÈÀ´¼ÆËãPCTUSED£¬²¢ÇÒÓ¦Ê¹ÓÃ½ÏµÍµÄPCTUSEDÖµ¡£ÒòÎªÔÚÖ´ÐÐInsertÊ±£¬Èç¹ûÊý¾Ý¿éµÄ¿ÉÓÃ¿Õ¼ä²»ÄÜ×°ÏÂÒ»ÐÐÊý¾Ý£¬µ±¿éµÄÊ¹ÓÃµÄ¿Õ¼äÊÇÔÚPCTUSEDÖ®ÉÏ£¬Oracle½«°Ñ´Ë¿é´ÓFreelistÖÐÒÆ×ß¡£µ±¿éµÄÊ¹ÓÃµÄ¿Õ¼äÊÇÔÚPCTUSEDÖ®ÏÂ£¬Oracle½«»áÀ©Õ¹¶Î¿Õ¼ä¡£Òò´Ë£¬PCTUSEDÈç¹ûÉèµÃ¹ý¸ß£¬½«µ¼ÖÂ¶ÎµÄ²»¶ÏÀ©Õ¹¡£ 

µ±Êý¾ÝÐÐ³¤¶È²»´óÊ±£¬Ê¹ÓÃÈ±Ê¡µÄPCTUSED£¨40£©ÊÇ±È½ÏºÏÊÊµÄ¡£¶ÔÓÚÐÐ³¤¶È½Ï´óµÄÇé¿ö£¬×î³¤µÄÐÐÓÐ¿ÉÄÜ»áÕ¼ÓÃ°ë¸öÒÔÉÏµÄ¿é¿Õ¼ä£¬´ËÊ±¿ÉÉèÖÃPCTUSEDÎª10¡£½ÏÐ¡µÄPCTUSED½öÔÚ±íÖÐµÄÊý¾ÝÒÔËæ»ú·½Ê½±»É¾³ý£¬¶øÇÒÈÔÓÐÒ»Ð©ÐÐ³¤Ê±¼ä±£ÁôÔÚ¿éÖÐÊ±£¬²Å»áÔì³É¿Õ¼äÊ¹ÓÃÉÏµÄÎÊÌâ£¬ÒòÎªÕâÐ©¿é¿ÉÄÜÐèÒª½Ï³¤µÄÊ±¼ä²ÅÄÜ»òÓÀÔ¶²»ÄÜÖØÐÂ±»ÓÃÓÚ´æ·ÅÐÂÊý¾Ý¡£ÔÚÕâÖÖÓ¦ÓÃÖÐ£¬Èç¹û¿Õ¼äÀûÓÃÂÊÒ»Ö±´¦ÓÚ½ÏµÍË®Æ½£¬ÔòÐè¶ÔPCTUSED½øÐÐ·ÖÎöºÍµ÷Õû¡£
]]></description>
		</item>
		<item>
			<title>ÓÅ»¯OracleÍ£»úÊ±¼ä¼°Êý¾Ý¿â»Ö¸´¼ò½é</title>
			<link>http://www.kingmx.com/article.php?id=14819</link>
			<pubDate>2006-12-20</pubDate>
			<description><![CDATA[

ÕâÀï»áÌÖÂÛÁîOracleÍ£»úÊ±¼ä×îÐ¡»¯µÄ²½Öè¡£¸÷ÖÖÐÎÊ½µÄÍ£»ú--¼Æ»®µÄ»òÕßÊÇ·Ç¼Æ»®µÄ--×ÜÊÇ²»¶ÏµØ·¢Éú£¬Ò»¸öDBAÓ¦¸ÃÓÐÕýÈ·µÄ±¸·Ý²ßÂÔ£¬ÕâÑùÔÚÊý¾Ý¿â³öÏÖÎÊÌâÊ±¾Í¿ÉÒÔ¸ü¿ìµØ»Ö¸´¡£ 

ÒÔÏÂÊÇ¼Ù¶¨µÄ±¸·Ý²ßÂÔºÍÊý¾Ý¿âµÄÔË×÷Ìõ¼þ: 

1¡¢¿ØÖÆÎÄ¼þÊÇ¾µÏñµÄ¡£ 

2¡¢Êý¾Ý¿âÔËÐÐÔÚarchivelogÄ£Ê½¡£ 

3¡¢Ã¿¸öÐÇÆÚ¶¼½øÐÐÀä±¸·Ý¡£ 

4¡¢Ã¿ÈÕ¶¼½øÐÐÈÈ±¸·Ý¡£ 

5¡¢Ã¿ÈÕ¶¼½øÐÐÒ»´ÎÈ«Êý¾Ý¿âµ¼³ö¡£ 

ÊÂ¼þ1£ºÍêÕûµÄÊý¾Ý¿âÖØ¹¹ 

ÔÚÕâÖÖÇéÐÎÏÂ£¬Äã¿ÉÒÔÊ¹ÓÃÈ«Êý¾Ý¿âµ¼³ö»òÕßÀäÈÈ±¸·Ý½áºÏµÄ·½Ê½À´ÖØ¹¹Êý¾Ý¿â¡£Òª×¢ÒâµÄÊÇÎÞÂÛÄãÑ¡ÔñÄÄÖÖ·½Ê½£¬ÔÚÏßredo logÖÐµÄÊÂÎñ¶¼»á¶ªÊ§¡£ 

ÊÂ¼þ2£º»Ö¸´²¿·ÖµÄ±í¿Õ¼ä 

¿ÉÒÔÊ¹ÓÃÒÔÏÂµÄ²½ÖèÀ´»Ö¸´£º 

1¡¢ÒÔrestrictÄ£Ê½Æô¶¯Êý¾Ý¿â¡£ 

2¡¢ÖØÐÂ´´½¨±í¿Õ¼ä¡£ 

3¡¢Ê¹ÓÃ×îÐÂµÄÈ«Êý¾Ý¿âµ¼³öÀ´µ¼Èë£¬²¢ÇÒÊ¹ÓÃignore=yµÄÑ¡Ïî¡£ 

4.¹Ø±Õ²¢ÇÒÖØÐÂÒÔnormalµÄÄ£Ê½Æô¶¯Êý¾Ý¿âÊµÀý¡£ 

ÊÂ¼þ3£º¶ªÊ§Ò»°ãµÄÊý¾ÝÎÄ¼þ 

¶ªÊ§Ò»°ãÊý¾ÝÎÄ¼þµÄ»Ö¸´²½Öè¸ù¾ÝËù¶ªÊ§µÄÊý¾ÝÎÄ¼þ°üº¬µÄ±í¿Õ¼äÀàÐÍ¶ø¶¨£»ÀýÈç£º»Ø¹ö¶Î£¬ÓÃ»§±í¿Õ¼ä£¬Ë÷Òý±í¿Õ¼ä»òÕßÊÇÖ»¶ÁµÄ±í¿Õ¼ä¡¢Äã¿ÉÄÜ»áÓöµ½ÒÔÏÂµÄ´íÎó£º 

. ³¢ÊÔÆô¶¯Êý¾Ý¿â²¢ÇÒÅöµ½´íÎóµÄÐÅÏ¢ORA-1157, ORA-1110£¬¿ÉÄÜ»¹ÓÐÒ»¸ö²Ù×÷ÏµÍ³µÄ´íÎó£» 

. ³¢ÊÔÒÔnormal»òÕßimmediateµÄÄ£Ê½¹Ø±ÕÊý¾Ý¿â£¬¿ÉÄÜ»áÅöµ½ORA-1116, ORA-1110µÄ´íÎóÐÅÏ¢£¬»¹ÓÐÒ»¸öÏµÍ³´íÎó£» 

ÒÔÏÂµÄ²½Öè¿ÉÒÔÓÃ×÷»Ö¸´£º 

1¡¢¹Ø±ÕÊý¾Ý¿â¡£ 

2¡¢ÓÉÈÈ±¸·ÝÖÐ»Ö¸´¶ªÊ§µÄÊý¾ÝÎÄ¼þ¡£ 

3¡¢Startup mountÊý¾Ý¿â¡£ 

4¡¢Ö´ÐÐÒÔÏÂµÄ²éÑ¯À´µÃµ½ËùÓÐÄãµÄÔÚÏßredo logÎÄ¼þºÍËüÃÇÏàÓ¦µÄ´ÎÐòºÍÊ×´ÎÐÞ¸ÄºÅ£º 






¡¡¡¡SELECT X.GROUP#, MEMBER, SEQUENCE#, FIRST_CHANGE#
¡¡¡¡FROM V$LOG X, V$LOGILE Y
¡¡¡¡WHERE X.GROUP# = Y.GROUP#;

5¡¢Èç¹ûµÃµ½µÄCHANGE#±ÈÔÚÏßredo log×îÐ¡µÄFIRST_CHANGE# »¹Ð¡£¬ÄÇÃ´¸ÃÎÄ¼þ²»ÄÜ±»ÍêÈ«»Ö¸´£¬Äã¿ÉÒÔÓÐÁ½¸öÑ¡Ôñ£º 

.¡¡Èç¹û¿ÉÒÔ½ÓÊÜ¶ªÊ§×î½üÒ»´ÎÀä±¸·ÝÒÔÀ´µÄÊý¾Ý¿âÐÞ¸Ä£¬×°Èë±¸·Ý²¢ÇÒ¼ÌÐø»Ö¸´£» 

.¡¡Èç¹û²»ÄÜ½ÓÊÜ¶ªÊ§Êý¾Ý¿âµÄÐÞ¸Ä£¬ÄÇÃ´±ØÐëÖØÐÂ´´½¨±í¿Õ¼ä£» 

6¡¢Í¨¹ýÊ¹ÓÃ´æµµºÍÔÚÏßµÄredo logÀ´»Ö¸´Êý¾ÝÎÄ¼þ¡£ 

7¡¢´ò¿ªÊý¾Ý¿â£¬ 

ÊÂ¼þ4£º»Ö¸´Ò»¸öÌØ±ðµÄ±í 

¿ÉÒÔ²ÉÓÃÒÔÏÂµÄ²½Öè»Ö¸´£º 

1¡¢Ê¹ÓÃ×î½üµÄÒ»´ÎÈ«Êý¾Ý¿âµ¼³öÀ´µ¼Èë±í£¬²¢ÇÒÊ¹ÓÃowner=ºÍtables=µÄÑ¡Ïî¡£ 

2¡¢¿¼ÂÇµ½ÐÔÄÜµÄÔ­Òò£¬¿ÉÄÜÐèÒªÖØ½¨±íË÷Òý¡£

ÊÂ¼þ5£º¶ªÊ§¿ØÖÆÎÄ¼þ 

ÔÚÊý¾Ý¿âÆðÀ´²¢ÇÒÔËÐÐÊ±£¬Í¨³£¶¼²»ÄÜ¼ì²âµ½¿ØÖÆÎÄ¼þµÄÎÊÌâ¡¢Èç¹û¿ØÖÆÎÄ¼þ¶ªÊ§»òÕßËð»µÁË£¬Oracle½«²»»áÁË½â£¬ÏÂ´ÎÊý¾Ý¿âµÄÆô¶¯Ê±½«»áµ¼ÖÂORA-205´íÎó£¨±êÊ¶¿ØÖÆÎÄ¼þ"%sµÄ´íÎó£©£¬»¹ÓÐÒ»¸öÏµÍ³¼¶µÄ´íÎó¡¢Èç¹ûÖ»ÊÇ¶ªÊ§ÁËÆäÖÐµÄÒ»¸ö¿ØÖÆÎÄ¼þ£¬¿ÉÒÔ²ÉÓÃÏÂÃæµÄ²½ÖèÀ´»Ö¸´£º 

1¡¢Èç¹ûËüÕýÔÚÔËÐÐµÄ»°£¬ÏÈ¹Ø±ÕËü¡£ 

2¡¢²éÕÒ¶ªÊ§¿ØÖÆÎÄ¼þµÄÔ­Òò¡¢ÊÇÓÉÓÚÓ²¼þµÄÎÊÌâÂð£¨´ÅÅÌ»¹ÊÇ¿ØÖÆÆ÷£©¡£ 

3¡¢Èç¹û²»ÊÇÓ²¼þµÄÎÊÌâ£¬½«¿ØÖÆÎÄ¼þµÄÒ»¸öºÃµÄ¿½±´¸´ÖÆµ½¶ªÊ§µÄÎ»ÖÃ£¬²¢ÇÒÌøµ½²½Öè5¡£ 

4¡¢Èç¹ûÊÇÓ²¼þµÄÎÊÌâ£¬¸´ÖÆÒ»¸öºÃµÄ¿ØÖÆÎÄ¼þ¿½±´µ½Ò»¸ö¿É¿¿µÄÎ»ÖÃ¡£ 

5¡¢±à¼­initsid.ora »òÕß configsid.ora£¬¸üÐÂCONTROL_FILESÒÔ·´Ó³×îÐÂµÄ¿ØÖÆÎÄ¼þÎ»ÖÃ¡£ 

6¡¢Æô¶¯Êý¾Ý¿â¡£ 

ÊÂ¼þ6£º¶ªÊ§È«²¿µÄ¿ØÖÆÎÄ¼þ 

¿ÉÒÔ²ÉÓÃÒÔÏÂµÄ²½Öè»Ö¸´£º 

1¡¢¹Ø±ÕÊý¾Ý¿â¡£ 

2¡¢½øÐÐÒ»´ÎÈ«Êý¾Ý¿â±¸·Ý£¬°üÀ¨È«²¿µÄÊý¾ÝÎÄ¼þºÍredo logÎÄ¼þ¡£ 

3¡¢ÒÔNOMOUNTµÄ×´Ì¬Æô¶¯Êý¾Ý¿â¡£ 

4¡¢Ê¹ÓÃCREATE CONTROLFILEÖØÐÂ´´½¨¿ØÖÆÎÄ¼þ¡¢ÄãÒ²¿ÉÒÔ±¸·Ý¿ØÖÆÎÄ¼þµ½Ò»¸ötraceÎÄ¼þ£¬È»ºóÖ´ÐÐ¸ÃÎÄ¼þ¡£ 

5¡¢ÔÚÊý¾Ý¿âÉÏ½øÐÐÃ½Ìå»Ö¸´¡£ 

6¡¢´ò¿ªÊý¾Ý¿â¡£ 

7¡¢Ê¹ÓÃshutdown normal¹Ø±ÕÊý¾Ý¿â¡£ 

8¡¢¶ÔÊý¾Ý¿â½øÐÐÒ»´ÎÀä±¸·Ý¡£ 

ÊÂ¼þ7£º¶ªÊ§Ò»¸öË÷Òý 

×î¼òµ¥µÄ·½·¨¾ÍÊÇÖØÐÂ´´½¨¶ªÊ§µÄË÷Òý¡£ 

ÊÂ¼þ8£º¶ªÊ§Ò»¸ö·Ç»î¶¯µÄredo log 

Èç¹û¶ªÊ§redoÊý¾Ý£¬»Ö¸´½«ÊÇ²»ÍêÈ«µÄ£¬±ØÐëÖØÐÂ´´½¨Éæ¼°µÄ±í¿Õ¼ä¡£ÒªÖØÐÂ´´½¨±í¿Õ¼ä£¬¿ÉÒÔÊ¹ÓÃÈ«µÄÊý¾Ý¿âµ¼³ö£¬ÕâÑù¾Í¿ÉÒÔºÜÈÝÒ×µÄµ¼ÈëÊý¾Ý²¢ÇÒÖØÐÂ´´½¨¸Ã±í¿Õ¼äµÄ¶ÔÏó¡£¿ÉÒÔÊ¹ÓÃÒÔÏÂµÄ²½ÖèÀ´»Ö¸´£º 

1¡¢Í¨¹ýAlter systemÀ´ÇÐ»»redo logÎÄ¼þ¡£ 

2¡¢¹Ø±ÕÊý¾Ý¿â¡£ 

3¡¢startup mountÊý¾Ý¿â¡£ 

4¡¢ÀëÏßÉ¾³ýÉæ¼°µÄÊý¾ÝÎÄ¼þ¡£ 

5¡¢´ò¿ªÊý¾Ý¿â¡£ 

6¡¢É¾³ýÓÃ»§µÄ±í¿Õ¼ä£¬°üÀ¨ÆäÖÐµÄÄÚÈÝ¡£ 

7¡¢Í¨¹ýÈ«Êý¾Ý¿â±¸·ÝÖØÐÂ´´½¨±í¿Õ¼äºÍÆäÖÐµÄ¶ÔÏó¡£ 

ÊÂ¼þ9£º¶ªÊ§»î¶¯µÄRedo log 

ÈçÊÂ¼þ8ÌÖÂÛµÄÒ»Ñù£¬Èç¹û¶ªÊ§ÁËredoÊý¾Ý£¬»Ö¸´½«ÊÇ²»ÍêÈ«µÄ£¬±ØÐëÖØÐÂ´´½¨Éæ¼°µÄ±í¿Õ¼ä¡¢¿ÉÒÔ²ÉÓÃÒÔÏÂµÄ²½Öè»Ö¸´£º 

1¡¢¹Ø±ÕÊý¾Ý¿â¡£ 

2¡¢startup mountÊý¾Ý¿â¡£ 

3¡¢ÀëÏßÉ¾³ýÉæ¼°µÄÊý¾ÝÎÄ¼þ¡£ 

4¡¢´ò¿ªÊý¾Ý¿â¡£ 

5¡¢É¾³ýÓÃ»§µÄ±í¿Õ¼ä£¬°üÀ¨ÆäÖÐµÄÄÚÈÝ¡£ 

6¡¢Í¨¹ýÈ«Êý¾Ý¿â±¸·ÝÖØÐÂ´´½¨±í¿Õ¼äºÍÆäÖÐµÄ¶ÔÏó¡£ 

Òª×¢ÒâµÄÊÇ»î¶¯µÄÊÂÎñ½«»á¶ªÊ§¡£

ÊÂ¼þ10£º¶ªÊ§´æµµµÄRedo logÎÄ¼þ 

Èç¹û´æµµµÄredo logÎÄ¼þ¶ªÊ§£¬Ó¦¸ÃÂíÉÏ½øÐÐÒ»´ÎÀä±¸·Ý¡¢×îºÃÒ²½øÐÐÒ»´ÎÈ«Êý¾Ý¿âµ¼³ö¡¢Ã»ÓÐ¶ªÊ§µÄ´æµµredo logÎÄ¼þµÄÈÎºÎ»Ö¸´¶¼½«ÊÇ²»ÍêÈ«µÄ¡£ 

ÊÂ¼þ11£º¶ªÊ§»î¶¯µÄ»Ø¹ö¶Î 

ÕâÀïÖ¸µÄÊÇ¶ªÊ§Ò»¸ö»Ø¹ö¶ÎµÄÒ»¸öÊý¾ÝÎÄ¼þ¡¢ÕâÊÇÒ»¸öÎ£¼±µÄ»Ö¸´¹ý³Ì£¬ËüÖ÷ÒªÊÇÔÚÓÚ±£´æ»î¶¯µÄÊÂÎñ¡£ÕâÀï¼Ù¶¨Êý¾Ý¿âÒÑ¾­ÆðÀ´£¬¶øÄãÏë±£´æµ±Ç°ÔËÐÐµÄÊÂÎñ¡£ÒªÊ¹ÓÃÒÔÏÂµÄ»Ö¸´¹ý³Ì£¬Êý¾Ý¿â±ØÐëÔËÐÐÔÚarchivelogÄ£Ê½ÏÂ¡£ 

¿ÉÒÔÊ¹ÓÃÒÔÏÂ²½Öè»Ö¸´£º 

1¡¢²»Òª¹Ø±ÕÊý¾Ý¿â¡¢¶ÔÓÚÕâÖÖÊÂ¼þ£¬Êý¾Ý¿âÆô¶¯±È¹Ø±Õ¸üÈÝÒ×½â¾öÎÊÌâ¡£ 

2¡¢ÁîÊôÓÚ¸ÃÊý¾ÝÎÄ¼þÖÐµÄÈ«²¿»Ø¹ö¶ÎÀëÏß¡£ 

3¡¢É¾³ýÈ«²¿ÀëÏßµÄ»Ø¹ö¶Î¡£ 

4¡¢ÔÚÉÏÃæµÄµÚ2²½ÖÐ£¬Èç¹û»Ø¹ö¶ÎÖÐÓÐ»î¶¯µÄÊÂÎñ£¬Äã½«²»ÄÜÁîËüÀëÏß¡¢¿ÉÔËÐÐÒÔÏÂµÄ²éÑ¯À´²é¿´ÄÄÐ©ÊÂÎïÊÇ»î¶¯µÄ£º 






¡¡¡¡SELECT SEGMENT_NAME, XACTS ACTIVE_TX, V.STATUS
¡¡¡¡FROM V$ROLLSTAT V, DBA_ROLLBACK_SEGS
¡¡¡¡WHERE TABLESPACE_NAME = 'tablespace_name' AND
¡¡¡¡SEGMENT_ID = USN;

Èç¹ûÉÏÃæµÄ²éÑ¯Ã»ÓÐ½á¹û£¬ÄÇÃ´ËùÓÐµÄ»Ø¹ö¶Î¶¼ÊÇÀëÏßµÄ£¬µ«ÊÇ£¬Èç¹ûÉÏÃæµÄ²éÑ¯·µ»ØÒ»ÐÐ»òÕß¶àÐÐ£¬²¢ÇÒÆä×´Ì¬ÎªPENDING OFFLINE£¬ÄÇÃ´¿É¼ì²éÕâÐ©»Ø¹ö¶ÎµÄACTIVE_TXÁÐ¡¢´øÓÐ0ÖµµÄ»Ø¹ö¶Î½«ºÜ¿ì»áÀëÏß£»µ«ÊÇ£¬·Ç0µÄÖµ±íÊ¾ÉÏÃæÓÐ»î¶¯µÄÊÂÎñ£¬ËüÃÇÐèÒª±»Ìá½»»òÕß»Ø¹ö¡£ 

5¡¢´¦Àí»î¶¯µÄÊÂÎñ¡¢Ö´ÐÐÒÔÏÂµÄ²éÑ¯À´²é¿´ÄÄÐ©ÓÃ»§µÄÊÂÎñ±»Ö¸ÅÉµ½¸Ã»Ø¹ö¶Î£º 






¡¡¡¡SELECT S.SID, S.SERIAL#, S.USERNAME, R.NAME "ROLLBACK"
¡¡¡¡FROM V$SESSION S, V$TRANSACTION T, V$ROLLNAME R
¡¡¡¡WHERE R.NAME IN ('pending_rollback1','
    pending_rollback2', .... 'pending_rollbackN') AND
¡¡¡¡S.TADDR = T.ADDR AND
¡¡¡¡T.XIDUSN = R.USN;

ÔÚÖªµÀÄÄÐ©ÓÃ»§ÔÚ"pending offline"µÄ»Ø¹ö¶ÎÉÏÓÐ»î¶¯µÄÊÂÎñºó£¬¿ÉÒÔÒªÇóËûÃÇÌá½»»òÕß»Ø¹öËûÃÇµÄÊÂÎñ£¬»òÕß¿ÉÒÔÊ¹ÓÃÒÔÏÂµÄÃüÁîÉ±µôËüÃÇµÄ½ø³Ì£º 






¡¡¡¡ALTER SYSTEM KILL SESSION 'sid, serial#';

6¡¢ÔÚÄã´¦ÀíÍêËùÓÐ»î¶¯µÄÊÂÎñºó£¬Ö´ÐÐÒÔÏÂµÄ²½Öè£º 

¶ªÆú±í¿Õ¼ä¼°ÆäÖÐµÄÈ«²¿ÄÚÈÝ£» 

ÖØÐÂ´´½¨»Ø¹ö±í¿Õ¼ä£» 

ÖØÐÂ´´½¨»Ø¹ö¶Î£¬²¢ÇÒÁîËüÃÇÔÚÏß¡£

ÊÂ¼þ12£º¶ªÊ§È«²¿µÄ»Ø¹ö¶Î 

ÔÚÕâÖÖÊÂ¼þÏÂ£¬½«¶ªÊ§È«²¿»î¶¯µÄÊÂÎñ£¬²¢ÇÒÐèÒªÖØÐÂ´´½¨»Ø¹ö¶Î¡£ÕâÑù´óµÄÎÊÌâ¿ÉÄÜÊÇÓÉÓÚÒ»¸öÓ²¼þÎÊÌâÔì³ÉµÄ£¬¿ÉÒÔ²ÉÓÃÒÔÏÂµÄ²½Öè»Ö¸´£º 

1¡¢¹Ø±ÕÊý¾Ý¿â¡£ 

2¡¢Ê¹ÓÃDBVERIFYÑéÖ¤È«²¿µÄÊý¾ÝÎÄ¼þ¡£ 

3¡¢½â¾öÆäËüµÄÓ²¼þÎÊÌâ»òÕßÊý¾ÝÎÄ¼þËð»µ¡£ 

4¡¢ÒÔstartup mountµÄ·½Ê½Æô¶¯Êý¾Ý¿âÊµÀý¡£ 

5¡¢ÔÚÊý¾Ý¿âÉÏÖ´ÐÐÃ½Ìå»Ö¸´¡£ 

6¡¢´ò¿ªÊý¾Ý¿â¡£ 

7¡¢°´ÐèÒª´´½¨ÐÂµÄ»Ø¹ö¶Î¡£ 

ÊÂ¼þ13£ºµ¼³öÎÄ¼þËð»µ 

Èç¹ûµ¼³öÎÄ¼þ²»ÄÜÓÃÁË£¬ÄÇÃ´Ó¦¸ÃÀä±¸·ÝÊý¾Ý¿â²¢ÇÒ½øÐÐÒ»¸öÈ«µÄÊý¾Ý¿âµ¼³ö¡¢ÕâÊÇ¼Ù¶¨Êý¾Ý¿â×ÔÉíÃ»ÓÐÎÊÌâ¡¢Èç¹ûÊý¾Ý¿âÒ²Ëð»µÁË£¬ÄÇÃ´Ó¦¸ÃÖ´ÐÐÒÔÏÂµÄ²½Öè£º 

1¡¢ORA-1157´íÎóÐÅÏ¢Í¨³£¶¼±íÊ¾Ò»¸ö»òÕß¶à¸öµÄÊý¾ÝÎÄ¼þËð»µÁË¡£²éÃ÷ÄÄÐ©±íÊÜµ½Ó°Ïì£¬ËüÃÇÓ¦¸ÃÊÇ´íÎóÐÅÏ¢ÖÐÖ¸Ã÷µÄÊý¾ÝÎÄ¼þÖÐµÄ±í¸ñ¡£ 

2¡¢Ìø¹ý»µµÄÊý¾Ý¿é£¬½«Êý¾ÝÓÉ±í¸ñÖÐÑ¡Ôñµ½ÁÙÊ±±í¸ñÖÐ¡£ 

3¡¢¶ªÆúËð»µµÄ±í¡£ 

4¡¢½«ÁÙÊ±±íÖØÃüÃûÎª¶ªÆúµÄ±í¡£ 

5¡¢ÖØÐÂ½¨Á¢ÊÜÓ°Ïì±íÉÏµÄÈ«²¿Ë÷Òý¡£ 

6¡¢Ê¹ÓÃVALIDATE STRUCTURE CASCADEµÄÑ¡ÏîÀ´·ÖÎöÈ«²¿Ëð»µµÄ±í¡£ 

Òª×¢ÒâµÄÊÇËð»µ¿éÖÐÊý¾Ý½«»á¶ªÊ§²¢ÇÒ²»ÄÜ»Ö¸´¡£ 

ÊÂ¼þ14£ºÔÚÈÈ±¸·ÝÊ±¹Ø»ú 

Èç¹ûÔÚÈÈ±¸·ÝÕýÔÚ½øÐÐµÄÊ±ºòÍ»È»¹Ø»ú£¬ÆäÖÐµÄÒ»Ð©±í¿Õ¼ä½«¿ÉÄÜ´¦ÔÚ±¸·ÝÄ£Ê½¡¢µ±Äã³¢ÊÔ´ò¿ªÊý¾Ý¿âÊ±£¬Ëü½«Ö»ÄÜmount£¬²¢ÇÒÖ¸Ê¾Ä³Ð©±í¿Õ¼ä´¦ÓÚÈÈ±¸·ÝÄ£Ê½¡¢ÓÉÓÚÊý¾Ý¿â²»ÄÜ´ò¿ª£¬Äã½«²»ÄÜÈÃ±í¿Õ¼äÍÑÀëÈÈ±¸·ÝÄ£Ê½¡¢Äã¿ÉÒÔÊ¹ÓÃÒÔÏÂµÄ²½Öè»Ö¸´£º 

1¡¢startup mountÊý¾Ý¿â¡£ 

2¡¢²éÑ¯v$backupÒÔ²é¿´ÄÄÐ©Êý¾ÝÎÄ¼þ´¦ÓÚACTIVE×´Ì¬¡£ 

3¡¢Í¨¹ýÊ¹ÓÃÃüÁîALTER DATABASE DATAFILE END BACKUP.À´½«ÕâÐ©Êý¾ÝÎÄ¼þÍÑÀë±¸·ÝÄ£Ê½¡£ 

4¡¢´ò¿ªÊý¾Ý¿â¡£ 

ÊÂ¼þ15£º»Ö¸´µ½Ä³¸öÌØ±ðµÄÊ±¼äµã 

ÒÔÏÂµÄ²½Öè¿ÉÓÃÀ´Ö´ÐÐpoint-in-time»Ö¸´£º 

1¡¢¹Ø±ÕÊý¾Ý¿âÊµÀý¡£ 

2¡¢ÒÔNOMOUNTµÄ×´Ì¬Æô¶¯Êý¾Ý¿âÊµÀý¡£ 

3¡¢Ê¹ÓÃUNTILµÄÑ¡ÏîÀ´»Ö¸´Êý¾Ý¿â¡£ 

4¡¢´ò¿ªÊý¾Ý¿â¡£ 

5¡¢Shutdown NORMAL¡£ 

6¡¢Æô¶¯Êý¾Ý¿âÊµÀý¡£ 

ÊÂ¼þ16£º»Ö¸´µ½Ò»¸öÌØ±ðµÄÊÂ¼þ»òÕß»î¶¯ 

¿ÉÒÔÊ¹ÓÃÒÔÏÂµÄ²½ÖèÀ´»Ö¸´£º 

1¡¢¹Ø±ÕÊý¾Ý¿âÊµÀý¡£ 

2¡¢ÒÔNOMOUNT×´Ì¬Æô¶¯Êý¾Ý¿âÊµÀý¡£ 

3¡¢Ê¹ÓÃUNTIL CANCELÀ´»Ö¸´Êý¾Ý¿â£¬Ìá¹©´æµµµÄredo logÎÄ¼þÇëÇóÖ±µ½¸Ã»î¶¯/ÊÂ¼þÎªÖ¹¡£ 

4¡¢ÊäÈëCANCELÀ´È¡Ïû»Ö¸´¡£ 

5¡¢´ò¿ªÊý¾Ý¿â¡£ 

6¡¢Ê¹ÓÃNORMALµÄÄ£Ê½À´¹Ø±ÕÊý¾Ý¿â¡£ 

7¡¢Æô¶¯Êý¾Ý¿âÊµÀý¡£ 

½áÂÛ 

¸ß¿ÉÓÃÐÔ¶ÔÓÚÈÎºÎµÄÉÌÒµ¶¼ÊÇºÜÖØÒªµÄ£¬ORACLE DBA¿ÉÒÔÍ¨¹ýÒ»Ð©¼Æ»®ÒÔÈ·±£Í£»úÊ±¼ä×îÐ¡»¯¡£ 
]]></description>
		</item>
		<item>
			<title>¶ÔOracleµÄWebÔËÓªËù½øÐÐµÄÄ»ºó¹Û²ì</title>
			<link>http://www.kingmx.com/article.php?id=14818</link>
			<pubDate>2006-12-20</pubDate>
			<description><![CDATA[

¼ÈÒª¹ÜÀí¶ÔÄÚµÄÓ¦ÓÃ³ÌÐòÓÖÒª¹ÜÀí¶ÔÍâµÄ Web Õ¾µã£¬ÕâÖÖ¶àÑùÐÔµÄ¹¤×÷Ê¹µÃ Steve µÄÍÅ¶ÓÓµÓÐÁíÈË¾ªÒìµÄ¡¢È«·½Î»µÄ¡¢Ê¹ÓÃ Oracle ²úÆ·µÄ¡¢×ÛºÏµÄ Web ¾­Ñé¡£Steve Ëµ£¬¡°ÎÒÃÇÒÑ¾­²¿ÊðÁË OracleAS Container for J2EE (OC4J)Ó¦ÓÃ³ÌÐò¡¢Web ¸ßËÙ»º´æ¡¢ÒÆ¶¯·þÎñ¡¢ÎÄ¼þ´úÀí¡¢ÃÅ»§¡ªÄú¿ÉÒÔ½²³öÕâÐ©Ãû´Ê£¬¶øÎÒÃÇ¿ÉÄÜÒÑ¾­½«ÕâÐ©¶«Î÷Ó¦ÓÃµ½Éú²ú»·¾³ÖÐ·þÎñÓÚ´óÁ¿µÄÓÃ»§²¢ÒªÇóÕâÐ©Ó¦ÓÃ³ÌÐò¾ßÓÐ×îºÃµÄ¿ÉÊÓÐÔºÍ¿É¿¿ÐÔ¡£¡± 

µ«ÊÇÎÞÂÛÊÇÒ»¸öÄÚ²¿µÄÓ¦ÓÃ³ÌÐò¡¢Ò»¸ö Web Õ¾µã»¹ÊÇÒ»ÏîÍÐ¹Ü·þÎñ£¬¶ÔÓÚ Steve µÄÍÅ¶Ó£¬Ã¿ÖÖÇé¿ö¶¼ÃæÁÙ×ÅÏàÍ¬µÄÉÌÎñÎÊÌâ¡£¡°Ëü×ÜÊÇ¾ßÓÐºÜ¸ßµÄ¿ÉÓÃÐÔ¡£¶àÄêÒÔÀ´£¬ÎÒÃÇ·¢ÏÖÎÒÃÇÕýÔÚ¶ÔÄÚ²¿»òÍâ²¿µÄÓÃ»§Ìá¹©·þÎñ²¢²»»á¶ÔËü²úÉúÊ²Ã´Ó°Ïì¡£Í¬ÑùµÄ¹æÔòÒ²ÊÊÓÃÓÚÎÒÃÇÈçºÎÀ´½Ó½ü²¢ÊµÏÖ¸ßµÄ¿ÉÓÃÐÔ¡£¡± 

¶øÇÒÎªÒ»¼ÒÒµ½çÁìÏÈµÄ¡¢È«ÇòÐÔµÄÈí¼þ¹«Ë¾¹¤×÷£¬Ò²¸øÎÒÃÇ´øÀ´ÁËÒ»Ð©²»Æ½³£µÄÌôÕ½¡£Steve Ëµ£¬¡°Oracle ÊÇÊ±¿Ì±ä»¯µÄ»·¾³£¬ÔÚÕâÀï´æÔÚºÜ¶àÎ°´óµÄË¼Ïë£¬Ò»¸öÕ¸ÐÂµÄÓ¦ÓÃ³ÌÐò¿ÉÄÜÔÚµÚ¶þÌì¾Í¹ýÊ±ÁË¡£ÎÒÃÇÔÚ Global IT ÖÐµÄ¹¤×÷¾ÍÊÇÈ·±£ Oracle ÔÚÕâÐ©Õ¾µãËù²¿ÊðµÄÓ¦ÓÃ³ÌÐòÊÇÎÈ¶¨µÄ£¬²¢ÔËÐÐµÃºÜºÃ¡£´Ó±¾ÖÊÉÏ½²£¬ÎÒÃÇÌá¹©Ó²¼þºÍÈí¼þ£¬À´¹«Ë¾µÄÕ¾µãºÍ²¿Êð·þÎñ¡£ 

¿ªÊ¼×ÅÊÖ×¼±¸²¢¼ÓÂíÉÏÔËÐÐÆðÀ´ 

¶ÔÓÚ Steve µÄÍÅ¶Ó£¬²¿ÊðÐÂÓ¦ÓÃ³ÌÐòµÄ¹ý³ÌÊÇÒ»ÃÅÒÕÊõÒ²ÊÇÒ»ÃÅ¿ÆÑ§¡£Steve ÍÅ¶ÓÒªÓëÑÐ·¢ÈËÔ±£¬ÒÔ¼° Oracle ÄÚ²¿µÄÉè¼ÆÊ¦¡¢ÍøÂç×é¡¢Êý¾ÝÖÐÐÄÍÅ¶Ó£¬ÉõÖÁÊÇ²É¹ºÈËÔ±½øÐÐ´óÁ¿µÄÐ­µ÷¹¤×÷¡£ÏÂÃæ Steve ½«½âÊÍÕâÒ»¹ý³Ì£º 

¡°Ò»µ©ÓÐÒ»¸öÐÂµÄÑÐ·¢ÏîÄ¿ÐèÒªÎÒÃÇÀ´½øÐÐ²¿Êð£¬¾Í»áÇ£Éæµ½Ðí¶à²¿ÃÅ¡£¾ÍÏó»­»­Ò»Ñù£¬ÎÒÃÇÔÚ Global IT ¾ÍÊÇÒ»¿é¿Õ°×µÄ»­²¼¡£¿ª·¢ÍÅ¶Ó¿ÉÒÔÏòÎÒÃÇÌá¹©ËùÓÐµÄÑÕÁÏºÍ»­±Ê¡£È»ºóÎÒÃÇ¾Í½«²»Í¬µÄ²¿·ÖÕûºÏÔÚÒ»ÆðÐÎ³ÉÒ»·ù»­¡£ÎÒÃÇ´ÓÍøÂçÁ¬½Ó¿ªÊ¼£¬ÕâÑùÎÒÃÇ¾Í¿ÉÒÔ½«ËùÐèÒªµÄÐÂ·þÎñÆ÷½ÓÈëµ½ Oracle µÄÖ÷¸ÉÍøÖÐ¡£ 

¡°È»ºóÎÒ»áÓë²É¹ººÍÔË×÷²¿ÃÅÏà»¥ÅäºÏÀ´Ñ¡¹º×îÊÊºÏÓÚ¸ÃÏîÄ¿µÄ·þÎñÆ÷¡£ÎÒ»¹»áÓë Global IT ÖÐµÄÌåÏµ½á¹¹×éÏà»¥ÅäºÏÀ´È·±£ÎÒËùÒª¹ºÂòµÄ·þÎñÆ÷ÄÜ¹»Âú×ãÐÂÓ¦ÓÃ³ÌÐòµÄÐèÒª²¢ÄÜ±»ÎÒÃÇÏÖÓÐµÄ»ù´¡¼Ü¹¹ËùÖ§³Ö¡£ 

¡°È»ºóÎÒÃÇ¾Í¿ÉÒÔÆô¶¯¸ÃÏîÄ¿ÁË¡£ÎÒÓëÉè±¸²¿ÃÅÏà»¥ÅäºÏÒÔÔÚÊý¾ÝÖÐÐÄ»ñµÃ¿Õ¼äÀ´·ÅÖÃÎÒµÄ·þÎñÆ÷¡£ÎÒÃÇ´î½¨ÍøÂç£¬·ÅÖÃÓ²¼þ£¬²¢½«Æä·ÅÔÚ¼Ü×ÓÉÏ½øÐÐ¹Ì¶¨¡£Ö»ÓÐÒ»ÇÐ¶¼´î½¨ºÃÁË£¬²Å»á°Ñ´ÅÅÌ¡ª²Ù×÷ÏµÍ³ºÍÐÂ·þÎñ¡ª½»¸øÎÒ¡£´ËÊ±ÎÒÐèÒª½«Ð¡×éÖÐµÄÆäËû³ÉÔ±ÕÙ¼¯µ½Ò»Æð¡£¡± 

Ö®ºó Steve µÄÍÅ¶Ó¾ÍÒªÓë¿ª·¢ÈËÔ±½ôÃÜºÏ×÷£¬Í¨³£°üÀ¨²âÊÔÏîÄ¿£¬ÆäÖÐËûÃÇ¹¹½¨ÁËÊµ¼ÊµÄ·þÎñ²¢½«ÆäÓ¦ÓÃµ½½«ÔÚ²¿ÊðÖÐÊ¹ÓÃµÄÓ²¼þÖÐ¡£ 

Steve Ëµ£¬¡°´ÓÕâ¿ªÊ¼£¬ÎÒÃÇ½«ÓëÆäËû²¿ÃÅ½ôÃÜºÏ×÷¡ª±ÈÈç¹ÜÀí Oracle »¥ÁªÍøÄ¿Â¼ (OID) µÄ²¿ÃÅºÍµ¥µãµÇÂ¼·þÎñÆ÷£¨Èç¹ûÐèÒªµ÷ÓÃµÄ»°£©¡£ÎÒÃÇÓëÓÊ¼þÍÅ¶ÓÏà»¥ÅäºÏÀ´È·±£ÎÒÃÇÄÜ¹»Á¬½Óµ½ÓÊ¼þ·þÎñÆ÷£¬ÇÒ²»»á±ÈÎÒÃÇÊÂÏÈ¼Æ»®Ôö¼ÓÌ«´óµÄ¸ºÔØÁ¿¡£È»ºó£¬ÎÒÃÇ¾Í»áÔÚÁÙÊ±»·¾³ÖÐÕ¹¿ªÈ«ÃæµÄ²âÊÔ£¬È»ºóÔÙ½«ÆäÓ¦ÓÃµ½²úÆ·ÖÐ¡£¡± 

Ò»µ©Íê³ÉÒÔÉÏËùÓÐµÄ¹¤×÷£¬Steve µÄÍÅ¶Ó¾Í½«¸ÃÏîÄ¿×ª»»µ½Î¬»¤Ä£Ê½£¬´¦Àí²¹¶¡ºÍ·¢ÏÖÎÊÌâ¡£¡°ÎÒÃÇÊ×ÏÈ·Ö½×¶Î½øÐÐÈ«Ãæ²âÊÔ£¬È·±£Ã¿Ò»²½ÖÐµÄÃ¿¸öÐÞ²¹³ÌÐò¶¼ÊÇºÃµÄ£¬È»ºó½«ÆäÓ¦ÓÃµ½²úÆ·ÖÐ¡£¡± 

°´ÕÕÕâÖÖ·½Ê½Ö¸µ¼´Ë¹ý³Ì¾ÍÊÇ½«¸ß¿ÉÓÃµÄ¡¢¸ßÐÔÄÜµÄ·þÎñ²¿Êðµ½ÖÕ¶ËÓÃ»§µÄÒµÎñ×ÜÄ¿±ê¡£

OTN ÒÆÖ²ÏîÄ¿ ¡ª °¸ÀýÑÐ¾¿ 

µ± Oracle ¾ö¶¨OTN ÐèÒªÖØÐÂ½øÐÐ¼Ü¹¹ÒÔ»ñµÃ¸üºÃµÄ¿ÉÓÃÐÔºÍÐÔÄÜÊ±£¬¾Í¿´×¼ÁËÃÅ»§¡£µ«ÊÇ£¬Steve µÄÍÅ¶ÓÓöµ½µÄ²»½ö½öÊÇ¼¼ÊõÉÏµÄÎÊÌâ¡£¡°OTN ÓµÓÐÐí¶à OC4J Ó¦ÓÃ³ÌÐò¡¢¿É¶¨ÖÆÓ¦ÓÃ³ÌÐòºÍÐí¶à»ùÓÚ¼¼ÊõµÄÄÚÈÝ·þÎñ£¬¡± Steve½âÊÍËµ¡£¡°Ã»ÓÐÒ»¸öÊÇ³ö×ÔÊý¾Ý¿âµÄ¡£Òò´Ë£¬Òª×ª»»³ÉÒ»¸öÃÅ»§£¬Ê¹ÆäÖÐµÄÒ»ÇÐÐÅÏ¢¶¼À´Ô´ÓÚÊý¾Ý¿â¡ª²¢Í¨¹ýÊý¾Ý¿â¶ÔËùÓÐÄÚÈÝ½øÐÐ¹ÜÀí¡ª Õâ²»Ö»ÊÇ¶ÔÌåÏµ½á¹¹½øÐÐ×ª»»£¬¶ÔÓÚÐí¶àÄÚÈÝµÄËùÓÐÕßÀ´Ëµ£¬Õâ»¹½«³ÉÎªÒ»ÖÖÎÄ»¯µÄ×ª»»¡£ 

Steve µÄÍÅ¶Ó×îÖÕÈ·¶¨ÊµÊ©ÕâÒ»ÏîÄ¿µÄ×î¼Ñ·½Ê½¾ÍÊÇ°´´ÓÇ°¶Ëµ½ºóÌ¨µÄ·½Ê½½øÐÐ¡£¡°×îÖÕÄ¿±ê¾ÍÊÇÒª½« OTN ÒÆÖ²µ½ÃÅ»§ÉÏ¡£µ«ÊÇÎÒÃÇ»¹Ï£ÍûÔËÐÐÔÚ Linux ÉÏµÄ OTN ¿ÉÒÔÕæÕýÖ¤Êµ Oracle µÄ Linux RAC ½â¾ö·½°¸ÊÇ¿ÉÐÐµÄ¡£»ùÓÚÕâÒ»µã£¬ÎÒÃÇÏ£ÍûÐÂµÄ OTN µÄÐÔÄÜ¼´Ê¹²»ÄÜ³¬Ô½ÏÖÓÐ OTN µÄÐÔÄÜ£¬Ò²²»ÄÜ±ÈÏÖÔÚ²î¡£Îª´ËÊ¹ÓÃÏÖÓÐ OTN µÄÐÔÄÜÖ¸±êÊýÖµ£¬ÎÒÃÇ¿ÉÒÔÏòºó¶Ô±ÈµÄ·½Ê½À´¹¤×÷£¬ÒÔÈ·¶¨Ê²Ã´ÊÇÐÂÌåÏµ½á¹¹ËùÐèÒªµÄ¡£¡± 

Ã÷È·ÐÔÄÜÄ¿±ê°ïÖú Steve µÄÍÅ¶Ó¼Ü¹¹ÁËÕâ¸öÐÂµÄÃÅ»§½â¾ö·½°¸£¬µ«Õâ»¹²»ÄÜ³Æ×÷ÊÇÕæÕýµÄ¿ÆÑ§¡£¡°Ç°¶ËÊÇ Web ¸ßËÙ»º´æ£¬ÒÔ¼° HTTP ·þÎñÆ÷ºÍÃÅ»§·þÎñÆ÷¡£ÆäºóÔòÊÇÎ»ÓÚÁ½½Úµã RAC ¼¯ÈºÉÏµÄÊý¾Ý¿â·þÎñÆ÷£¬ÎªÃÅ»§Êý¾Ý¿âÌá¹©·þÎñ¡£¡± 

³ýÁË²úÆ·µÄÌåÏµ½á¹¹ÒÔÍâ£¬Steve È·±£ÓÐÒ»¸ö½×ÌÝ²ã×÷Îª¿ª·¢µÄÒ»²¿·Ö¡£¡°Èç¹ûÃ»ÓÐÁÙÊ±·ÖÇø£¬ÎÒÃÇ¾Í´ç²½ÄÑÐÐ¡£¡±£¬ËûÕâÑù½âÊÍËµ¡£¡°ÕâÊÇÎÒÃÇµÄ±ØÓÉÖ®Â·£¬ÒòÎªÔÚÄã½øÐÐ²âÊÔºÍ²¿ÊðµÄÊ±ºò£¬Äã»áÏëÒª½«¿ÉÄÜ³ö´íµÄµØ·½»®¶¨ÔÚÒ»¸öÇøÓòÄÚ£¬²¢½øÐÐÑéÖ¤£¬µÃ³ö½áÂÛ¡£¡±ÀýÈç£¬Äã¿ÉÄÜÈÏÎªÔÚ Web ¸ßËÙ»º´æÖÐµ÷ÕûÒ»¸ö²ÎÊý»á³öÏÖÎÊÌâ£¬µ«×îºóÈ´·¢ÏÖÕâÑù×öÊÇ²»¶ÔµÄ¡£ÎªÁË»Ø¹ýÍ·À´ÔÙ´Î½øÐÐ¹Û²ì£¬Í¬Ê±ÓÖ²»ÏëÖÐ¶ÏÉú²ú£¬ÄÇ¾Í±ØÐë½«ÁÙÊ±·ÖÇø×÷ÎªÏµÍ³µÄÒ»²¿·Ö¡£¡± 




Í¼ 1£ºÍ¨¹ýÀûÓÃ Oracle Ó¦ÓÃ·þÎñÆ÷ºÍ Oralce Êý¾Ý¿â»ñµÃ¸ß¿ÉÓÃÐÔ
ÕýÈçÉÏÍ¼ËùÊ¾£¬Èç¹ûÄ³¸ö¼¯ÈºÉÏµÄÄ³¸ö½Úµã·¢Éú¹ÊÕÏ£¬¿Í»§ÇëÇó¾Í»áÍ¸Ã÷µØÂ·ÓÉµ½¸Ã¼¯ÈºÖÐµÄÁíÒ»¸ö½Úµã£¬¶øÖÕ¶ËÓÃ»§´ÓÀ´²»»áÖªµÀÔø¾­³öÏÖ¹ý¹ÊÕÏ¡£ÕâÑùÒ»À´£¬ÔÚ Oracle Ó¦ÓÃ·þÎñÆ÷ÉÏ²¿ÊðµÄÈÎºÎÉÌÎñÓ¦ÓÃ³ÌÐò¶¼»á±£³ÖÕý³£ÔË×ª¶ø²»»áÖÐ¶Ï£¬Õâ¾ÍÈ·±£ÁË 0 ¼Æ»®ÄÚµÄºÍ 0 ¼Æ»®ÍâµÄå´»úÊ±¼ä¡£ÕýÈç¿ÉÒÔ´ÓÉÏÍ¼ÖÐ¿´µ½µÄÄÇÑù£¬Oracle Ó¦ÓÃ·þÎñÆ÷ÔÚÖÐ¼ä²ãÖ§³ÖÈý¸ö²ã´ÎµÄ¼¯Èº£ºWeb ·þÎñÆ÷¡¢J2EE ·þÎñÆ÷ºÍ Web ¸ßËÙ»º´æ¼¯Èº¡£´ËÍâÎ»ÓÚ OracleAS ¶¥²ãµÄÓ¦ÓÃ³ÌÐò¿ÉÒÔÀûÓÃ Oracle RAC ¾ßÓÐ¸ß¿ÉÓÃÐÔÌØÐÔµÄÓÅÊÆ£¬ÀûÓÃÓÉ Oracle RAC ¹ÜÀíµÄ¶¯Ì¬ÄÚÈÝÀ´¼ÓÇ¿±£»¤ 

ÀûÓÃ Oracle ²úÆ·Ì×¼þ£¨Oracle Ó¦ÓÃ·þÎñÆ÷ºÍ Oracle Êý¾Ý¿â£©ÖÐ¹¹½¨µÄ¸ß¿ÉÓÃÐÔ£¬¾ÍÓÐ¿ÉÄÜÅäÖÃºÍ¼Ü¹¹Ò»¸ö½â¾ö·½°¸Ê¹ÕâÐ©ÌØÐÔ·¢Ñï¹â´ó¡£Ê¹ÓÃ Dell/Linux ½â¾ö·½°¸µÄ³É±¾ÊÇ·Ç³£¸ßÐ§µÄ£¬Òò´ËÖ»ÐèÔÚ¸ß¶Ë·þÎñÆ÷½â¾ö·½°¸ÉÏ»¨·ÑºÜÐ¡µÄ³É±¾¾Í¿ÉÒÔÊµÏÖ¡£Õâ¾ÍÊ¹µÃ Global IT ÄÜ¹»»ñµÃ¸ü¶àµÄ·þÎñÆ÷À´Ö§³Ö¹ÊÕÏÇÐ»»»òÊÇ±¸ÓÃ½â¾ö·½°¸£¬ÕâÑùÒ»À´ÔÚ¹¹½¨¸ß¿ÉÓÃ½â¾ö·½°¸µÄÍ¬Ê±»¹¿ÉÒÔ¼æ¹Ëµ½Áé»îÐÔµÄÌá¸ß¡£ 

Steve ¾­³£»áÓÃµ½µÄÁíÒ»¸öÇÏÃÅ¾ÍÊÇ´´½¨Ëû×Ô¼ºµÄ psuedo Íø¸ñ»·¾³¡£ ¡°ÎÒÃÇÓÐË«±¶µÄ¶îÍâ·þÎñÆ÷¿ÉÒÔÊ¹ÓÃ£¬ÒÑ¾­ÅäÖÃºÃ²¢×¼±¸¾ÍÐ÷£¬Ò»µ©ÐèÒª¾Í¿ÉÒÔÔË×ªÆðÀ´£¬¡±£¬ËûÕâÑù½âÊÍËµ¡£ÕâÐ©¶îÍâµÄ·þÎñÆ÷ËùÄÜ×÷µÄ²»½ö½öÊÇ±¸·Ý£¬ÔÚÍøÂçÁ÷Á¿Í»ÔöµÄÊ±ºò£¬ÕâÐ©·þÎñÆ÷¿ÉÒÔÕæÕýµØ²¿Êð½øÀ´¡£¡°¾ÍÏñÔÚ OracleWorld µÄÇ°Ò»ÖÜ£¬ÎÒÃÇÐèÒª¸üÓÅµÄÐÔÄÜ£¬ÓÚÊÇÎÒÃÇ¼ÓÈëÁËÒ»Ð©¶îÍâµÄ·þÎñÆ÷£¬²¢ÔÚÊ¹ÓÃ¸ß·åÆÚ¼ä£¬Ìá¹©ÁË±È OTN ÆÚÍûË®Æ½¸ü¸ßÖÊÁ¿µÄ·þÎñ¡£Ò»µ©µã»÷ÂÊÏÂ½µ£¬ÎÒÃÇ¾Í¿ÉÒÔ½«ÕâÐ©·þÎñÆ÷³·³ö£¬ÈÃËüÃÇÈ¥Íê³ÉÆäËûÈÎÎñ¡£¡± 

ÔÚÐèÒª¡°¶îÍâµÄ»úÏä¡±Ö»ÒÔ¼°ÌåÏµ½á¹¹²»Í¬²¿·ÖÐèÒª½øÐÐ½»»»Ê±£¬Á®¼ÛµÄ Linux Ñ¡Ïî²ÅÊÇ×îÊÊÓÃµÄ¡£Í¨³£ÈÏÎªÊ¹ÓÃ¸üÁ®¼ÛµÄÈí¡¢Ó²¼þ£¬±ÈÈç Lintel »úÏä£¬¾ÍÒâÎ¶×ÅÐèÒª¸ü¶àµÄÈí¡¢Ó²¼þ¹ÜÀí£¬¶øÇÒÓë°º¹óµÄ Sun»úÏäÏà±ÈºÜ¿ÉÄÜ»á´æÔÚÒ»Ð©ÐÔÄÜÉÏµÄÎÊÌâ¡£ÊÂÊµÈÃ Steve Ã÷°×ÕâÖÖ¼òµ¥µÄÍÆÀí²¢²»×ÜÓëÊÂÊµÏà·û¡£ 

Steve Ëµ£¬¡°Ê¹ÓÃ OTN Ö®Ç°µÄÌåÏµ½á¹¹£¬ÎÒÃÇÓÐËÄ¸ö Sun »úÏäÀ´ÔËÐÐ Web ¸ßËÙ»º´æ£¬»¹ÓÐËÄ¸ö Sun »úÏäÔËÐÐ AIS ·þÎñÆ÷¡£ÎÒÃÇÓÃÈý¸ö Linux ·þÎñÆ÷À´Ìæ»»Õâ°Ë¸ö Sun ·þÎñÆ÷£¬½á¹ûÎÒÃÇ¼´Ê¹Ã»ÄÜ»ñµÃ¸üºÃµÄÐÔÄÜÒ²ÖÁÉÙ»ñµÃÁËÍ¬µÈµÄÐÔÄÜ¡£¡±¾Ý Steve Ëµ£¬ÔÚ³É±¾·½Ãæ¸üÃ»ÓÐÕùÒé¡£¡°ÎÒ»¹¿ÉÒÔÎªÃ¿¸ö Solaris ·þÎñÆ÷Âò 6 ¸ö Lintel ·þÎñÆ÷¡£¡± 

µ«ÊÇÔÚÑ¡ÔñÈÕ³£Ê¹ÓÃµÄÓ²¼þºÍ²Ù×÷ÏµÍ³ (OS) Ê±£¬³É±¾¾Í²»ÔÙÊÇÎÒÃÇÎ¨Ò»Òª¿¼ÂÇµÄ¡£ÐÔÄÜÒ²¼«ÎªÖØÒª£¬¶øÇÒÁË½âÈçºÎÈ¥Õï¶Ï²¢½â¾öÐÔÄÜË¥ÍËµÄÎÊÌâ¾ÍÊÇ¼Ü¹¹Ò»¸öºÃµÄ²¿Êð·½°¸µÄ¹Ø¼ü¡£

ÈÈµãºÍÆ¿¾± 

ÔÚ»ñµÃÓÅ»¯µÄÐÔÄÜË®Æ½µÄ¹ý³ÌÖÐ£¬×îÖ÷ÒªµÄÒ»¸öÌôÕ½¾ÍÊÇÔÚ³öÏÖÈÈµãÊ±ÄÜ¹»ÕýÈ·µØ¶¨Î»ÕâÐ©ÈÈµã¡£Õâ²¢²»ÏñÌýÆðÀ´ÄÇÃ´ÈÝÒ×¡£Steve Ëµ£¬¡°ÌØ±ðÊÇµ±ÄãÓµÓÐÒ»¸öÈý²ãÌåÏµ½á¹¹µÄÊ±ºò¡£Õâ¸öÈÈµã¿ÉÄÜÊÇ Web ¸ßËÙ»º´æ£»¿ÉÄÜÊÇÃÅ»§£»¿ÉÄÜÊÇÊý¾Ý¿â£»Ò²¿ÉÄÜÊÇÕâÈý²ãÖÐµÄÈÎÒâÒ»²ãÉÏµÄ OS¡£Õâ¸öÈÈµã»¹¿ÉÄÜÊÇÍøÂç¡£¡± 




Í¼ 2£ºotn.oracle.com µÄÐÔÄÜ
ÕâÊÇÀ´×ÔKeynote ÏµÍ³ÎªÆÚ 1 ¸öÔÂµÄÆÀ²â½á¹û¡£Keynote ÏµÍ³´ÓÍòÎ¬ÍøµÄÆÀ²â´úÀí¶Ô Oracle µÄÍøÕ¾ÐÔÄÜ½øÐÐÁËÆÀ²â¡£ÕâÒ»·þÎñ°ïÖúÎÒÃÇÀ´Õï¶ÏÈ«Çò Oracle ¼¼ÊõÍøµÄÎÊÌâ¡£¡¡ 

¼´Ê¹ÔÚÈ·¶¨ÁËÎ»ÖÃÒÔºó£¬ÒªÏë½øÒ»²½ÖªµÀÒýÆðÈÈµãµÄÈ·ÇÐÔ­Òò¶¼ÊÇÒ»¼þÁîÈËÍ·Í´µÄÊÂ¡£ÆäËûÒ»Ð©ÎÊÌâµÄ±ßÔµÐ§Ó¦¶¼¿ÉÄÜÒýÆðÈÈµã¡£Steve ½âÊÍËµ£¬¡°ÀýÈç£¬¿ÉÄÜ»áÕÒµ½Ä³¸öÍøÂçµÄÈÈµã£¬µ«ÊÇÕæÕýµÄÔ­Òò¿ÉÄÜÊÇÒòÎªÄ³¸ö·þÎñÆ÷ÏòÍøÂç½Ó¿ÚÍÆËÍÁËÌ«¶àµÄÐÅÏ¢¡£ÉõÖÁ¿ÉÄÜÊÇÒ»Ð©·Ç³£¼òµ¥µÄÔ­Òò£¬±ÈÈçËµÍøÂç½Ó¿ÚÏÞÖÆÎª 10 Õ×Ö®ÏÂ¶ø²»ÊÇ 100 Õ×¡£¡±Steve ÌáÐÑÉè¼ÆÊ¦Ò»¶¨²»ÒªºöÊÓÕâÐ©¼òµ¥µÄÔ­Òò¡£ 

´ËÍâ£¬»¹ÓÐÒ»Ð©¹¤¾ß¿ÉÒÔ°ïÖúÉè¼ÆÊ¦À´Õï¶ÏÈÈµãºÍÆ¿¾±¡£³§ÉÌÌá¹©µÄ¹¤¾ß³£³£ÊÇ·Ç³£ÓÐÓÃµÄ£¬¶øÇÒÏÖÓÐ»¹ÓÐÒ»Ð©¸üÎª³ÉÊìµÄ¿ª·¢Ô´´úÂë¿ÉÒÔÓÃ¡£Oracle µÄÆóÒµ¹ÜÀíÆ÷¾ÍÓÐºÜÓÅÐãµÄÆÀ²âÄÜÁ¦¡£
]]></description>
		</item>
		<item>
			<title>±»Oracle9iÓ¦ÓÃ·þÎñÆ÷´ò¶¯µÄ¼¸µãÀíÓÉ</title>
			<link>http://www.kingmx.com/article.php?id=14792</link>
			<pubDate>2006-12-17</pubDate>
			<description><![CDATA[

Oracle9iAS µÚ2 °æÊÇÒ»¸öµ¥¸ö¼¯³É²úÆ·£¬Ìá¹©ÓÃÓÚ¿ª·¢»ùÓÚ»¥ÁªÍø±ê×¼µÄÓ¦ÓÃ³ÌÐò²¢¿É¿¿µØ²¿ÊðºÍ¹ÜÀíËüÃÇµÄ¹¤¾ß¡£ÒªÁË½âÆäÌØ¶¨µÄ²úÆ·¹¤¾ß£¬ÈÃÎÒÃÇ´ÓÓ¦ÓÃ³ÌÐò¿ª·¢ºÍ²¿ÊðµÄ¹ÛµãÀ´¿´Ò»¿´Æä¹¦ÄÜ¡£ 

Ó¦ÓÃ³ÌÐò¿ª·¢ 

Oracle9iAS µÚ2 °æÎª¿ª·¢ÈËÔ±¿ª·¢ºÍ²¿Êð»ùÓÚ¿ª·ÅÊ½±ê×¼£¨Èç¶ÔJava2 ÆóÒµ°æ(J2EE)¡¢XML ºÍÕýÔÚÐÎ³ÉµÄWeb Service ±ê×¼µÄÍêÈ«Ö§³Ö£©µÄ»¥ÁªÍøÓ¦ÓÃ³ÌÐòÌá¹©¸ßÐ§µÄÓ¦ÓÃ³ÌÐò·þÎñÆ÷»·¾³¡£Ê¹ÓÃOracle9iAS£¬¿ÉÒÔÍ¨¹ý´´½¨ÆóÒµÃÅ»§À´¼ò»¯¶ÔÕâÐ©Ó¦ÓÃ³ÌÐòµÄ·ÃÎÊ£¬ÆóÒµÃÅ»§ÎªÓÃ»§´Ó×ÀÃæä¯ÀÀÆ÷»òÎÞÏßÉè±¸·ÃÎÊÕâÐ©Ó¦ÓÃ³ÌÐòÌá¹©ÁËÒ»¸öµ¥¸öµÄ·ÃÎÊµã¡£ 

Í¨¹ýÈ«ÃæµÄÆóÒµ¼¯³É¿ò¼Ü¡¢Ä£ÐÍ¹¤¾ß¡¢Ô¤´´½¨ÊÊÅäÆ÷ºÍWeb Service £¬¿ÉÒÔÖØÐÂ¶¨ÒåÉÌÎñÁ÷³Ì²¢½«Ó¦ÓÃ³ÌÐòÓëÔ­ÓÐÏµÍ³¡¢Êý¾Ý¿â¡¢³ÌÐò°üÓ¦ÓÃ³ÌÐòºÍÉÌÎñºÏ×÷»ï°é¼¯³ÉÔÚÒ»Æð¡£¿ÉÒÔÍ¨¹ýÊµÊ±¸öÐÔ»¯½»¸¶1:1 Á¿Éí¶¨ÖÆµÄ¿Í»§ÌåÑé¡¢Ê¹ÓÃ¡°µã»÷Á÷·ÖÎö¡±ÆÀ¹ÀºÍ¹ØÁªWeb Õ¾µãÍ¨ÐÅÑùÊ½£¬²¢Ê¹ÓÃOracle9iAS Âú×ã¹ØÓÚÓ¦ÓÃ³ÌÐòµÄ¼´Ê±ÉÌÎñÖÇÄÜµÄÐèÇó¡£ÏÂÍ¼²ûÊö¸Ã²úÆ·ÖÐµÄ¹¦ÄÜ¡£ 


¡¡¡¡ 
ÌØ±ðÊÇ£¬Oracle ÈÏ¿ÉOracle9iAS µÚ2 °æÌá¹©µÄÏÂÁÐÌØ¶¨¹¤¾ß£º 

J2EE ¹¤¾ß¡ª¡ªOracle9iAS (i) ÓëÓÃÓÚÉè¼ÆWeb Õ¾µãµÄ×îºÃµÄHTML ¹¤¾ß½øÐÐ¼¯³É£»(ii) Ìá¹©Ê¹ÓÃJava Server Page ºÍServlet ´´½¨¶¯Ì¬Web Õ¾µãµÄ¹¤¾ß£»(iii) Ê¹Äú¿ÉÒÔÊ¹ÓÃÆóÒµJavaBean À´¿ª·¢ÊÂÎñÐÍ»¥ÁªÍøÓ¦ÓÃ³ÌÐò¡£ 

Web Service ¡ª¡ªOracle9iAS Ê¹ÄúÄÜ¹»(i) Í¨¹ýÉú³ÉWSDL ½çÃæ½«J2EE Ó¦ÓÃ³ÌÐòºÍÏÖÓÐ¾É°æÓ¦ÓÃ³ÌÐò×÷ÎªWeb Service ·¢²¼£»(ii) Ê¹ÓÃSOAP Ð­ÒéÍ¬²½ºÍÒì²½µ÷ÓÃWeb Service £»(iii) ´ÓUDDI ×¢²á±í·¢²¼ºÍµ¼ÈëWeb Service ¡£Oracle9iAS ¿É½«Ê¹ÓÃJ2EE ±àÐ´µÄWeb Service ÓëÄÇÐ©¿ª·¢µ½Microsoft µÄ×¨ÓÃ.NET ¹æ·¶µÄWeb Service ½øÐÐ¼¯³É¡£ 

ÃÅ»§¡ª¡ªËæ×ÅWeb Õ¾µãºÍWeb Service µÄÊýÄ¿ÔÚ×éÖ¯ÄÚµÄÔö¼Ó£¬Oracle9iAS ÔÊÐíÄú´´½¨ÆóÒµÃÅ»§£¬ËüÌá¹©Ò»¸ö(i)ÓÃÓÚÂú×ãµ¥Ò»ÓÃ»§ÐèÇó,²¢·ÃÎÊ¸öÐÔ»¯ÐÅÏ¢µÄµ¥Ò»µã£»(ii) ÓÃÓÚ½«ÐÅÏ¢¼¯ºÏÎª¡°portlet¡±µÄµ¥¸ö·ÃÎÊµã£»ºÍÒ»¸ö(iii)ÓÃÓÚ¿çÆóÒµËÑË÷ÐÅÏ¢µÄµ¥¸ö³¡Ëù¡£ 

ÎÞÏß¡ª¡ª¿¼ÂÇµ½ÓÃ»§ÄÜ¹»ÐèÒª³ÖÐø·ÃÎÊÓ¦ÓÃ³ÌÐò£¬Oracle9iAS ÔÊÐíÄú(i) Ê¹ÈÎºÎÓ¦ÓÃ³ÌÐò¿É¿çÈÎºÎÎÞÏßÍøÂçºÍÈÎºÎÍø¹Ø½øÐÐ·ÃÎÊ£»(ii) Ê¹ÕâÐ©Ó¦ÓÃ³ÌÐò¿É´ÓÈÎºÎÎÞÏßÉè±¸½øÐÐ·ÃÎÊ£»ÇÒ(iii) ¿ª·¢ÎÞÏß¹¤¾ß£¨Èç¡°ÓïÒô¡±¡¢¡°»ùÓÚÎ»ÖÃµÄ·þÎñ¡±ºÍ¡°ÎÞÏß°²È«ÐÔ¡±£©ÒÔÊ¹Ó¦ÓÃ³ÌÐòÒ×ÓÚÊ¹ÓÃ¡£ 

¼¯³É¡ª¡ªOracle9iAS Ê¹ÄúÄÜ¹»Ê¹ÓÃÒ»×é¿ª·ÅÊ½±ê×¼£¨ÈçJ2EE¡¢JMS¡¢JCA ºÍXML ÏûÏ¢´¦Àí±ê×¼£¬ÈçebXML ºÍRosettaNet£©½«Web Õ¾µã¡¢»¥ÁªÍøÓ¦ÓÃ³ÌÐòºÍÆóÒµÃÅ»§Óë(i) Ô­ÓÐÏµÍ³£»(ii) Oracle ºÍ·ÇOracle Êý¾Ý¿â£»(iii) ³ÌÐò°üÓ¦ÓÃ³ÌÐò£»¼°(iv) ÉÌÎñºÏ×÷»ï°é¼¯³Éµ½Ò»Æð¡£ 

ÉÌÎñÖÇÄÜ¡ª¡ª×îºó£¬Oracle9iAS ÎªÓÃ»§Ìá¹©¹ØÓÚËüÃÇµÄÓ¦ÓÃ³ÌÐòµÄÈ«ÃæµÄÉÌÎñÖÇÄÜ¡ª¡ª(i) Ìá¹©»ùÓÚ·ÃÎÊÕßÐÐÎªµÄÊµÊ±¡°¸öÐÔ»¯¡±½¨Òé£»(ii) ·ÖÎöµã»÷Á÷ÈÕÖ¾²¢ÌáÈ¡¹ØÓÚWeb Õ¾µãÉÏ×ÜÌåWeb Í¨ÐÅµÄÖÇÄÜ£»¼°(iii) Ê¹ÓÃÇ¿´óµÄÉÌÎñÖÇÄÜ¹¤¾ßÉú³É»ùÓÚWeb µÄ±¨±íºÍ¾ö²ß·ÖÎö¡£ 

Ó¦ÓÃ³ÌÐò²¿ÊðÓë¹ÜÀí 

Ê¹ÓÃOracle9iAS£¬¿ÉÒÔ¿É¿¿µØ²¿ÊðºÍ¹ÜÀíÓ¦ÓÃ³ÌÐò¡£Ê¹ÓÃOracle9iAS£¬ÄúÄÜÒÔ³öÉ«µÄÐÔÄÜºÍ¿ÉÉìËõÐÔ²¿ÊðÈÎºÎÕâÐ©Ó¦ÓÃ³ÌÐò£¬¼õÉÙËùÐèµÄÓ²¼þÊýÁ¿£¬´Ó¶øÎªÓÃ»§Ìá¹©ÏàÍ¬µÄ¸ßÖÊÁ¿·þÎñ¡£Äú¿ÉÒÔÍ¨¹ýÔÚWeb »º´æÖÐ½øÐÐ¹¹½¨½øÒ»²½ÌáÉýÏµÍ³µÄÐÔÄÜ¡¢¿ÉÉìËõÐÔºÍ¿ÉÓÃÐÔ¡£ÄãµÄÓ¦ÓÃ³ÌÐò½«ÔÚ´æÔÚ¶à¸öÏµÍ³¹ÊÕÏµÄÇé¿öÏÂ£¬¼°ÔÚ½øÐÐÈí¼þÎ¬»¤²Ù×÷Ê±£¬ÈÔ¿É±£³Ö¸ß¿ÉÓÃÐÔ¡£×îºó£¬Äú¿ÉÒÔÊµÏÖ¼¯ÖÐµÄÏµÍ³¹ÜÀí¡¢°²È«ÐÔºÍÄ¿Â¼¿ò¼ÜÒÔ¼à¿Ø¡¢¹ÜÀíºÍ±£»¤ËùÓÐ·Ö²¼Ê½ÏµÍ³ºÍÓÃ»§¡£ÌØ±ðÊÇ£¬Oracle ÈÏÊ¶µ½Oracle9iAS µÚ2 °æÌá¹©ÒÔÏÂ²ûÊöµÄÁù¸öÌØ¶¨µÄ¹¤¾ß£º 


¡¡¡¡ 
×îµÍµÄ×ÜÕ¼ÓÐ³É±¾ 

×îºó£¬Oracle9iAS µÚ2 °æÉè¼ÆÓÃÓÚÍ¨¹ýÎªÓÃ»§Ìá¹©Ò»¸öµ¥¸öµÄ¼¯³É²úÆ·½µµÍÔÚ¿ª·Å¡¢²¿ÊðºÍ²Ù×÷Ó¦ÓÃ³ÌÐòÊ±µÄ×ÜÕ¼ÓÐ³É±¾(TCO)¡£´æÔÚÐí¶àÊ¹¸Ã²úÆ·³ÉÎªÒ»ÌåµÄ¹¦ÄÜ£º 

µ¥¸ö¼¯³É²úÆ·¡ª¡ªOracle9iAS ÊÇÎ¨Ò»ÔÚÐí¶à²»¶àµÄ·½ÃæÓë¾ºÕùÕßÓÐ¹ØÁªµÄµ¥¸ö¼¯³É²úÆ·¡£ÓÃ»§(i) °²×°ºÍÅäÖÃËùÓÐÆäÔªËØ×÷Îªµ¥¸ö²úÆ·£»(ii) Í¨¹ýÔÚµ¥¸ö³¡Ëù¶¨ÒåÓÃ»§ºÍËûÃÇµÄ°²È«ÐÔÈ¨ÏÞ±£»¤Ëü£»(iii) ´Óµ¥¸ö¹ÜÀí¿ØÖÆÌ¨¹ÜÀíËùÓÐÏµÍ³£»(iv) ÒÔµ¥Ò»·½Ê½È«Çò»¯Ó¦ÓÃ³ÌÐò£»(v) Ê¹ÓÃ³£¼ûµÄ¡¢Ò»ÖÂµÄÈÏÖ¤¼¼Êõ¶Ñµþ£»(vi) ½«Ó¦ÓÃ³ÌÐò¿ª·¢µ½Ò»×é¿ª·ÅÊ½±ê×¼£¨J2EE¡¢Web Service ¼°ÆäËü£©£»(vii) ½«ÕâÐ©Ó¦ÓÃ³ÌÐò×Ô¶¯¼¯³Éµ½Ò»¸öÆóÒµÃÅ»§ÖÐ£»²¢(viii) Ê¹ÕâÐ©Ó¦ÓÃ³ÌÐòºÍ·þÎñ¿É´Óä¯ÀÀÆ÷ºÍÎÞÏßÉè±¸½øÐÐÍ¸Ã÷·ÃÎÊ¡£Í¨¹ý½«ËùÓÐÕâÐ©ÔªËØÍ³Ò»µ½Ò»¸öµ¥¸ö¼¯³É²úÆ·ÖÐ£¬Oracle9iAS ½µµÍÁËÓë¿ª·¢¡¢²¿ÊðºÍ²Ù×÷Ó¦ÓÃ³ÌÐòÏà¹ØÁªµÄ³É±¾¡£ 

×îµÍµÄTCO¡ª¡ªOracle9iAS Ìá¹©×îµÍµÄÕ¼ÓÐ³É±¾£¬ÊÇÍ¨¹ýÒÔÏÂ¸÷ÏîÊµÏÖµÄ£º(i) ÓÉ Oracle9iAS ÓÐ¾ºÕùÁ¦µÄ¼Û¸ñºÍ¸ü¶àµÄÒÑÓÐ¹¦ÄÜÄ£¿é¶øµ¼ÖÂ×îµÍµÄÈí¼þ³É±¾£»(ii) ÓÉÓÚÌáÉýµÄ¿ÉÉìËõÐÔºÍ»º´æ¹¤¾ß¶øµ¼ÖÂµÄÓ²¼þ³É±¾½µµÍ£¬ÕâÊ¹µÃ¿ÉÒÔÊ¹ÓÃ¸üÉÙµÄÓ²¼þÈ¥·þÎñ¸ü¶àµÄÓÃ»§£»(iii) ÓÉÓÚ¸ü¿íµÄ¡¢¸üºÃµÄ¼¯³É²úÆ·¶øµ¼ÖÂ×îµÍµÄ¼¯³É³É±¾£» (iv) ÓÉÓÚÓÃ»§¹ÜÀí1 ¸ö²úÆ·¶ø²»ÊÇÒ»´ó¶Ñ²»Í¬µÄ²úÆ·¶øÊ¹¹ÜÀí³É±¾×îµÍ£»(v) ÓÉÓÚ¶ÔÕâÐ©²»Í¬µÄ¹¦ÄÜÊ¹ÓÃµ¥¸öÖ§³ÖºÏÍ¬¶øÊ¹Ö§³Ö³É±¾×îµÍ¡£´Ë¼¼Êõ°×Æ¤ÊéÇ¿µ÷ÔÚÀûÓÃµ¥¸öµç×ÓÉÌÎñÆ½Ì¨ÖÐµÄ¹ÌÓÐÖµ£¬Òò´Ë¹«Ë¾¿ÉÒÔ×îÐ¡»¯ÔÚI/T »ù´¡¼Ü¹¹ÉÏµÄ»¨·Ñ£¬²¢¼¯ÖÐÓÚËüÃÇµÄºËÐÄÄÜÁ¦ÒÔ¼õÉÙËüÃÇµÄ×ÜÕ¼ÓÐ³É±¾²¢´´½¨¾ºÕùÓÅÊÆ¡£
]]></description>
		</item>
		<item>
			<title>¹ØÓÚOracleÊý¾Ý¿âÖÐµÄN²ãÈÏÖ¤¾ßÌå½éÉÜ</title>
			<link>http://www.kingmx.com/article.php?id=14791</link>
			<pubDate>2006-12-17</pubDate>
			<description><![CDATA[

¿ª·¢·ÃÎÊÊý¾Ý¿âµÄWebÓ¦ÓÃ³ÌÐòÊ±£¬´ó¶àÊý¿ª·¢ÈËÔ±ÒªÉèÖÃÒ»¸öÁ¬½Ó³Ø£¨Ò»ÅúÔ¤ÏÈ´ò¿ªµÄÓÉÖÐ¼ä²ã±£³ÖµÄÊý¾Ý¿â»á»°ÆÚ£©À´Ìá¸ßÁ¬½ÓËÙ¶È¡£Ó¦ÓÃ³ÌÐò´ÓÁ¬½Ó³Ø»ñµÃÁ¬½Ó£¬Òª±ÈÎªÃ¿Ò»¸öÓÃ»§ÇëÇó´´½¨ÐÂµÄÁ¬½Ó¿ìµÃ¶à¡£ 

Á¬½Ó³ØµÄÈ±µãÊÇÃ¿¸öÓÃ»§Òª×÷ÎªÒ»¸öµ¥Ò»µÄ¡¢¸ß¼¶È¨ÏÞÊý¾Ý¿âÕË»§ÏòÊý¾Ý¿â×¢²á¡£¾¡¹ÜWebÓÃ»§Í¨³£ÊÇÓÃËûÃÇÎ¨Ò»µÄÉí·ÝÏòÓ¦ÓÃ³ÌÐò×¢²á£¬µ«Ö»ÒªÊý¾Ý¿âÒÑ¾­±»Á¬½Ó£¬ÔòËùÓÐµÄÏµÍ³ÓÃ»§¾Í¶¼ÊÇÄäÃûµÄ¡£ 

OracleÊý¾Ý¿âÔÚ°²È«ÐÔ·½ÃæÓÐºÜºÃµÄÉùÓþ£¬Òò¶øÀûÓÃËüµÄÖØÒª°²È«ÐÔ¹¦ÄÜÀ´Ö´ÐÐÄãµÄÓ¦ÓÃ³ÌÐò°²È«ÐÔÕþ²ßÊÇ·Ç³£ÊÊÒËµÄ¡£Èç¹ûÒÑÖªÓÃ»§Éí·Ý£¬¸ÃÊý¾Ý¿â¾ÍÄÜ¹»½øÐÐÉó¼Æ²¢ÊµÊ©»ùÓÚ½ÇÉ«µÄºÍÏ¸Á£¶È»¯µÄ·ÃÎÊ¿ØÖÆ£¬°üÀ¨ÐéÄâ×¨ÓÃÊý¾Ý¿â£¨Virtual Private Database£¬VPD£©¡£ 

OracleÖÁÉÙÌá¹©Á½ÖÖÔÚËùÓÐ¸÷²ã£¨tiers£©±£³ÖÓÃ»§Éí·ÝµÄ·½·¨£º´úÀíÈÏÖ¤ºÍÓ¦ÓÃ³ÌÐòÉÏÏÂÎÄ²ÎÊýCLIENT_IDENTIFIER¡£ 

´úÀíÈÏÖ¤ 

´úÀíÈÏÖ¤Ê¹ÖÐ¼ä²ãÄÜ¹»ÓÃ"ÆÕÍ¨£¨generic£©"»ò"Ó¦ÓÃ³ÌÐò£¨application£©"ÕË»§¶ÔÊý¾Ý¿âµÄ·ÃÎÊ½øÐÐÈÏÖ¤£¬È»ºó¼´´ú±íÕæÊµµÄÓÃ»§½¨Á¢Çá±ã»á»°¡£Ò»¸ö´úÀí»á»°¿ÉÒÔÍ¨¹ýÌá½»ÓÃ»§µÄ±æÈÏÃû£¨Distinguished Name (DN)£©£¬¼´Ò»¸öx.509Ö¤Êé£¬»òÈ«¾ÖÎ¨Ò»ÓÃ»§ÃûÀ´½¨Á¢¡£ 

ÀýÈç£¬ÎªÁËÔÊÐíÓÃ»§KyleÍ¨¹ý¾ßÓÐ½ÇÉ«adminµÄÖÐ¼ä²ã£¨Ëü×÷ÎªÓÃ»§webapp±£³ÖÒ»¸öÁ¬½Ó³Ø£©Á¬½Óµ½Êý¾Ý¿â£¬Êý¾Ý¿â¹ÜÀíÔ±Ê×ÏÈÊÚÓèÈçÏÂµÄÈ¨ÏÞ£ºALTER USER Kyle GRANT CONNECT THROUGH webapp WITH ROLE admin; 

½Ó×Å£¬¸ÃÓ¦ÓÃ³ÌÐò´úÂë£¨ÔÚÕâÀïÊÇÒ»¸öservlet£©·­Òë´ÓWeb½ÓÊÕµ½µÄÓÃ»§Ãû²¢½¨Á¢ÈçÏÂËùÊ¾µÄ´úÀí»á»°£º 






¡¡¡¡
¡¡¡¡String userName = request.getRemoteUser();
¡¡¡¡
¡¡¡¡InitialContext initial =
¡¡¡¡new InitialContext();
¡¡¡¡OracleOCIConnectionPool ds =
¡¡¡¡(OracleOCIConnectionPool)
¡¡¡¡initial.lookup("jdbc/OracleOciDS");
¡¡¡¡oracle.jdbc.OracleConnection conn = null;
¡¡¡¡
¡¡¡¡Properties p = new Properties();
¡¡¡¡p.setProperty(PROXY_USER_NAME, username);
¡¡¡¡conn = ds.getProxyConnection(
¡¡¡¡PROXYTYPE_USER_NAME, p);
¡¡¡¡ 
´úÀíÈÏÖ¤ÔÊÐíÊ¹ÓÃ°üÀ¨½ÅÉ«ÔÚÄÚµÄËùÓÐÊý¾Ý¿â°²È«ÐÔ¹¦ÄÜ£¬µ«ÊÇËüÒªÇóÄãÉèÖÃÕæÊµµÄÊý¾Ý¿âÓÃ»§£¨Êý¾Ý¿â»òÆóÒµ£©¡£ 

Ê¹ÓÃCLIENT_IDENTIFIER 

µ«ÊÇ£¬¼Ù¶¨ÄãÓÐ³É°ÙÉÏÇ§µÄÓÃ»§£¬¶øÄã²»ÏëÎªÃ¿¸öÓÃ»§¶¼ÉèÁ¢Ò»¸öOracleÊý¾Ý¿â»òÆóÒµÓÃ»§¡£ÄÇÃ´ÄãÒ²¿ÉÒÔÍ¨¹ýÊ¹ÓÃÓ¦ÓÃ³ÌÐòÉÏÏÂÎÄ½«ÓÃ»§Éí·Ý´ÓÖÐ¼ä²ã´«µÝµ½¸ÃÊý¾Ý¿â¡£ 

Ó¦ÓÃ³ÌÐòÉÏÏÂÎÄÊÇÒ»×é¿ÉÓÃÓÚÊý¾Ý¿â»á»°µÄÃû×Ö/Öµ¶Ô¡£Oracle9iÓÐÔ¤¶¨ÒåµÄÓ¦ÓÃ³ÌÐòÉÏÏÂÎÄÃû×Ö¿Õ¼äUSERENV£¬Ëüº¬ÓÐÓÃ»§»á»°ÐÅÏ¢£¬°üÀ¨Ô¤¶¨ÒåµÄÊôÐÔCLIENT_IDENTIFIER¡£ÕâÒ»ÊôÐÔÍ¨³£ÓÃ×÷´ÓÈ«¾ÖÓ¦ÓÃ³ÌÐòÉÏÏÂÎÄÑ¡È¡ÖµµÄ»á»°±êÊ¶·û£¬µ«ÊÇÎÒÃÇ½«ÉÔ¼Ó±ä¸ü£¬½«ËüÓÃÓÚ±£³ÖWebÓÃ»§±êÊ¶·û¡£ 

´Óservlet»òEnterprise JavaBeans (EJB)»á»°bean£¬Ó¦ÓÃ³ÌÐò´úÂë½«´ÓWebÇëÇó¼ìË÷ÓÃ»§Ãû£¬È»ºóµ÷ÓÃÄÚ²¿PL/SQL¹ý³ÌÉèÖÃCLIENT_IDENTIFIER£º 






¡¡¡¡
¡¡¡¡String userName = request.getRemoteUser();
¡¡¡¡...(set up the JDBC connection)...
¡¡¡¡PreparedStatement ps = conn.prepareCall(
¡¡¡¡"begin dbms_session.set_identifier(?);
¡¡¡¡end;");
¡¡¡¡ps.setString(1, username);
¡¡¡¡ps.execute();
¡¡¡¡
¡¡¡¡SELECT sys_context('userenv', 'client_identifier') FROM dual;
¡¡¡¡ 
Ê¹ÓÃÕâÖÖ·½·¨Ã»ÓÐÊ¹ÓÃ´úÀíÈÏÖ¤ÄÇÑù°²È«¡£ÒòÎªÈÎºÎÈË¶¼ÄÜÉèÖÃÕâ¸öÉÏÏÂÎÄÖµ£¬Äã±ØÐë½èÖú¶îÍâµÄ°²È«ÐÔ´ëÊ©£¬ÈçÏ¸Á£¶ÈµÄ·ÃÎÊ¿ØÖÆºÍ°²È«µÄÓ¦ÓÃ³ÌÐò½ÇÉ«µÈ¡£ÄãµÄÓ¦ÓÃ³ÌÐò»¹Ó¦ÔÚ½«Êý¾Ý¿âÁ¬½Ó·µ»Ø¸øÁ¬½Ó³ØÖ®Ç°Çå³ýCLIENT_IDENTIFIERÊôÐÔ¡£
]]></description>
		</item>
		<item>
			<title>Oracle´¦Àí¶àÃ½ÌåÐÅÏ¢µÄÔ­Àí¼°Õ¹Íû</title>
			<link>http://www.kingmx.com/article.php?id=14790</link>
			<pubDate>2006-12-17</pubDate>
			<description><![CDATA[

ÒýÎÄ£º 

³¤ÆÚÒÔÀ´£¬¶àÃ½ÌåÐÅÏ¢ÔÚ¼ÆËã»úÖÐ¶¼ÊÇÒÔÎÄ¼þÐÎÊ½´æ·Å£¬ÓÉ²Ù×÷ÏµÍ³¹ÜÀíµÄ£¬µ«ÊÇËæ×Å¼ÆËã»úÍøÂç£¬·Ö²¼Ê½¼ÆËãµÄ·¢Õ¹£¬¶Ô¶àÃ½ÌåÐÅÏ¢½øÐÐ¸ßÐ§µÄ¹ÜÀí£¬´æÈ¡£¬²éÑ¯ÒÑ¾­³ÉÁËÒ»ÖÖÆÈÇÐÐèÇó¡£¶ø¹ØÏµÊý¾Ý¿âÈ´ÓÐ×ÅÇ¿´óµÄÊý¾Ý¹ÜÀíÄÜÁ¦¡£Á½·½Ãæ½áºÏ£¬¶àÃ½ÌåÊý¾Ý¿âÓÉ´ËÓ¦ÔË¶øÉú¡£±¾ÎÄ½«¾ÍOracle¶Ô¶àÃ½ÌåÐÅÏ¢½øÐÐ´¦ÀíµÄ·½Ê½£¬¹¤¾ß£¬ÌØÉ«ÒÔ¼°Ò»Ð©»ù±¾Ô­Àí×öÒ»¸ö×ÛÊö¡£ 

µ«ÊÇÎÒÃÇ²»ÄÜ²»ÒÅº¶µÄ¿´µ½£¬ÏÖÓÐÊý¾Ý¿â¶ÔÒ»Ð©¶àÃ½ÌåÊý¾ÝËùÌØÓÐµÄ²Ù×÷ÄÜÁ¦»¹ÊÇºÜÓÐÏÞµÄ¡£Õë¶Ô¶àÃ½ÌåÊý¾Ý¿âµÄÐÔÄÜµ÷ÓÅÏÖÔÚÒ²Óöµ½ÁËÐÂµÄÎÊÌâ¡£ËäÈ»Èç´Ë£¬¶àÃ½ÌåÊý¾Ý¿âÈÔ¾É²úÉúÁË¹ãÀ«µÄÓ¦ÓÃ¼ÛÖµºÍÇ°¾°¡£ 

µ±È»±¾ÎÄ²»¿ÉÄÜÃæÃæ¾ãµ½£¬ÓÐ¹ØOracle¶àÃ½ÌåÐÅÏ¢´¦ÀíµÄ¾ßÌåÄÚÈÝ£¬Çë²éÔÄOracleÏà¹ØÊÖ²á¡£ 

Ò».Ó¦ÓÃÇ°¾°×ÛÊö 

Ëæ×Å¼ÆËã»ú´¦ÀíÄÜÁ¦µÄ´ó¸±Ìá¸ß£¬¶àÃ½ÌåÔçÒÑ¾­ÈÚÈëµ½ÁË¼ÆËã»úµ±ÖÐÁË£¬Èç¹ûÈ±ÉÙÁË¶àÃ½Ìå£¬È±ÉÙÁË¸÷ÖÖ¶à×Ë¶à²ÉµÄÍ¼Ïó£¬ÒôÆµ£¬ÊÓÆµ£¬ºÜÄÑÏëÏó¼ÆËã»úÈç½ñ»á×ßÈëÇ§¼ÒÍò»§¡£³¤ÆÚÒÔÀ´£¬¶àÃ½ÌåÐÅÏ¢ÔÚ¼ÆËã»úÖÐ¶¼ÊÇÒÔÎÄ¼þÐÎÊ½´æ·Å£¬ÓÉ²Ù×÷ÏµÍ³¹ÜÀíµÄ£¬µ«ÊÇËæ×Å¼ÆËã»úÍøÂç£¬·Ö²¼Ê½¼ÆËãµÄ·¢Õ¹£¬¡¡ ¡¡¡¡Oracle×÷ÎªÒ»¼ÒÖøÃûµÄÊý¾Ý¿â³§ÉÌ£¬ÔÚ¶àÃ½ÌåÐÅÏ¢´¦ÀíÉÏ£¬¸üÊÇ×ßÔÚÁËÇ°±ß¡£±¾ÎÄ½«¾ÍOracle¶Ô¶àÃ½ÌåÐÅÏ¢½øÐÐ´¦ÀíµÄ·½Ê½£¬¹¤¾ß£¬ÌØÉ«ÒÔ¼°Ò»Ð©»ù±¾Ô­Àí×öÒ»¸ö×ÛÊö¡£Ï£Íû¶Ô¶ÁÕßÓÐËùÆô·¢¡£µ±È»£¬¹ØÏµÊý¾Ý¿â»¹ÓÐºÃ¶à¼Ò£¬ËäÈ»¿ª·¢¹¤¾ß£¬±à³Ì½Ó¿ÚÓï¾ä¸÷Òì£¬µ«ÔÚÊý¾ÝÀàÐÍ¡¢´¦Àí·½Ê½ÉÏ±È½ÏÏàËÆ¡£ËùÒÔÎÒÃÇÔÚ´ËÂÔ¹ý¡£ 

¶þ.¶àÃ½ÌåÊý¾ÝÀàÐÍ½éÉÜ 

ÔÚ¹ØÏµÐÍÊý¾Ý¿âÖÐ£¬¶àÃ½ÌåÐÅÏ¢µÈ´óÐÍ¶ÔÏóÊÇÓÉlobÐÍ×Ö¶ÎÀ´½øÐÐ´æÈ¡µÄ¡£ÔÚOracle8iÖÐ£¬ÕýÊ½ÒýÈëÁË´Ë±ê×¼£¬ÒÔÊÊÓ¦¶àÃ½Ìå´ó¶ÔÏó´¦ÀíµÄÐèÇó¡£OracleÊý¾Ý¿âÖÐ£¬lobÐÍÊý¾ÝÓÐÒÔÏÂ¼¸ÖÖ£º 

Clob£º ºÍOracle7µÄlongÐÍÏàËÆ£¬clob¿ÉÒÔ´æ´¢µ¥×Ö½ÚÐÍÊý¾Ý¡£ 

Nclob£º Nclob´æ´¢¶¨¿íµÄ¶à×Ö½Ú¹ú¼Ò×Ö·û¼¯Êý¾Ý¡£ 

Blob£º ºÍOracle7ÖÐµÄlong rawÀàÐÍÏàËÆ¡£¿ÉÒÔ´æ´¢ÎÞ½á¹¹µÄ¶þ½øÖÆÊý¾Ý¡£Oracle8Ã»ÓÐ¶ÔÕâÖÖÊý¾Ý½øÐÐ½âÊÍ £¬Ö»ÊÇ°´ÕÕÔ­À´µÄÐÎÊ½´æ´¢ºÍ¼ìË÷Ëü¡£ 

Bfile£º BfileÔÊÐí¶ÔOracleÊý¾Ý¿âÒÔÍâ´æ´¢µÄ´óÐÍ¶þ½øÖÆÎÄ¼þ½øÐÐÖ»¶ÁÐÎÊ½µÄ·ÃÎÊ¡£ºÍÆäËüÈýÖÖlobÀàÐÍÊý¾Ý ²»Í¬µÄÊÇ£¬bfileÀàÐÍÊý¾Ý´æ´¢ÔÚÒ»¸öµ¥¶ÀµÄÎÄ¼þÖÐ£¬¸ÃÎÄ¼þ²»ÓÉOracleÀ´Î¬»¤¡£ 

ÌØµã£º 

1.ÔÚOracle7ÖÐ£¬ÏàÓ¦µÄlong»òlong raw×Ö¶ÎÓÐ2gµÄÏÞÖÆ£¬¶ølobµÄÏÞÖÆÊÇ4g ¡£ 

2.lob¿ÉÒÔÊ¹ÓÃµ÷ÓÃ½Ó¿ÚOCI»òÕßÓÉpl/sqlÀûÓÃdbms_lob°ü½øÐÐ²Ù×Ý¡£ 

3.lob²»ÏólongÐÍÄÇÑùÃ¿¸ö±íÖÐ×î¶àÖ»ÓÐÒ»¸ö×Ö¶ÎµÄÏÞÖÆ£¬Æä¿ÉÒÔÓÐ¶à¸ö£¬¶øÓÖ¿ÉÒÔÀûÓÃ´¥·¢Æ÷µÄÌØÐÔ¡£ 

4.lobÊý¾Ý´¦Àí¿ÉÒÔ»ñµÃÓëÆäËüÊý¾ÝÍ¬ÑùµÄÊÂÎïÌØÐÔ¡£ 

5.lobµÄ´æ´¢±È½ÏÌØÊâ£¬Ëü²¢²»ÊÇ¸úÆäËûÊý¾Ý´æ´¢ÔÚÍ¬Ò»¸öÊý¾Ý¿â±íÖÐ£¬¶øÊÇ¿ÉÒÔµ¥¶À´æ·ÅÓÚ²»Í¬µÄ±í¿Õ¼äÖÐ£¬ÓÉÒ»¸ö¶¨Î»·ûÖ¸ÏòÊµ¼ÊµÄlobÊý¾Ý¡£ 

Èý.¶àÃ½Ìå´ó¶ÔÏó´æÈ¡Àý³Ì¾ÙÀý 

°´ÕÕÈçÏÂ²½ÖèÀ´Íê³É¸÷¸ö²Ù×÷£º 

£¨1£©ÏÈ½¨Á¢Ò»¸öÊý¾Ý¿â±í£º 






¡¡¡¡
¡¡¡¡create table lobdemo(key NUMBER KEY,
   clob_col CLOB,blob_col BLOB,bifle_col BFILE);

Õâ¸öÊý¾Ý¿âµÚÒ»ÁÐ´æ´¢Ò»¸öÂë£¬ÁíÍâÈýÁÐ´æ´¢lobÐÍÊý¾Ý¡£ 

£¨2£©±í½¨ºÃÒÔºó£¬Íù±íÖÐ²åÈëÒ»ÌõÊý¾Ý£º 

¡¡ 





¡¡
¡¡¡¡insert into
¡¡¡¡lobdemo(key,clob_col,blob_col,bfile_col) values
(10,'abcdefghijklmnopqrsatuvwxyzasdffasfsdS',
empty_blob(),null);

ÔÚÕâÒ»ÌõÊý¾ÝÖÐ,µÚ¶þÁÐÎÒÃÇ²åÈëÒ»¸ö×Ö·û´®£¬Ëü±»¸ñÊ½»¯ÎªclobÀàÐÍÊý¾Ý½øÐÐ´æ´¢£»µÚ¶þÁÐÎÒÃÇÊ¹ÓÃempty_blob£¨£©º¯ÊýÀ´³õÊ¼»¯Ò»¸ö¶¨Î»·û£¬ÒÔºó¾Í¿ÉÒÔ»ñÈ¡Õâ¸ö¶¨Î»·û½øÐÐ±ÈÈçselect£¬updateµÈ²Ù×÷ÁË£»µÚÈýÁÐ¸³¿ÕÖµ£¬Ëü²¢Ã»ÓÐ»ñµÃÒ»¸ö¶¨Î»·û£¬ÕâÊÇÓëempty_blob£¨£©º¯ÊýµÄÇø±ð¡£ 

£¨3£©²éÑ¯²åÈë±íÖÐµÄÊý¾Ý 

¡¡ 





¡¡
¡¡¡¡select blob_col from boldemo where key=20;

×¢Òâ£ºÕâÒ»sqlÓï¾äµÄ·µ»Ø½á¹ûÊÇÒ»¸ö¶¨Î»·û£¨locator£©£¬¶ø²»ÊÇÊµ¼ÊµÄÊý¾Ý±¾Éí¡£ 

£¨4£©ÐÞ¸ÄÊý¾Ý¿âÖÐÊý¾Ý 

¡¡ 





¡¡
¡¡¡¡update lobdemo SET blob_col='aedevbagddgagdfdfasasdfdsa' where key=10;

´ÓÕâÐ©sqlÓï¾äµ±ÖÐ£¬ÎÒÃÇ¿´µ½ÁËlobÐÍÊý¾Ý´¦ÀíµÄ»ù±¾·½·¨£¬·¢ÏÖÓëÆäËûÀàÐÍÊý¾Ý´¦ÀíÏàËÆ¡£µ«ÊÇsqlÓï¾äÖÐlobÐÍÊý¾Ý´¦ÀíµÄÌØÊâÐÔÔÚÓÚÒÔÏÂ·½Ãæ£º 

£¨1£©bfileÎÄ¼þµÄ´¦Àí£º 

bfileÀàÐÍÓÐ×ÅÌØÊâÐÔ£¬¸úclob£¬blob²»Í¬¡£Êµ¼ÊµÄÊý¾ÝÎÄ¼þ´æ´¢ÔÚ²Ù×÷ÏµÍ³µÄÍâÃæ£ºËùÒÔÓÐÁ½¸öÌØµã£º1.Ã»ÓÐÊÂÎñÐÔ¿ØÖÆ 2.bfileÊÇÖ»¶ÁµÄ£¬²»ÄÜÓÃdbms_lob»òoracl8 oci½øÐÐÐÞ¸Ä¡£ÈÃÎÒÃÇÀ´¿´¶ÔbfileµÄ²Ù×÷²½Öè£º 

&lt;1&gt; ÎªÁË·ÃÎÊÍâ²¿ÎÄ¼þ£¬·þÎñÆ÷ÐèÒªÖªµÀÎÄ¼þÔÚ²Ù×÷ÏµÍ³ÖÐµÄÎ»ÖÃ¡£ÏÂÃæÎÒÃÇ½¨Á¢Ò»¸öÄ¿Â¼£º 






¡¡¡¡create DIRECTORY utils AS '/home/utils';

utils±íÊ¾Ä¿Â¼Âß¼­Ãû£¬'/home/utils'ÊÇÊµ¼ÊÄ¿Â¼¡£ 

&lt;2&gt;Ê¹ÓÃbfilenameº¯Êý²åÈëÒ»ÐÐÊý¾Ý£º 

¡¡ 





¡¡
¡¡¡¡insert into lobdemo(key,bfile_col) 
   values (-1,biflename('utils','file1'));
¡¡

bfilenameº¯ÊýµÄµÚÒ»¸ö²ÎÊýÊÇÂß¼­Ä¿Â¼Ãû£¬µÚ¶þ¸ö²ÎÊýÊÇÎÄ¼þÃû¡£×¢Òâ£ºÕâÒ»ÐÐÖÐ²åÈëµÄÊÇÒ»¸öÖ¸Ïò/home/utils/file1µÄlob¶¨Î»·û,²¢²»ÊÇÎÄ¼þ±¾Éí¡£ 

£¨2£©ÀûÓÃdbms_lob°ü½øÐÐlobÊý¾Ý²Ù×÷ 

sql½ö¿ÉÒÔ²Ù×ÝÕû¸ölob£¬¶ø²»ÄÜ²Ù×ÝÊý¾ÝÆ¬¡£dbms_lob°üÔò·Å¿ªÁËÕâ¸öÏÞÖÆ£¬ËüÌá¹©¶ÔlobÊý¾ÝÖÐÊý¾ÝÆ¬µÄ²Ù×÷¡£Õâ¸ö°üÖÐ°üº¬Ê®¼¸¸öÀý³Ì£¬¶ÁÕß¿ÉÒÔ²éÔÄOracle pl/sqlÊÖ²á£¬±¾ÎÄÖ»½éÉÜÈý¸öº¯Êý£ºfileopen£¨£©ÓÃÀ´´ò¿ªÒ»¸ö²Ù×÷ÏµÍ³ÎÄ¼þ£»loadfromfile£¨£©Àý³ÌÓÃÀ´ÍùÄ¿±êlob×Ö¶ÎÌî³äÒ»¸ö²Ù×÷ÏµÍ³ÎÄ¼þ£¬Õâ¸öº¯ÊýºÜÓÐÊµÓÃ¼ÛÖµ£¬ÒòÎªÓÐÐí¶àlobÄÚÈÝÔÚsqlÓï¾äÖÐÊÇ²»¿ÉÃèÊöµÄ£¬ÀýÈçÒ»¸ö¶þ½øÖÆÒôÆµÎÄ¼þ£¬¶øÓÃÕâ¸öº¯Êý¿ÉÒÔ½«ÎÄ¼þÄÚÈÝµ¼Èëµ½Êý¾Ý¿â£»getlengthº¯Êý¼ÆËãÎÄ¼þµÄ³¤¶È¡£Çë¿´ÏÂÃæÒ»¸ö´æ´¢¹ý³ÌÖÐÕâÈý¸öº¯ÊýµÄÊ¹ÓÃ£º 

¡¡ 





¡¡
¡¡¡¡create or replace procedure FileExec(
¡¡¡¡p_Directory in VARCHAR2,
¡¡¡¡p_Filename IN VARCHAR2
¡¡¡¡) AS
¡¡¡¡v_FileLocator BFILE;
¡¡¡¡v_CLOBLocator CLOB;
¡¡¡¡BEGIN
¡¡¡¡--Îªupdate³õÊ¼»¯Ò»¸ö¶¨Î»·û
¡¡¡¡SELECT clob_col
¡¡¡¡INTO v_CLOBLocator
¡¡¡¡FROM lobdemo
¡¡¡¡WHERE key=-1
¡¡¡¡FOR UPDATE;
¡¡

Îª¶ÁÎÄ¼þ³õÊ¼»¯Ò»¸öBFILE¶¨Î»·û: 

¡¡ 





¡¡
¡¡¡¡v_FileLocator:=BFILEOPEN(p_Derectory,p_Filename);

ÓÃdbms_lob°üµÄfileopen´ò¿ªÒ»¸ö²Ù×÷ÏµÍ³ÎÄ¼þ: 






¡¡¡¡
¡¡¡¡DBMS_LOB.FILEOPEN(v_FileLocator,DBMS_LOB.FILE_READONLY);

½«Õû¸ö²Ù×÷ÏµÍ³ÎÄ¼þ×°ÈëlobÖÐ: 






¡¡¡¡
¡¡¡¡DBMS_LOB.LOADFROMFILE(v_CLOBLocator,v_FileLocator,
   DBMS_LOB.GETLENGTH(v_FileLocator));
¡¡¡¡
¡¡¡¡END FileExec;

ËÄ.Oracle InterMedia¹¤¾ß½éÉÜ 

interMediaÊÇOracleÍÆ³öµÄ¶ÔOracle8i¶àÃ½Ìå¹¦ÄÜ½øÐÐÀ©³äµÄÒ»¸ö¼¯³É²¿¼þ£¬ËüÊ¹µÃOracleÄÜ¹»¸ü·½±ãµÄ¹ÜÀíÍ¼Ïó¡¢ÒôÆµ¡¢ÊÓÆµ¡¢ÎÄ±¾µÈÐÅÏ¢¡£Ê¹µÃOracleÔÚinternet£¬µç×ÓÉÌÎñµÈÁìÓò¶àÃ½ÌåÊý¾ÝµÄ¹ÜÀíÉÏ¿É¿¿ÐÔÓë¿ÉÓÃÐÔÔöÇ¿¡£Ëü°üÀ¨image, audio, videoÈý²¿·Ý¡£interMediaÊ¹ÓÃ¶ÔÏóÀàÐÍ£¬ÀàËÆÓÚJAVA»òC++£¬À´ÃèÊöimage, audio, videoÀàÐÍÊý¾Ý£¬OracleÔÚÕâÈýÀà¶ÔÏóÀàÐÍÖÐ¶¨ÒåÁËÐí¶à·½·¨À´²Ù×÷ÕâÐ©Êý¾Ý£¬Èç¶ÔÓÚ imageÀàÐÍÊý¾ÝÀ´Ëµ£¬Äã¿ÉÒÔºÜ·½±ãµØ½øÐÐÍ¼ÐÎ¸ñÊ½×ª»»£¬Ñ¹Ëõ£¬¿½±´£¬½ØÈ¡Í¼ÐÎµÄÈÎºÎÒ»²¿·ÝµÈ£¬¶øÕâÐ©ÊÇÆÕÍ¨LOBÀàÐÍÊý¾ÝËùÎÞ·¨±ÈÄâµÄ£¬ÆÕÍ¨sqlÓï¾äÒ²ÎÞ·¨Íê³ÉÕâÐ©²Ù×÷¡£ 

InternetµÄ·¢Õ¹¸üÍ»³öÁËinterMediaÔÚWEBÓ¦ÓÃÖÐµÄ¼ÛÖµ£¬ÏÖÓÐµÄWEBÓ¦ÓÃ¾ø´ó¶àÊý½«image,audio,videoµÈ¶àÃ½ÌåÐÅÏ¢´æÔÚÎÄ¼þÏµÍ³ÖÐ£¬ÆäÓÅµãÊÇ²Ù×÷¼òµ¥£¬ËÙ¶È¿ì£¬È±µãÊÇ¹ÜÀí¸´ÔÓ£¬ÓÈÆäÊÇ¹ÜÀí´óÁ¿imageÊ±¾ÍÊÜµ½Ä¿Â¼ÊýµÈµÄÏÞÖÆ¡£Èç¹û½«image±£´æÔÚÊý¾Ý¿âÖÐ£¬ÓÉÊý¾Ý¿âÀ´Í³Ò»Î¬»¤£¬Í³Ò»±¸·Ý£¬ÕâÑù¾Í¿ÉÒÔ¼ò»¯¹ÜÀí¡£ 

IntermediaÖÐ¶¨ÒåÁË¼¸¸ö¶àÃ½Ìå¶ÔÏóÀàÐÍ£¬ÀýÈçORDAUDIO¾ÍÊÇÆäÖÐÒ»¸ö£¬ËüÌá¹©Ò»Ð©audio¶ÔÏóÀàÐÍÊý¾ÝµÄ²Ù×Ýº¯Êý¡£ÏÂÃæÎÒÃÇÀ´¿´Ò»¸öÀý×Ó£¬ÔÚÕâ¸öÀý×ÓÖÐÎÒÃÇ¶¨ÒåÒ»¸ö¸èÇú¶ÔÏó£¬½¨Á¢Ò»¸ö¸èÇú¶ÔÏóµÄ±í£¬²¢¶Ô¸Ã±í½øÐÐ²åÈëÓë²éÑ¯²Ù×÷¡£ 

£¨1£©¶¨ÒåÒ»¸ö¸èÇú¶ÔÏó£º 






¡¡¡¡
¡¡¡¡CREATE TYPE songObject as OBJECT (
¡¡¡¡songId VARCHAR2(20), --¸èÇúºÅ
¡¡¡¡title VARCHAR2(4000), --ÌâÄ¿
¡¡¡¡artist VARCHAR2(4000), --×÷¼Ò
¡¡¡¡awards VARCHAR2(4000), --½±Ïî
¡¡¡¡timePeriod VARCHAR2(20), --ÈÕÆÚÊ±¼ä
¡¡¡¡txtinroduction CLOB, --¼ò½é
¡¡¡¡audioSource ORDSYS.ORDAUDIO --ÒôÆµÊý¾Ý£¬Õâ¸ö×Ö¶ÎÓÉORDAUDIO¶ÔÏóÀ´¶¨Òå¡£
¡¡¡¡);

£¨2£©½¨Á¢Ò»¸öÃûÎªsongtableµÄ±í£º 






¡¡¡¡
¡¡¡¡CREATE TABLE SongsTable of songObject (UNIQUE (songId), songId NOT NULL);

£¨3£©²åÈëÒ»ÐÐÊý¾Ýµ½SongsTable±íÖÐ 






¡¡¡¡
¡¡¡¡INSERT INTO SongsTable VALUES ('00',
¡¡¡¡'Under Pressure',
¡¡¡¡'Queen',
¡¡¡¡'no awards',
¡¡¡¡'80-90',
¡¡¡¡243,
¡¡¡¡NULL,
¡¡¡¡EMPTY_CLOB(),
¡¡¡¡ORDSYS.ORDAudio(NULL,
¡¡¡¡ORDSYS.ORDSource(EMPTY_BLOB(),NULL,NULL,NULL,NULL,NULL),
¡¡¡¡NULL, NULL, EMPTY_CLOB(), NULL, NULL, NULL, NULL, NULL, NULL));

×¢Òâ£º¡£EMPTY_CLOB£¬EMPTY_BLOB()º¯ÊýÖ»ÊÇ³õÊ¼»¯Ò»¸ölobÊý¾Ý¶¨Î»·û£¬¶øÃ»ÓÐ´æ´¢Êµ¼ÊµÄÊý¾Ý¡£ 

£¨4£©ÏòSongsTable±íÖÐÔØÈëÒ»ÐÐÊý¾Ý£º 






¡¡¡¡
¡¡¡¡DECLARE
¡¡¡¡audioObj ORDSYS.ORDAUDIO;
¡¡¡¡ctx RAW(4000) := NULL;
¡¡¡¡BEGIN
¡¡¡¡
¡¡¡¡--È¡µÃaudioSource×Ö¶Î¶¨Î»·û
¡¡¡¡
¡¡¡¡SELECT S.audioSource INTO audioObj
¡¡¡¡
¡¡¡¡FROM SongsTable S
¡¡¡¡WHERE S.songId = '00'
¡¡¡¡FOR UPDATE;

ÏÂÃæµÄËÄ¸öº¯ÊýÊÇORDAUDIO¶ÔÏóµÄ³ÉÔ±º¯Êý£¬¾ßÌå¹¦ÄÜÇë²é¿´Oracle¿ª·¢ÊÖ²á: 






¡¡¡¡
¡¡¡¡audioObj.setSource('FILE', 'AUDDIR', 'UnderPressure.au');--Éè¶¨ÎÄ¼þ
¡¡¡¡
¡¡¡¡audioObj.setMimeType('audio/basic'); --Éè¶¨ÀàÐÍ
¡¡¡¡
¡¡¡¡audioObj.import(ctx); --ÔØÈëctx
¡¡¡¡
¡¡¡¡audioObj.setProperties(ctx); --ÉèÖÃÊôÐÔ

½«¸èÇú¶ÔÏóÔØÈëµ½Êý¾Ý¿â±íÖÐ: 

¡¡ 





¡¡
¡¡¡¡UPDATE SongsTable S
¡¡¡¡SET S.audioSource = audioObj
¡¡¡¡WHERE S.songId = '00';
¡¡¡¡
¡¡¡¡COMMIT;
¡¡¡¡
¡¡¡¡END;

Îå.¶àÃ½ÌåÊý¾Ý¿â¼¼ÊõÄÑµãÓëÕ¹Íû 

¿ÉÒÔËµ£¬¶àÃ½ÌåÊý¾ÝµÄ¸ßÐ§¹ÜÀíÊÇIT¼¼Êõ·¢Õ¹µÄ±ØÈ»ÒªÇó£¬Ëæ×Å¶àÃ½ÌåÐÅÏ¢ÐèÇóµÄ½øÒ»²½¼ÓÇ¿£¬¶àÃ½ÌåÊý¾Ý¿â¼¼Êõ½«»áÓÐ¸ü´óµÄ·¢Õ¹£¬´ÓOracleÊý¾Ý¿âÖÐÎÒÃÇ¿ÉÒÔ¿´³ö£¬ÎÞÂÛÔÚÊý¾ÝÀàÐÍ£¬Êý¾Ý¹ÜÀí£¬»¹ÊÇ¿ª·¢¹ÜÀí¹¤¾ßÉÏ£¬ÏÖÔÚµÄÖ÷Á÷¹ØÏµÊý¾Ý¿âÒÑ¾­¾ßÓÐºÜÇ¿µÄ¶àÃ½ÌåÐÅÏ¢¹ÜÀíÄÜÁ¦¡£µ«ÊÇÎÒÃÇ²»ÄÜ²»ÒÅº¶µÄ¿´µ½£¬¶ÔÒ»Ð©¶àÃ½ÌåÊý¾ÝËùÌØÓÐµÄ²Ù×÷£¨±ÈÈç¶Ô¶àÃ½ÌåÐÅÏ¢µÄ²éÑ¯£©ÄÜÁ¦»¹ÊÇºÜÓÐÏÞµÄ¡£ 

Ò»¸öÎÊÌâ¾ÍÊÇ¶àÃ½ÌåÊý¾ÝµÄÌØÊâ²Ù×÷ÊµÏÖ£¬ÒòÎªlobÐÍÊý¾ÝÊÇ¶þ½øÖÆµÄ´ó¶ÔÏó£¬Ëû²»ÄÜ¼òµ¥µÄ°´ÕÕÒ»°ãÊý¾ÝµÄ²Ù×÷·ûÀ´½øÐÐ¼ÆËã¡£±ÈÈç£¬Òª²é³öÒ»¸öÊý¾Ý±íÖÐÓëÄ³Ê×¸èÏàËÆµÄÒôÆµ¡£ÄÇÃ´¶ÔÓÚÕâ¸ö'ÏàËÆ'²Ù×÷À´Ëµ£¬ËüµÃ²»µ½´«Í³µÄ²Ù×÷·ûµÄÖ§³Ö£¬¶øÇÒËü½«Éæ¼°ºÜ¸´ÔÓµÄËã·¨¡£¿ÉÏ²µÄÊÇ£¬Oracle9i IntermediaÒÑ¾­¾ßÓÐ¶àÃ½ÌåÊý¾ÝµÄ²éÑ¯ÓëÆ¥Åä¹¦ÄÜ£¬ÀýÈç£¬¿ÉÒÔ´ÓÖÊµØ£¨texture£©£¬ÐÎ×´£¬ÑÕÉ«£¬ÑÕÉ«·ÖÁ¿µÈÒªËØ½øÐÐÏàËÆÍ¼ÏóµÄ²éÑ¯£¬ÔÚ²éÑ¯Ê±¿ÉÒÔÉèÖÃ¸÷¸öÒªËØµÄÈ¨Öµ£¬²âÊÔµÄ½á¹û»¹ÊÇ²îÇ¿ÈËÒâµÄ¡£µ«ÊÇ¶Ôaudio£¬videoµÈÀàÐÍÊý¾ÝµÄ²éÑ¯ÈÔÈ»²»¹»ÀíÏë¡£ 

ÁíÍâ£¬ÈçºÎÃèÊö¶àÃ½ÌåÐÅÏ¢£¬ÔõÑù¸ù¾ÝÄã¶Ô¶àÃ½ÌåÐÅÏ¢µÄÃèÊöÀ´¼ìË÷£¬Ò²ÊÇÒ»¸öÄÑµãÎÊÌâ£¬±ÈÈçÕâ¸ö²éÑ¯ÈÎÎñ£º²éÑ¯³öÑÕÉ«±È½Ï°µµÄ²¢ÇÒÓÐÉ­ÁÖµÄ·ç¾°ÕÕÆ¬£¬Õâ¾ÍÊÇ¸ù¾ÝÃèÊöÐÔÐÅÏ¢½øÐÐ²éÑ¯µÄÀý×Ó¡£Õâ½«ÐèÒªÄ³ÖÖÐÐÒµ±ê×¼ºÍ¼¼ÊõÊµÏÖ¡£×ÜÖ®£¬ÈçºÎÊµÏÖºÍÓÅ»¯Õë¶Ô¶àÃ½ÌåÊý¾ÝµÄÌØÊâ²Ù×÷£¨ÈçÏàËÆ²éÑ¯µÈ£©£¬½«ÊÇÒÔºó¶àÃ½ÌåÊý¾Ý¿âÑÐ¾¿ºÍÓ¦ÓÃÖÐµÄÈÈµãÎÊÌâ¡£ 

ÁíÍâÒ»¸öÖØÒªµÄÎÊÌâ¾ÍÊÇÕë¶Ô¶àÃ½ÌåÊý¾Ý¿âµÄÐÔÄÜµ÷ÓÅ£¬Ô­ÏÈµÄµ÷ÓÅ·½·¨ÈçË÷ÒýÓÅ»¯µÈÈÔÈ»ÊÊÓÃ£¬µ«ÊÇÏÖÔÚÓöµ½ÁËÐÂµÄÎÊÌâ£º¶àÃ½ÌåÊý¾ÝÊÇÅÓ´óµÄ£¬ÄÇÃ´¶Ô¶àÃ½ÌåÐÅÏ¢µÄ²Ù×÷£¨ÓÈÆäÊÇ¼ìË÷£©¿ªÏú¾Þ´ó£¬ÄÇÃ´ÈçºÎ½µµÍÕâÖÖ¿ªÏú£¬Ëõ¶Ì²Ù×÷Ê±¼ä£¬ÓÖÊÇÒ»¸öÖØÒª¿ÎÌâ¡£
]]></description>
		</item>
		<item>
			<title>ÈëÇÖoracleÊý¾Ý¿âÊ±³£ÓÃµÄ²Ù×÷ÃüÁîÕûÀí</title>
			<link>http://www.kingmx.com/article.php?id=14687</link>
			<pubDate>2006-12-12</pubDate>
			<description><![CDATA[

×î½üÓöµ½Ò»¸öÊ¹ÓÃÁËoracleÊý¾Ý¿âµÄ·þÎñÆ÷,ÔÚ¿ñÑ§oracle+Çë½Ì¸ßÊÖºóÖÕÓÚ¸ãµ½ÁËÍøÕ¾ºóÌ¨¹ÜÀí½çÃæµÄËùÓÐÓÃ»§ÃÜÂë,ÎÒ·¢ÏÖoracle²Ù×÷ÆðÀ´ÕæÊÇÌ«Âé·³,ÎªÁËÐÖµÜÃÇÒÔºóÉÙ×ßÐ©ÍäÂ·,ÎÒ°ÑÈëÇÖµ±ÖÐ±ØÐèµÄÃüÁîÕûÀí³öÀ´,Ò»¸öÐÇÆÚµÄÐÄÑª,°æÈ¨ËùÓÐ,×ªÔØÇë×¢Ã÷×÷Õß.

1¡¢su ¨C oracle ²»ÊÇ±ØÐè£¬ÊÊºÏÓÚÃ»ÓÐDBAÃÜÂëÊ±Ê¹ÓÃ£¬¿ÉÒÔ²»ÓÃÃÜÂëÀ´½øÈësqlplus½çÃæ¡£

2¡¢sqlplus /nolog »òsqlplus system/manager »ò./sqlplus system/manager@ora9i;

3¡¢SQL&gt;connect / as sysdba ;£¨as sysoper£©»ò

connect internal/oracle AS SYSDBA ;(scott/tiger)

conn sys/change_on_install as sysdba;

4¡¢SQL&gt;startup; Æô¶¯Êý¾Ý¿âÊµÀý

5¡¢ ²é¿´µ±Ç°µÄËùÓÐÊý¾Ý¿â: select * from v$database;

select name from v$database;

desc v$databases; ²é¿´Êý¾Ý¿â½á¹¹×Ö¶Î

7¡¢ÔõÑù²é¿´ÄÄÐ©ÓÃ»§ÓµÓÐSYSDBA¡¢SYSOPERÈ¨ÏÞ:

SQL&gt;select * from V_$PWFILE_USERS;

Show user;²é¿´µ±Ç°Êý¾Ý¿âÁ¬½ÓÓÃ»§

8¡¢½øÈëtestÊý¾Ý¿â£ºdatabase test; 

9¡¢²é¿´ËùÓÐµÄÊý¾Ý¿âÊµÀý£ºselect * from v$instance£»

Èç£ºora9i

10¡¢²é¿´µ±Ç°¿âµÄËùÓÐÊý¾Ý±í£º

SQL&gt; select TABLE_NAME from all_tables; 

select * from all_tables;

SQL&gt; select table_name from all_tables where table_name like '%u%';

TABLE_NAME

------------------------------

_default_auditing_options_

11¡¢²é¿´±í½á¹¹£ºdesc all_tables;

12¡¢ÏÔÊ¾CQI.T_BBS_XUSERµÄËùÓÐ×Ö¶Î½á¹¹£º

desc CQI.T_BBS_XUSER; 

13¡¢»ñµÃCQI.T_BBS_XUSER±íÖÐµÄ¼ÇÂ¼£º

select * from CQI.T_BBS_XUSER; 

14¡¢Ôö¼ÓÊý¾Ý¿âÓÃ»§£º(test11/test)

create user test11 identified by test default tablespace users Temporary TABLESPACE Temp;

15¡¢ÓÃ»§ÊÚÈ¨: 

grant connect,resource,dba to test11;

grant sysdba to test11;

commit;

16¡¢¸ü¸ÄÊý¾Ý¿âÓÃ»§µÄÃÜÂë£º(½«sysÓësystemµÄÃÜÂë¸ÄÎªtest.)

alter user sys indentified by test;

alter user system indentified by test;
]]></description>
		</item>
		<item>
			<title>Oracle9iÖÐÀûÓÃ×Ô¶¯³·Ïú¹ÜÀíµÄÓÅµã</title>
			<link>http://www.kingmx.com/article.php?id=14684</link>
			<pubDate>2006-12-12</pubDate>
			<description><![CDATA[

ÔÚOracle9iÖÐ£¬Oracle¶Ô»Ø¹ö¶Î½øÐÐÁËÖØÐÂÃüÃû£¬ÏÖÔÚ½«Æä×÷Îª³·ÏúÈÕÖ¾¡£ÔÚ´«Í³µÄ²Ù×÷ÉÏ£¬»Ø¹ö¶Î±£´æ½»»»µÄ³·ÏúÐÅÏ¢£¬Ö±µ½ÏµÍ³·¢ËÍÒ»¸öÏìÓ¦»òÕß»Ø¹öÓï¾ä¡£ 

ÈË¹¤³·Ïú¹ÜÀíÔÚOracle9iÈÔÈ»±»Ê¹ÓÃ£¬µ«¾ø´ó¶àÊýµÄOracle DBAs¶¼Ñ¡ÔñÁËÐÂµÄ×Ô¶¯·½·¨£¬ÕâÊ¹µÃËüÃÇ¿ÉÒÔ´Ó³£¹æ³·Ïú¹ÜÀíÈÎÎñºÍµ÷ÕûÖÐ½â·Å³öÀ´¡£ 

×îÖØÒªµÄÊÇ£¬×Ô¶¯³·Ïú¹ÜÀíÔÊÐíDBAÖ¸¶¨³·ÏúÐÅÏ¢ÔÚÌá½»Ö®ºóÐèÒª±£ÁôµÄÊ±¼ä£¬ÒÔ·ÀÖ¹ÔÚ³¤Ê±¼äµÄ²éÑ¯¹ý³ÌÖÐ³öÏÖ¡°snapshot too old¡±µÄ´íÎó¡£¿ÉÒÔÍ¨¹ýÉèÖÃUNDO_RETENTION²ÎÊýÀ´ÊµÏÖÕâÒ»¹ý³Ì¡£ÕâÒ»²ÎÊýµÄÈ±Ê¡ÖµÎª900Ãë(¼´15·ÖÖÓ)£¬µ«Äã¿ÉÒÔÉèÖÃÕâÒ»²ÎÊýÒÔ±£Ö¤Oracle±£Áô³·ÏúÈÕÖ¾¡£ 

ÎÞÐè¶¨ÒåºÍ¹ÜÀí»Ø¹ö¶Î£¬Äã¾Í¿ÉÒÔ¼òµ¥µØÖ¸¶¨Ò»¸ö³·Ïú±í¿Õ¼ä¶ø¼õÇáOracle9iµÄ¸ºµ£¡£ 

×Ô¶¯³·Ïú¹ÜÀíÐèÒªÒ»¸öµ±µØ¹ÜÀí³·Ïú±í¿Õ¼ä£¬ÕâÒ»±í¿Õ¼äÓÃÓÚ´æ·Å³·Ïú¶Î¡£ÄãËùÐèÒªµÄÊÇ½¨Á¢Ò»¸ö³·Ïú±í¿Õ¼ä£¬ÉèÖÃUNDO_MANAGEMENT=AUTO£¬È»ºóÓëÊý¾Ý¿â½øÐÐÁ¬½Ó¡£µ±Æô¶¯Ò»¸öÀý×ÓÊ±£¬Oracle»á×Ô¶¯Ñ¡ÔñµÚÒ»¸ö¿ÉÓÃµÄ³·Ïú±í¿Õ¼ä¡£ 






¡¡¡¡
¡¡¡¡CREATE UNDO TABLESPACE
¡¡¡¡¡¡ ts_undo
¡¡¡¡DATAFILE
¡¡¡¡¡¡ '/u01/oradata/prod/ts_undo.dbf'
¡¡¡¡SIZE 2M REUSE AUTOEXTEND ON;
¡¡¡¡
¡¡¡¡Alter system set undo_tablespace=ts_undo;
¡¡¡¡Alter system set undo_management=auto; 
¡¡
¡¡ 
Ò»µ©ÒÑ¾­½¨Á¢ÁË³·Ïú±í¿Õ¼ä£¬Äã¿ÉÒÔÊ¹ÓÃÒÔÏÂÐÂOracle9i²éÑ¯À´²é¿´³·ÏúÐÅÏ¢¡£ 






¡¡¡¡
¡¡¡¡V$UNDOSTAT 
¡¡¡¡V$ROLLSTAT 
¡¡¡¡V$TRANSACTION 
¡¡¡¡DBA_UNDO_EXTENTS

]]></description>
		</item>
		<item>
			<title>ÓÃPerlµÄWriteExcelÉú³Éµç×ÓÊý¾Ý±í¸ñ</title>
			<link>http://www.kingmx.com/article.php?id=14681</link>
			<pubDate>2006-12-12</pubDate>
			<description><![CDATA[

Ðí¶àÉÌÒµ×îÖÕÓÃ»§¸üÏ²»¶Ê¹ÓÃÄ¿Ç°Á÷ÐÐµÄµç×ÓÊý¾Ý±í¸ñ³ÌÐò£¨ÈçMicrosoft Excel£©£¬¶ø²»ÊÇÊý¾Ý¿â¹¦ÄÜ»òÓ¦ÓÃ³ÌÐò¡£¾¡¹ÜExcel¿ÉÒÔÓÃODBC¼°Ïà¹Ø¼¼ÊõÀ´ÌáÈ¡´¢´æÔÚOracleÊý¾Ý¿âµ±ÖÐµÄÊý¾Ý£¬µ«ÏëÈÃÓÃ»§½¨Á¢Ò»¸ö»·¾³À´Ö±½Ó·ÃÎÊÊý¾Ý»òÊÇÍ¨¹ý°²×°½Å±¾À´°²×°Êý¾Ý×ÊÔ´¿ÉÄÜ»á²»´óºÏÀí¡£ 

Òò´Ë£¬¶ÔÓÚ³ÌÐò¿ª·¢ÈËÔ±À´Ëµ£¬´Ó´¢´æÔÚÊý¾Ý¿âÖÐµÄÊý¾ÝÉú³ÉÒ»¸öµç×ÓÊý¾Ý±í¸ñ£¬²¢Í¨¹ýe-mail»òÍøÕ¾½«ÆäÎÄµµ´«»ØÓÃ»§ÊÖÖÐ£¬ÊÇÒ»¸ö·Ç³£»ù±¾µÄÒ»°ãÒªÇó¡£ 

¹ØÓÚÈçºÎÉú³ÉExcelµç×ÓÊý¾Ý±í¸ñ£¬Ò»¸öµäÐÍ»Ø´ðÊÇ£¬Éú³ÉÒ»¸öCSV£¨comma-separated values£©ÎÄ¼þ£¬ÔÚÕâÀïÃ¿Ò»¸ö×Ö¶Î¶¼ÓÃÒ»¸öTextÊôÐÔÀ´ËµÃ÷£¬¿ÉÄÜ°üº¬ÔÚÒýºÅÀï¡£ÕâÖÖÇé¿öÏÂ£¬Õâ¸öÎÄ¼þ×÷ÎªÔ­Ê¼Êý¾Ý±»ÖÕ¶ËÓÃ»§½ÓÊÜ£¬ÖÕ¶ËÓÃ»§ÔÚExcelÏÂ´ò¿ªËü£¬Í¨¹ýÒ»¸ö¶Ô»°½«Êý¾ÝÕýÈ·µÄ·Ö½â³Éµç×ÓÊý¾Ý±í¸ñÖÐµÄµ¥Ôª¸ñ¡£ 

Ò²¿ÉÄÜ½ö½öÍ¨¹ý´«ËÍ×÷ÎªÒ»¸öµç×ÓÊý¾Ý±í¸ñÊôÐÔµÄ¹«Ê½£¨Èç¡°=A1+B1¡±£©£¬½«ÕâÐ©¹«Ê½Ð´½øµç×ÓÊý¾Ý±í¸ñ£¬¶øÕâ¸ö¹«Ê½Ö»ÓÐÔÚ×Ö¶Î±»×¼È·¶ÁÈ¡µ½ÕýÈ·Î»ÖÃÊ±²Å»áÓÐÓÃ¡£ÔÚÕâÖÖÇé¿öÏÂ£¬Ã»ÓÐ¸ñÊ½»¯¿ØÖÆ£¬µ±Êý¾Ý¶ÁÈëÊ±£¬×îÖÕÓÃ»§Ö»ÄÜÊÖ¹¤½«Ò»¸öµç×ÓÊý¾Ý±í¸ñÖØÐÂ¸ñÊ½»¯¡£ 

Ò»¸öPerlÌæ´úÆ· 

ÏÖÔÚÓÐÁËÒ»¸ö·Ç³£ÓÐÓÃµÄCSVÎÄ¼þµÄÌæ´úÆ·¡£John McNamara´´½¨ÁËÒ»¸öPerlÄ£¿é£¬½Ð×öSpreadsheet::WriteExcel£¬ËüÄÜ¶¯Ì¬Éú³ÉÒ»¸öÕæÕýµÄ¡¢¶þ½øÖÆµÄ¡¢ExcelµÄµç×ÓÊý¾Ý±í¸ñÎÄ¼þ¡£ 

ÔÚÕâ¸öÄ£¿éÖÐ£¬Äã¿ÉÒÔ´´½¨Ò»¸ö¹¤×÷ÊÖ²á£¬²¢ÔÚÆäÖÐ¼ÓÈë¹¤×÷±í£¬È»ºóÖ±½ÓÐ´Èë¹¤×÷±íµ¥Ôª¸ñ¡£ÓÐÐí¶à¸ñÊ½»¯Ñ¡ÏîÔÊÐíÄã¸Ä±ä×Ö¶ÎÊý¾ÝµÄ¸ñÊ½¡¢ºÚÌå¡¢¶ÔÆë·½Ê½¡¢×ÖÌå¡¢Ç°¾°ºÍ±³¾°ÑÕÉ«¡¢Ìî³äÍ¼°¸ÒÔ¼°±ß¿ò¡£ 

ÁíÍâ£¬Spreadsheet::WriteExcel¿ÉÒÔ¸Ä±ä×ÖÌå£¬ÎÄ×Ö±äÐÎºÍÐý×ªÎÄ×Ö£¬²åÈëÎ»Í¼£¬ÉèÖÃÃÜÂë±£»¤¹¤×÷±í£¬ÒÔ¼°½¨Á¢ÄÜÓÃÊó±êÀ©Õ¹µÄÊý¾Ý¼¯ºÏ¡£µ±È»»¹ÄÜ¹»ÉèÖÃ´òÓ¡Ñ¡ÏîºÍÒ³ÃæÔÝÍ£µÄ¹¦ÄÜ¡£ 

¸ÃÄ£¿é»¹¿ÉÒÔÐ´±ê×¼Êä³öÊý¾Ý£¬Òò´ËËü¿ÉÒÔÔÚcgi-bin³ÌÐòÖÐÊ¹ÓÃ¡£ÆäËû³ÌÐòÓïÑÔ¿ÉÒÔÍ¨¹ýHTTP URL²ÎÕÕcgi-bin£¬À´ÇëÇóExcelµç×ÓÊý¾Ý±í¸ñµç×ÓÊý¾Ý±í¸ñ¡£ 

ÏÂÃæÊÇÒ»¸öÀý×Ó£¬ËüÓÃDBI´ÓEMP±íÖÐÌáÈ¡Êý¾Ý²¢ÓÃ¹«Ê½ºÍ¸ñÊ½»¯Éú³ÉÒ»¸öExcelµç×ÓÊý¾Ý±í¸ñµç×ÓÊý¾Ý±í¸ñ¡£ 






¡¡¡¡
¡¡¡¡use DBI;
¡¡¡¡use Spreadsheet::WriteExcel;
¡¡¡¡
¡¡¡¡# connect to the local database
¡¡¡¡my $dbh = DBI-&gt;connect('dbi:Oracle:','scott','tiger') || die $DBI::errstr;
¡¡¡¡
¡¡¡¡print "Generating Excel Spreadsheet\n";
¡¡¡¡my $workbook = new Spreadsheet::WriteExcel "emp.xls";
¡¡¡¡my $worksheet = $workbook-&gt;add_worksheet();
¡¡¡¡my $fmt = {
¡¡¡¡¡¡¡¡HEADER =&gt; $workbook-&gt;add_format(bold=&gt;1,align=&gt;'center',
¡¡¡¡¡¡¡¡¡¡¡¡bottom=&gt;2,bg_color=&gt;'silver'),
¡¡¡¡¡¡¡¡ENAME =&gt; $workbook-&gt;add_format(bold=&gt;1,color=&gt;'blue'),
¡¡¡¡¡¡¡¡MONEY =&gt; $workbook-&gt;add_format(
¡¡¡¡¡¡¡¡¡¡¡¡num_format=&gt;'$#,##0.00',align=&gt;'right'),
¡¡¡¡¡¡¡¡TOTAL =&gt; $workbook-&gt;add_format(
¡¡¡¡¡¡¡¡¡¡¡¡num_format=&gt;'$#,##0.00',align=&gt;'right',bold=&gt;1,
¡¡¡¡¡¡¡¡¡¡¡¡top=&gt;2),
¡¡¡¡};
¡¡¡¡
¡¡¡¡print "Querying Employees\n";
¡¡¡¡my $sth = $dbh-&gt;prepare('select * from emp') || die $DBI::errstr;
¡¡¡¡my $rc = $sth-&gt;execute;
¡¡¡¡my $r = 1;
¡¡¡¡$worksheet-&gt;write($r-1,0,'Employee',$fmt-&gt;{HEADER});
¡¡¡¡$worksheet-&gt;write($r-1,1,'Salary',$fmt-&gt;{HEADER});
¡¡¡¡$worksheet-&gt;write($r-1,2,'Commission',$fmt-&gt;{HEADER});
¡¡¡¡$worksheet-&gt;write($r-1,3,'Total',$fmt-&gt;{HEADER});
¡¡¡¡$r++;
¡¡¡¡while (my $row = $sth-&gt;fetchrow_hashref)
¡¡¡¡{
¡¡¡¡¡¡¡¡$worksheet-&gt;write($r-1,0,$row-&gt;{ENAME},$fmt-&gt;{ENAME});
¡¡¡¡¡¡¡¡$worksheet-&gt;write($r-1,1,$row-&gt;{SAL},$fmt-&gt;{MONEY});
¡¡¡¡¡¡¡¡$worksheet-&gt;write($r-1,2,$row-&gt;{COMM},$fmt-&gt;{MONEY});
¡¡¡¡¡¡¡¡$worksheet-&gt;write($r-1,3,"=B$r+C$r",$fmt-&gt;{MONEY});
¡¡¡¡¡¡¡¡$r++;
¡¡¡¡}
¡¡¡¡$worksheet-&gt;write($r-1,0,'',$fmt-&gt;{TOTAL});
¡¡¡¡$worksheet-&gt;write($r-1,1,'=SUM(B2:B'.($r-1).')',$fmt-&gt;{TOTAL});
¡¡¡¡$worksheet-&gt;write($r-1,2,'=SUM(C2:C'.($r-1).')',$fmt-&gt;{TOTAL});
¡¡¡¡$worksheet-&gt;write($r-1,3,"=B$r+C$r",$fmt-&gt;{TOTAL});
¡¡¡¡print "Processed " . ($r-2) ." rows\n";
¡¡¡¡$sth-&gt;finish;

]]></description>
		</item>
		<item>
			<title>ÀûÓÃ·Ö¶ÎÊ¹ÓÃÓ³ÉäÎªÊý¾Ý¿â½¨Á¢HTML</title>
			<link>http://www.kingmx.com/article.php?id=14680</link>
			<pubDate>2006-12-12</pubDate>
			<description><![CDATA[

ÔÚOracleÊý¾Ý¿âÖÐ£¬¹ÜÀítablespacesÍ¨³£ºÜÄÑÊµÏÖ´ÓSQL²éÑ¯µÃµ½Êý¾ÝµÄ¿ÉÊÓ»¯¡£Ò»ÖÖÊµÏÖtablespaces¿ÉÊÓ»¯ÇÒ¸ü¼ÓÈÝÒ×¹ÜÀíµÄ·½·¨ÊÇ½¨Á¢ÀàËÆÓÚËéÆ¬ÖØ×é¹¦ÄÜ(defragmentation utilities)µÄ·Ö¶ÎÊ¹ÓÃÓ³Éä(block usage maps)¡£ 

²»ÐèÒªÈÎºÎÍ¼±í»òÕßÍ¼ÐÎ¹¦ÄÜ£¬Äã¿ÉÒÔÊ¹ÓÃ¼òµ¥µÄÓÉOracelmodplsql°ü²úÉúµÄHTML£¬¶ømodplsql°ü¿ÉÔÚ°²×°Oracle8iºÍ9iÊ±°²×°¡£ 

ÕâÆäÖÐÒ²°üº¬×Å·çÏÕ£¬ÒòÎªÕâÒ»³ÌÐò±ØÐëÓÉÒ»¸öDBAÕÊºÅÀ´ÔËÐÐ£¬ËùÒÔDBAÕÊºÅ±ØÐë½«Ê¹ÓÃÈ¨ÏÞ¸³ÓèÃ¿Ò»¸ö²Ù×÷¼Æ»®£¬¶ø²Ù×÷¼Æ»®±ØÐë°üº¬ÔÚwdbsvr.appÎÄ¼þÖÐ¡£ÎªÁË±£»¤ÕâÒ»ÎÄ¼þ£¬Äã±ØÐëÈ·±£ÕâÒ»ÎÄ¼þÖ»ÄÜ±»OracleÓÃ»§ºÍDBA×é²éÔÄ¡£Èç¹ûÄãÔ¸Òâ°ÑÕâÒ»³ÌÐò±àÐ´³ÉÒ»¸öJSPÒ³»òÕßservlet£¬ÄãÒ²Ó¦¸Ã·Ç³£Ð¡ÐÄ£¬ÒÔ·ÀÖ¹Íâ²¿ÄÜ¹»Ê¹ÓÃDBAÕÊºÅ¡£ 

DBAÊÓ²»ÄÜÔÚÒ»¸öPL/SQL²éÑ¯£¬ËùÒÔÄã±ØÐë½«PL/SQL°²×°ÎªSYS£¬È»ºó½«Ê¹ÓÃÈ¨ÏÞ·ÖÅä¸øÔÊÐíÔËÐÐPL/SQLµÄÕÊºÅ£º 






¡¡¡¡
¡¡¡¡connect sys/&lt;password&gt;
¡¡¡¡@blkmap.sql
¡¡¡¡grant execute on blkmap to system;
¡¡¡¡connect system/&lt;password&gt;
¡¡¡¡create synonym blkmap for sys.blkmap;
¡¡¡¡ 
ÔÚÕâ¸öÀý×ÓÖÐ£¬ÎÒÃÇ½¨Á¢Ò»¸öÃûÎªblkmap°ü£¬ÕâÒ»blkmap°ü¾ßÓÐÁ½¸öÈë¿Úµã¡£ÆäÖÐÒ»¸öÊÇÏÔÊ¾tablespacesÁÐ±íµÄÒ»¸ö²Ëµ¥£¬ÁíÒ»¸öÊÇÊµ¼ÊÊ¹ÓÃµÄtablespace·Ö¶ÎÓ³Éä£º 






¡¡¡¡
¡¡¡¡¡¡¡¡¡¡ create or replace package blkma
¡¡¡¡
¡¡¡¡as
¡¡¡¡procedure ts_menu;
¡¡¡¡procedure ts_map(p_name varchar2);
¡¡¡¡
¡¡¡¡end blkmap;
¡¡¡¡
¡¡¡¡/
¡¡¡¡
¡¡¡¡show errors;
¡¡ 
Tablespace²Ëµ¥µÄ´úÂë¿ÉÒÔÊÇÒ»¸öÓë·Ö¶ÎÓ³Éä(block map)Ò³¹ØÁªµÄtablespacesÁÐ±í: 






¡¡¡¡
¡¡¡¡procedure ts_menu
¡¡¡¡is
¡¡¡¡begin
¡¡¡¡¡¡¡¡htp.p('&lt;html&gt;');
¡¡¡¡¡¡¡¡htp.p('&lt;body bgcolor="white"&gt;');
¡¡¡¡¡¡¡¡htp.p('&lt;h2&gt;Tablespaces&lt;/h2&gt;');
¡¡¡¡¡¡¡¡htp.p('&lt;ul&gt;');
¡¡¡¡¡¡¡¡for ts in (select tablespace_name from dba_tablespaces) loop
¡¡¡¡¡¡¡¡¡¡¡¡htp.p('&lt;li&gt;&lt;a href="blkmap.ts_map?p_id='||ts.tablespace_name||'"&gt;'
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡||ts.tablespace_name||'&lt;/a&gt;&lt;/li&gt;');
¡¡¡¡¡¡¡¡end loop;
¡¡¡¡¡¡¡¡htp.p('&lt;/ul&gt;');
¡¡¡¡¡¡¡¡htp.p('&lt;/body&gt;');
¡¡¡¡¡¡¡¡htp.p('&lt;/html&gt;');
¡¡¡¡end ts_menu;
¡¡¡¡ 
¶ÔÓÚtablespaceÓ³Éä£¬¿ÉÒÔÉú³ÉÒ»¸ötablespaceÃû³Æ£¬²¢ÇëÇó°üº¬tablespaceµÄÃ¿Ò»ÎÄ¼þµÄ·Ö¶ÎÓ³Éä¡£ 






¡¡¡¡
¡¡¡¡procedure ts_map(p_name varchar2)
¡¡¡¡is
¡¡¡¡begin
¡¡¡¡¡¡¡¡page_open;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ -- open the page
¡¡¡¡¡¡¡¡htp.p('Tablespace: '||p_name);
¡¡¡¡¡¡¡¡htp.p('&lt;hr /&gt;');
¡¡¡¡¡¡¡¡for file in
¡¡¡¡¡¡¡¡(
¡¡¡¡¡¡¡¡¡¡¡¡select file_id
¡¡¡¡¡¡¡¡¡¡¡¡¡¡from dba_data_files
¡¡¡¡¡¡¡¡¡¡¡¡ where tablespace_name = p_name
¡¡¡¡¡¡¡¡¡¡¡¡ order by file_id
¡¡¡¡¡¡¡¡)
¡¡¡¡¡¡¡¡loop
¡¡¡¡¡¡¡¡¡¡¡¡filemap(file.file_id);¡¡ -- generate a block map for the file
¡¡¡¡¡¡¡¡¡¡¡¡htp.p('&lt;hr /&gt;');
¡¡¡¡¡¡¡¡end loop;
¡¡¡¡¡¡¡¡info_form;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ -- generate a form for segment info
¡¡¡¡¡¡¡¡legend;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡-- generate a legend for color mappings
¡¡¡¡¡¡¡¡page_close;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡-- close the page
¡¡¡¡end ts_map;





¶ÔÓÚÊµ¼ÊÊ¹ÓÃµÄ·Ö¶ÎÓ³Éä£¬ÎÒÃÇÍ¨³£ÐèÒªÏÔÊ¾Ò»¸ö¡°block¡±²¢ÓÃÑÕÉ«±íÊ¾¡£Ê¹ÓÃ 
&lt;&gt;&lt;&gt;±êÇ©±È½Ï¸´ÔÓ¡£Ò»¸ö¸üºÃµÄ·½·¨ÊÇÉú³É×Ö·û´ÎÐò£¬¼´Ò»¶ÎÊ±¼äÖ®ºóÊÇ¼ä¸ô£¬ÕâÒ»¼ä¸ôÔÊÐíÔÚÈÎºÎÎ»ÖÃ¸øÎÄ±¾ÒÔÑÕÉ«»¯¡£ 
ÎªÁËÊ¹µÃ·Ö¶ÎÓ³Éä¸ü¼ÓÓÐÓÃ£¬ÎÒÃÇÏëÁÐ³öÊó±êÎ»ÖÃµÄblockÐÅÏ¢£¬²¢ÇÒÍ»³ö×é³ÉÕâÒ»Æ¬¶ÎµÄblock£¬ÎÒÃÇ¿ÉÒÔÊ¹ÓÃ±êÇ©¡£Ê×ÏÈ£¬Éú³ÉÒ»¸öÖ¸¶¨aºÍa:hoverµÄÀàÐÍ£¬È»ºó½¨Á¢Ã¿Ò»OracleÊý¾Ý¿â¶ÎµÄÀàÐÍ£º ±êÇ©¡£×îºó£¬½¨Á¢Ò»¸öÏÔÊ¾²»Í¬ÑÕÉ«º¬ÒåµÄÍ¼±í£º 









¡¡¡¡
¡¡¡¡&lt;style type="text/css"&gt;
¡¡¡¡a
¡¡¡¡{
¡¡¡¡¡¡¡¡text-decoration: none;
¡¡¡¡¡¡¡¡font-family: monospace;
¡¡¡¡¡¡¡¡font-size: 6pt;
¡¡¡¡}
¡¡¡¡a:hover {background-color: yellow}
¡¡¡¡a.free {background-color: white}
¡¡¡¡a.cache {background-color: #FFCC00}
¡¡¡¡a.cluster {background-color: #9A0000}
¡¡¡¡a.index {background-color: #009900}
¡¡¡¡a.lobindex {background-color: #9AFE66}
¡¡¡¡a.lobsegment {background-color: #9A99FF}
¡¡¡¡a.rollback {background-color: #FF3300}
¡¡¡¡a.temporary {background-color: #DFFEFF}
¡¡¡¡a.table {background-color: #003399}
¡¡¡¡a.other {background-color: magenta}
¡¡¡¡body
¡¡¡¡{
¡¡¡¡¡¡¡¡background-color: white;
¡¡¡¡¡¡¡¡font-family: sans-serif;
¡¡¡¡¡¡¡¡font-size: 10pt;
¡¡¡¡}
¡¡¡¡&lt;/style&gt;



¡¡¡¡ 

ÎÒÃÇ¿ÉÒÔÁÐ³öÓÐ¹ØÊó±êÎ»ÖÃµÄblockÊ¹ÓÃÕß¡¢Ãû³Æ¡¢ÀàÐÍ¡¢blockÊýÁ¿¡¢ÒÔ¼°Æ¬¶ÎµÄ³¤¶È¡£ÎªÁËÊµÏÖÕâÒ»Ä¿µÄ£¬ÎÒÃÇÐèÒªÁ½¸öJavaScriptº¯Êý£¬°üº¬ÒÔÉÏÐÅÏ¢µÄÕâÁ½¸öº¯Êý±»µ÷ÓÃ£¬²¢´«µÝµ½±íµ¥µÄÓòÄÚ£º 






¡¡¡¡
¡¡¡¡&lt;script language="javascript"&gt;
¡¡¡¡function hover(own,nam,typ,bid,len)
¡¡¡¡{
¡¡¡¡¡¡¡¡document.form.owner.value = own;
¡¡¡¡¡¡¡¡document.form.name.value = nam;
¡¡¡¡¡¡¡¡document.form.type.value = typ;
¡¡¡¡¡¡¡¡document.form.block_id.value = bid;
¡¡¡¡¡¡¡¡document.form.length.value = len;
¡¡¡¡¡¡¡¡return true;
¡¡¡¡}
¡¡¡¡function leave()
¡¡¡¡{
¡¡¡¡¡¡¡¡document.form.owner.value = "";
¡¡¡¡¡¡¡¡document.form.name.value = "";
¡¡¡¡¡¡¡¡document.form.type.value = "";
¡¡¡¡¡¡¡¡document.form.block_id.value = "";
¡¡¡¡¡¡¡¡document.form.length.value = "";
¡¡¡¡¡¡¡¡return true;
¡¡¡¡}
¡¡¡¡&lt;/script&gt;
¡¡¡¡. . .
¡¡¡¡&lt;form name="form"&gt;
¡¡¡¡&lt;table border=0&gt;
¡¡¡¡&lt;tr&gt;&lt;td&gt;Owner:&lt;/td&gt;&lt;td&gt;&lt;input name="owner" /&gt;&lt;/td&gt;&lt;/tr&gt;
¡¡¡¡&lt;tr&gt;&lt;td&gt;Name:&lt;/td&gt;&lt;td&gt;&lt;input name="name" /&gt;&lt;/td&gt;&lt;/tr&gt;
¡¡¡¡&lt;tr&gt;&lt;td&gt;Type:&lt;/td&gt;&lt;td&gt;&lt;input name="type" /&gt;&lt;/td&gt;&lt;/tr&gt;
¡¡¡¡&lt;tr&gt;&lt;td&gt;Block#:&lt;/td&gt;&lt;td&gt;&lt;input name="block_id" /&gt;&lt;/td&gt;&lt;/tr&gt;
¡¡¡¡&lt;tr&gt;&lt;td&gt;Length:&lt;/td&gt;&lt;td&gt;&lt;input name="length" /&gt;&lt;/td&gt;&lt;/tr&gt;
¡¡¡¡&lt;/table&gt;
¡¡¡¡&lt;/form&gt;
¡¡¡¡ 
¶ÔÓÚÃ¿Ò»Æ¬¶Î£¬ÎÒÃÇÐèÒª½¨Á¢Ò»¸öblockµÄ






¡¡¡¡
¡¡¡¡&lt;table border=0&gt;
¡¡¡¡&lt;tr&gt;&lt;thcolspan="2"&gt;Legend&lt;/th&gt;&lt;/tr&gt;
¡¡¡¡&lt;tr&gt;&lt;td&gt;&lt;a name="free" class="free"&gt;. &lt;/a&gt;&lt;/td&gt;
¡¡¡¡&lt;td&gt;Free Space&lt;/td&gt;&lt;/tr&gt;
¡¡¡¡&lt;tr&gt;&lt;td&gt;&lt;a name="cache" class="cache"&gt;. &lt;/a&gt;&lt;/td&gt;
¡¡¡¡&lt;td&gt;Cache&lt;/td&gt;&lt;/tr&gt;
¡¡¡¡&lt;tr&gt;&lt;td&gt;&lt;a name="cluster" class="cluster"&gt;. &lt;/a&gt;&lt;/td&gt;
¡¡¡¡&lt;td&gt;Cluster&lt;/td&gt;&lt;/tr&gt;
¡¡¡¡&lt;tr&gt;&lt;td&gt;&lt;a name="index" class="index"&gt;. &lt;/a&gt;&lt;/td&gt;
¡¡¡¡&lt;td&gt;Index&lt;/td&gt;&lt;/tr&gt;
¡¡¡¡&lt;tr&gt;&lt;td&gt;&lt;a name="lobindex" class="lobindex"&gt;. &lt;/a&gt;&lt;/td&gt;
¡¡¡¡&lt;td&gt;LobIndex&lt;/td&gt;&lt;/tr&gt;
¡¡¡¡&lt;tr&gt;&lt;td&gt;&lt;a name="lobsegment" class="lobsegment"&gt;. &lt;/a&gt;&lt;/td&gt;
¡¡¡¡&lt;td&gt;LobSegment&lt;/td&gt;&lt;/tr&gt;
¡¡¡¡&lt;tr&gt;&lt;td&gt;&lt;a name="rollback" class="rollback"&gt;. &lt;/a&gt;&lt;/td&gt;
¡¡¡¡&lt;td&gt;Rollback&lt;/td&gt;&lt;/tr&gt;
¡¡¡¡&lt;tr&gt;&lt;td&gt;&lt;a name="temporary" class="temporary"&gt;. &lt;/a&gt;&lt;/td&gt;
¡¡¡¡&lt;td&gt;Temporary&lt;/td&gt;&lt;/tr&gt;
¡¡¡¡&lt;tr&gt;&lt;td&gt;&lt;a name="table" class="table"&gt;. &lt;/a&gt;&lt;/td&gt;
¡¡¡¡&lt;td&gt;Table&lt;/td&gt;&lt;/tr&gt;
¡¡¡¡&lt;tr&gt;&lt;td&gt;&lt;a name="other" class="other"&gt;. &lt;/a&gt;&lt;/td&gt;
¡¡¡¡&lt;td&gt;Other&lt;/td&gt;&lt;/tr&gt;
¡¡¡¡&lt;/table&gt;
¡¡¡¡ 
ÒÔÏÂÊÇÍêÕû´úÂë£º 






¡¡¡¡
¡¡¡¡create or replace package blkmap
¡¡¡¡¡¡¡¡authidcurrent_user
¡¡¡¡as
¡¡¡¡¡¡¡¡procedure ts_menu;
¡¡¡¡¡¡¡¡procedure ts_map(p_name varchar2);
¡¡¡¡end blkmap;
¡¡¡¡/
¡¡¡¡show errors;
¡¡¡¡
¡¡¡¡create or replace package body blkmap
¡¡¡¡as
¡¡¡¡¡¡¡¡procedure page_open;
¡¡¡¡¡¡¡¡procedure info_form;
¡¡¡¡¡¡¡¡procedure filemap(p_id number);
¡¡¡¡¡¡¡¡procedure legend;
¡¡¡¡¡¡¡¡procedure page_close;
¡¡¡¡¡¡¡¡--
¡¡¡¡¡¡¡¡procedure ts_menu
¡¡¡¡¡¡¡¡is
¡¡¡¡¡¡¡¡begin
¡¡¡¡¡¡¡¡¡¡¡¡htp.p('&lt;html&gt;');
¡¡¡¡¡¡¡¡¡¡¡¡htp.p('&lt;body bgcolor="white"&gt;');
¡¡¡¡¡¡¡¡¡¡¡¡htp.p('&lt;h2&gt;Tablespaces&lt;/h2&gt;');
¡¡¡¡¡¡¡¡¡¡¡¡htp.p('&lt;ul&gt;');
¡¡¡¡¡¡¡¡¡¡¡¡for ts in (select tablespace_name from dba_tablespaces) loop
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡htp.p('&lt;li&gt;&lt;a href="blkmap.ts_map?p_name='||ts.tablespace_name||'"&gt;'
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡||ts.tablespace_name||'&lt;/a&gt;&lt;/li&gt;');
¡¡¡¡¡¡¡¡¡¡¡¡end loop;
¡¡¡¡¡¡¡¡¡¡¡¡htp.p('&lt;/ul&gt;');
¡¡¡¡¡¡¡¡¡¡¡¡htp.p('&lt;/body&gt;');
¡¡¡¡¡¡¡¡¡¡¡¡htp.p('&lt;/html&gt;');
¡¡¡¡¡¡¡¡end ts_menu;
¡¡¡¡¡¡¡¡--
¡¡¡¡¡¡¡¡procedure ts_map(p_name varchar2)
¡¡¡¡¡¡¡¡is
¡¡¡¡¡¡¡¡begin

]]></description>
		</item>
		<item>
			<title>OracleÊý¾Ý¿âÉè¼Æ¿ª·¢½×¶ÎÐÔÄÜÓÅ»¯²ßÂÔ</title>
			<link>http://www.kingmx.com/article.php?id=14587</link>
			<pubDate>2006-11-30</pubDate>
			<description><![CDATA[
Õª¡¡Òª Í¨¹ý¶ÔOracle Êý¾Ý¿âÏµÍ³ÎïÀí½á¹¹ºÍÂß¼­½á¹¹µÄ·ÖÎö£¬²ûÊöÁËÔÚOralceÊý¾Ý¿âÉè¼Æ¿ª·¢½×¶ÎÐÔÄÜÓÅ»¯µÄÒ»Ð©²ßÂÔºÍ·½·¨¡£ 

¡¡¡¡¹Ø¼ü´Ê Oracle Êý¾Ý¿â ÐÔÄÜÓÅ»¯ ²ßÂÔ

¡¡¡¡ÒýÑÔ

¡¡¡¡OracleÊÇÄ¿Ç°Ê¹ÓÃ×îÎª¹ã·ºµÄ´óÐÍÊý¾Ý¿â¹ÜÀíÏµÍ³£¬Ìá¸ßOracleÊý¾Ý¿âÏµÍ³µÄÔËÐÐÐ§ÂÊ£¬ÊÇÕû¸ö¼ÆËã»úÐÅÏ¢ÏµÍ³¸ßÐ§ÔË×ªµÄÇ°ÌáºÍ±£Ö¤¡£Ó°ÏìOracleÊý¾Ý¿âÓ¦ÓÃÏµÍ³ÐÔÄÜµÄÒòËØºÜ¶à£¬¼ÈÓÐÈí¼þ·½ÃæµÄÒòËØ£¬Ò²°üÀ¨Êý¾ÝÔËÐÐµÄÓ²¼þ»·¾³¡¢ÍøÂç»·¾³¡¢Êý¾Ý¿â¹ÜÀíºÍÎ¬»¤·½ÃæµÄÒòËØµÈ¡£Êý¾Ý¿âÏµÍ³Éè¼Æ¿ª·¢½×¶ÎÊÇOracleÓ¦ÓÃÓÅ»¯µÄ×î¼Ñ½×¶Î£¬Ò²ÊÇÖ÷¶¯ÓÅ»¯½×¶Î£¬ÄÜ´ïµ½ÒÔ×îÐ¡³É±¾»ñµÃ×î´óÐÔÄÜÔöÒæµÄÄ¿µÄ¡£Í¨¹ý¶ÔÆäÂß¼­´æ´¢½á¹¹ºÍÎïÀí´æ´¢½á¹¹Éè¼Æ½øÐÐÓÅ»¯£¬Ê¹Ö®ÔÚÂú×ãÐèÇóÌõ¼þÏÂ£¬Ê±¿Õ¿ªÏúÐÔÄÜ×î¼Ñ£¬¿ÉÒÔ½â¾öÊý¾Ý¿âÏµÍ³ÔËÐÐ¹ý³ÌÖÐÐÔÄÜµÄ½¥½øÐÔÏÂ½µ»òÐÔÄÜÍ»½µµÈÎÊÌâ£¬ÒÔ±£Ö¤ÏµÍ³ÔËÐÐµÄÓÅÁ¼ÐÔÄÜ¡£

¡¡¡¡OracleÊý¾Ý¿âµÄÂß¼­½á¹¹ºÍÎïÀí½á¹¹

¡¡¡¡Oracle Êý¾Ý¿âµÄÂß¼­½á¹¹ÊÇÓÉÒ»Ð©Êý¾Ý¿â¶ÔÏó×é³É£¬ÈçÊý¾Ý¿â±í¿Õ¼ä¡¢±í¡¢Ë÷Òý¡¢¶Î¡¢ÊÓÍ¼¡¢´æ´¢¹ý³Ì¡¢´¥·¢Æ÷µÈ¡£Êý¾Ý¿âµÄÂß¼­´æ´¢½á¹¹(±í¿Õ¼äµÈ)¾ö¶¨ÁËÊý¾Ý¿âµÄÎïÀí¿Õ¼äÊÇÈçºÎ±»Ê¹ÓÃµÄ£¬Êý¾Ý¿â¶ÔÏóÈç±í¡¢Ë÷ÒýµÈ·Ö²¼ÔÚ¸÷¸ö±í¿Õ¼äÖÐ¡£

¡¡¡¡Oracle Êý¾Ý¿âµÄÎïÀí½á¹¹´Ó²Ù×÷ÏµÍ³Ò»¼¶²é¿´£¬ÊÇÓÉÒ»¸ö¸öµÄÎÄ¼þ×é³É£¬´ÓÎïÀíÉÏ¿É»®·ÖÎª:Êý¾ÝÎÄ¼þ¡¢ÈÕÖ¾ÎÄ¼þ¡¢¿ØÖÆÎÄ¼þºÍ²ÎÊýÎÄ¼þ¡£Êý¾ÝÎÄ¼þÖÐ´æ·ÅÁËËùÓÐµÄÊý¾ÝÐÅÏ¢;ÈÕÖ¾ÎÄ¼þ´æ·ÅÊý¾Ý¿âÔËÐÐÆÚ¼ä²úÉúµÄÈÕÖ¾ÐÅÏ¢£¬Ëü±»ÖØ¸´¸²¸ÇÊ¹ÓÃ£¬Èô²»²ÉÓÃ¹éµµ·½Ê½µÄ»°£¬ÒÑ±»¸²¸ÇµÄÈÕÖ¾ÐÅÏ¢½«ÎÞ·¨»Ö¸´;¿ØÖÆÎÄ¼þ¼ÇÂ¼ÁËÕû¸öÊý¾Ý¿âµÄ¹Ø¼ü½á¹¹ÐÅÏ¢£¬ËüÈô±»ÆÆ»µ£¬Õû¸öÊý¾Ý¿â½«ÎÞ·¨¹¤×÷ºÍ»Ö¸´;²ÎÊýÎÄ¼þÖÐÉèÖÃÁËºÜ¶àOracle Êý¾Ý¿âµÄÅäÖÃ²ÎÊý£¬µ±Êý¾Ý¿âÆô¶¯Ê±£¬»á¶ÁÈ¡ÕâÐ©ÐÅÏ¢¡£

¡¡¡¡Âß¼­½á¹¹µÄÓÅ»¯

¡¡¡¡Âß¼­½á¹¹ÓÅ»¯ÓÃÍ¨Ë×µÄ»°À´Ëµ¾ÍÊÇÍ¨¹ýÔö¼Ó¡¢¼õÉÙ»òµ÷ÕûÂß¼­½á¹¹À´Ìá¸ßÓ¦ÓÃµÄÐ§ÂÊ£¬ÏÂÃæÍ¨¹ý¶Ô»ù±¾±íµÄÉè¼Æ¼°Ë÷Òý¡¢¾Û´ØµÄÌÖÂÛÀ´·ÖÎöORACLEÂß¼­½á¹¹µÄÓÅ»¯¡£

¡¡¡¡1¡¢»ù±¾±íÀ©Õ¹

¡¡¡¡Êý¾Ý¿âÐÔÄÜ°üÀ¨´æ´¢¿Õ¼äÐèÇóÁ¿µÄ´óÐ¡ºÍ²éÑ¯ÏìÓ¦Ê±¼äµÄ³¤¶ÌÁ½¸ö·½Ãæ¡£ÎªÁËÓÅ»¯Êý¾Ý¿âÐÔÄÜ£¬ÐèÒª¶ÔÊý¾Ý¿âÖÐµÄ±í½øÐÐ¹æ·¶»¯¡£Ò»°ãÀ´Ëµ£¬Âß¼­Êý¾Ý¿âÉè¼ÆÂú×ãµÚÈý·¶Ê½µÄ±í½á¹¹ÈÝÒ×Î¬»¤ÇÒ»ù±¾Âú×ãÊµ¼ÊÓ¦ÓÃµÄÒªÇó¡£ËùÒÔ£¬Êµ¼ÊÓ¦ÓÃÖÐÒ»°ã¶¼°´ÕÕµÚÈý·¶Ê½µÄ±ê×¼½øÐÐ¹æ·¶»¯£¬´Ó¶ø±£Ö¤ÁËÊý¾Ý¿âµÄÒ»ÖÂÐÔºÍÍêÕûÐÔ£¬Éè¼ÆÈËÔ±ÍùÍù»áÉè¼Æ¹ý¶àµÄ±í¼ä¹ØÁª£¬ÒÔ¾¡¿ÉÄÜµØ½µµÍÊý¾ÝÈßÓà¡£µ«ÔÚÊµ¼ÊÓ¦ÓÃÖÐÕâÖÖ×ö·¨ÓÐÊ±²»ÀûÓÚÏµÍ³ÔËÐÐÐÔÄÜµÄÓÅ»¯:Èç¹ý³Ì´Ó¶à±í»ñÈ¡Êý¾ÝÊ±Òý·¢´óÁ¿µÄÁ¬½Ó²Ù×÷£¬ÔÚÐèÒª²¿·ÖÊý¾ÝÊ±ÒªÉ¨ÃèÕû¸ö±íµÈ£¬Õâ¶¼ÏûºÄÁË´ÅÅÌµÄI/O ºÍCPU Ê±¼ä¡£

¡¡¡¡Îª½â¾öÕâÒ»ÎÊÌâ£¬ÔÚÉè¼Æ±íÊ±Ó¦Í¬Ê±¿¼ÂÇ¶ÔÄ³Ð©±í½øÐÐ·´¹æ·¶»¯£¬·½·¨ÓÐÒÔÏÂ¼¸ÖÖ:Ò»ÊÇ·Ö¸î±í¡£·Ö¸î±í¿É·ÖÎªË®Æ½·Ö¸î±íºÍ´¹Ö±·Ö¸î±íÁ½ÖÖ:Ë®Æ½·Ö¸îÊÇ°´ÕÕÐÐ½«Ò»¸ö±í·Ö¸îÎª¶à¸ö±í£¬Õâ¿ÉÒÔÌá¸ßÃ¿¸ö±íµÄ²éÑ¯ËÙ¶È£¬µ«²éÑ¯¡¢¸üÐÂÊ±ÒªÑ¡Ôñ²»Í¬µÄ±í£¬Í³¼ÆÊ±Òª»ã×Ü¶à¸ö±í£¬Òò´ËÓ¦ÓÃ³ÌÐò»á¸ü¸´ÔÓ¡£´¹Ö±·Ö¸îÊÇ¶ÔÓÚÒ»¸öÁÐºÜ¶àµÄ±í£¬ÈôÄ³Ð©ÁÐµÄ·ÃÎÊÆµÂÊÔ¶Ô¶¸ßÓÚÆäËüÁÐ£¬¾Í¿ÉÒÔ½«Ö÷¼üºÍÕâÐ©ÁÐ×÷ÎªÒ»¸ö±í£¬½«Ö÷¼üºÍÆäËüÁÐ×÷ÎªÁíÍâÒ»¸ö±í¡£Í¨¹ý¼õÉÙÁÐµÄ¿í¶È£¬Ôö¼ÓÁËÃ¿¸öÊý¾ÝÒ³µÄÐÐÊý£¬Ò»´ÎI/O¾Í¿ÉÒÔÉ¨Ãè¸ü¶àµÄÐÐ£¬´Ó¶øÌá¸ßÁË·ÃÎÊÃ¿Ò»¸ö±íµÄËÙ¶È¡£µ«ÊÇÓÉÓÚÔì³ÉÁË¶à±íÁ¬½Ó£¬ËùÒÔÓ¦¸ÃÔÚÍ¬Ê±²éÑ¯»ò¸üÐÂ²»Í¬·Ö¸î±íÖÐµÄÁÐµÄÇé¿ö±È½ÏÉÙµÄÇé¿öÏÂÊ¹ÓÃ¡£¶þÊÇ±£ÁôÈßÓàÁÐ¡£µ±Á½¸ö»ò¶à¸ö±íÔÚ²éÑ¯ÖÐ¾­³£ÐèÒªÁ¬½ÓÊ±£¬¿ÉÒÔÔÚÆäÖÐÒ»¸ö±íÉÏÔö¼ÓÈô¸ÉÈßÓàµÄÁÐ£¬ÒÔ±ÜÃâ±íÖ®¼äµÄÁ¬½Ó¹ýÓÚÆµ·±£¬Ò»°ãÔÚÈßÓàÁÐµÄÊý¾Ý²»¾­³£±ä¶¯µÄÇé¿öÏÂÊ¹ÓÃ¡£ÈýÊÇÔö¼ÓÅÉÉúÁÐ¡£ÅÉÉúÁÐÊÇÓÉ±íÖÐµÄÆäËü¶à¸öÁÐµÄ¼ÆËãËùµÃ£¬Ôö¼ÓÅÉÉúÁÐ¿ÉÒÔ¼õÉÙÍ³¼ÆÔËËã£¬ÔÚÊý¾Ý»ã×ÜÊ±¿ÉÒÔ´ó´óËõ¶ÌÔËËãÊ±¼ä¡£

¡¡¡¡Òò´Ë£¬ÔÚÊý¾Ý¿âµÄÉè¼ÆÖÐ£¬Êý¾ÝÓ¦µ±°´Á½ÖÖÀà±ð½øÐÐ×éÖ¯:Æµ·±·ÃÎÊµÄÊý¾ÝºÍÆµ·±ÐÞ¸ÄµÄÊý¾Ý¡£¶ÔÓÚÆµ·±·ÃÎÊµ«ÊÇ²»Æµ·±ÐÞ¸ÄµÄÊý¾Ý£¬ÄÚ²¿Éè¼ÆÓ¦µ±ÎïÀí²»¹æ·¶»¯¡£¶ÔÓÚÆµ·±ÐÞ¸Äµ«²¢²»Æµ·±·ÃÎÊµÄÊý¾Ý£¬ÄÚ²¿Éè¼ÆÓ¦µ±ÎïÀí¹æ·¶»¯¡£ÓÐÊ±»¹Ðè½«¹æ·¶»¯µÄ±í×÷ÎªÂß¼­Êý¾Ý¿âÉè¼ÆµÄ»ù´¡£¬È»ºóÔÙ¸ù¾ÝÕû¸öÓ¦ÓÃÏµÍ³µÄÐèÒª£¬ÎïÀíµØ·Ç¹æ·¶»¯Êý¾Ý¡£¹æ·¶Óë·´¹æ·¶¶¼ÊÇ½¨Á¢ÔÚÊµ¼ÊµÄ²Ù×÷»ù´¡Ö®ÉÏµÄÔ¼Êø£¬ÍÑÀëÁËÊµ¼ÊÁ½Õß¶¼Ã»ÓÐÒâÒå¡£Ö»ÓÐ°ÑÁ½ÕßºÏÀíµØ½áºÏÔÚÒ»Æð£¬²ÅÄÜÏà»¥²¹³ä£¬·¢»Ó¸÷×ÔµÄÓÅµã¡£

¡¡¡¡2¡¢Ë÷ÒýºÍ¾Û´Ø

¡¡¡¡´´½¨Ë÷ÒýÊÇÌá¸ß¼ìË÷Ð§ÂÊ×îÓÐÐ§µÄ·½·¨Ö®Ò»£¬Ë÷Òý°Ñ±íÖÐµÄÂß¼­ÖµÓ³Éäµ½°²È«µÄRowID£¬ÄÜ¿ìËÙ¶¨Î»Êý¾ÝµÄÎïÀíµØÖ·£¬¿ÉÒÔ´ó´ó¼Ó¿ìÊý¾Ý¿âµÄ²éÑ¯ËÙ¶È£¬Ò»¸ö½¨ÓÐºÏÀíË÷ÒýµÄÊý¾Ý¿âÓ¦ÓÃÏµÍ³¿ÉÄÜ±ÈÒ»¸öÃ»ÓÐ½¨Á¢Ë÷ÒýµÄÊý¾Ý¿âÓ¦ÓÃÏµÍ³Ð§ÂÊ¸ß¼¸Ê®±¶£¬µ«²¢²»ÊÇË÷ÒýÔ½¶àÔ½ºÃ£¬ÔÚÄÇÐ©¾­³£ÐèÒªÐÞ¸ÄµÄÊý¾ÝÁÐÉÏ½¨Á¢Ë÷Òý£¬½«µ¼ÖÂË÷ÒýB*Ê÷µÄ²»¶ÏÖØ×é£¬Ôì³ÉÏµÍ³ÐÔÄÜµÄÏÂ½µºÍ´æ´¢¿Õ¼äµÄÀË·Ñ¡£¶ÔÓÚÒ»¸ö´óÐÍ±í½¨Á¢µÄË÷Òý£¬ÓÐÊ±²¢²»ÄÜ¸ÄÉÆÊý¾Ý²éÑ¯ËÙ¶È£¬·´¶ø»áÓ°ÏìÕû¸öÊý¾Ý¿âµÄÐÔÄÜ¡£ÕâÖ÷ÒªÊÇºÍSGAµÄÊý¾Ý¹ÜÀí·½Ê½ÓÐ¹Ø£¬OracleÔÚ½øÐÐÊý¾Ý¿é¸ßËÙ»º´æ¹ÜÀíÊ±£¬Ë÷ÒýÊý¾Ý±ÈÆÕÍ¨Êý¾Ý¾ßÓÐ¸ü¸ßµÄ×¤ÁôÈ¨ÏÞ£¬ÔÚ½øÐÐ¿Õ¼ä¾ºÕùÊ±£¬Oracle»áÏÈÒÆ³öÆÕÍ¨Êý¾Ý£¬¶Ô½¨ÓÐË÷ÒýµÄ´óÐÍ±í½øÐÐÊý¾Ý²éÑ¯Ê±£¬Ë÷ÒýÊý¾Ý¿ÉÄÜ»áÓÃÍêËùÓÐµÄÊý¾Ý¿é»º´æ¿Õ¼ä£¬Oracle²»µÃ²»Æµ·±µØ½øÐÐ´ÅÅÌ¶ÁÐ´À´»ñÈ¡Êý¾Ý£¬ËùÒÔ£¬ÔÚ¶ÔÒ»¸ö´óÐÍ±í½øÐÐ·ÖÇøÖ®ºó£¬¿ÉÒÔ¸ù¾ÝÏàÓ¦µÄ·ÖÇø½¨Á¢·ÖÇøË÷Òý¡£

¡¡¡¡OracleÌá¹©ÁËÁíÒ»ÖÖ·½·¨À´Ìá¸ß²éÑ¯ËÙ¶È£¬¾ÍÊÇ¾Û´Ø(Cluster)¡£ËùÎ½¾Û´Ø£¬¼òµ¥µØËµ¾ÍÊÇ°Ñ¼¸¸ö±í·ÅÔÚÒ»Æð£¬°´Ò»¶¨¹«¹²ÊôÐÔ»ìºÏ´æ·Å¡£¾Û´Ø¸ù¾Ý¹²Í¬ÂëÖµ½«¶à¸ö±íµÄÊý¾Ý´æ´¢ÔÚÍ¬Ò»¸öOracle¿éÖÐ£¬ÕâÊ±¼ìË÷Ò»×éOracle¿é¾ÍÍ¬Ê±µÃµ½Á½¸ö±íµÄÊý¾Ý£¬ÕâÑù¾Í¿ÉÒÔ¼õÉÙÐèÒª´æ´¢µÄOracle¿é£¬´Ó¶øÌá¸ßÓ¦ÓÃ³ÌÐòµÄÐÔÄÜ¡£

¡¡¡¡¶ÔÓÚÂß¼­½á¹¹µÄÓÅ»¯£¬»¹Ó¦½«±íÊý¾ÝºÍË÷ÒýÊý¾Ý·Ö¿ª±í¿Õ¼ä´æ´¢£¬·Ö±ðÊ¹ÓÃ¶ÀÁ¢µÄ±í¿Õ¼ä¡£ÒòÎªÈç¹û½«±íÊý¾ÝºÍË÷ÒýÊý¾Ý·ÅÔÚÒ»Æð£¬±íÊý¾ÝµÄI/O²Ù×÷ºÍË÷ÒýµÄI/O²Ù×÷½«²úÉúÓ°ÏìÏµÍ³ÐÔÄÜµÄI/O¾ºÕù£¬½µµÍÏµÍ³µÄÏìÓ¦Ð§ÂÊ¡£½«±íÊý¾ÝºÍË÷ÒýÊý¾Ý´æ·ÅÔÚ²»Í¬µÄ±í¿Õ¼äÖÐ£¬²¢ÔÚÎïÀí²ãÃæ½«ÕâÁ½¸ö±í¿Õ¼äµÄÊý¾ÝÎÄ¼þ·ÅÔÚ²»Í¬µÄÎïÀí´ÅÅÌÉÏ£¬¾Í¿ÉÒÔ±ÜÃâÕâÖÖ¾ºÕùÁË¡£

¡¡¡¡ÎïÀí½á¹¹µÄÓÅ»¯

¡¡¡¡Êý¾Ý¿âµÄÊý¾Ý×îÖÕÊÇ´æ´¢ÔÚÎïÀí´ÅÅÌÉÏµÄ£¬¶ÔÊý¾Ý½øÐÐ·ÃÎÊ¾ÍÊÇ¶ÔÕâÐ©ÎïÀí´ÅÅÌ½øÐÐ¶ÁÐ´£¬Òò´Ë¶ÔÓÚÕâÐ©ÎïÀí´æ´¢µÄÓÅ»¯ÊÇÏµÍ³ÓÅ»¯µÄÒ»¸öÖØÒª²¿·Ö¡£¶ÔÓÚÎïÀí´æ´¢½á¹¹ÓÅ»¯£¬Ö÷ÒªÊÇºÏÀíµØ·ÖÅäÂß¼­½á¹¹µÄÎïÀí´æ´¢µØÖ·£¬ÕâÑùËä²»ÄÜ¼õÉÙ¶ÔÎïÀí´æ´¢µÄ¶ÁÐ´´ÎÊý£¬µ«È´¿ÉÒÔÊ¹ÕâÐ©¶ÁÐ´¾¡Á¿²¢ÐÐ£¬¼õÉÙ´ÅÅÌ¶ÁÐ´¾ºÕù£¬´Ó¶øÌá¸ßÐ§ÂÊ£¬Ò²¿ÉÒÔÍ¨¹ý¶ÔÎïÀí´æ´¢½øÐÐ¾«ÃÜµÄ¼ÆËã¼õÉÙ²»±ØÒªµÄÎïÀí´æ´¢½á¹¹À©³ä£¬´Ó¶øÌá¸ßÏµÍ³ÀûÓÃÂÊ¡£

¡¡¡¡1¡¢´ÅÅÌ¶ÁÐ´²¢ÐÐÓÅ»¯

¡¡¡¡¶ÔÓÚÊý¾Ý¿âµÄÎïÀí¶ÁÐ´£¬OracleÏµÍ³±¾Éí»á½øÐÐ¾¡¿ÉÄÜµÄ²¢ÐÐÓÅ»¯£¬ÀýÈçÔÚÒ»¸ö×î¼òµ¥µÄ±í¼ìË÷²Ù×÷ÖÐ£¬Èç¹û±í½á¹¹ºÍ¼ìË÷ÓòÉÏµÄË÷Òý²»ÔÚÒ»¸öÎïÀí½á¹¹ÉÏ£¬ÄÇÃ´ÔÚ¼ìË÷µÄ¹ý³ÌÖÐ£¬¶ÔË÷ÒýµÄ¼ìË÷ºÍ¶Ô±íµÄ¼ìË÷¾ÍÊÇ²¢ÐÐ½øÐÐµÄ¡£

¡¡¡¡2¡¢²Ù×÷²¢ÐÐÓÅ»¯

¡¡¡¡²Ù×÷²¢ÐÐµÄÓÅ»¯ÊÇ»ùÓÚ²Ù×÷Óï¾äµÄÍ³¼Æ½á¹û£¬Ê×ÏÈÊÇÍ³¼Æ¸÷¸ö±íµÄ·ÃÎÊÆµÂÊ£¬±íÖ®¼äµÄÁ¬½ÓÆµÂÊ£¬¸ù¾ÝÕâÐ©Êý¾Ý°´ÈçÏÂÔ­Ôò·ÖÅä±í¿Õ¼äºÍÎïÀí´ÅÅÌ£¬¼õÉÙÏµÍ³½ø³ÌºÍÓÃ»§½ø³ÌµÄ´ÅÅÌI/O¾ºÕù;°ÑÐèÒªÁ¬½ÓµÄ±í¸ñÔÚ±í¿Õ¼ä/ÎïÀí´ÅÅÌÉÏ·Ö¿ª;°Ñ¸ßÆµ·ÃÎÊµÄ±í¸ñÔÚ±í¿Õ¼ä/ÎïÀí´ÅÅÌÉÏ·Ö¿ª;°Ñ¾­³£ÐèÒª½øÐÐ¼ìË÷µÄ±í¸ñµÄ±í½á¹¹ºÍË÷ÒýÔÚ±í¿Õ¼ä/ÎïÀí´ÅÅÌÉÏ·Ö¿ª¡£

¡¡¡¡3¡¢¼õÉÙ´æ´¢½á¹¹À©Õ¹

¡¡¡¡Èç¹ûÓ¦ÓÃÏµÍ³µÄÊý¾Ý¿â±È½Ï´àÈõ£¬²¢ÔÚ²»¶ÏµØÔö³¤»òËõÐ¡£¬ÕâÑùµÄÏµÍ³ÔÚ·Ç¶¯Ì¬±ä»¯ÖÜÆÚÄÚÐ§ÂÊºÏÀí£¬µ«ÊÇµ±ÔÚ¶¯Ì¬±ä»¯ÖÜÆÚÄÚµÄÊ±ºò£¬ÐÔÄÜÈ´ºÜ²î£¬ÕâÊÇÓÉÓÚOracleµÄ¶¯Ì¬À©Õ¹Ôì³ÉµÄ¡£ÔÚ¶¯Ì¬À©ÕÅµÄ¹ý³ÌÖÐ£¬Oracle±ØÐë¸ù¾Ý´æ´¢µÄÒªÇó£¬ÔÚ´´½¨ÐÐ¡¢ÐÐ±ä»¯»ñÈ¡È±Ê¡ÖµÊ±£¬À©Õ¹ºÍ·ÖÅäÐÂµÄ´æ´¢¿Õ¼ä£¬¶øÇÒ±í¸ñµÄÀ©Õ¹ÍùÍù²¢²»ÊÇÊÂÇéµÄÖÕ½á£¬»¹¿ÉÄÜµ¼ÖÂÊý¾ÝÎÄ¼þ¡¢±í¿Õ¼äµÄÔö³¤£¬ÕâÐ©À©Õ¹»áµ¼ÖÂÔÚÏßÏµÍ³·´Ó¦»ºÂý¡£¶ÔÓÚÕâÑùµÄÏµÍ³£¬×îºÃµÄ°ì·¨¾ÍÊÇÔÚ½¨Á¢µÄÊ±ºòÔ¤ÏÈ·ÖÅä×ã¹»µÄ´óÐ¡ºÍºÏÊÊµÄÔö³¤·ù¶È¡£ÔÚÒ»¸ö¶ÔÏó½¨Á¢µÄÊ±ºòÒª¸ù¾ÝÓ¦ÓÃ³ä·ÖµØ¼ÆËãËûÃÇµÄ´óÐ¡£¬È»ºóÔÙ¸ù¾ÝÕâÐ©Êý¾ÝÀ´¶¨Òå¶ÔÏóInitial¡¢NextºÍMinextentsµÄÖµ£¬Ê¹Êý¾Ý¿âÔÚÎïÀí´æ´¢ÉÏºÍ¶¯Ì¬Ôö³¤´ÎÊýÉÏ´ïµ½Ò»¸ö±È½ÏºÃµÄÆ½ºâµã£¬Ê¹ÕâÐ©¶ÔÏó¼È²»¾­³£·¢ÉúÔö³¤£¬Ò²²»¹ý¶àµØÕ¼ÓÃÊý¾Ý¿â¡£

¡¡¡¡½áÂÛ

¡¡¡¡ÓÅ»¯Oracle Êý¾Ý¿â¶ÔÌá¸ß¼ÆËã»úÏµÍ³µÄ¿ÉÓÃÐÔºÍÐ§ÂÊ,¾ßÓÐ·Ç³£ÖØÒªµÄÒâÒå, ÌØ±ðÊÇÔÚOracleÊý¾Ý¿âÉè¼Æ¿ª·¢½×¶Î£¬¶ÔÂß¼­½á¹¹ºÍÎïÀí½á¹¹½øÐÐÓÐÐ§µÄÓÅ»¯Éè¼Æ£¬´´½¨Ò»¸ö¹æ»®²¼¾ÖºÏÀíµÄÊý¾Ý¿â£¬¿ÉÒÔ»ñµÃ×îÐ¡µÄÏµÍ³¿ªÏú£¬ÄÜ´Ó¸ù±¾ÉÏ´ó´óÌá¸ßÓ¦ÓÃÏµÍ³µÄÕûÌåÐÔÄÜ£¬¶ÔÓÚÒÔºóµÄÊý¾Ý¿âÐÔÄÜµ÷ÕûºÍÀûÓÃ¶¼ÓÐºÜ´óµÄÒæ´¦¡£
]]></description>
		</item>
		<item>
			<title>OracleÊý¾Ý¿â³£¼û´íÎó²Ù×÷¼°½â¾ö·½°¸</title>
			<link>http://www.kingmx.com/article.php?id=14416</link>
			<pubDate>2006-11-23</pubDate>
			<description><![CDATA[

ORA-01650:unable to extend rollback segment NAME by NUM intablespace NAME 

²úÉúÔ­Òò£ºÉÏÊöORACLE´íÎóÎª»Ø¹ö¶Î±í¿Õ¼ä²»×ãÒýÆðµÄ£¬ÕâÒ²ÊÇORACLEÊý¾Ý¹ÜÀíÔ±×î³£¼ûµÄORACLE´íÎóÐÅÏ¢¡£µ±ÓÃ»§ÔÚ×öÒ»¸ö·Ç³£ÅÓ´óµÄÊý¾Ý²Ù×÷µ¼ÖÂÏÖÓÐ»Ø¹ö¶ÎµÄ²»×ã£¬Ê¹¿É·ÖÅäÓÃµÄ»Ø¹ö¶Î±í¿Õ¼äÒÑÂú£¬ÎÞ·¨ÔÙ½øÐÐ·ÖÅä£¬¾Í»á³öÏÖÉÏÊöµÄ´íÎó¡£ 

½â¾ö·½Ê½£ºÊ¹ÓÃ¡°ALTER TABLESPACE tablespace_name ADD DATAFILE filename SIZE size_of_file¡±ÃüÁîÏòÖ¸¶¨µÄÊý¾ÝÔö¼Ó±í¿Õ¼ä£¬¸ù¾Ý¾ßÌåµÄÇé¿ö¿ÉÒÔÔö¼ÓÒ»¸ö»ò¶à¸ö±í¿Õ¼ä¡£µ±È»ÕâÓë»¹ÓëÄãÖ÷»úÉÏµÄÂãÅÌÉè±¸ÓÐ¹Ø£¬Èç¹ûÄãÖ÷»úµÄÂãÅÌÉè±¸ÒÑ¾­Ã»ÓÐ¶àÓàµÄÊ¹ÓÃ¿Õ¼ä£¬½¨ÒéÄã²»ÒªÇáÒâµÄÔö¼Ó»Ø¹ö¶Î±í¿Õ¼äµÄ´óÐ¡£¬¿ÉÊ¹ÓÃÏÂÁÐµÄÓï¾äÏÈ²éÑ¯Ò»ÏÂÊ£ÓàµÄtablespace¿Õ¼äÓÐ¶àÉÙ£º 






Select user_name,sql_text from V$open_cursor where user_name=¡¯&lt;user_name&gt;¡¯;

Èç¹û¶àÓàµÄ¿Õ¼ä±È½Ï¶à£¬¾Í¿ÉÒÔÊÊµ±×·¼ÓÒ»¸ö´óµÄ»Ø¹ö¶Î¸ø±í¿Õ¼äÊ¹ÓÃ£¬´Ó¶ø±ÜÃâÉÏÊöµÄ´íÎó¡£ÄãÒ²¿ÉÒÔÓÃÒÔÏÂÓï¾äÀ´¼ì²âÒ»ÏÂrollback segmentµÄ¾ºÕù×´¿ö£º 






Select class,count from V$waitstat where calss in(¡®system undo header¡¯,¡¯
system undo block¡¯,¡¯undo header¡¯,¡¯undo block¡¯);

ºÍ 






Select sum(value) from V$sysstat where name in (¡®db_block_gets¡¯,¡¯consistents gets¡¯);

Èç¹ûÈÎºÎÒ»¸öclass in count/sum(value)´óÓÚ1%£¬¾ÍÓ¦¸Ã¿¼ÂÇÔö¼Órollback segment¡£ 

ORA-01652:unable to extend temp segment by num in tablespace name 

²úÉúÔ­Òò£ºORACLEÁÙÊ±¶Î±í¿Õ¼ä²»×ã£¬ÒòÎªORACLE×ÜÊÇ¾¡Á¿·ÖÅäÁ¬Ðø¿Õ¼ä£¬Ò»µ«Ã»ÓÐ×ã¹»µÄ¿É·ÖÅä¿Õ¼ä»òÕß·ÖÅä²»Á¬Ðø¾Í»á³öÏÖÉÏÊöµÄÏÖÏó¡£ 

½â¾ö·½·¨£ºÎÒÃÇÖªµÀÓÉÓÚORACLE½«±í¿Õ¼ä×÷ÎªÂß¼­½á¹¹-µ¥Ôª£¬¶ø±í¿Õ¼äµÄÎïÀí½á¹¹ÊÇÊý¾ÝÎÄ¼þ£¬Êý¾ÝÎÄ¼þÔÚ´ÅÅÌÉÏÎïÀíµØ´´½¨£¬±í¿Õ¼äµÄËùÓÐ¶ÔÏóÒ²´æÔÚÓÚ´ÅÅÌÉÏ£¬ÎªÁË¸ø±í¿Õ¼äÔö¼Ó¿Õ¼ä£¬¾Í±ØÐëÔö¼ÓÊý¾ÝÎÄ¼þ¡£ÏÈ²é¿´Ò»ÏÂÖ¸¶¨±í¿Õ¼äµÄ¿ÉÓÃ¿Õ¼ä£¬Ê¹ÓÃÊÓÍ¼SYS.DBA_FREE_SPACE£¬ÊÓÍ¼ÖÐÃ¿Ìõ¼ÇÂ¼´ú±í¿ÉÓÃ¿Õ¼äµÄËéÆ¬´óÐ¡£º 






SQL&gt;Select file_id,block_id,blocks,bytes from sys.dba_free_space where tablespace_name=¡¯&lt;users&gt;¡¯;

·µ»ØµÄÐÅÏ¢¿É³õ²½È·¶¨¿ÉÓÃ¿Õ¼äµÄ×î´ó¿é£¬¿´Ò»ÏÂËüÊÇ·ñÐ¡ÓÚ´íÎóÐÅÏ¢ÖÐÌáµ½µÄ³ß´ç£¬ÔÙ²é¿´Ò»ÏÂÈ±Ê¡µÄ±í¿Õ¼ä²ÎÊý£º 






SQL&gt;SELECT INITIAL_EXTENT,NEXT_EXTENT,MIN_EXTENTS,PCT_INCREASE FROM SYS.DBA_TABLESPACES WHERE 
TABLESPACE_NAME=name;

Í¨¹ýÏÂÃæµÄSQLÃüÁîÐÞ¸ÄÁÙÊ±¶Î±í¿Õ¼äµÄÈ±Ê¡´æ´¢Öµ£º 

SQL&gt;ALTER TABLESPACE name DEFAULT STORAGE (INITIAL XXX NEXT YYY); 

ÊÊµ±Ôö´óÈ±Ê¡ÖµµÄ´óÐ¡ÓÐ¿ÉÄÜ½â¾ö³öÏÖµÄ´íÎóÎÊÌâ£¬Ò²¿ÉÒÔÍ¨¹ýÐÞ¸ÄÓÃ»§µÄÁÙÊ±±í¿Õ¼ä´óÐ¡À´½â¾öÕâ¸öÎÊÌâ£º 

SQL&gt;ALTER USER username TEMPORARY TABLESPACE new_tablespace_name; 

Ê¹ÓÃALTER TABLESPACEÃüÁî£¬Ò»µ«Íê³É£¬ËùÔö¼ÓµÄ¿Õ¼ä¾Í¿ÉÊ¹ÓÃ£¬ÎÞÐèÍË³öÊý¾Ý¿â»òÊ¹±í¿Õ¼äÍÑ»ú£¬µ«Òª×¢Òâ£¬Ò»µ©Ìí¼ÓÁËÊý¾ÝÎÄ¼þ£¬¾Í²»ÄÜÔÙÉ¾³ýËü£¬ÈôÒªÉ¾³ý£¬¾ÍÒªÉ¾³ý±í¿Õ¼ä¡£ 

Ò»¸ö±¨´íÀý×ÓÈçÏÂ£º 






ORA-1652:unable to extend temp segment by 207381 in tablespace TEMPSPACE

ORA-01578:Oracle data block corrupted(file # num,block # num) 

²úÉúÔ­Òò£ºµ±ORACLE·ÃÎÊÒ»¸öÊý¾Ý¿éÊ±£¬ÓÉÓÚ£º 

1¡¢Ó²¼þµÄI/O´íÎó£» 

2¡¢²Ù×÷ÏµÍ³µÄI/O´íÎó»ò»º³åÎÊÌâ£» 

3¡¢ÄÚ´æ»òpagingÎÊÌâ£» 

4¡¢ORACLEÊÔÍ¼·ÃÎÊÒ»¸öÎ´±»¸ñÊ½»¯µÄÏµÍ³¿éÊ§°Ü£»5¡¢Êý¾ÝÎÄ¼þ²¿·ÖÒç³öµÈÉÏÊö¼¸ÖÖÇé¿öµÄÒ»ÖÖÒýÆðÁËÂß¼­»µ¿é»òÕßÎïÀí»µ¿é£¬ÕâÊ±¾Í»á±¨ORA-01578µÄ´íÎó¡£ 

½â¾ö·½Ê½£ºÓÉÓÚORACLEÖ»ÓÐÔÚ·ÃÎÊµ½ÓÐÎÊÌâµÄÊý¾ÝÎÄ¼þÊ±²Å»á±¨´í£¬ËùÒÔ±¨´íµÄÊ±¼äÓÐ¿ÉÄÜ»á±ÈÊµ¼Ê³ö´íµÄÊ±¼äÒªÍí£¬Èç¹ûORA-01578³ö´íÐÅÏ¢ÌáÊ¾Êý¾Ý»µ¿éÖ¸ÏòµÄÊÇÓÃ»§×Ô¼ºµÄÊý¾ÝÎÄ¼þ£¬ÔòÓÃÒÔÏÂ·½·¨À´½â¾ö£º 

Èç¹ûÍ¨¹ýÏÂÃæµÄSQLÓï¾ä²é³öµÄ»µ¿é³öÏÖÓÐË÷ÒýÉÏ£¬ÔòÖ»ÐèÖØ½¨Ë÷Òý¼´¿É 






SQL&gt;
Select owner,segment_name,segment_type from dba_extents 
where file_id=&lt;F&gt; and &lt;B&gt; between block_id and block_id+blocks-1;
(&lt;F&gt;ºÍ&lt;B&gt;·Ö±ðÊÇORA-01578±¨³öµÄ»µ¿é³öÏÖµÄÎÄ¼þºÅºÍ¿éºÅ)

Èç¹û»µ¿é³öÏÖÔÚ±íÉÏ£¬ÏÈÓÃÒÔÏÂÓï¾ä·ÖÎöÊÇ·ñÎªÓÀ¾ÃÐÔ»µ¿é£¨½¨Òé¶àÖ´ÐÐÒ»Á½´Î£¬ÓÐÖúÓÚ¼ø±ðÊý¾Ý»µ¿éÊÇÓÀ¾ÃÐÔµÄ£¨Ó²ÅÌÉÏµÄÎïÀí»µ¿é£©»¹ÊÇËæ»úÐÔµÄ£¨ÄÚ´æ»òÓ²¼þ´íÎóÒýÆð£©£©£º 

SQL&gt;Analyze table validate structure cascade; 

Ö´ÐÐ¸ÃÃüÁîºó£¬¿ÉÄÜ»á³öÏÖÒÔÏÂµÄ½á¹û£º 

ORA-01578£ºÓëÔ­ÏÈ´íÎóÐÅÏ¢ÓÐÏàÍ¬µÄ²ÎÊý£¬ÎªÓÀ¾ÃÐÔµÄÎïÀí»òÂß¼­»µ¿é£»ÓëÔ­ÏÈ´íÎóÐÅÏ¢ÓÐ²»Í¬µÄ²ÎÊý£¬¿ÉÄÜÓëÄÚ´æ£¬page spaceºÍI/OÉè±¸ÓÐ¹Ø¡£ 

Èç¹ûÓÃ»§ÓÐ´Ë±íµÄ×îÐÂ±¸·Ý£¬ÄÇÃ´×îºÃÊÇÓÃ´Ë±¸·ÝÀ´»Ö¸´´Ë±í£¬»òÕßÊ¹ÓÃevent 10231À´È¡³ö»µ¿éÒÔÍâµÄÊý¾Ý£º 

&lt;1&gt;.ÏÈ¹Ø±ÕÊý¾Ý¿â 

&lt;2&gt;.±à¼­init.oraÎÄ¼þ£¬¼ÓÈë£º 






event=¡±10231 trace name context forever,level 10¡±

&lt;3&gt;.startup restrict 

&lt;4&gt;.´´½¨Ò»¸öÁÙÊ±±í£ºSQL&gt;create table errortemp as select * from error;(errorÊÇ»µ±íµÄ±íÃû) 

&lt;5&gt;.°Ñevent´Óinit.oraÎÄ¼þÖÐÉ¾µô²¢ÖØÆðÊý¾Ý¿â 

&lt;6&gt;.rename»µ±í£¬°ÑÁÙÊ±±írename³É»µ±íµÄ±íÃû 

&lt;7&gt;.´´½¨±íÉÏµÄINDEXµÈ 

Èç¹ûORA-01578³ö´íÐÅÏ¢ÌáÊ¾Êý¾Ý»µ¿éÖ¸ÏòµÄÊÇÊý¾Ý×Öµä»òÕßÊÇ»Ø¹ö¶ÎµÄ»°£¬ÄãÓ¦¸ÃÁ¢¼´ÓëORACLE¹«Ë¾ÁªÏµ£¬¹²Í¬ÉÌÁ¿Ò»¸öºÃµÄ½â¾ö°ì·¨¡£ 

ÕâÀïËù½²µÄ½â¾ö·½·¨Ö»ÊÇ±È½Ï³£¼ûµÄÒ»ÖÖ£¬Ò»Ð©¸üÎª¾ßÌåµÄ½â¾ö°ì·¨¿ÉÒÔ²é¿´Ò»ÏÂORACLEµÄ¹ÊÕÏ½â¾öÊÖ²á£¬ÄÇÀïÃæÓÐä·¼°Ê¹ÓÃROWID·½·¨À´È¡³ö»µ¿éÒÔÍâµÄÊý¾ÝµÄ·½·¨£¬ÕâÀï¾Í²»½éÉÜÁË¡£

ORA-01628:max # of extents num reached for rollback segment num 

²úÉúÔ­Òò£ºÕâÖÖ´íÎóÍ¨³£ÎªÒ»¸ö»Ø¹ö¶ÎºÍÒ»¸ö±í¿Õ¼äÒÑ¾­´ïµ½MAXEXTENTS²ÎÊýÉèÖÃµÄ¼«ÏÞ¡£Òª×¢ÒâµÄÊÇÕâ¸öMAXEXTENTS²»ÊÇ¸Ã»Ø¹ö¶Î»ò±í¿Õ¼äµÄÓ²¼þ¼«ÏÞ£¬Ó²¼þ¼«ÏÞÈ¡¾öÓÚÊý¾Ý¿â´´½¨Ê±ÔÚinit.oraÎÄ¼þÖÐÖ¸¶¨µÄDB_BLOCK_SIZE²ÎÊýµÄÖµ¡£ 

½â¾ö·½·¨£ºÊ¹ÓÃSQLÃüÁîALTER TABLESPACE¡­STORAGE£¨MAXEXTENTS XXXX£©À´Ôö¼Ó MAXEXTENTS£¬ÆäÖÐ¡°XXXX¡±Öµ±ØÐë´óÓÚ´íÎóÐÅÏ¢ÖÐËùÖ¸µÄÊýÖµ£¬µ«²»ÄÜ´óÓÚLARGEST MAXEXTENTµÄÖµ£¬Èç¹ûÒÑ¾­´ïµ½ÁËLARGEST MAXEXTENT VALUE£¬½â¾öµÄ°ì·¨¾ÍÊÇÖØÐÂ´´½¨½Ï´óµÄ·¶Î§³ß´ç£¬Ê¹ÓÃ´øÓÐÑ¡ÏîCOMPRESS=YµÄExport¹¤¾ßµ¼³ö±í£¬Èç¹û±í¿Õ¼äÓÐ¿ÉÓÃ¿Õ¼ä£¬ÏÈ¸ø±í×öÒ»¸ö±¸·Ý£¬ÓÃalter tablespace tablespace_name¸ü¸ÄÆäÃû×Ö£¬È»ºóÔÙ×°ÔØ±í»ØÊý¾Ý¿â¡£ 

²é¿´Æä´íÎó³öÏÖµÄµØ·½£¬Èç¹û³öÏÖÔÚ»Ø¹ö¶Î»òË÷ÒýÉÏ£¬ÄÇÃ´±ØÐë½«ÆäÉ¾³ý²¢ÖØ½¨£¬Èç¹û³öÏÖÔÚÁÙÊ±±í¿Õ¼ä£¬ÐÞ¸ÄÁÙÊ±±í¿Õ¼äµÄ´æ´¢×Ö¶Î£¬±ã¿É½â¾öÕâ¸öÎÊÌâ¡£ 

Ò»¸ö±¨´íÀý×ÓÈçÏÂ£º 






ORA-1628:max # extents 50 reached for rollback segment RBS_1

ORA-00600:internal error code,arguments:[num],[?],[?],[?],[?] 

²úÉúÔ­Òò£ºÕâÖÖ´íÎóÍ¨³£ÎªORACLEµÄÄÚ²¿´íÎó£¬Ö»¶ÔOSSºÍORACLE¿ª·¢ÓÐÓÃ¡£ORA-600µÄ´íÎó¾­³£°éËæ¸ú×ÙÎÄ¼þµÄ×´Ì¬×ª´¢£¨ÏµÍ³×´Ì¬ºÍ½ø³Ì×´Ì¬£©£¬ÏµÍ³×´Ì¬´æ´¢½«°üÀ¨ORACLE RDBMS³ÖÓÐµÄµ±Ç°¶ÔÏóµÄÐÅÏ¢£¬½ø³Ì×´Ì¬×ª´¢Ôò½«ÏÔÊ¾ÌØÊâ½ø³Ì³ÖÓÐµÄ¶ÔÏó£¬µ±½ø³Ì·ûºÏÁËÄ³´íÎóÌõ¼þÊ±£¬¾­³£ÊÇÓÉÓÚÒ»Ð©ÐÅÏ¢È¡×ÔËü³ÖÓÐµÄÒ»¸ö¿é£¬Èç¹ûÎÒÃÇÖªµÀÕâÐ©´íÎó½ø³Ì³ÖÓÐµÄ¿é£¬¾ÍÈÝÒ×¸ú×ÙÎÊÌâµÄÀ´Ô´¡£ 

½â¾ö·½·¨£ºÒ»°ãÀ´Ëµ³öÏÖÕâ¸ö´íÎóÎÒÃÇ±¾ÉíÊÇÎÞ·¨½â¾öµÄ£¬Ö»ÓÐ´ÓÌá¸ßÏµÍ³±¾Éí¸÷·½ÃæÀ´½â¾öÕâ¸öÄÚ²¿ÎÊÌâ£¬ÈçÔö¼ÓÓ²¼þÉè±¸£¬µ÷ÕûÏµÍ³ÐÔÄÜ£¬Ê¹ÓÃOPS£¨µ±È»OPS´ÓÄ³ÖÖÒâÒåÉÏËµ²¢²»ÊÇÒ»ÖÖºÃµÄ½â¾ö·½Ê½£©µÈ¡£ORA-600´íÎóµÄµÚÒ»¸ö±äÁ¿ÓÃÓÚ±ê¼Ç´úÂëÖÐ´íÎóµÄÎ»ÖÃ£¨´úÂëÖÐµÄÃ¿¸ö²¿·ÖµÄµÚÒ»±äÁ¿¶¼²»Ò»Ñù£©£¬´ÓµÚ¶þ¸öµ½µÚÎå¸ö±äÁ¿ÏÔÊ¾¸½¼ÓÐÅÏ¢£¬¸æËßOSS´úÂëÔÚÄÄÀï³öÏÖÁË´íÎó¡£ 

Ò»¸ö±¨´íÀý×ÓÈçÏÂ£º 






ORA-00600: internal error code, arguments: [1237], [], [], [], [], [], [], []

ORA-03113£ºend-of-file on communication channel 

²úÉúÔ­Òò£ºÍ¨Ñ¶²»Õý³£½áÊø£¬´Ó¶øµ¼ÖÂÍ¨Ñ¶Í¨µÀÖÕÖ¹ 

½â¾ö·½·¨£º 

1&gt;.¼ì²éÊÇ·ñÓÐ·þ½ø³Ì²»Õý³£ËÀ»ú£¬¿É´Óalert.logµÃÖª 

2&gt;.¼ì²ésql*Net DriverÊÇ·ñÁ¬½Óµ½ORACLE¿ÉÖ´ÐÐ³ÌÐò 

3&gt;.¼ì²é·þÎñÆ÷ÍøÂçÊÇ·ñÕý³££¬ÈçÍøÂç²»Í¨»ò²»ÎÈ¶¨µÈ 

4&gt;.¼ì²éÍ¬Ò»¸öÍøÉÏÊÇ·ñÓÐÁ½¸öÍ¬ÑùÃû×ÖµÄ½Úµã 

5&gt;.¼ì²éÍ¬Ò»¸öÍøÉÏÊÇ·ñÓÐÖØ¸´µÄIPµØÖ· 

ORA-00942:table or view does not exist 

²úÉúÔ­Òò£ºÕâÊÇÓÉÓÚ×°ÔØµÄ±í»òÊÓÍ¼²»´æÔÚ£¬¶à°ëÊÇCATEXP.SQL»¹Ã»ÓÐÔËÐÐ£¬ÎÞ·¨Ö´ÐÐExportÊÓÍ¼,Èç¹ûCATEXP.SQLÒÑ¾­ÔËÐÐ£¬Ôò¿ÉÄÜÊÇ°æ±¾´íÎó¡£ 

½â¾ö·½·¨£ºÒòÎªImportºÍExport¹²ÏíµÄÒ»Ð©ÊÓÍ¼ÊÇÍ¨¹ýÔËÐÐCATEXP.SQLÀ´×°ÔØµÄ£¨ËüÃÇ¾ßÓÐÏàÍ¬µÄÊÓÍ¼£©£¬²¢²»Éú³Éµ¥¶ÀµÄCATEXP.SQL£¬Òò¶øÔì³ÉÊÓÍ¼ÓëExport´úÂë²»Í¬²½£¬½ÏÄÑ±£³Ö±Ë´ËÖ®¼äµÄ¼æÈÝ£¬ÓÃ»§¾Í±ØÐë½¨Á¢×Ô¼ºµÄExportÓ¦ÓÃ£¬´Ó¶ø±ÜÃâORA-00942µÄ´íÎó¡£ 

ÉÏÊö´íÎó¾ùÎªÎÒÃÇÔÚÊ¹ÓÃ»Ø¹ö¶ÎÊ±±È½Ï³£¼ûµÄÎÊÌâ£¬ORA-01598Ö¸Ã÷µ±Ç°Ê¹ÓÃµÄ»Ø¹ö¶ÎµÄ×´Ì¬Îª¡°not online¡±£¬²»ÄÜÊ¹ÓÃ£¬½«Ëü¸ÄÎª¡°online¡±×´Ì¬¼´¿ÉÊ¹ÓÃ£»ORA-01636Ö¸Ã÷µ±Ç°»Ø¹ö¶ÎÒÑ¾­Îª¡°online¡±×´Ì¬£¬¿ÉÒÔÖ±½ÓÊ¹ÓÃ£¬²»ÓÃÔÙ¼¯ºÏËü¡£ 

ORA-1636 signalled during: alter rollback segment rb00 online 

ÎÒÃÇÔÚ×öÍ³¼ÆÊ±»¹¿ÉÄÜÓöµ½ÏÂÊöÎÊÌâ£ºÒ»¸örollback segmentµÄ×´Ì¬Îª¡±Needs Recovery¡±µÄÏÖÏó£¬ÕâÊÇÓÉÓÚORACLE»ØÍËÒ»¸öÊÂÎï±íÖÐµÄÃ»ÓÐÌá½»µÄÊÂÎïÊ±Ê§°ÜËùÔì³ÉµÄ¡£Í¨³£Ô­ÒòÎªÒ»¸ödatafile»òÕßtablespaceÊÇÔÚofflineµÄ×´Ì¬»òÕßÒ»¸öundoµÄÄ¿±ê±»ÆÆ»µ»òÕßrollback segment±»ÆÆ»µ¡£½â¾öµÄ°ì·¨ÊÇ½«ËùÓÐµÄtablespaceºÍdatafile¶¼ÖÃÎªonline×´Ì¬£¬Èç¹û²»ÄÜ½â¾öÔò×öÏÂÃæµÄ¹¤×÷£º 

1&gt;.ÔÚinitsid.oraÖÐ¼ÓÈëevent=¡±10015 trace name context forever lever 10¡±; 

2&gt;.shutdownÊý¾Ý¿âÈ»ºóÖØÆô£» 

3&gt;.ÔÚ$ORACLE_HOME/rdbms/logÏÂ£¬ÕÒµ½startupÊ±Éú³ÉµÄtrace file; 

4&gt;.ÔÚtraceÎÄ¼þÖÐ£¬ÕÒµ½ÏÂÁÐÐÅÏ¢¡°error recovery tx(#,#) object #¡±; 

5&gt;.¸ù¾Ýobject#(Óësys.dba_objects±íÖÐµÄobject_idÏàÍ¬)ÔÚsys.dba_objects±íÖÐ²é³ö¸ÃobjectµÄÃû×Ö£» 

6&gt;.½«¸Ãobject dropµô; 

7&gt;.ÔÚinit.oraÎÄ¼þÖÐ½«¸Ãrollback segment·Å»Ørollback_segments²ÎÊýÖÐ£¬É¾³ýevent;8&gt;.shutdownÊý¾Ý¿âÈ»ºóÖØÆô¡£´ËÊ±¡±Needs Recovery¡±µÄÎÊÌâÓ¦¸ÃÊÇÍêÈ«½â¾öÁË£¬·ñÔò¾ÍÊÇrollback segment±»ÆÆ»µÁË¡£ 

ORA-01688:unable to extend table name.name partition NAME by NUM in tablespace NAME 

²úÉúÔ­Òò£ºÖ¸¶¨µÄtablespace¿Õ¼äÒÑ¾­±»Õ¼ÓÃÂú£¬ÎÞ·¨À©Õ¹¡£ 

½â¾ö·½·¨£ºÊ¹ÓÃ¡°ALTER TABLESPACE ADD DATAFILE¡±ÃüÁîÔö¼ÓÎÄ¼þÏµÍ³ÎÄ¼þºÍÔ­Ê¼·ÖÇø£¬»òÕßÔö¼ÓINITIALµÄ´óÐ¡£¨Èç£ºalter tablespace CDRS101 default storage(next 500M pctincrease 1)£©Ó¦¸ÃÄÜ¹»½â¾ö£¬·ñÔò¾ÍÊÇÓÐÈËÊ¹ÓÃÄãµÄ±í¿Õ¼äÉÏ´´½¨ÁËÒ»¸ö±È½Ï´óµÄÊý¾ÝÎÄ¼þµ¼ÖÂÄãµÄ±í¿Õ¼ä²»¹»ÓÃ¡£ 

Ò»¸ö±¨´íÀý×ÓÈçÏÂ£º 






ORA-1688: unable to extend table RMMCDR.LOCAL_CDR partition LOCAL_CDR101 by 460800 in tablespace CDRS101

]]></description>
		</item>
		<item>
			<title>È«Ãæ½éÉÜ£ºOracleÊý¾Ý¿âÈÕÆÚ´¦Àí</title>
			<link>http://www.kingmx.com/article.php?id=14415</link>
			<pubDate>2006-11-23</pubDate>
			<description><![CDATA[
ÔÚoracleÖÐ´¦ÀíÈÕÆÚ´óÈ« 
¡¡¡¡TO_DATE¸ñÊ½ 



Day:&nbsp; 
dd number 12&nbsp; 
dy abbreviated fri&nbsp; 
day spelled out friday&nbsp; 
ddspth spelled out, ordinal twelfth&nbsp; 
Month:&nbsp; 
mm number 03&nbsp; 
mon abbreviated mar&nbsp; 
month spelled out march&nbsp; 
Year:&nbsp; 
yy two digits 98&nbsp; 
yyyy four digits 1998&nbsp; 


¡¡¡¡24Ð¡Ê±¸ñÊ½ÏÂÊ±¼ä·¶Î§Îª: 0:00:00 - 23:59:59....

¡¡¡¡12Ð¡Ê±¸ñÊ½ÏÂÊ±¼ä·¶Î§Îª: 1:00:00 - 12:59:59 ....

¡¡¡¡1.ÈÕÆÚºÍ×Ö·û×ª»»º¯ÊýÓÃ·¨(to_date,to_char)

¡¡¡¡2.select to_char( to_date(222,'J'),'Jsp') from dual

¡¡¡¡ÏÔÊ¾Two Hundred Twenty-Two

¡¡¡¡3.ÇóÄ³ÌìÊÇÐÇÆÚ¼¸ 



select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;&nbsp;&nbsp;
ÐÇÆÚÒ»&nbsp;&nbsp;
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;&nbsp;&nbsp;
monday&nbsp;&nbsp;


¡¡¡¡ÉèÖÃÈÕÆÚÓïÑÔ 



ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';


¡¡¡¡Ò²¿ÉÒÔÕâÑù 



TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')


¡¡¡¡4.Á½¸öÈÕÆÚ¼äµÄÌìÊý 



select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;


¡¡¡¡5. Ê±¼äÎªnullµÄÓÃ·¨ 



select id, active_date from table1&nbsp;&nbsp;
UNION&nbsp;&nbsp;
select 1, TO_DATE(null) from dual;&nbsp;&nbsp;


¡¡¡¡×¢ÒâÒªÓÃTO_DATE(null)

¡¡¡¡6.a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd')

¡¡¡¡ÄÇÃ´12ÔÂ31ºÅÖÐÎç12µãÖ®ºóºÍ12ÔÂ1ºÅµÄ12µãÖ®Ç°ÊÇ²»°üº¬ÔÚÕâ¸ö·¶Î§Ö®ÄÚµÄ¡£

¡¡¡¡ËùÒÔ£¬µ±Ê±¼äÐèÒª¾«È·µÄÊ±ºò£¬¾õµÃto_char»¹ÊÇ±ØÒªµÄ

¡¡¡¡7. ÈÕÆÚ¸ñÊ½³åÍ»ÎÊÌâ

¡¡¡¡ÊäÈëµÄ¸ñÊ½Òª¿´Äã°²×°µÄORACLE×Ö·û¼¯µÄÀàÐÍ, ±ÈÈç: US7ASCII, date¸ñÊ½µÄÀàÐÍ¾ÍÊÇ: 



'01-Jan-01'&nbsp;&nbsp;
alter system set NLS_DATE_LANGUAGE = American&nbsp;&nbsp;
alter session set NLS_DATE_LANGUAGE = American&nbsp;


¡¡¡¡»òÕßÔÚto_dateÖÐÐ´ 



select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;


¡¡¡¡×¢ÒâÎÒÕâÖ»ÊÇ¾ÙÁËNLS_DATE_LANGUAGE£¬µ±È»»¹ÓÐºÜ¶à£¬

¡¡¡¡¿É²é¿´ 



select * from nls_session_parameters&nbsp;&nbsp;
select * from V$NLS_PARAMETERS&nbsp;&nbsp;



8. 



select count(*)&nbsp;&nbsp;
from ( select rownum-1 rnum&nbsp;&nbsp;
from all_objects&nbsp;&nbsp;
where rownum &lt;= to_date('2002-02-28','yyyy-mm-dd') - to_date('2002-&nbsp;&nbsp;
02-01','yyyy-mm-dd')+1&nbsp;&nbsp;
)&nbsp;&nbsp;
where to_char( to_date('2002-02-01','yyyy-mm-dd')+rnum-1, 'D' )&nbsp;&nbsp;
not&nbsp;&nbsp;
in ( '1', '7' )&nbsp;&nbsp;

¡¡¡¡²éÕÒ2002-02-28ÖÁ2002-02-01¼ä³ýÐÇÆÚÒ»ºÍÆßµÄÌìÊý

¡¡¡¡ÔÚÇ°ºó·Ö±ðµ÷ÓÃDBMS_UTILITY.GET_TIME, ÈÃºó½«½á¹ûÏà¼õ(µÃµ½µÄÊÇ1/100Ãë, ¶ø²»ÊÇºÁÃë).

¡¡¡¡9. 



select months_between(to_date('01-31-1999','MM-DD-YYYY'),&nbsp;&nbsp;
to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;&nbsp;&nbsp;
1&nbsp;&nbsp;
select months_between(to_date('02-01-1999','MM-DD-YYYY'),&nbsp;&nbsp;
to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;&nbsp;&nbsp;
1.03225806451613&nbsp;&nbsp;


¡¡¡¡10. Next_dayµÄÓÃ·¨ 



Next_day(date, day)&nbsp;&nbsp;
Monday-Sunday, for format code DAY&nbsp;&nbsp;
Mon-Sun, for format code DY&nbsp;&nbsp;
1-7, for format code D&nbsp;&nbsp;


¡¡¡¡11.select to_char(sysdate,'hh:mi:ss') TIME from all_objects

¡¡¡¡×¢Òâ:µÚÒ»Ìõ¼ÇÂ¼µÄTIME Óë×îºóÒ»ÐÐÊÇÒ»ÑùµÄ

¡¡¡¡¿ÉÒÔ½¨Á¢Ò»¸öº¯ÊýÀ´´¦ÀíÕâ¸öÎÊÌâ 



create or replace function sys_date return date is&nbsp;&nbsp;
begin&nbsp;&nbsp;
return sysdate;&nbsp;&nbsp;
end;&nbsp;&nbsp;
select to_char(sys_date,'hh:mi:ss') from all_objects;&nbsp;&nbsp;


¡¡¡¡12.»ñµÃÐ¡Ê±Êý 



SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 2:38:40') from offer&nbsp;&nbsp;
SQL&gt; select sysdate ,to_char(sysdate,'hh') from dual;&nbsp;&nbsp;
SYSDATE TO_CHAR(SYSDATE,'HH')&nbsp;&nbsp;
-------------------- ---------------------&nbsp;&nbsp;
2003-10-13 19:35:21 07&nbsp;&nbsp;
SQL&gt; select sysdate ,to_char(sysdate,'hh24') from dual;&nbsp;&nbsp;
SYSDATE TO_CHAR(SYSDATE,'HH24')&nbsp;&nbsp;
-------------------- -----------------------&nbsp;&nbsp;
2003-10-13 19:35:21 19&nbsp;&nbsp;


¡¡¡¡»ñÈ¡ÄêÔÂÈÕÓë´ËÀàËÆ

¡¡¡¡13.ÄêÔÂÈÕµÄ´¦Àí 



select older_date,&nbsp;&nbsp;
newer_date,&nbsp;&nbsp;
years,&nbsp;&nbsp;
months,&nbsp;&nbsp;
abs(&nbsp;&nbsp;
trunc(&nbsp;&nbsp;
newer_date-&nbsp;&nbsp;
add_months( older_date,years*12+months )&nbsp;&nbsp;
)&nbsp;&nbsp;
) days&nbsp;&nbsp;
from ( select&nbsp;&nbsp;
trunc(months_between( newer_date, older_date )/12) YEARS,&nbsp;&nbsp;
mod(trunc(months_between( newer_date, older_date )),&nbsp;&nbsp;
12 ) MONTHS,&nbsp;&nbsp;
newer_date,&nbsp;&nbsp;
older_date&nbsp;&nbsp;
from ( select hiredate older_date,&nbsp;&nbsp;
add_months(hiredate,rownum)+rownum newer_date&nbsp;&nbsp;
from emp )&nbsp;&nbsp;
)&nbsp;&nbsp;


¡¡¡¡14.´¦ÀíÔÂ·ÝÌìÊý²»¶¨µÄ°ì·¨ 



select to_char(add_months(last_day(sysdate) +1, -2), 'yyyymmdd'),last_day(sysdate) from dual


¡¡¡¡15.ÕÒ³ö½ñÄêµÄÌìÊý 



select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual


¡¡¡¡ÈòÄêµÄ´¦Àí·½·¨ 



to_char( last_day( to_date('02' || :year,'mmyyyy') ), 'dd' )


¡¡¡¡Èç¹ûÊÇ28¾Í²»ÊÇÈòÄê


16.yyyyÓërrrrµÄÇø±ð 



'YYYY99 TO_C&nbsp;&nbsp;
------- ----&nbsp;&nbsp;
yyyy 99 0099&nbsp;&nbsp;
rrrr 99 1999&nbsp;&nbsp;
yyyy 01 0001&nbsp;&nbsp;
rrrr 01 2001


¡¡¡¡17.²»Í¬Ê±ÇøµÄ´¦Àí 



select to_char( NEW_TIME( sysdate, 'GMT','EST'), 'dd/mm/yyyy hh:mi:ss') ,sysdate&nbsp;&nbsp;
from dual;&nbsp;


¡¡¡¡18.5ÃëÖÓÒ»¸ö¼ä¸ô 



Select TO_DATE(FLOOR(TO_CHAR(sysdate,'SSSSS')/300) * 300,'SSSSS') ,TO_CHAR(sysdate,'SSSSS')&nbsp;&nbsp;
from dual&nbsp;&nbsp;
2002-11-1 9:55:00 35786&nbsp;


¡¡¡¡SSSSS±íÊ¾5Î»ÃëÊý

¡¡¡¡19.Ò»ÄêµÄµÚ¼¸Ìì 



select TO_CHAR(SYSDATE,'DDD'),sysdate from dual&nbsp;&nbsp;
310 2002-11-6 10:03:51&nbsp;


¡¡¡¡20.¼ÆËãÐ¡Ê±,·Ö,Ãë,ºÁÃë 



select&nbsp;&nbsp;
Days,&nbsp;&nbsp;
A,&nbsp;&nbsp;
TRUNC(A*24) Hours,&nbsp;&nbsp;
TRUNC(A*24*60 - 60*TRUNC(A*24)) Minutes,&nbsp;&nbsp;
TRUNC(A*24*60*60 - 60*TRUNC(A*24*60)) Seconds,&nbsp;&nbsp;
TRUNC(A*24*60*60*100 - 100*TRUNC(A*24*60*60)) mSeconds&nbsp;&nbsp;
from&nbsp;&nbsp;
(&nbsp;&nbsp;
select&nbsp;&nbsp;
trunc(sysdate) Days,&nbsp;&nbsp;
sysdate - trunc(sysdate) A&nbsp;&nbsp;
from dual&nbsp;&nbsp;
)&nbsp;&nbsp;
select * from tabname&nbsp;&nbsp;
order by decode(mode,'FIFO',1,-1)*to_char(rq,'yyyymmddhh24miss');&nbsp;&nbsp;
//&nbsp;&nbsp;
floor((date2-date1) /365) ×÷ÎªÄê&nbsp;&nbsp;
floor((date2-date1, 365) /30) ×÷ÎªÔÂ&nbsp;&nbsp;
mod(mod(date2-date1, 365), 30)×÷ÎªÈÕ.&nbsp;&nbsp;


¡¡¡¡21.next_dayº¯Êý

¡¡¡¡next_day(sysdate,6)ÊÇ´Óµ±Ç°¿ªÊ¼ÏÂÒ»¸öÐÇÆÚÎå¡£ºóÃæµÄÊý×ÖÊÇ´ÓÐÇÆÚÈÕ¿ªÊ¼ËãÆð¡£

¡¡¡¡1 2 3 4 5 6 7

¡¡¡¡ÈÕ Ò» ¶þ Èý ËÄ Îå Áù

¡¡¡¡ÔÚoracleÖÐÓÐºÜ¶à¹ØÓÚÈÕÆÚµÄº¯Êý£¬Èç:

¡¡¡¡22.add_months()ÓÃÓÚ´ÓÒ»¸öÈÕÆÚÖµÔö¼Ó»ò¼õÉÙÒ»Ð©ÔÂ·Ý 



date_value:=add_months(date_value,number_of_months)


¡¡¡¡Àý: 



SQL&gt; select add_months(sysdate,12) "Next Year" from dual; 
Next Year 
---------- 
13-11ÔÂ-04 
SQL&gt; select add_months(sysdate,112) "Last Year" from dual; 
Last Year 
---------- 
13-3ÔÂ -13 
SQL&gt; 



23.current_date()·µ»Øµ±Ç°»á·ÅÊ±ÇøÖÐµÄµ±Ç°ÈÕÆÚ 



date_value:=current_date 
SQL&gt; column sessiontimezone for a15 
SQL&gt; select sessiontimezone,current_date from dual; 
SESSIONTIMEZONE CURRENT_DA 
--------------- ---------- 
+08:00 13-11ÔÂ-03 
SQL&gt; alter session set time_zone='-11:00' 
&nbsp;&nbsp;2 / 

¡¡¡¡»á»°ÒÑ¸ü¸Ä¡£ 



SQL&gt; select sessiontimezone,current_timestamp from dual; 
SESSIONTIMEZONE CURRENT_TIMESTAMP 
--------------- ------------------------------------ 
-11:00 12-11ÔÂ-03 04.59.13.668000 ÏÂÎç -11: 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 00 
SQL&gt; 


¡¡¡¡24.current_timestamp()ÒÔtimestamp with time zoneÊý¾ÝÀàÐÍ·µ»Øµ±Ç°»á·ÅÊ±ÇøÖÐµÄµ±Ç°ÈÕÆÚ 



timestamp_with_time_zone_value:=current_timestamp([timestamp_precision]) 
SQL&gt; column sessiontimezone for a15 
SQL&gt; column current_timestamp format a36 
SQL&gt; select sessiontimezone,current_timestamp from dual; 
SESSIONTIMEZONE CURRENT_TIMESTAMP 
--------------- ------------------------------------ 
+08:00 13-11ÔÂ-03 11.56.28.160000 ÉÏÎç +08: 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 00 
SQL&gt; alter session set time_zone='-11:00' 
&nbsp;&nbsp;2 /


¡¡¡¡»á»°ÒÑ¸ü¸Ä¡£ 



SQL&gt; select sessiontimezone,current_timestamp from dual; 
SESSIONTIMEZONE CURRENT_TIMESTAMP 
--------------- ------------------------------------ 
-11:00 12-11ÔÂ-03 04.58.00.243000 ÏÂÎç -11: 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 00 
SQL&gt; 


¡¡¡¡25.dbtimezone()·µ»ØÊ±Çø 



varchar_value:=dbtimezone 
SQL&gt; select dbtimezone from dual; 
DBTIME 
------ 
-07:00 
SQL&gt; 


¡¡¡¡26.extract()ÕÒ³öÈÕÆÚ»ò¼ä¸ôÖµµÄ×Ö¶ÎÖµ 



date_value:=extract(date_field from [datetime_value|interval_value]) 
SQL&gt; select extract(month from sysdate) "This Month" from dual; 
This Month 
---------- 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;11 
SQL&gt; select extract(year from add_months(sysdate,36)) "3 Years Out" from dual; 
3 Years Out 
----------- 
&nbsp; &nbsp;&nbsp; &nbsp; 2006 
SQL&gt;




27.last_day()·µ»Ø°üº¬ÁËÈÕÆÚ²ÎÊýµÄÔÂ·ÝµÄ×îºóÒ»ÌìµÄÈÕÆÚ 



date_value:=last_day(date_value) 
SQL&gt; select last_day(date'2000-02-01') "Leap Yr?" from dual; 
Leap Yr? 
---------- 
29-2ÔÂ -00 
SQL&gt; select last_day(sysdate) "Last day of this month" from dual; 
Last day o 
---------- 
30-11ÔÂ-03 
SQL&gt; 


¡¡¡¡28.localtimestamp()·µ»Ø»á»°ÖÐµÄÈÕÆÚºÍÊ±¼ä 



timestamp_value:=localtimestamp 
SQL&gt; column localtimestamp format a28 
SQL&gt; select localtimestamp from dual; 
LOCALTIMESTAMP 
---------------------------- 
13-11ÔÂ-03 12.09.15.433000 
ÏÂÎç 
SQL&gt; select localtimestamp,current_timestamp from dual; 
LOCALTIMESTAMP CURRENT_TIMESTAMP 
---------------------------- ------------------------------------ 
13-11ÔÂ-03 12.09.31.006000 13-11ÔÂ-03 12.09.31.006000 ÏÂÎç +08: 
ÏÂÎç 00 
SQL&gt; alter session set time_zone='-11:00'; 


¡¡¡¡»á»°ÒÑ¸ü¸Ä¡£ 



SQL&gt; select localtimestamp,to_char(sysdate,'DD-MM-YYYY HH:MI:SS AM') "SYSDATE" from dual; 
LOCALTIMESTAMP SYSDATE 
---------------------------- ------------------------ 
12-11ÔÂ-03 05.11.31.259000 13-11-2003 12:11:31 ÏÂÎç 
ÏÂÎç 
SQL&gt; 


¡¡¡¡29.months_between()ÅÐ¶ÏÁ½¸öÈÕÆÚÖ®¼äµÄÔÂ·ÝÊýÁ¿ 



number_value:=months_between(date_value,date_value) 
SQL&gt; select months_between(sysdate,date'1971-05-18') from dual; 
MONTHS_BETWEEN(SYSDATE,DATE'1971-05-18') 
---------------------------------------- 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;389.855143 
SQL&gt; select months_between(sysdate,date'2001-01-01') from dual; 
MONTHS_BETWEEN(SYSDATE,DATE'2001-01-01') 
---------------------------------------- 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;34.4035409 
SQL&gt; 


¡¡¡¡31.next_day()¸ø¶¨Ò»¸öÈÕÆÚÖµ£¬·µ»ØÓÉµÚ¶þ¸ö²ÎÊýÖ¸³öµÄÈÕ×ÓµÚÒ»´Î³öÏÖÔÚµÄÈÕÆÚÖµ(Ó¦·µ»ØÏàÓ¦ÈÕ×ÓµÄÃû³Æ×Ö·û´®)

¡¡¡¡32.²éÑ¯Ä³ÖÜµÄµÚÒ»Ìì 



select trunc(decode(ww, 53, to_date(yy || '3112', 'yyyyddmm'), to_date(yy || '-' || to_char(ww * 7), 'yyyy-ddd')), 'd') last_day
from (select substr('2004-32', 1, 4) yy, to_number(substr('2004-32', 6)) ww
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;from dual)
select trunc(to_date(substr('2003-01',1,5)||to_char((to_number(substr('2003-01',6)))*7),'yyyy-ddd'),'d')-6 first_day from dual
select min(v_date) from
&nbsp;&nbsp;(select (to_date('200201','yyyymm') + rownum) v_date
&nbsp;&nbsp;from all_tables
&nbsp;&nbsp;where rownum &lt; 370)
where to_char(v_date,'yyyy-iw') = '2002-49'




33.²éÑ¯Ä³ÖÜµÄ×îºóÒ»Ìì 



select trunc(decode(ww, 53, to_date(yy || '3112', 'yyyyddmm'), to_date(yy || '-' || to_char(ww * 7), 'yyyy-ddd')), 'd') - 6 first_day
&nbsp;&nbsp;from (select substr('2004-33', 1, 4) yy, to_number(substr('2004-33', 6)) ww
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; from dual)
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 
select trunc(to_date(substr('2003-01',1,5)||to_char((to_number(substr('2003-01',6)))*7),'yyyy-ddd'),'d') last_day from dual
select max(v_date) from
&nbsp;&nbsp;(select (to_date('200408','yyyymm') + rownum) v_date
&nbsp;&nbsp;from all_tables
&nbsp;&nbsp;where rownum &lt; 370)
where to_char(v_date,'yyyy-iw') = '2004-33'


¡¡¡¡34.²éÑ¯Ä³ÖÜµÄÈÕÆÚ 



select min_date, to_char(min_date,'day') day from
(select to_date(substr('2004-33',1,4)||'001'+rownum-1,'yyyyddd') min_date 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;from all_tables
&nbsp;&nbsp;where rownum &lt;= decode(mod(to_number(substr('2004-33',1,4)),4),0,366,365)&nbsp;&nbsp;
&nbsp;&nbsp;union
&nbsp;&nbsp;select to_date(substr('2004-33',1,4)-1||
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;decode(mod(to_number(substr('2004-33',1,4))-1,4),0,359,358)+rownum,'yyyyddd') min_date 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;from all_tables&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; where rownum &lt;= 7
&nbsp;&nbsp;union
&nbsp;&nbsp;select to_date(substr('2004-33',1,4)+1||'001'+rownum-1,'yyyyddd') min_date 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;from all_tables&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; where rownum &lt;= 7&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
)
where to_char(min_date,'yyyy-iw') ='2004-33'


¡¡¡¡35.ÔÚÂÛÌ³ÖÐ³£³£¿´µ½ÓÐ¶ÔoracleÖÐÊ±¼äÔËËãÌáÎÊµÄÎÊÌâ£¬½ñÌìÓÐÊ±¼ä£¬¿´ÁË¿´ÒÔÇ°¸÷Î»ÐÖµÜµÄÌù×Ó£¬ÕûÀíÁËÒ»ÏÂ£¬²¢×÷ÁË¸öÊ¾Àý£¬Ï£Íû»á¶Ô´ó¼ÒÓÐ°ïÖú¡£

¡¡¡¡ÄÚÈÝÈçÏÂ:

¡¡¡¡1¡¢oracleÖ§³Ö¶ÔÈÕÆÚ½øÐÐÔËËã

¡¡¡¡2¡¢ÈÕÆÚÔËËãÊ±ÊÇÒÔÌìÎªµ¥Î»½øÐÐµÄ

¡¡¡¡3¡¢µ±ÐèÒªÒÔ·ÖÃëµÈ¸üÐ¡µÄµ¥Î»ËãÖµÊ±£¬°´Ê±¼ä½øÖÆ½øÐÐ×ª»»¼´¿É

¡¡¡¡4¡¢½øÐÐÊ±¼ä½øÖÆ×ª»»Ê±×¢Òâ¼ÓÀ¨ºÅ(¼ûÊ¾ÀýÖÐºìÉ«À¨ºÅ)£¬·ñÔò»á³öÎÊÌâ 



SQL&gt; alter session set nls_date_format='yyyy-mm-dd hh:mi:ss';


¡¡¡¡»á»°ÒÑ¸ü¸Ä¡£ 



SQL&gt; set serverout on 
SQL&gt; declare 
&nbsp;&nbsp;2 DateValue date; 
&nbsp;&nbsp;3 begin 
&nbsp;&nbsp;4 select sysdate into DateValue from dual; 
&nbsp;&nbsp;5 dbms_output.put_line('Ô´Ê±¼ä:'||to_char(DateValue)); 
&nbsp;&nbsp;6 dbms_output.put_line('Ô´Ê±¼ä¼õ1Ìì:'||to_char(DateValue-1)); 
&nbsp;&nbsp;7 dbms_output.put_line('Ô´Ê±¼ä¼õ1Ìì1Ð¡Ê±:'||to_char(DateValue-1-1/24)); 
&nbsp;&nbsp;8 dbms_output.put_line('Ô´Ê±¼ä¼õ1Ìì1Ð¡Ê±1·Ö:'||to_char(DateValue-1-1/24-1/(24*60))); 
&nbsp;&nbsp;9 dbms_output.put_line('Ô´Ê±¼ä¼õ1Ìì1Ð¡Ê±1·Ö1Ãë:'||to_char(DateValue-1-1/24-1/(24*60)-1/(24*60*6 
0))); 
10 end; 
11 / 


¡¡¡¡Ô´Ê±¼ä:2003-12-29 11:53:41

¡¡¡¡Ô´Ê±¼ä¼õ1Ìì:2003-12-28 11:53:41

¡¡¡¡Ô´Ê±¼ä¼õ1Ìì1Ð¡Ê±:2003-12-28 10:53:41

¡¡¡¡Ô´Ê±¼ä¼õ1Ìì1Ð¡Ê±1·Ö:2003-12-28 10:52:41

¡¡¡¡Ô´Ê±¼ä¼õ1Ìì1Ð¡Ê±1·Ö1Ãë:2003-12-28 10:52:40

¡¡¡¡PL/SQL ¹ý³ÌÒÑ³É¹¦Íê³É¡£

¡¡¡¡SQL&gt;


]]></description>
		</item>
		<item>
			<title>´ÓOracleÊý¾Ý¿âµÄÓÃ»§´íÎóÖÐ»Ö¸´</title>
			<link>http://www.kingmx.com/article.php?id=14414</link>
			<pubDate>2006-11-23</pubDate>
			<description><![CDATA[

ÕâÊÇÕªÂ¼×ÔDamir Bersinic ºÍJohn Watson±àÖøµÄ¡¶Oracle Database 10g OCP Certification All-In-One Exam Guide¡·Ò»ÊéÖÐµÚ29ÕÂÄÚÈÝ£¬Oracle³ö°æÉçcopyright 2006£¬McGraw-Hill·Ö¹«Ë¾¡£µã»÷ÕâÀïÔÄ¶ÁÍêÕûÕÂ½Ú¡£
¡¡¡¡ÔÚÕâÕÂÖÐÄã½«»áÑ§µ½ÈçºÎ:

¡¡¡¡¡¤Ê¹ÓÃ»ØÉÁ¼¼Êõ»Ö¸´±»É¾³ýµÄ±í

¡¡¡¡¡¤¹ÜÀí»ØÊÕµÄ¶þ½øÖÆÎÄ¼þ

¡¡¡¡¡¤Ö´ÐÐ»ØÉÁ±í²Ù×÷

¡¡¡¡¡¤Ê¹ÓÃ»ØÉÁ°æ±¾²éÑ¯´ÓÓÃ»§´íÎóÖÐ»Ö¸´

¡¡¡¡¡¤Ê¹ÓÃ»ØÉÁÊÂÎñ²éÑ¯Ö´ÐÐÊÂÎñ¼¶±ðµÄ»Ö¸´

¡¡¡¡Ç°ÃæµÄÕÂ½Ú½éÉÜÁË»ØÉÁÊý¾Ý¿â£¬Ò»ÖÖÇ¿´óµ«ÊÇ·Ç³£ÓÐ¸öÐÔµÄ¹¦ÄÜ£¬Ïàµ±ÓÚ²»ÍêÈ«»Ö¸´¡£ÕâÒ»ÕÂ¸²¸ÇµÄÄÚÈÝÊÇOracle 10gÊý¾Ý¿âÖÐ¿ÉÓÃµÄÆäËü»ØÉÁ¼¼Êõ¡£ÕâÐ©¶¼²»Ïñ»ØÉÁÊý¾Ý¿âÄÇÃ´¼«¶Ë£¬ËüÃÇ¶¼²»ÒÀÀµÓÚÍ£»úÊ±¼ä»òÕßËðÊ§µÄÊý¾ÝÁ¿¡£ËüÃÇÊÇ¾²Ì¬µÄ£¬È»¶ø£¬Ò²ÊÇÍ¨¹ý³·ÏúÄã²»ÏëÒªµÄÐÞ¸ÄÌá½»À´»Ö¸´´íÎóµÄ·Ç³£Ç¿´óµÄ¼¼Êõ¡£

¡¡¡¡ÕâÀïÌÖÂÛµÄ»ØÉÁ¼¼Êõ£¬Ê×ÏÈ£¬Ê¹»ØÉÁÉ¾³ý£¬¿ÉÒÔÍ¨¹ýÊ¹ÓÃDROP TABLEÃüÁîÀ´¼¤»îºÍÖ´ÐÐ;µÚ¶þ£¬Ê¹ÓÃUNDO¹¦ÄÜµÄ²»Í¬·½Ê½:»ØÉÁ°æ±¾²éÑ¯£¬»ØÉÁ±í²éÑ¯£¬ÒÔ¼°»ØÉÁÊÂÎñ²éÑ¯¡£

¡¡¡¡»ØÉÁºÍACID²âÊÔ

¡¡¡¡»¹¼ÇµÃµÚ9ÕÂÖÐÃèÊöµÄACID²âÊÔÂð¡£ÕâÊÇ¹ØÏµÐÍÊý¾Ý¿â±ØÐë×ñÑ­µÄ¹æÔòµÄÒ»²¿·Ö£¬¶ÔÓÚÀí½â»ØÉÁ¼¼ÊõÒ²ÊÇÖÁ¹ØÖØÒªµÄ:²»ÂÛÊÇËüÃÇµÄ¹¦ÄÜ£¬»¹ÊÇËüÃÇµÄ¾ÖÏÞÐÔ¡£

¡¡¡¡ËùÓÐµÄÊý¾Ý¹ÜÀíÓïÑÔÊÂÎñ¶¼ÊÇÍ¨¹ýCOMMIT»òÕßROLLBACKÓï¾äÀ´½áÊøµÄ¡£µ½ÄÇ¸öÊ±ºò£¬ÒòÎªÊÂÎñÒÑ¾­Ö´ÐÐÁË£¬³öÓÚOracleÊµÏÖµÄÊÂÎñ¸ôÀëµÄÔ­Ôò(ACID²âÊÔÖÐµÄI)£¬±£Ö¤³ýÁËÖ´ÐÐÊÂÎñµÄ»á»°Ö®Íâ£¬Ã»ÓÐÈËÄÜ¹»¿´µ½½øÐÐµÄÐÞ¸Ä¡£

¡¡¡¡½øÒ»²½½²£¬Ô­×ÓÐÔµÄÔ­Ôò(ACID²âÊÔÖÐµÄA)Ò²±£Ö¤ÁËÊÂÎñ¿ÉÒÔÓÃROLLBACKÀ´ÖÕ½áÕâ¸öÊÂÎñ£¬Õâ¿ÉÒÔ½«ÐÞ¸Ä³¹µ×µØ»Ö¸´¹ýÀ´;Ã»ÓÐÆäËü»á»°»áÖªµÀ½øÐÐÁËÄÄÐ©ÐÞ¸Ä¡£Èç¹ûÊÂÎñÊÇÒÔCOMMITÖÕ½áµÄ£¬ÄÇÃ´ÐÞ¸Ä¾Í»áÁ¢¼´±»ËùÓÐÆäËü»á»°¿´µ½¡£Î©Ò»µÄÀýÍâÇé¿ö¾ÍÊÇÈÎºÎ³öÓÚ¶ÁÒ»ÖÂÐÔÔ­Òò(ACID²âÊÔÖÐµÄC)µÄ»á»°±ØÐëÓëÕâ¸öÐÞ¸ÄÏà¸ôÀë¡£´ËÍâ£¬Ò»µ©ÊÂÎñ±»Ìá½»ÁË£¬ÄÇÃ´Êý¾Ý¿âÒª¶ªÊ§Õâ¸öÐÞ¸ÄÊÇ¾ö¶Ô²»¿ÉÄÜµÄ;Õâ¾ÍÊÇACID²âÊÔÖÐµÄD£¬³Ö¾ÃÐÔ¡£

¡¡¡¡ÔÚºÜ¶à·½Ê½ÉÏ£¬Êý¾Ý¶¨ÒåÓïÑÔµÄÃüÁî¶¼ÓëÆäËüµÄÊÂÎñÃ»Ê²Ã´Á½Ñù¡£¹ØÏµÐÍÊý¾Ý¿âÐèÒªÕâÑùµÄ¹æÔò£¬ÒÔ±£Ö¤¾­¹ýÌá½»µÄÊý¾Ý¶¨ÒåÓïÑÔÓÀÔ¶²»»á±»·­×ª£¬ËùÓÐµÄÊý¾Ý¶¨ÒåÓïÑÔ¶¼ÊÇ×Ô¶¯Ìá½»µÄ¡£Äã¶Ô´ËÎÞ·¨½øÐÐ¿ØÖÆ;COMMITÊÇËùÓÐÊý¾Ý¶¨ÒåÓïÑÔÃüÁîÖÐºÜÖØÒªµÄÒ»²¿·Ö¡£

¡¡¡¡Flashback DropÌá¹©ÁËÒ»ÖÖ·½Ê½ÈÃÄãÄÜ¹»³·ÏúDROP TABLE ÃüÁîµÄÓ°Ïì£¬µ«ÊÇ²»ÄÜ±£Ö¤Ëü»á³É¹¦¡£ÕâÒª¸ù¾ÝÖ´ÐÐÁËDROPÃüÁîÖ®ºóÊý¾Ý¿âÖÐ½øÐÐµÄÆäËü»î¶¯¡£Äã¿ÉÒÔÊ¹ÓÃ¸÷ÖÖ»ØÉÁ²éÑ¯ÃüÁîÀ´·­×ªÊý¾Ý¹ÜÀíÓïÑÔÃüÁî£¬µ«ÊÇ£¬»¹ÒªÔÙÒ»´ÎÇ¿µ÷µÄÊÇ£¬ËüÊÇ·ñ³É¹¦È¡¾öÓÚÔÚÕâ¶ÎÊ±¼äÄÚ·¢ÉúµÄÆäËü»î¶¯¡£²»¿ÉÄÜ»Ø¹öÒ»¸öÒÑ¾­Ìá½»µÄÊÂÎñ£¬ÎÞÂÛÊÇÊý¾Ý¹ÜÀíÔ±ÓïÑÔ»¹ÊÇÊý¾Ý¶¨ÒåÓïÑÔ¡£ACID²âÊÔ²»ÔÊÐíÕâÑù¡£»ØÉÁ¼¼ÊõÒÀÀµÓÚ¹¹½¨ÁíÒ»¸ö¿ÉÒÔ·­×ª×î³õÊÂÎñÓ°ÏìµÄÊÂÎñ£¬µ«ÊÇÕâ¸öÐÂµÄÊÂÎñÓÐ¿ÉÄÜ»áÊ§°Ü£¬ÒòÎªÆäËüµÄ£¬Ïà·´µÄÒÑ¾­±»Ìá½»µÄÐÞ¸Ä¡£
»ØÉÁÉ¾³ý
¡¡¡¡ÒâÍâÉ¾³ýÁËÒ»¸ö±íÊÇ·Ç³£ÓÐ¿ÉÄÜ·¢ÉúµÄ¡£²»½ö½öÊÇÄãÓÐ¿ÉÄÜÒòÎªÊäÈë´íÎó¶øÉ¾³ýÁË´íÎóµÄ±í;Ò²ÓÐ¿ÉÄÜÊÇÕýÈ·µÄ±í£¬µ«ÊÇÄãÁ¬½ÓÁË´íÎóµÄ¼Æ»®£¬»òÕßÊÇµÇÂ¼µ½´íÎóµÄ»·¾³ÖÐÈ¥¡£Äã¿ÉÒÔ¼õÉÙÕâÖÖ¿ÉÄÜÐÔ£¬Í¨¹ýÉèÖÃÄãµÄSQL*PlusÌáÊ¾£¬ÀýÈç: SQL&gt; set sqlprompt "_user'@'_connect_identifier&gt; "
SYSTEM@ocp10g&gt; 

¡¡¡¡ÌùÊ¿:ÒªÈÃËùÓÐµÄSQL*Plus»á»°¶¼×Ô¶¯ÉèÖÃÄãµÄÌáÊ¾·û£¬ÔÚglogin.sqlÎÄ¼þÖÐÌí¼ÓÉÏÊöÃüÁî£¬ÔÚORACLE_HOME/sqlplus /adminÄ¿Â¼Àï¡£

¡¡¡¡»ØÉÁÉ¾³ý¿ÉÒÔÈÃÄã»Ö¸´Ç°ÃæÒ»¸ö±»É¾³ýµÄ±í(µ«ÊÇ²»ÊÇ½ØÈ¡±í)£¬¾ÍºÃÏñËü±»É¾³ýÖ®Ç°¡£ËùÓÐµÄË÷Òý¶¼»á±»»Ö¸´£¬»¹ÓÐËùÓÐµÄ´¥·¢Æ÷ºÍÐí¿É¡£Unique£¬Ö÷¼ü£¬»¹ÓÐ·Ç¿ÕÔ¼ÊøÒ²¶¼»á»Ö¸´£¬µ«ÊÇÍâ¼üÔ¼ÊøÎÞ·¨»Ö¸´ÁË¡£

¡¡¡¡²âÑé:»ØÉÁÉ¾³ýÖ»ÄÜÓ¦ÓÃÓÚ±íÉÏ£¬µ«ÊÇËùÓÐÏà¹ØµÄ¶ÔÏóÒ²¶¼»á±»»Ö¸´£¬³ýÁËÍâ¼üÔ¼Êø¡£

¡¡¡¡»ØÉÁÉ¾³ýµÄÊµÏÖ

¡¡¡¡ÔÚOracleÊý¾Ý¿âµÄÔçÆÚ°æ±¾ÖÐ£¬µ±Ò»¸ö±í±»É¾³ýÁË£¬ËùÓÐµÄ²Î¿¼¶¼´ÓÊý¾Ý×ÖµäÖÐÉ¾³ý¡£Èç¹ûÓÐ¿ÉÄÜ¿´µ½Ô­À´µÄDROP TABLEÃüÁîµÄÔ´´úÂëµÄ»°£¬Äã¿ÉÒÔ¿´µ½ËüÊµ¼ÊÉÏÊÇÒ»ÏµÁÐ¶Ô¶¨ÒåÁË±íºÍËüµÄ¿Õ¼äÊ¹ÓÃÇé¿öµÄÏµÍ³¼Æ»®ÖÐ¸÷ÖÖ±íµÄDELETEÃüÁî£¬ºóÃæ¸ú×ÅÒ»¸öCOMMIT¡£ÕâÊµ¼ÊÉÏÃ»ÓÐ´ÓÓ²ÅÌÖÐÉ¾³ýÊý¾Ý£¬µ«ÊÇÉ¾³ý±íËùÓÃµÄ¿Õ¼ä±»±êÖ¾ÎªÃ»ÓÐÊ¹ÓÃ£¬Òò´Ë¿ÉÒÔ»ñµÃÖØÓÃ¡£¼´Ê¹ÊÇ±íËùÔÚµÄ¿é»¹ÔÚ£¬Ò²Ã»ÓÐ¿ÉÄÜÈ¡»ØËüÃÇÁË£¬ÒòÎªÊý¾Ý×ÖµäÒÑ¾­Ã»ÓÐ¶ÔÊôÓÚÕâ¸ö±»É¾³ýµÄ±íµÄÈÎºÎ¿éÓÐÈÎºÎ¼ÇÂ¼£¬Î©Ò»»Ö¸´±»É¾³ý±íµÄ·½·¨¾ÍÊÇ×öÒ»¸öÊ±¼äµã»Ö¸´£¬ÖØÐÂ´æ´¢É¾³ýÖ®Ç°Ä³¸öÊ±¼äµãµÄÊý¾Ý¿â°æ±¾£¬Õâ¸ö°æ±¾ÖÐÊý¾Ý×ÖµäÖÐÈÔÈ»±£Áô±íµÄÐÅÏ¢¡£

¡¡¡¡ÔÚ·¢²¼µÄ10g OracleÊý¾Ý¿âÖÐ£¬DROP TABLEÃüÁîµÄÊµÏÖ±»ÍêÈ«¸Ä±äÁË¡£±íÔÙÒ²²»ÊÇÉ¾³ýÁË£¬ËüÃÇÊÇ±»¸ÄÃûÁË¡£

¡¡¡¡ÔÚÍ¼29-1ÖÐ£¬Äã¿ÉÒÔ¿´µ½Õâ¸ö±í£¬OLD_NAME£¬Õ¼¾ÝµÄ¿Õ¼ä·¶Î§ÊÇ64KB£¬´ÓÎÄ¼þ6µÄµÚ17¸ö¿é¿ªÊ¼¡£ÔÚÐÞ¸ÄÃû×ÖÎªNEW_NAMEÖ®ºó£¬´æ´¢¿Õ¼ä»¹ÊÇÈç´Ë;Òò´Ë£¬±íÊÇÒ»ÑùµÄ¡£²é¿´DBA_OBJECTSÊÓÍ¼£¬Äã¿ÉÒÔ¿´µ½±íµÄ¶ÔÏóºÅÃ»ÓÐ·¢Éú¸Ä±ä¡£10g°æ±¾ÖÐ¹ØÓÚDROP TABLEÃüÁîµÄÊµÏÖÔÚÄÚ²¿Ó³Éäµ½ÁËRENAMEÃüÁî£¬Ëü»á¶Ô±êºÍËùÓÐÏà¹ØµÄË÷Òý¡¢´¥·¢Æ÷ºÍÔ¼Êø²úÉúÓ°Ïì£¬³ýÁËÍâ¼üÔ¼Êø£¬ËüÒÑ¾­±»É¾³ýÁË¡£Íâ¼üÔ¼ÊøÊµ¼ÊÉÏ±ØÐëÒªÉ¾³ý¡£Èç¹ûËüÃÇ±£ÁôÁËµÄ»°£¬¼´Ê¹ÊÇ»»ÁËÒ»¸öÃû×Ö£¬ÔÚÃ»ÓÐ±»É¾³ýµÄ¸¸±íÉÏµÄÊý¾Ý¹ÜÀíÓïÑÔ¾Í»á±»ÒÑ¾­É¾³ýµÄ±íµÄÄ¿Â¼ËùÔ¼Êø£¬ÕâÊÇ»ÄÃýµÄ¡£

¡¡¡¡±íÉÏµÄÐí¿ÉÃ»ÓÐÃû×Ö£¬ËùÒÔËüÃÇ²»ÄÜ±»¸ÄÃû¡£µ«ÊÇ¼´Ê¹ÊÇµ±Äã¸ø¶ÔÏóÖ¸¶¨ÁËÄ³¸öÃû×ÖµÄÐí¿ÉÈ¨ÏÞ£¬ºóÌ¨´æ´¢µÄ¶ÔÏóµÄÐí¿É²Î¿¼ÈÔÈ»ÊÇ¿¿×ÅÊý×Ö¡£ÒòÎª¶ÔÏóºÅÃ»ÓÐ±»RENAME²Ù×÷ÐÞ¸Ä£¬Ðí¿ÉÒ²¾ÍÊ§Ð§ÁË¡£

¡¡¡¡Ëµµ½Ò»°ãµÄSELECTºÍÊý¾Ý¹ÜÀíÓïÑÔÓï¾ä£¬Ò»¸ö±»É¾³ýµÄ±íÈ·Êµ¾ÍÊÇ±»É¾³ýÁË¡£ÕâÓëÆäËüÈÎºÎÃüÁî¶¼Ã»ÓÐÇø±ð£¬ÄãËùÓÐµÄÈí¼þ¶¼»á¼Ù¶¨ÄÇ¸ö±»É¾³ýµÄ±íÊÇÕæµÄÃ»ÓÐÁË¡£µ«ÊÇÏÖÔÚ£¬DROPÊµ¼ÊÉÏÊÇRENAME£¬Õâ¾ÍÓÐ¿ÉÄÜÈ¡ÏûÉ¾³ý£¬Í¨¹ý°ÑÕâ¸ö±íµÄÃû×ÖÔÙ¸Ä»ØÀ´µ½×î³õµÄÃû×Ö¡£È»¶ø£¬Õâ²»ÄÜ±£Ö¤³É¹¦¡£±»É¾³ýµÄ±íµÄ¿Õ¼äÓÐ¿ÉÄÜ±»ÔÙ´ÎÊ¹ÓÃ¡£²¢ÇÒÈç¹ûÔÚÕâ¸öÊ±¼ä¶ÎÀïÃæÓÐÁíÍâÒ»¸ö±í±»´´½¨ÁË£¬ÖØÐÂÊ¹ÓÃÁË±»É¾³ý±íµÄÃû×Ö£¬ÄÇÃ´Çé¿ö¾Í¸´ÔÓÁË¡£

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

¡¡¡¡±»É¾³ýµÄ¶ÔÏó¿ÉÒÔ²éÑ¯µ½£¬Í¨¹ý²é¿´¡°»ØÊÕÏä¡±¿ÉÒÔµÃµ½ËüÃÇµÄÐÂÃû×Ö¡£ÕâÊÇÒ»¸öËùÓÐ±»É¾³ý¶ÔÏóµÄÁÐ±í£¬Ó³Éäµ½Ô­À´µÄ±í£¬Ë÷ÒýÍ¶Éäµ½ÏµÍ³¸ø±»É¾³ý¶ÔÏóÉú³ÉµÄÃû×ÖÉÏ¡£Ã¿¸öÓÃ»§¶¼ÓÐÒ»¸ö»ØÊÕÏä£¬ÔÚUSER_RECYCLEBINÊý¾Ý×ÖµäÊÓÍ¼ÖÐ¿ÉÒÔ¿´µ½£¬»òÕßÊÇÒ»¸öÈ«¾ÖµÄ»­Ãæ£¬Äã¿ÉÒÔ²éÑ¯DBA_RECYCLEBIN¡£»ØÊÕÏä¶ÔÏóÕ¼ÓÃµÄ¿Õ¼ä¿ÉÒÔÔÚ±í¿Õ¼äÓöµ½¿Õ¼äÑ¹Á¦µÄÊ±ºò×Ô¶¯ÖØÓÃ(Ö®ºó¶ÔÏó¾ÍÎÞ·¨»Ö¸´ÁË)£¬»òÕßÄã¿ÉÒÔÊÖ¹¤µØÇ¿ÖÆOracleÕæÕýµØÉ¾³ý¶ÔÏó£¬Ê¹ÓÃPURGEÃüÁî¡£

¡¡¡¡ÌùÊ¿:»ØÉÁÉ¾³ý²»ÄÜ±£Ö¤³É¹¦£¬µ«ÊÇËüÒ²¿ÉÒÔ¹¤×÷Á¼ºÃ¡£ÄãÔ½ÔçÖ´ÐÐËü£¬³É¹¦µÄ¿ÉÄÜÐÔÔ½´ó¡£




²éÑ¯Ê¾·¶:

¡¡¡¡É¾³ý±íÖ®ºó£¬ÄãÈçºÎ²ÅÄÜ·ÃÎÊµ½ÆäÖÐµÄÐÐÄØ?(Ñ¡Ôñ×îºÃµÄ´ð°¸)

¡¡¡¡5¡¢Ê¹ÓÃAS OFÓï·¨²éÑ¯±í

¡¡¡¡6¡¢Ê¹ÓÃBEFORE DROPÓï·¨²éÑ¯±í

¡¡¡¡7¡¢Ê¹ÓÃ»ØÊÕÏäÃû×Ö²éÑ¯±í

¡¡¡¡8¡¢²»ÄÜ²éÑ¯£¬Ö±µ½»Ö¸´

¡¡¡¡Èç¹û±íÒÑ¾­±»É¾³ýÁË£¬ÁíÍâÒ»¸ö±íÓÃÍ¬ÑùµÄÃû×Ö´´½¨£¬ÒÔÏÂÄÄ¾ä»°ÊÇÕýÈ·µÄ?(µ¥Ñ¡)

¡¡¡¡5¡¢Äã±ØÐëÔÚÄã»ØÉÁ±»É¾³ýµÄ±íÖ®Ç°°ÑÕâ¸öÐÂ±í¸ÄÃû

¡¡¡¡6¡¢Èç¹ûÄãÎªÄÇ¸ö±»É¾³ýµÄ±íÖ¸¶¨Ò»¸öÐÂµÄÃû×ÖµÄ»°£¬¿ÉÒÔ»ØÉÁÕâ¸ö±í¡£

¡¡¡¡7¡¢Äã¿ÉÒÔÔÚ²»Í¬µÄ¼Æ»®ÖÐ»ØÉÁÕâ¸ö±»É¾³ýµÄ±í

¡¡¡¡8¡¢Äã±ØÐëÔÚ»ØÉÁÔ­À´µÄ±íÖ®Ç°É¾³ýÕâ¸öÐÂ±í¡£

¡¡¡¡ÒÔÏÂÄÇ¸ö»·¾³ÖÐ»ØÉÁ»áÆð×÷ÓÃ?(µ¥Ñ¡)

¡¡¡¡6¡¢µ±±í±»½Ø¶ÏµÄÊ±ºò

¡¡¡¡7¡¢µ±±í±»Çå³ýµÄÊ±ºò

¡¡¡¡8¡¢µ±ÓÃ»§±»É¾³ýµÄÊ±ºò

¡¡¡¡9¡¢µ±Ë÷Òý±»É¾³ýµÄÊ±ºò

¡¡¡¡10¡¢ÒÔÉÏ¶¼²»ÊÇ


]]></description>
		</item>
		<item>
			<title>Oracle³£¼ûµÈ´ýÊÂ¼þËµÃ÷</title>
			<link>http://www.kingmx.com/article.php?id=14412</link>
			<pubDate>2006-11-23</pubDate>
			<description><![CDATA[
OracleµÄµÈ´ýÊÂ¼þÊÇºâÁ¿OracleÔËÐÐ×´¿öµÄÖØÒªÒÀ¾Ý¼°Ö¸±ê¡£µÈ´ýÊÂ¼þµÄ¸ÅÄîÊÇÔÚOracle7.0.1.2ÖÐÒýÈëµÄ£¬´óÖÂÓÐ100¸öµÈ´ýÊÂ¼þ¡£ÔÚOracle 8.0ÖÐÕâ¸öÊýÄ¿Ôö¼Óµ½ÁË´óÔ¼150¸ö£¬ÔÚOracle8iÖÐ´óÔ¼ÓÐ200¸öÊÂ¼þ,ÔÚOracle9iÖÐ´óÔ¼ÓÐ360¸öµÈ´ýÊÂ¼þ¡£Ö÷ÒªÓÐÁ½ÖÖÀà±ðµÄµÈ´ýÊÂ¼þ£¬¼´¿ÕÏÐ(idle)µÈ´ýÊÂ¼þºÍ·Ç¿ÕÏÐ(non-idle)µÈ´ýÊÂ¼þ¡£
¡¡¡¡¿ÕÏÐÊÂ¼þÖ¸OracleÕýµÈ´ýÄ³ÖÖ¹¤×÷,ÔÚÕï¶ÏºÍÓÅ»¯Êý¾Ý¿âµÄÊ±ºò,ÎÒÃÇ²»ÓÃ¹ý¶à×¢ÒâÕâ²¿·ÖÊÂ¼þ¡£

¡¡¡¡³£¼ûµÄ¿ÕÏÐÊÂ¼þÓÐ:

¡¡¡¡ dispatcher timer

¡¡¡¡ lock element cleanup

¡¡¡¡ Null event

¡¡¡¡ parallel query dequeue wait

¡¡¡¡ parallel query idle wait - Slaves

¡¡¡¡ pipe get

¡¡¡¡ PL/SQL lock timer

¡¡¡¡ pmon timer- pmon

¡¡¡¡ rdbms ipc message

¡¡¡¡ slave wait

¡¡¡¡ smon timer

¡¡¡¡ SQL*Net break/reset to client

¡¡¡¡ SQL*Net message from client

¡¡¡¡ SQL*Net message to client

¡¡¡¡ SQL*Net more data to client

¡¡¡¡ virtual circuit status

¡¡¡¡ client message

¡¡¡¡·Ç¿ÕÏÐµÈ´ýÊÂ¼þ×¨ÃÅÕë¶ÔOracleµÄ»î¶¯,Ö¸Êý¾Ý¿âÈÎÎñ»òÓ¦ÓÃÔËÐÐ¹ý³ÌÖÐ·¢ÉúµÄµÈ´ý£¬ÕâÐ©µÈ´ýÊÂ¼þÊÇÎÒÃÇÔÚµ÷ÕûÊý¾Ý¿âµÄÊ±ºòÓ¦¸Ã¹Ø×¢ÓëÑÐ¾¿µÄ¡£

¡¡¡¡Ò»Ð©³£¼ûµÄ·Ç¿ÕÏÐµÈ´ýÊÂ¼þÓÐ:

¡¡¡¡ db file scattered read

¡¡¡¡ db file sequential read

¡¡¡¡ buffer busy waits

¡¡¡¡ free buffer waits

¡¡¡¡ enqueue

¡¡¡¡ latch free

¡¡¡¡ log file parallel write

¡¡¡¡ log file sync

¡¡¡¡1. db file scattered read-DB ÎÄ¼þ·ÖÉ¢¶ÁÈ¡

¡¡¡¡ÕâÖÖÇé¿öÍ¨³£ÏÔÊ¾ÓëÈ«±íÉ¨ÃèÏà¹ØµÄµÈ´ý¡£µ±Êý¾Ý¿â½øÐÐÈ«±íÉ¨Ê±£¬»ùÓÚÐÔÄÜµÄ¿¼ÂÇ£¬Êý¾Ý»á·ÖÉ¢(scattered)¶ÁÈëBuffer Cache¡£Èç¹ûÕâ¸öµÈ´ýÊÂ¼þ±È½ÏÏÔÖø£¬¿ÉÄÜËµÃ÷¶ÔÓÚÄ³Ð©È«±íÉ¨ÃèµÄ±í£¬Ã»ÓÐ´´½¨Ë÷Òý»òÕßÃ»ÓÐ´´½¨ºÏÊÊµÄË÷Òý£¬ÎÒÃÇ¿ÉÄÜÐèÒª¼ì²éÕâÐ©Êý¾Ý±íÒÑÈ·¶¨ÊÇ·ñ½øÐÐÁËÕýÈ·µÄÉèÖÃ¡£

¡¡¡¡È»¶øÕâ¸öµÈ´ýÊÂ¼þ²»Ò»¶¨ÒâÎ¶×ÅÐÔÄÜµÍÏÂ£¬ÔÚÄ³Ð©Ìõ¼þÏÂOracle »áÖ÷¶¯Ê¹ÓÃÈ«±íÉ¨ÃèÀ´Ìæ»»Ë÷ÒýÉ¨ÃèÒÔÌá¸ßÐÔÄÜ£¬ÕâºÍ·ÃÎÊµÄÊý¾ÝÁ¿ÓÐ¹Ø£¬ÔÚCBO ÏÂOracle »á½øÐÐ¸üÎªÖÇÄÜµÄÑ¡Ôñ£¬ÔÚRBO ÏÂOracle ¸üÇãÏòÓÚÊ¹ÓÃË÷Òý¡£

¡¡¡¡ÒòÎªÈ«±íÉ¨Ãè±»ÖÃÓÚLRU(Least Recently Used£¬×î½ü×îÉÙÊÊÓÃ)ÁÐ±íµÄÀä¶Ë(cold end)£¬¶ÔÓÚÆµ·±·ÃÎÊµÄ½ÏÐ¡µÄÊý¾Ý±í£¬¿ÉÒÔÑ¡Ôñ°ÑËûÃÇCache µ½ÄÚ´æÖÐ£¬ÒÔ±ÜÃâ·´¸´¶ÁÈ¡¡£

¡¡¡¡µ±Õâ¸öµÈ´ýÊÂ¼þ±È½ÏÏÔÖøÊ±£¬¿ÉÒÔ½áºÏv$session_longops ¶¯Ì¬ÐÔÄÜÊÓÍ¼À´½øÐÐÕï¶Ï£¬¸ÃÊÓÍ¼ÖÐ¼ÇÂ¼ÁË³¤Ê±¼ä(ÔËÐÐÊ±¼ä³¬¹ý6 ÃëµÄ)ÔËÐÐµÄÊÂÎï£¬¿ÉÄÜºÜ¶àÊÇÈ«±íÉ¨Ãè²Ù×÷(²»¹ÜÔõÑù£¬Õâ²¿·ÖÐÅÏ¢¶¼ÊÇÖµµÃÎÒÃÇ×¢ÒâµÄ)¡£


2. db file sequential read-DB ÎÄ¼þË³Ðò¶ÁÈ¡¡£
¡¡¡¡ÕâÒ»ÊÂ¼þÍ¨³£ÏÔÊ¾Óëµ¥¸öÊý¾Ý¿éÏà¹ØµÄ¶ÁÈ¡²Ù×÷(ÈçË÷Òý¶ÁÈ¡)¡£Èç¹ûÕâ¸öµÈ´ýÊÂ¼þ±È½ÏÏÔÖø£¬¿ÉÄÜ±íÊ¾ÔÚ¶à±íÁ¬½ÓÖÐ£¬±íµÄÁ¬½ÓË³Ðò´æÔÚÎÊÌâ£¬¿ÉÄÜÃ»ÓÐÕýÈ·µÄÊ¹ÓÃÇý¶¯±í;»òÕß¿ÉÄÜËµÃ÷²»¼ÓÑ¡ÔñµØ½øÐÐË÷Òý¡£

¡¡¡¡ÔÚ´ó¶àÊýÇé¿öÏÂÎÒÃÇËµ£¬Í¨¹ýË÷Òý¿ÉÒÔ¸üÎª¿ìËÙµÄ»ñÈ¡¼ÇÂ¼£¬ËùÒÔ¶ÔÓÚÒ»¸ö±àÂë¹æ·¶¡¢µ÷ÕûÁ¼ºÃµÄÊý¾Ý¿â£¬Õâ¸öµÈ´ýºÜ´óÊÇºÜÕý³£µÄ¡£µ«ÊÇÔÚºÜ¶àÇé¿öÏÂ£¬Ê¹ÓÃË÷Òý²¢²»ÊÇ×î¼ÑµÄÑ¡Ôñ£¬±ÈÈç¶ÁÈ¡½Ï´ó±íÖÐ´óÁ¿µÄÊý¾Ý£¬È«±íÉ¨Ãè¿ÉÄÜ»áÃ÷ÏÔ¿ìÓÚË÷ÒýÉ¨Ãè£¬ËùÒÔÔÚ¿ª·¢ÖÐÎÒÃÇ¾ÍÓ¦¸Ã×¢Òâ£¬¶ÔÓÚÕâÑùµÄ²éÑ¯Ó¦¸Ã½øÐÐ±ÜÃâÊ¹ÓÃË÷ÒýÉ¨Ãè¡£

¡¡¡¡3. Free Buffer-ÊÍ·Å»º³åÇø

¡¡¡¡Õâ¸öµÈ´ýÊÂ¼þ±íÃ÷ÏµÍ³ÕýÔÚµÈ´ýÄÚ´æÖÐµÄ¿ÉÓÃ¿Õ¼ä£¬ÕâËµÃ÷µ±Ç°Buffer ÖÐÒÑ¾­Ã»ÓÐFree µÄÄÚ´æ¿Õ¼ä¡£Èç¹ûÓ¦ÓÃÉè¼ÆÁ¼ºÃ£¬SQL ÊéÐ´¹æ·¶£¬³ä·Ö°ó¶¨±äÁ¿£¬ÄÇÕâÖÖµÈ´ý¿ÉÄÜËµÃ÷Buffer Cache ÉèÖÃµÄÆ«Ð¡£¬Äã¿ÉÄÜÐèÒªÔö´óDB_BUFFER_CACHE¡£

¡¡¡¡Free Buffer µÈ´ý¿ÉÄÜËµÃ÷DBWR µÄÐ´³öËÙ¶È²»¹»£¬»òÕß´ÅÅÌ´æÔÚÑÏÖØµÄ¾ºÕù£¬¿ÉÒÔÐèÒª¿¼ÂÇÔö¼Ó¼ì²éµã¡¢Ê¹ÓÃ¸ü¶àµÄDBWR ½ø³Ì£¬»òÕßÔö¼ÓÎïÀí´ÅÅÌµÄÊýÁ¿,·ÖÉ¢¸ºÔØ£¬Æ½ºâIO¡£

¡¡¡¡4. Buffer Busy-»º³åÇøÃ¦

¡¡¡¡¸ÃµÈ´ýÊÂ¼þ±íÊ¾ÕýÔÚµÈ´ýÒ»¸öÒÔunshareable·½Ê½Ê¹ÓÃµÄ»º³åÇø£¬»òÕß±íÊ¾µ±Ç°ÕýÔÚ±»¶ÁÈëbuffer cache¡£Ò»°ãÀ´ËµBuffer Busy Wait²»Ó¦´óÓÚ1%¡£¼ì²é»º³åµÈ´ýÍ³¼Æ²¿·Ö(»òV$WAITSTAT)£¬¿´Ò»ÏÂµÈ´ýÊÇ·ñÎ»ÓÚ¶ÎÍ·(Segment Header)¡£Èç¹ûÊÇ£¬¿ÉÒÔ¿¼ÂÇÔö¼Ó×ÔÓÉÁÐ±í(freelist£¬¶ÔÓÚOracle8i DMT)»òÕßÔö¼Ófreelist groups(ÔÚºÜ¶àÊ±ºòÕâ¸öµ÷ÕûÊÇÁ¢¸Í¼ûÓ°µÄ£¬ÔÚ8.1.6Ö®Ç°£¬Õâ¸öfreelists²ÎÊý²»ÄÜ¶¯Ì¬ÐÞ¸Ä;ÔÚ8.1.6¼°ÒÔºó°æ±¾£¬¶¯Ì¬ÐÞ¸ÄfeelistsÐèÒªÉèÖÃCOMPATIBLEÖÁÉÙÎª8.1.6).

¡¡¡¡Èç¹ûÕâÒ»µÈ´ýÎ»ÓÚundo header£¬¿ÉÒÔÍ¨¹ýÔö¼Ó»Ø¹ö¶Î(rollback segment)À´½â¾ö»º³åÇøµÄÎÊÌâ¡£Èç¹ûµÈ´ýÎ»ÓÚundo blockÉÏ£¬ÎÒÃÇ¿ÉÄÜÐèÒª¼ì²éÏà¹ØÓ¦ÓÃ£¬ÊÊµ±¼õÉÙ´ó¹æÄ£µÄÒ»ÖÂÐÔ¶ÁÈ¡£¬»òÕß½µµÍÒ»ÖÂÐÔ¶ÁÈ¡(consistent read)µÄ±íÖÐµÄÊý¾ÝÃÜ¶È»òÕßÔö´óDB_CACHE_SIZE¡£

¡¡¡¡Èç¹ûµÈ´ý´¦ÓÚdata block£¬¿ÉÒÔ¿¼ÂÇ½«Æµ·±²¢·¢·ÃÎÊµÄ±í»òÊý¾ÝÒÆµ½ÁíÒ»Êý¾Ý¿é»òÕß½øÐÐ¸ü´ó·¶Î§µÄ·Ö²¼(¿ÉÒÔÔö¼ÓpctfreeÖµ £¬À©´óÊý¾Ý·Ö²¼£¬¼õÉÙ¾ºÕù)£¬ÒÔ±Ü¿ªÕâ¸ö"ÈÈµã"Êý¾Ý¿é£¬»òÕß¿ÉÒÔ¿¼ÂÇÔö¼Ó±íÖÐµÄ×ÔÓÉÁÐ±í»òÊ¹ÓÃ±¾µØ»¯¹ÜÀíµÄ±í¿Õ¼ä(Locally Managed Tablespaces)¡£

¡¡¡¡Èç¹ûµÈ´ý´¦ÓÚË÷Òý¿é£¬Ó¦¸Ã¿¼ÂÇÖØ½¨Ë