锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产一区91,亚洲深夜影院,欧美韩日一区http://www.shnenglu.com/ivenher/articles/22136.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Tue, 17 Apr 2007 08:03:00 GMThttp://www.shnenglu.com/ivenher/articles/22136.htmlhttp://www.shnenglu.com/ivenher/comments/22136.htmlhttp://www.shnenglu.com/ivenher/articles/22136.html#Feedback0http://www.shnenglu.com/ivenher/comments/commentRss/22136.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/22136.html

浣滆咃細瀹嬬珛妗?br>
[瀵艱: 鍚勭澶у瀷鏁版嵁搴撴墍閲囩敤鐨勯攣鐨勫熀鏈悊璁烘槸涓鑷寸殑錛屼絾鍦ㄥ叿浣撳疄鐜頒笂鍚勬湁宸埆銆係QL Server鏇村己璋冪敱緋葷粺鏉ョ鐞嗛攣銆傚湪鐢ㄦ埛鏈塖QL璇鋒眰鏃訛紝緋葷粺鍒嗘瀽璇鋒眰錛岃嚜鍔ㄥ湪婊¤凍閿佸畾鏉′歡鍜岀郴緇熸ц兘涔嬮棿涓烘暟鎹簱鍔犱笂閫傚綋鐨勯攣錛屽悓鏃剁郴緇熷湪榪愯鏈熼棿甯稿父鑷姩榪涜浼樺寲澶勭悊錛屽疄琛屽姩鎬佸姞閿併傚浜庝竴鑸殑鐢ㄦ埛鑰岃█錛岄氳繃緋葷粺鐨勮嚜鍔ㄩ攣瀹氱鐞嗘満鍒跺熀鏈彲浠ユ弧瓚充嬌鐢ㄨ姹傦紝浣嗗鏋滃鏁版嵁瀹夊叏銆佹暟鎹簱瀹屾暣鎬у拰涓鑷存ф湁鐗規畩瑕佹眰錛屽氨闇瑕佷簡瑙QL Server鐨勯攣鏈哄埗錛屾帉鎻℃暟鎹簱閿佸畾鏂規硶銆俔  

    閿佹槸鏁版嵁搴撲腑鐨勪竴涓潪甯擱噸瑕佺殑姒傚康錛屽畠涓昏鐢ㄤ簬澶氱敤鎴風幆澧冧笅淇濊瘉鏁版嵁搴撳畬鏁存у拰涓鑷存с?鎴戜滑鐭ラ亾錛屽涓敤鎴瘋兘澶熷悓鏃舵搷綰靛悓涓涓暟鎹簱涓殑鏁版嵁錛屼細鍙戠敓鏁版嵁涓嶄竴鑷寸幇璞°傚嵆濡傛灉娌℃湁閿佸畾涓斿涓敤鎴峰悓鏃惰闂竴涓暟鎹簱錛屽垯褰撲粬浠殑浜嬪姟鍚屾椂浣跨敤鐩稿悓鐨勬暟鎹椂鍙兘浼氬彂鐢熼棶棰樸傝繖浜涢棶棰樺寘鎷細涓㈠け鏇存柊銆佽剰璇匯佷笉鍙噸澶嶈鍜屽夠瑙夎錛?br>1錛庡綋涓や釜鎴栧涓簨鍔¢夋嫨鍚屼竴琛岋紝鐒跺悗鍩轟簬鏈鍒濋夊畾鐨勫兼洿鏂拌琛屾椂錛屼細鍙戠敓涓㈠け鏇存柊闂銆傛瘡涓簨鍔¢兘涓嶇煡閬撳叾瀹冧簨鍔$殑瀛樺湪銆傛渶鍚庣殑鏇存柊灝嗛噸鍐欑敱鍏跺畠浜嬪姟鎵鍋氱殑鏇存柊錛岃繖灝嗗鑷存暟鎹涪澶便備緥濡傦紝涓や釜緙栬緫浜哄憳鍒朵綔浜嗗悓涓鏂囨。鐨勭數瀛愬鏈傛瘡涓紪杈戜漢鍛樼嫭绔嬪湴鏇存敼鍏跺鏈紝鐒跺悗淇濆瓨鏇存敼鍚庣殑澶嶆湰錛岃繖鏍峰氨瑕嗙洊浜嗗師濮嬫枃妗c傛渶鍚庝繚瀛樺叾鏇存敼澶嶆湰鐨勭紪杈戜漢鍛樿鐩栦簡絎竴涓紪杈戜漢鍛樻墍鍋氱殑鏇存敼銆傚鏋滃湪絎竴涓紪杈戜漢鍛樺畬鎴愪箣鍚庣浜屼釜緙栬緫浜哄憳鎵嶈兘榪涜鏇存敼錛屽垯鍙互閬垮厤璇ラ棶棰樸?br>2. 鑴忚灝辨槸鎸囧綋涓涓簨鍔℃鍦ㄨ闂暟鎹紝騫朵笖瀵規暟鎹繘琛屼簡淇敼錛岃岃繖縐嶄慨鏀硅繕娌℃湁鎻愪氦鍒版暟鎹簱涓紝榪欐椂錛屽彟澶栦竴涓簨鍔′篃璁塊棶榪欎釜鏁版嵁錛岀劧鍚庝嬌鐢ㄤ簡榪欎釜鏁版嵁銆傚洜涓鴻繖涓暟鎹槸榪樻病鏈夋彁浜ょ殑鏁版嵁錛岄偅涔堝彟澶栦竴涓簨鍔¤鍒扮殑榪欎釜鏁版嵁鏄剰鏁版嵁錛屼緷鎹剰鏁版嵁鎵鍋氱殑鎿嶄綔鍙兘鏄笉姝g‘鐨勩備緥濡傦紝涓涓紪杈戜漢鍛樻鍦ㄦ洿鏀圭數瀛愭枃妗c傚湪鏇存敼榪囩▼涓紝鍙︿竴涓紪杈戜漢鍛樺鍒朵簡璇ユ枃妗o紙璇ュ鏈寘鍚埌鐩墠涓烘鎵鍋氱殑鍏ㄩ儴鏇存敼錛夊茍灝嗗叾鍒嗗彂緇欓鏈熺殑鐢ㄦ埛銆傛鍚庯紝絎竴涓紪杈戜漢鍛樿涓虹洰鍓嶆墍鍋氱殑鏇存敼鏄敊璇殑錛屼簬鏄垹闄や簡鎵鍋氱殑緙栬緫騫朵繚瀛樹簡鏂囨。銆傚垎鍙戠粰鐢ㄦ埛鐨勬枃妗e寘鍚笉鍐嶅瓨鍦ㄧ殑緙栬緫鍐呭錛屽茍涓旇繖浜涚紪杈戝唴瀹瑰簲璁や負浠庢湭瀛樺湪榪囥傚鏋滃湪絎竴涓紪杈戜漢鍛樼‘瀹氭渶緇堟洿鏀瑰墠浠諱綍浜洪兘涓嶈兘璇誨彇鏇存敼鐨勬枃妗o紝鍒欏彲浠ラ伩鍏嶈闂銆?br>3錛庝笉鍙噸澶嶈鏄寚鍦ㄤ竴涓簨鍔″唴錛屽嬈¤鍚屼竴鏁版嵁銆傚湪榪欎釜浜嬪姟榪樻病鏈夌粨鏉熸椂錛屽彟澶栦竴涓簨鍔′篃璁塊棶璇ュ悓涓鏁版嵁銆傞偅涔堬紝鍦ㄧ涓涓簨鍔′腑鐨勪袱嬈¤鏁版嵁涔嬮棿錛岀敱浜庣浜屼釜浜嬪姟鐨勪慨鏀癸紝閭d箞絎竴涓簨鍔′袱嬈¤鍒扮殑鐨勬暟鎹彲鑳芥槸涓嶄竴鏍風殑銆傝繖鏍峰氨鍙戠敓浜嗗湪涓涓簨鍔″唴涓ゆ璇誨埌鐨勬暟鎹槸涓嶄竴鏍風殑錛屽洜姝ょО涓烘槸涓嶅彲閲嶅璇匯備緥濡傦紝涓涓紪杈戜漢鍛樹袱嬈¤鍙栧悓涓鏂囨。錛屼絾鍦ㄤ袱嬈¤鍙栦箣闂達紝浣滆呴噸鍐欎簡璇ユ枃妗c傚綋緙栬緫浜哄憳絎簩嬈¤鍙栨枃妗f椂錛屾枃妗e凡鏇存敼銆傚師濮嬭鍙栦笉鍙噸澶嶃傚鏋滃彧鏈夊湪浣滆呭叏閮ㄥ畬鎴愮紪鍐欏悗緙栬緫浜哄憳鎵嶅彲浠ヨ鍙栨枃妗o紝鍒欏彲浠ラ伩鍏嶈闂銆?br>4錛庡夠瑙夎鏄寚褰撲簨鍔′笉鏄嫭绔嬫墽琛屾椂鍙戠敓鐨勪竴縐嶇幇璞★紝渚嬪絎竴涓簨鍔″涓涓〃涓殑鏁版嵁榪涜浜嗕慨鏀癸紝榪欑淇敼娑夊強鍒拌〃涓殑鍏ㄩ儴鏁版嵁琛屻傚悓鏃訛紝絎簩涓簨鍔′篃淇敼榪欎釜琛ㄤ腑鐨勬暟鎹紝榪欑淇敼鏄悜琛ㄤ腑鎻掑叆涓琛屾柊鏁版嵁銆傞偅涔堬紝浠ュ悗灝變細鍙戠敓鎿嶄綔絎竴涓簨鍔$殑鐢ㄦ埛鍙戠幇琛ㄤ腑榪樻湁娌℃湁淇敼鐨勬暟鎹錛屽氨濂借薄鍙戠敓浜嗗夠瑙変竴鏍楓備緥濡傦紝涓涓紪杈戜漢鍛樻洿鏀逛綔鑰呮彁浜ょ殑鏂囨。錛屼絾褰撶敓浜ч儴闂ㄥ皢鍏舵洿鏀瑰唴瀹瑰悎騫跺埌璇ユ枃妗g殑涓誨鏈椂錛屽彂鐜頒綔鑰呭凡灝嗘湭緙栬緫鐨勬柊鏉愭枡娣誨姞鍒拌鏂囨。涓傚鏋滃湪緙栬緫浜哄憳鍜岀敓浜ч儴闂ㄥ畬鎴愬鍘熷鏂囨。鐨勫鐞嗕箣鍓嶏紝浠諱綍浜洪兘涓嶈兘灝嗘柊鏉愭枡娣誨姞鍒版枃妗d腑錛屽垯鍙互閬垮厤璇ラ棶棰樸?br>鎵浠ワ紝澶勭悊澶氱敤鎴峰茍鍙戣闂殑鏂規硶鏄姞閿併傞攣鏄槻姝㈠叾浠栦簨鍔¤闂寚瀹氱殑璧勬簮鎺у埗銆佸疄鐜板茍鍙戞帶鍒剁殑涓縐嶄富瑕佹墜孌點傚綋涓涓敤鎴烽攣浣忔暟鎹簱涓殑鏌愪釜瀵硅薄鏃訛紝鍏朵粬鐢ㄦ埛灝變笉鑳藉啀璁塊棶璇ュ璞°傚姞閿佸騫跺彂璁塊棶鐨勫獎鍝嶄綋鐜板湪閿佺殑綺掑害涓娿備負浜嗘帶鍒墮攣瀹氱殑璧勬簮錛屽簲璇ラ鍏堜簡瑙g郴緇熺殑絀洪棿綆$悊銆傚湪SQL Server 2000緋葷粺涓紝鏈灝忕殑絀洪棿綆$悊鍗曚綅鏄〉錛屼竴涓〉鏈?K銆傛墍鏈夌殑鏁版嵁銆佹棩蹇椼佺儲寮曢兘瀛樻斁鍦ㄩ〉涓娿傚彟澶栵紝浣跨敤欏墊湁涓涓檺鍒訛紝榪欏氨鏄〃涓殑涓琛屾暟鎹繀欏誨湪鍚屼竴涓〉涓婏紝涓嶈兘璺ㄩ〉銆傞〉涓婇潰鐨勭┖闂寸鐞嗗崟浣嶆槸鐩樺尯錛屼竴涓洏鍖烘槸8涓繛緇殑欏點傝〃鍜岀儲寮曠殑鏈灝忓崰鐢ㄥ崟浣嶆槸鐩樺尯銆傛暟鎹簱鏄敱涓涓垨鑰呭涓〃鎴栬呯儲寮曠粍鎴愶紝鍗蟲槸鐢卞涓洏鍖虹粍鎴愩傛斁鍦ㄤ竴涓〃涓婄殑閿侀檺鍒跺鏁翠釜琛ㄧ殑騫跺彂璁塊棶錛涙斁鍦ㄧ洏鍖轟笂鐨勯攣闄愬埗浜嗗鏁翠釜鐩樺尯鐨勮闂紱鏀懼湪鏁版嵁欏典笂鐨勯攣闄愬埗浜嗗鏁翠釜鏁版嵁欏電殑璁塊棶錛涙斁鍦ㄨ涓婄殑閿佸彧闄愬埗瀵硅琛岀殑騫跺彂璁塊棶銆?/font>

SQL Server 2000 鍏鋒湁澶氱矑搴﹂攣瀹氾紝鍏佽涓涓簨鍔¢攣瀹氫笉鍚岀被鍨嬬殑鐨勮祫婧愩備負浜嗕嬌閿佸畾鐨勬垚鏈噺鑷蟲渶灝戯紝SQL Server 鑷姩灝嗚祫婧愰攣瀹氬湪閫傚悎浠誨姟鐨勭駭鍒傞攣瀹氬湪杈冨皬鐨勭矑搴︼紙渚嬪琛岋級鍙互澧炲姞騫跺彂浣嗛渶瑕佽緝澶х殑寮閿錛屽洜涓哄鏋滈攣瀹氫簡璁稿琛岋紝鍒欓渶瑕佹帶鍒舵洿澶氱殑閿併傞攣瀹氬湪杈冨ぇ鐨勭矑搴︼紙渚嬪琛級灝卞茍鍙戣岃█鏄浉褰撴槀璐電殑錛屽洜涓洪攣瀹氭暣涓〃闄愬埗浜嗗叾瀹冧簨鍔″琛ㄤ腑浠繪剰閮ㄥ垎榪涜璁塊棶錛屼絾瑕佹眰鐨勫紑閿杈冧綆錛屽洜涓洪渶瑕佺淮鎶ょ殑閿佽緝灝戙係QL Server 鍙互閿佸畾琛屻侀〉銆佹墿灞曠洏鍖恒佽〃銆佸簱絳夎祫婧愩?br>琛屾槸鍙互閿佸畾鐨勬渶灝忕┖闂? 琛岀駭閿佸崰鐢ㄧ殑鏁版嵁璧勬簮鏈灝戯紝鎵浠ュ湪浜嬪姟鐨勫鐞嗚繃紼嬩腑錛屽厑璁稿叾浠栦簨鍔$戶緇搷綰靛悓涓涓〃鎴栬呭悓涓涓〉鐨勫叾浠栨暟鎹紝澶уぇ闄嶄綆浜嗗叾浠栦簨鍔$瓑寰呭鐞嗙殑鏃墮棿錛屾彁楂樹簡緋葷粺鐨勫茍鍙戞с?br>欏電駭閿佹槸鎸囧湪浜嬪姟鐨勬搷綰佃繃紼嬩腑錛屾棤璁轟簨鍔″鐞嗘暟鎹殑澶氬皯錛屾瘡涓嬈¢兘閿佸畾涓欏碉紝鍦ㄨ繖涓〉涓婄殑鏁版嵁涓嶈兘琚叾浠栦簨鍔℃搷綰點傚湪SQL Server 7.0浠ュ墠錛屼嬌鐢ㄧ殑鏄〉綰ч攣銆傞〉綰ч攣閿佸畾鐨勮祫婧愭瘮琛岀駭閿侀攣瀹氱殑鏁版嵁璧勬簮澶氥傚湪欏電駭閿佷腑錛屽嵆浣挎槸涓涓簨鍔″彧鎿嶇旱欏典笂鐨勪竴琛屾暟鎹紝閭d箞璇ラ〉涓婄殑鍏朵粬鏁版嵁琛屼篃涓嶈兘琚叾浠栦簨鍔′嬌鐢ㄣ傚洜姝わ紝褰撲嬌鐢ㄩ〉綰ч攣鏃訛紝浼氬嚭鐜版暟鎹殑嫻垂鐜拌薄錛屼篃灝辨槸璇達紝鍦ㄥ悓涓涓〉涓婁細鍑虹幇鏁版嵁琚崰鐢ㄥ嵈娌℃湁浣跨敤鐨勭幇璞°傚湪榪欑鐜拌薄涓紝鏁版嵁鐨勬氮璐規渶澶氫笉瓚呰繃涓涓〉涓婄殑鏁版嵁琛屻?br>琛ㄧ駭閿佷篃鏄竴涓潪甯擱噸瑕佺殑閿併傝〃綰ч攣鏄寚浜嬪姟鍦ㄦ搷綰墊煇涓涓〃鐨勬暟鎹椂錛岄攣瀹氫簡榪欎釜鏁版嵁鎵鍦ㄧ殑鏁翠釜琛紝鍏朵粬浜嬪姟涓嶈兘璁塊棶璇ヨ〃涓殑鍏朵粬鏁版嵁銆傚綋浜嬪姟澶勭悊鐨勬暟鎹噺姣旇緝澶ф椂錛屼竴鑸嬌鐢ㄨ〃綰ч攣銆傝〃綰ч攣鐨勭壒鐐規槸浣跨敤姣旇緝灝戠殑緋葷粺璧勬簮錛屼絾鏄嵈鍗犵敤姣旇緝澶氱殑鏁版嵁璧勬簮銆備笌琛岀駭閿佸拰欏電駭閿佺浉姣旓紝琛ㄧ駭閿佸崰鐢ㄧ殑緋葷粺璧勬簮渚嬪鍐呭瓨姣旇緝灝戯紝浣嗘槸鍗犵敤鐨勬暟鎹祫婧愬嵈鏄渶澶с傚湪琛ㄧ駭閿佹椂錛屾湁鍙兘鍑虹幇鏁版嵁鐨勫ぇ閲忔氮璐圭幇璞★紝鍥犱負琛ㄧ駭閿侀攣瀹氭暣涓〃錛岄偅涔堝叾浠栫殑浜嬪姟閮戒笉鑳芥搷綰佃〃涓殑鍏朵粬鏁版嵁銆?br>鐩樺尯閿佹槸涓縐嶇壒孌婄被鍨嬬殑閿侊紝鍙兘鐢ㄥ湪涓浜涚壒孌婄殑鎯呭喌涓嬨傜皣綰ч攣灝辨槸鎸囦簨鍔″崰鐢ㄤ竴涓洏鍖猴紝榪欎釜鐩樺尯涓嶈兘鍚屾椂琚叾浠栦簨鍔″崰鐢ㄣ備緥濡傚湪鍒涘緩鏁版嵁搴撳拰鍒涘緩琛ㄦ椂錛岀郴緇熷垎閰嶇墿鐞嗙┖闂存椂浣跨敤榪欑綾誨瀷鐨勯攣銆傜郴緇熸槸鎸夌収鐩樺尯鍒嗛厤絀洪棿鐨勩傚綋緋葷粺鍒嗛厤絀洪棿鏃訛紝浣跨敤鐩樺尯閿侊紝闃叉鍏朵粬浜嬪姟鍚屾椂浣跨敤鍚屼竴涓洏鍖恒傚綋緋葷粺瀹屾垚鍒嗛厤絀洪棿涔嬪悗錛屽氨涓嶅啀浣跨敤榪欑綾誨瀷鐨勭洏鍖洪攣銆傜壒鍒槸錛屽綋娑夊強鍒板鏁版嵁鎿嶄綔鐨勪簨鍔℃椂錛屼笉浣跨敤鐩樺尯閿併?br>鏁版嵁搴撶駭閿佹槸鎸囬攣瀹氭暣涓暟鎹簱錛岄槻姝換浣曠敤鎴鋒垨鑰呬簨鍔″閿佸畾鐨勬暟鎹簱榪涜璁塊棶銆傛暟鎹簱綰ч攣鏄竴縐嶉潪甯哥壒孌婄殑閿侊紝瀹冨彧鏄敤浜庢暟鎹簱鐨勬仮澶嶆搷浣滆繃紼嬩腑銆傝繖縐嶇瓑綰х殑閿佹槸涓縐嶆渶楂樼瓑綰х殑閿侊紝鍥犱負瀹冩帶鍒舵暣涓暟鎹簱鐨勬搷浣溿傚彧瑕佸鏁版嵁搴撹繘琛屾仮澶嶆搷浣滐紝閭d箞灝遍渶瑕佽緗暟鎹簱涓哄崟鐢ㄦ埛妯″紡錛岃繖鏍風郴緇熷氨鑳介槻姝㈠叾浠栫敤鎴峰璇ユ暟鎹簱榪涜鍚勭鎿嶄綔銆?br>琛岀駭閿佹槸涓縐嶆渶浼橀攣錛屽洜涓鴻綰ч攣涓嶅彲鑳藉嚭鐜版暟鎹棦琚崰鐢ㄥ張娌℃湁浣跨敤鐨勬氮璐圭幇璞°備絾鏄紝濡傛灉鐢ㄦ埛浜嬪姟涓綣佸鏌愪釜琛ㄤ腑鐨勫鏉¤褰曟搷浣滐紝灝嗗鑷村璇ヨ〃鐨勮澶氳褰曡閮藉姞涓婁簡琛岀駭閿侊紝鏁版嵁搴撶郴緇熶腑閿佺殑鏁扮洰浼氭ュ墽澧炲姞錛岃繖鏍峰氨鍔犻噸浜嗙郴緇熻礋鑽鳳紝褰卞搷緋葷粺鎬ц兘銆傚洜姝わ紝鍦⊿QL Server涓紝榪樻敮鎸侀攣鍗囩駭(lock escalation)銆傛墍璋撻攣鍗囩駭鏄寚璋冩暣閿佺殑綺掑害錛屽皢澶氫釜浣庣矑搴︾殑閿佹浛鎹㈡垚灝戞暟鐨勬洿楂樼矑搴︾殑閿侊紝浠ユ鏉ラ檷浣庣郴緇熻礋鑽楓傚湪SQL Server涓綋涓涓簨鍔′腑鐨勯攣杈冨錛岃揪鍒伴攣鍗囩駭闂ㄩ檺鏃訛紝緋葷粺鑷姩灝嗚綰ч攣鍜岄〉闈㈤攣鍗囩駭涓鴻〃綰ч攣銆傜壒鍒煎緱娉ㄦ剰鐨勬槸錛屽湪SQL Server涓紝閿佺殑鍗囩駭闂ㄩ檺浠ュ強閿佸崌綰ф槸鐢辯郴緇熻嚜鍔ㄦ潵紜畾鐨勶紝涓嶉渶瑕佺敤鎴瘋緗?br>       鍦⊿QL  Server鏁版嵁搴撲腑鍔犻攣鏃訛紝闄や簡鍙互瀵逛笉鍚岀殑璧勬簮鍔犻攣錛岃繕鍙互浣跨敤涓嶅悓紼嬪害鐨勫姞閿佹柟寮忥紝鍗抽攣鏈夊縐嶆ā寮忥紝SQL Server涓攣妯″紡鍖呮嫭錛?nbsp;   
1錛庡叡浜攣     SQL Server涓紝鍏變韓閿佺敤浜庢墍鏈夌殑鍙鏁版嵁鎿嶄綔銆傚叡浜攣鏄潪鐙崰鐨勶紝鍏佽澶氫釜騫跺彂浜嬪姟璇誨彇鍏墮攣瀹氱殑璧勬簮銆傞粯璁ゆ儏鍐典笅錛屾暟鎹璇誨彇鍚庯紝SQL Server绔嬪嵆閲婃斁鍏變韓閿併備緥濡傦紝鎵ц鏌ヨ“SELECT  *  FROM  AUTHORS”鏃訛紝棣栧厛閿佸畾絎竴欏碉紝璇誨彇涔嬪悗錛岄噴鏀懼絎竴欏電殑閿佸畾錛岀劧鍚庨攣瀹氱浜岄〉銆傝繖鏍鳳紝灝卞厑璁稿湪璇繪搷浣滆繃紼嬩腑錛屼慨鏀規湭琚攣瀹氱殑絎竴欏點備絾鏄紝浜嬪姟闅旂綰у埆榪炴帴閫夐」璁劇疆鍜孲ELECT璇彞涓殑閿佸畾璁劇疆閮藉彲浠ユ敼鍙楽QL Server鐨勮繖縐嶉粯璁よ緗備緥濡傦紝“ SELECT  *  FROM  AUTHORS  HOLDLOCK”灝辮姹傚湪鏁翠釜鏌ヨ榪囩▼涓紝淇濇寔瀵硅〃鐨勯攣瀹氾紝鐩村埌鏌ヨ瀹屾垚鎵嶉噴鏀鵑攣瀹氥?nbsp;  
 2錛庢洿鏂伴攣     鏇存柊閿佸湪淇敼鎿嶄綔鐨勫垵濮嬪寲闃舵鐢ㄦ潵閿佸畾鍙兘瑕佽淇敼鐨勮祫婧愶紝榪欐牱鍙互閬垮厤浣跨敤鍏變韓閿侀犳垚鐨勬閿佺幇璞°傚洜涓轟嬌鐢ㄥ叡浜攣鏃訛紝淇敼鏁版嵁鐨勬搷浣滃垎涓轟袱姝ワ紝棣栧厛鑾峰緱涓涓叡浜攣錛岃鍙栨暟鎹紝鐒跺悗灝嗗叡浜攣鍗囩駭涓烘帓瀹冮攣錛岀劧鍚庡啀鎵ц淇敼鎿嶄綔銆傝繖鏍峰鏋滃悓鏃舵湁涓や釜鎴栧涓簨鍔″悓鏃跺涓涓簨鍔$敵璇蜂簡鍏變韓閿侊紝鍦ㄤ慨鏀規暟鎹殑鏃跺欙紝榪欎簺浜嬪姟閮借灝嗗叡浜攣鍗囩駭涓烘帓瀹冮攣銆傝繖鏃訛紝榪欎簺浜嬪姟閮戒笉浼氶噴鏀懼叡浜攣鑰屾槸涓鐩寸瓑寰呭鏂歸噴鏀撅紝榪欐牱灝遍犳垚浜嗘閿併傚鏋滀竴涓暟鎹湪淇敼鍓嶇洿鎺ョ敵璇鋒洿鏂伴攣錛屽湪鏁版嵁淇敼鐨勬椂鍊欏啀鍗囩駭涓烘帓瀹冮攣錛屽氨鍙互閬垮厤姝婚攣銆?br>3錛庢帓瀹冮攣     鎺掑畠閿佹槸涓轟慨鏀規暟鎹屼繚鐣欑殑銆傚畠鎵閿佸畾鐨勮祫婧愶紝鍏朵粬浜嬪姟涓嶈兘璇誨彇涔熶笉鑳戒慨鏀廣?nbsp; 
4錛庣粨鏋勯攣     鎵ц琛ㄧ殑鏁版嵁瀹氫箟璇█ (DDL) 鎿嶄綔錛堜緥濡傛坊鍔犲垪鎴栭櫎鍘昏〃錛夋椂浣跨敤鏋舵瀯淇敼 (Sch-M) 閿併傚綋緙栬瘧鏌ヨ鏃訛紝浣跨敤鏋舵瀯紼沖畾鎬?(Sch-S) 閿併傛灦鏋勭ǔ瀹氭?(Sch-S) 閿佷笉闃誨浠諱綍浜嬪姟閿侊紝鍖呮嫭鎺掑畠閿併傚洜姝ゅ湪緙栬瘧鏌ヨ鏃訛紝鍏跺畠浜嬪姟錛堝寘鎷湪琛ㄤ笂鏈夋帓瀹冮攣鐨勪簨鍔★級閮借兘緇х畫榪愯銆備絾涓嶈兘鍦ㄨ〃涓婃墽琛?DDL 鎿嶄綔銆?br>5錛庢剰鍚戦攣     鎰忓悜閿佽鏄嶴QL Server鏈夊湪璧勬簮鐨勪綆灞傝幏寰楀叡浜攣鎴栨帓瀹冮攣鐨勬剰鍚戙備緥濡傦紝琛ㄧ駭鐨勫叡浜剰鍚戦攣璇存槑浜嬪姟鎰忓浘灝嗘帓瀹冮攣閲婃斁鍒拌〃涓殑欏墊垨鑰呰銆傛剰鍚戦攣鍙堝彲浠ュ垎涓哄叡浜剰鍚戦攣銆佺嫭鍗犳剰鍚戦攣鍜屽叡浜紡鐙崰鎰忓悜閿併傚叡浜剰鍚戦攣璇存槑浜嬪姟鎰忓浘鍦ㄥ叡浜剰鍚戦攣鎵閿佸畾鐨勪綆灞傝祫婧愪笂鏀劇疆鍏變韓閿佹潵璇誨彇鏁版嵁銆傜嫭鍗犳剰鍚戦攣璇存槑浜嬪姟鎰忓浘鍦ㄥ叡浜剰鍚戦攣鎵閿佸畾鐨勪綆灞傝祫婧愪笂鏀劇疆鎺掑畠閿佹潵淇敼鏁版嵁銆傚叡浜紡鎺掑畠閿佽鏄庝簨鍔″厑璁稿叾浠栦簨鍔′嬌鐢ㄥ叡浜攣鏉ヨ鍙栭《灞傝祫婧愶紝騫舵剰鍥懼湪璇ヨ祫婧愪綆灞備笂鏀劇疆鎺掑畠閿併?nbsp;   
6錛庡ぇ瀹歸噺鏇存柊閿?nbsp; 褰撳皢鏁版嵁澶у閲忓鍒跺埌琛紝涓旀寚瀹氫簡 TABLOCK 鎻愮ず鎴栬呬嬌鐢?sp_tableoption 璁劇疆浜?table lock on bulk 琛ㄩ夐」鏃訛紝灝嗕嬌鐢ㄥぇ瀹歸噺鏇存柊 閿併傚ぇ瀹歸噺鏇存柊閿佸厑璁歌繘紼嬪皢鏁版嵁騫跺彂鍦板ぇ瀹歸噺澶嶅埗鍒板悓涓琛紝鍚屾椂闃叉鍏跺畠涓嶈繘琛屽ぇ瀹歸噺澶嶅埗鏁版嵁鐨勮繘紼嬭闂琛ㄣ?br>   
SQL Server緋葷粺涓緩璁緋葷粺鑷姩綆$悊閿侊紝璇ョ郴緇熶細鍒嗘瀽鐢ㄦ埛鐨凷QL璇彞瑕佹眰錛岃嚜鍔ㄤ負璇ヨ姹傚姞涓婂悎閫傜殑閿侊紝鑰屼笖鍦ㄩ攣鐨勬暟鐩お澶氭椂錛岀郴緇熶細鑷姩榪涜閿佸崌綰с傚鍓嶆墍榪幫紝鍗囩駭鐨勯棬闄愮敱緋葷粺鑷姩閰嶇疆錛屽茍涓嶉渶瑕佺敤鎴烽厤緗?鍦ㄥ疄闄呭簲鐢ㄤ腑錛屾湁鏃朵負浜嗗簲鐢ㄧ▼搴忔紜繍琛屽拰淇濇寔鏁版嵁鐨勪竴鑷存э紝蹇呴』浜轟負鍦扮粰鏁版嵁搴撶殑鏌愪釜琛ㄥ姞閿併傛瘮濡傦紝鍦ㄦ煇搴旂敤紼嬪簭鐨勪竴涓簨鍔℃搷浣滀腑錛岄渶瑕佹牴鎹竴緙栧彿瀵瑰嚑涓暟鎹〃鍋氱粺璁℃搷浣滐紝涓轟繚璇佺粺璁℃暟鎹椂闂寸殑涓鑷存у拰姝g‘鎬э紝浠庣粺璁$涓涓〃寮濮嬪埌鍏ㄩ儴琛ㄧ粨鏉燂紝鍏朵粬搴旂敤紼嬪簭鎴栦簨鍔′笉鑳藉啀瀵硅繖鍑犱釜琛ㄥ啓鍏ユ暟鎹紝榪欎釜鏃跺欙紝璇ュ簲鐢ㄧ▼搴忓笇鏈涘湪浠庣粺璁$涓涓暟鎹〃寮濮嬫垨鍦ㄦ暣涓簨鍔″紑濮嬫椂鑳藉鐢辯▼搴忎漢涓哄湴錛堟樉寮忓湴錛夐攣瀹氳繖鍑犱釜琛紝榪欏氨闇瑕佺敤鍒版墜宸ュ姞閿侊紙涔熺О鏄懼紡鍔犻攣錛夋妧鏈?br>鍙互浣跨敤 SELECT銆両NSERT銆乁PDATE 鍜?DELETE 璇彞鎸囧畾琛ㄧ駭閿佸畾鎻愮ず鐨勮寖鍥達紝浠ュ紩瀵?Microsoft  SQL Server 2000 浣跨敤鎵闇鐨勯攣綾誨瀷銆傚綋闇瑕佸瀵硅薄鎵鑾峰緱閿佺被鍨嬭繘琛屾洿綺劇粏鎺у埗鏃訛紝浣跨敤琛ㄧ駭閿佸畾鎻愮ず鏇存敼榛樿鐨勯攣瀹氳涓恒?br>鎵鎸囧畾鐨勮〃綰ч攣瀹氭彁紺烘湁濡備笅鍑犵錛?nbsp;  
1錛?HOLDLOCK: 鍦ㄨ琛ㄤ笂淇濇寔鍏變韓閿侊紝鐩村埌鏁翠釜浜嬪姟緇撴潫錛岃屼笉鏄湪璇彞鎵ц瀹岀珛鍗抽噴鏀炬墍娣誨姞鐨勯攣銆?nbsp;   
2錛?NOLOCK錛氫笉娣誨姞鍏變韓閿佸拰鎺掑畠閿侊紝褰撹繖涓夐」鐢熸晥鍚庯紝鍙兘璇誨埌鏈彁浜よ鐨勬暟鎹垨“鑴忔暟鎹?#8221;錛岃繖涓夐」浠呬粎搴旂敤浜嶴ELECT璇彞銆?nbsp;   
3錛?PAGLOCK錛氭寚瀹氭坊鍔犻〉閿侊紙鍚﹀垯閫氬父鍙兘娣誨姞琛ㄩ攣錛夈?nbsp; 
4錛?READCOMMITTED鐢ㄤ笌榪愯鍦ㄦ彁浜よ闅旂綰у埆鐨勪簨鍔$浉鍚岀殑閿佽涔夋墽琛屾壂鎻忋傞粯璁ゆ儏鍐典笅錛孲QL Server 2000 鍦ㄦ闅旂綰у埆涓婃搷浣溿傘?nbsp; 
5錛?READPAST: 璺寵繃宸茬粡鍔犻攣鐨勬暟鎹錛岃繖涓夐」灝嗕嬌浜嬪姟璇誨彇鏁版嵁鏃惰煩榪囬偅浜涘凡緇忚鍏朵粬浜嬪姟閿佸畾鐨勬暟鎹錛岃屼笉鏄樆濉炵洿鍒板叾浠栦簨鍔¢噴鏀鵑攣錛孯EADPAST浠呬粎搴旂敤浜嶳EAD COMMITTED闅旂鎬х駭鍒笅浜嬪姟鎿嶄綔涓殑SELECT璇彞鎿嶄綔銆?nbsp;  
6錛?READUNCOMMITTED錛氱瓑鍚屼簬NOLOCK銆?nbsp;   
7錛?REPEATABLEREAD錛氳緗簨鍔′負鍙噸澶嶈闅旂鎬х駭鍒?nbsp; 
8錛?ROWLOCK錛氫嬌鐢ㄨ綰ч攣錛岃屼笉浣跨敤綺掑害鏇寸矖鐨勯〉綰ч攣鍜岃〃綰ч攣銆?nbsp;  
9錛?SERIALIZABLE錛氱敤涓庤繍琛屽湪鍙覆琛岃闅旂綰у埆鐨勪簨鍔$浉鍚岀殑閿佽涔夋墽琛屾壂鎻忋傜瓑鍚屼簬 HOLDLOCK銆?nbsp;
10錛?TABLOCK錛氭寚瀹氫嬌鐢ㄨ〃綰ч攣錛岃屼笉鏄嬌鐢ㄨ綰ф垨欏甸潰綰х殑閿侊紝SQL Server鍦ㄨ璇彞鎵ц瀹屽悗閲婃斁榪欎釜閿侊紝鑰屽鏋滃悓鏃舵寚瀹氫簡HOLDLOCK錛岃閿佷竴鐩翠繚鎸佸埌榪欎釜浜嬪姟緇撴潫銆?nbsp;   
11錛?TABLOCKX錛氭寚瀹氬湪琛ㄤ笂浣跨敤鎺掑畠閿侊紝榪欎釜閿佸彲浠ラ樆姝㈠叾浠栦簨鍔¤鎴栨洿鏂拌繖涓〃鐨勬暟鎹紝鐩村埌榪欎釜璇彞鎴栨暣涓簨鍔$粨鏉熴?nbsp; 
12錛?UPDLOCK 錛氭寚瀹氬湪璇昏〃涓暟鎹椂璁劇疆鏇存柊 閿侊紙update lock錛夎屼笉鏄緗叡浜攣錛岃閿佷竴鐩翠繚鎸佸埌榪欎釜璇彞鎴栨暣涓簨鍔$粨鏉燂紝浣跨敤UPDLOCK鐨勪綔鐢ㄦ槸鍏佽鐢ㄦ埛鍏堣鍙栨暟鎹紙鑰屼笖涓嶉樆濉炲叾浠栫敤鎴瘋鏁版嵁錛夛紝騫朵笖淇濊瘉鍦ㄥ悗鏉ュ啀鏇存柊鏁版嵁鏃訛紝榪欎竴孌墊椂闂村唴榪欎簺鏁版嵁娌℃湁琚叾浠栫敤鎴蜂慨鏀廣?nbsp;  
姝婚攣闂
鍦ㄦ暟鎹簱緋葷粺涓紝姝婚攣鏄寚澶氫釜鐢ㄦ埛錛堣繘紼嬶級鍒嗗埆閿佸畾浜嗕竴涓祫婧愶紝騫跺張璇曞浘璇鋒眰閿佸畾瀵規柟宸茬粡閿佸畾鐨勮祫婧愶紝榪欏氨浜х敓浜嗕竴涓攣瀹氳姹傜幆錛屽鑷村涓敤鎴鳳紙榪涚▼錛夐兘澶勪簬絳夊緟瀵規柟閲婃斁鎵閿佸畾璧勬簮鐨勭姸鎬併傝繖縐嶆閿佹槸鏈鍏稿瀷鐨勬閿佸艦寮? 渚嬪鍦ㄥ悓涓鏃墮棿鍐呮湁涓や釜浜嬪姟A鍜孊錛屼簨鍔鏈変袱涓搷浣滐細閿佸畾琛╬art鍜岃姹傝闂〃supplier錛涗簨鍔涔熸湁涓や釜鎿嶄綔錛氶攣瀹氳〃supplier鍜岃姹傝闂〃part銆傜粨鏋滐紝浜嬪姟A鍜屼簨鍔涔嬮棿鍙戠敓浜嗘閿併?br>    姝婚攣鐨勭浜岀鎯呭喌鏄紝褰撳湪涓涓暟鎹簱涓椂錛屾湁鑻ュ共涓暱鏃墮棿榪愯鐨勪簨鍔℃墽琛屽茍琛岀殑鎿嶄綔錛屽綋鏌ヨ鍒嗘瀽鍣ㄥ鐞嗕竴縐嶉潪甯稿鏉傜殑鏌ヨ渚嬪榪炴帴鏌ヨ鏃訛紝閭d箞鐢變簬涓嶈兘鎺у埗澶勭悊鐨勯『搴忥紝鏈夊彲鑳藉彂鐢熸閿佺幇璞°?br>    鍦⊿QL Server涓紝緋葷粺鑳藉鑷姩瀹氭湡鎼滅儲鍜屽鐞嗘閿侀棶棰樸傜郴緇熷湪姣忔鎼滅儲涓爣璇嗘墍鏈夌瓑寰呴攣瀹氳姹傜殑榪涚▼浼氳瘽錛屽鏋滃湪涓嬩竴嬈℃悳绱腑璇ヨ鏍囪瘑鐨勮繘紼嬩粛澶勪簬絳夊緟鐘舵侊紝SQL Server灝卞紑濮嬮掑綊姝婚攣鎼滅儲銆傚綋鎼滅儲媯嫻嬪埌閿佸畾璇鋒眰鐜椂錛孲QL Server 閫氳繃鑷姩閫夋嫨鍙互鎵撶牬姝婚攣鐨勭嚎紼嬶紙姝婚攣鐗虹壊鍝侊級鏉ョ粨鏉熸閿併係QL Server 鍥炴粴浣滀負姝婚攣鐗虹壊鍝佺殑浜嬪姟錛岄氱煡綰跨▼鐨勫簲鐢ㄧ▼搴忥紙閫氳繃榪斿洖 1205 鍙烽敊璇俊鎭級錛屽彇娑堢嚎紼嬬殑褰撳墠璇鋒眰錛岀劧鍚庡厑璁鎬笉闂存柇綰跨▼鐨勪簨鍔$戶緇繘琛屻係QL Server 閫氬父閫夋嫨榪愯鎾ゆ秷鏃惰姳璐規渶灝戠殑浜嬪姟鐨勭嚎紼嬩綔涓烘閿佺壓鐗插搧銆傚彟澶栵紝鐢ㄦ埛鍙互浣跨敤 SET 璇彞灝嗕細璇濈殑 DEADLOCK_PRIORITY 璁劇疆涓?LOW銆侱EADLOCK_PRIORITY 閫夐」鎺у埗鍦ㄦ閿佹儏鍐典笅濡備綍琛¢噺浼氳瘽鐨勯噸瑕佹с傚鏋滀細璇濈殑璁劇疆涓?LOW 錛屽垯褰撲細璇濋櫡鍏ユ閿佹儏鍐墊椂灝嗘垚涓洪閫夌壓鐗插搧銆?br>    鐞嗚В浜嗘閿佺殑姒傚康錛屽湪搴旂敤紼嬪簭涓氨鍙互閲囩敤涓嬮潰鐨勪竴浜涙柟娉曟潵灝介噺閬垮厤姝婚攣浜嗭細 錛?錛夊悎鐞嗗畨鎺掕〃璁塊棶欏哄簭銆?錛?錛夊湪浜嬪姟涓敖閲忛伩鍏嶇敤鎴峰共棰勶紝灝介噺浣夸竴涓簨鍔″鐞嗙殑浠誨姟灝戜簺, 淇濇寔浜嬪姟綆鐭茍鍦ㄤ竴涓壒澶勭悊涓?錛?錛夋暟鎹闂椂鍩熺鏁f硶, 鏁版嵁璁塊棶鏃跺煙紱繪暎娉曟槸鎸囧湪瀹㈡埛鏈?鏈嶅姟鍣ㄧ粨鏋勪腑錛岄噰鍙栧悇縐嶆帶鍒舵墜孌墊帶鍒跺鏁版嵁搴撴垨鏁版嵁搴撲腑鐨勫璞¤闂椂闂存銆備富瑕侀氳繃浠ヤ笅鏂瑰紡瀹炵幇: 鍚堢悊瀹夋帓鍚庡彴浜嬪姟鐨勬墽琛屾椂闂達紝閲囩敤宸ヤ綔嫻佸鍚庡彴浜嬪姟榪涜緇熶竴綆$悊銆傚伐浣滄祦鍦ㄧ鐞嗕換鍔℃椂錛屼竴鏂歸潰闄愬埗鍚屼竴綾諱換鍔$殑綰跨▼鏁幫紙寰寰闄愬埗涓?涓級錛岄槻姝㈣祫婧愯繃澶氬崰鐢? 鍙︿竴鏂歸潰鍚堢悊瀹夋帓涓嶅悓浠誨姟鎵ц鏃跺簭銆佹椂闂達紝灝介噺閬垮厤澶氫釜鍚庡彴浠誨姟鍚屾椂鎵ц錛屽彟澶栵紝 閬垮厤鍦ㄥ墠鍙頒氦鏄撻珮宄版椂闂磋繍琛屽悗鍙頒換鍔°?錛?錛夋暟鎹瓨鍌ㄧ┖闂寸鏁f硶銆傛暟鎹瓨鍌ㄧ┖闂寸鏁f硶鏄寚閲囧彇鍚勭鎵嬫錛屽皢閫昏緫涓婂湪涓涓〃涓殑鏁版嵁鍒嗘暎鍒拌嫢騫茬鏁g殑絀洪棿涓婂幓錛屼互渚挎敼鍠勫琛ㄧ殑璁塊棶鎬ц兘銆備富瑕侀氳繃浠ヤ笅鏂規硶瀹炵幇: 絎竴錛屽皢澶ц〃鎸夎鎴栧垪鍒嗚В涓鴻嫢騫插皬琛? 絎簩錛屾寜涓嶅悓鐨勭敤鎴風兢鍒嗚В銆?錛?錛変嬌鐢ㄥ敖鍙兘浣庣殑闅旂鎬х駭鍒傞殧紱繪х駭鍒槸鎸囦負淇濊瘉鏁版嵁搴撴暟鎹殑瀹屾暣鎬у拰涓鑷存ц屼嬌澶氱敤鎴蜂簨鍔¢殧紱葷殑紼嬪害錛孲QL92瀹氫箟浜?縐嶉殧紱繪х駭鍒細鏈彁浜よ銆佹彁浜よ銆佸彲閲嶅璇誨拰鍙覆琛屻傚鏋滈夋嫨榪囬珮鐨勯殧紱繪х駭鍒紝濡傚彲涓茶錛岃櫧鐒剁郴緇熷彲浠ュ洜瀹炵幇鏇村ソ闅旂鎬ц屾洿澶х▼搴︿笂淇濊瘉鏁版嵁鐨勫畬鏁存у拰涓鑷存э紝浣嗗悇浜嬪姟闂村啿紿佽屾閿佺殑鏈轟細澶уぇ澧炲姞錛屽ぇ澶у獎鍝嶄簡緋葷粺鎬ц兘銆?錛?錛変嬌鐢ㄧ粦瀹氳繛鎺?  緇戝畾榪炴帴鍏佽涓や釜鎴栧涓簨鍔¤繛鎺ュ叡浜簨鍔″拰閿侊紝鑰屼笖浠諱綍涓涓簨鍔¤繛鎺ヨ鐢寵閿佸鍚屽彟澶栦竴涓簨鍔¤鐢寵閿佷竴鏍鳳紝鍥犳鍙互鍏佽榪欎簺浜嬪姟鍏變韓鏁版嵁鑰屼笉浼氭湁鍔犻攣鐨勫啿紿併?nbsp;  

    鎬諱箣錛屼簡瑙QL Server鐨勯攣鏈哄埗錛屾帉鎻℃暟鎹簱閿佸畾鏂規硶, 瀵逛竴涓悎鏍肩殑DBA鏉ヨ鏄緢閲嶈鐨勩?/font>




]]>
sqlserver錛宱racle鍜孌B2鐨勪復鏃惰〃姒傝堪 http://www.shnenglu.com/ivenher/articles/22133.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Tue, 17 Apr 2007 07:40:00 GMThttp://www.shnenglu.com/ivenher/articles/22133.htmlhttp://www.shnenglu.com/ivenher/comments/22133.htmlhttp://www.shnenglu.com/ivenher/articles/22133.html#Feedback0http://www.shnenglu.com/ivenher/comments/commentRss/22133.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/22133.htmlMS SQLSERVER

SQL Server 鏀寔涓存椂琛ㄣ備復鏃惰〃灝辨槸閭d簺鍚嶇О浠ヤ簳鍙?span twffan="done"> (#) 寮澶寸殑琛ㄣ傚鏋滃綋鐢ㄦ埛鏂紑榪炴帴鏃舵病鏈夐櫎鍘諱復鏃惰〃錛?span twffan="done">SQL Server 灝嗚嚜鍔ㄩ櫎鍘諱復鏃惰〃銆備復鏃惰〃涓嶅瓨鍌ㄥ湪褰撳墠鏁版嵁搴撳唴錛岃屾槸瀛樺偍鍦ㄧ郴緇熸暟鎹簱 tempdb 鍐呫?/span>

涓存椂琛ㄦ湁涓ょ綾誨瀷錛?

鏈湴涓存椂琛?/span>錛氭湰鍦頒復鏃惰〃鐨勫悕縐頒互鍗曚釜鏁板瓧絎﹀彿 (#) 鎵撳ご錛涘畠浠粎瀵瑰綋鍓嶇殑鐢ㄦ埛榪炴帴鏄彲瑙佺殑錛涘綋鐢ㄦ埛浠?span twffan="done"> Microsoft SQL Server 2000 瀹炰緥鏂紑榪炴帴鏃惰鍒犻櫎銆?/span>

鍏ㄥ眬涓存椂琛?/span>錛氬叏灞涓存椂琛ㄧ殑鍚嶇О浠ユ暟瀛︾鍙?span twffan="done"> (##) 鎵撳ご錛屽垱寤哄悗瀵逛換浣曠敤鎴烽兘鏄彲瑙佺殑銆傚鏋滃湪鍒涘緩鍏ㄥ眬涓存椂琛ㄧ殑榪炴帴鏂紑鍓嶆病鏈夋樉寮忓湴闄ゅ幓榪欎簺琛紝閭d箞鍙鎵鏈夊叾瀹冧換鍔″仠姝㈠紩鐢ㄥ畠浠紝榪欎簺琛ㄥ嵆琚櫎鍘匯傚綋鍒涘緩鍏ㄥ眬涓存椂琛ㄧ殑榪炴帴鏂紑鍚庯紝鏂扮殑浠誨姟涓嶈兘鍐嶅紩鐢ㄥ畠浠傚綋鍓嶇殑璇彞涓鎵ц瀹岋紝浠誨姟涓庤〃涔嬮棿鐨勫叧鑱斿嵆琚櫎鍘伙紱鍥犳閫氬父鎯呭喌涓嬶紝鍙鍒涘緩鍏ㄥ眬涓存椂琛ㄧ殑榪炴帴鏂紑錛屽叏灞涓存椂琛ㄥ嵆琚櫎鍘匯?/span>

渚嬪錛屽鏋滃垱寤哄悕涓?employees 鐨勮〃錛屽垯浠諱綍浜哄彧瑕佸湪鏁版嵁搴撲腑鏈変嬌鐢ㄨ琛ㄧ殑瀹夊叏鏉冮檺灝卞彲浠ヤ嬌鐢ㄨ琛紝闄ら潪瀹冨凡鍒犻櫎銆傚鏋滃垱寤哄悕涓?#employees 鐨勬湰鍦頒復鏃惰〃錛屽彧鏈夋偍鑳藉璇ヨ〃鎵ц鎿嶄綔涓斿湪鏂紑榪炴帴鏃惰琛ㄥ垹闄ゃ傚鏋滃垱寤哄悕涓?##employees 鐨勫叏灞涓存椂琛紝鏁版嵁琛ㄤ腑鐨勪換浣曠敤鎴峰潎鍙璇ヨ〃鎵ц鎿嶄綔銆傚鏋滆琛ㄥ湪鎮ㄥ垱寤哄悗娌℃湁鍏朵粬鐢ㄦ埛浣跨敤錛屽垯褰撴偍鏂紑榪炴帴鏃惰琛ㄥ垹闄ゃ傚鏋滆琛ㄥ湪鎮ㄥ垱寤哄悗鏈夊叾浠栫敤鎴蜂嬌鐢紝鍒?span twffan="done"> SQL Server鍦ㄦ墍鏈夌敤鎴鋒柇寮榪炴帴鍚庡垹闄よ琛ㄣ?/font>

鐜板湪錛屼復鏃惰〃鐨勮澶氫紶緇熺敤閫斿彲鐢卞叿鏈?table 鏁版嵁綾誨瀷鐨勫彉閲忔浛鎹€?/font>

 

ORACLE

Oracle鏀寔涓存椂琛ㄣ備復鏃惰〃鐢ㄦ潵淇濆瓨浜嬪姟鎴栦細璇濇湡闂寸殑涓棿緇撴灉銆傚湪涓存椂琛ㄤ腑淇濆瓨鐨勬暟鎹彧鏈夊褰撳墠浼氳瘽鏄彲瑙佺殑錛屼換浣曚細璇濋兘涓嶈兘鐪嬪埌鍏朵粬浼氳瘽鐨勬暟鎹紝鍗充嬌鍦ㄥ綋鍓嶄細璇?span twffan="done">COMMIT鏁版嵁浠ュ悗涔熸槸涓嶅彲瑙佺殑銆傚鐢ㄦ埛騫惰涓嶆槸闂錛屼竴涓細璇濅粠鏉ヤ笉闃誨鍙︿竴涓細璇濅嬌鐢ㄤ復鏃惰〃銆傚嵆浣塊攣瀹氫復鏃惰〃錛屼竴涓細璇濅篃涓嶄細闃誨鍏朵粬浼氳瘽浣跨敤涓存椂琛ㄣ備復鏃惰〃姣旀甯歌〃浜х敓鐨?span twffan="done">REDO灝戝緱澶氾紝鐒惰岋紝鐢變簬涓存椂琛ㄥ繀欏諱駭鐢熷寘鍚暟鎹殑UNDO淇℃伅錛屾墍浠ヤ細浜х敓涓瀹氭暟閲忕殑REDO鏃ュ織銆?/span>

涓存椂琛ㄥ皢浠庣敤鎴蜂復鏃惰〃絀洪棿涓垎閰嶇┖闂達紝鎴栬呭鏋滀粠鏈夊畾涔夋潈鐨勭▼搴忎腑璁塊棶錛屽皢浣跨敤紼嬪簭鎵鏈夎呯殑涓存椂琛ㄧ┖闂淬傚叏灞涓存椂琛ㄥ疄闄呬笂鍙槸琛ㄦ湰韜殑妯℃澘銆傚垱寤轟復鏃惰〃鐨勮涓轟笉鍖呮嫭瀛樺偍絀洪棿鐨勫垎閰嶏紝涔熶笉鍖呮嫭INITIAL鐨勫垎閰嶃傚洜姝わ紝鍦ㄨ繍琛屾椂褰撲竴涓細璇濋鍏堝皢鏁版嵁鏀懼埌涓存椂琛ㄤ腑鏃訛紝榪欐椂灝嗗垱寤鴻繖涓細璇濈殑涓存椂孌點傜敱浜庢瘡涓細璇濊幏鍙栬嚜宸辯殑涓存椂孌碉紝姣忎釜鐢ㄦ埛鍙兘鍦ㄤ笉鍚岀殑琛ㄧ┖闂翠腑涓轟復鏃惰〃鍒嗛厤絀洪棿銆?span twffan="done">USER1鐨?span twffan="done">default涓存椂琛ㄧ┖闂翠負TEMP1錛屼粬鐨勪復鏃惰〃灝嗕粠TEMP1涓垎閰嶇┖闂達紝USER2鐨?span twffan="done">default涓存椂琛ㄧ┖闂翠負TEMP2錛屼粬鐨勪復鏃惰〃灝嗕粠TEMP2涓垎閰嶇┖闂淬?/font>

涓存椂琛ㄥ湪姣忎釜鏁版嵁搴撲腑鍙渶鍒涘緩涓嬈★紝涓嶅繀鍦ㄦ瘡涓瓨鍌ㄨ繃紼嬩腑鍒涘緩銆備復鏃惰〃鎬繪槸瀛樺湪鐨勶紝闄ら潪鎵嬪姩鐨勫垹闄や粬銆備復鏃惰〃浣滀負瀵硅薄瀛樺湪鏁版嵁瀛楀吀涓紝騫朵笖鎬繪槸淇濇寔涓虹┖錛岀洿鍒版湁浼氳瘽鍦ㄥ叾涓斁鍏ユ暟鎹?span twffan="done">Oracle鍏佽鍒涘緩鍩轟簬涓存椂琛ㄧ殑瑙嗗浘鍜屽瓨鍌ㄨ繃紼嬨?/font>

涓存椂琛ㄥ彲浠ユ槸浠ヤ細璇濅負鍩虹鐨勶紝涔熷彲浠ユ槸浠ヤ簨鍔′負鍩虹鐨勩?span twffan="done">ON COMMIT PRESERVE ROWS瀛愬彞浣夸復鏃惰〃鎴愪負鍩轟簬浼氳瘽鐨勬ā寮忋傝灝嗙暀鍦ㄦ琛ㄤ腑錛岀洿鍒頒細璇濇柇寮鎴栭氳繃DELETE鎴?span twffan="done">TRUNCATE浠庣墿鐞嗕笂鍒犻櫎榪欎簺琛屻?span twffan="done">ON COMMIT DELETE ROWS瀛愬彞浣夸復鏃惰〃鎴愪負鍩轟簬浜嬪姟鐨勬ā寮忋傚綋浼氳瘽鎻愪氦鍚庯紝琛屾秷澶便傝繖涓復鏃惰〃鐨勮嚜鍔ㄦ竻闄よ繃紼嬩笉浼氭湁棰濆鐨勫紑閿銆?/font>

鍦?span twffan="done">oracle涓紝搴旂敤紼嬪簭闇瑕佺殑涓存椂琛ㄥ簲璇ュ湪紼嬪簭瀹夎鏃跺垱寤猴紝鑰屼笉鏄湪紼嬪簭榪愯鏃跺垱寤恒傦紙榪欐槸涓?span twffan="done">ms sqlserver鎴?span twffan="done">sybase鐨勪嬌鐢ㄧ殑涓嶅悓錛?/font>

鍦ㄤ換浣曟暟鎹簱涓紝涓存椂琛ㄧ殑涓涓己鐐規槸錛氫簨瀹炰笂浼樺寲鍣ㄥ湪涓存椂琛ㄤ腑娌℃湁鐪熸鐨勭粺璁″姛鑳姐傜劧鑰岋紝鍦?span twffan="done">oracle涓紝涓緋誨垪杈冨ソ鐨勭粺璁$寽嫻嬪彲浠ラ氳繃DBMS_STATS鍖呭湪涓存椂琛ㄤ腑璁劇疆銆?/font>

 

DB2

鍙嬌鐢?/span> DECLARE GLOBAL TEMPORARY TABLE 璇彞鏉ュ畾涔変復鏃惰〃銆?/span>DB2鐨勪復鏃惰〃鏄熀浜庝細璇濈殑錛屼笖鍦ㄤ細璇濅箣闂存槸闅旂鐨勩傚綋浼氳瘽緇撴潫鏃訛紝涓存椂琛ㄧ殑鏁版嵁琚垹闄わ紝涓存椂琛ㄨ闅愬紡鍗鎬笅銆傚涓存椂琛ㄧ殑瀹氫箟涓嶄細鍦?/span>SYSCAT.TABLES涓嚭鐜?/span>

涓嬮潰鏄畾涔変復鏃惰〃鐨勪竴涓ず渚嬶細

   DECLARE GLOBAL TEMPORARY TABLE gbl_temp
      LIKE empltabl
      ON COMMIT DELETE ROWS
      NOT LOGGED
      IN usr_tbsp

姝よ鍙ュ垱寤轟竴涓悕涓?/span> gbl_temp 鐨勭敤鎴蜂復鏃惰〃銆傚畾涔夋鐢ㄦ埛涓存椂琛?/span> 鎵浣跨敤鐨勫垪鐨勫悕縐板拰璇存槑涓?/span> empltabl 鐨勫垪鐨勫悕縐板拰璇存槑瀹屽叏鐩稿悓銆傞殣寮忓畾涔?/span> 鍙寘鎷垪鍚嶃佹暟鎹被鍨嬨佸彲涓虹┖鐗規у拰鍒楃己鐪佸煎睘鎬с傛湭瀹氫箟鎵鏈夊叾浠栧垪灞炴э紝鍖呮嫭鍞竴綰︽潫銆佸閮ㄥ叧閿瓧綰︽潫銆佽Е鍙戝櫒鍜岀儲寮曘傛墽琛?/span> COMMIT 鎿嶄綔鏃訛紝 鑻ユ湭瀵硅琛ㄦ墦寮 WITH HOLD 娓告爣錛屽垯璇ヨ〃涓殑鎵鏈夋暟鎹兘琚垹闄ゃ備笉璁板綍 瀵圭敤鎴蜂復鏃惰〃鎵浣滅殑鏇存敼銆傜敤鎴蜂復鏃惰〃琚斁鍦ㄦ寚瀹氱殑鐢ㄦ埛涓存椂琛ㄧ┖闂翠腑銆傛琛ㄧ┖闂村繀欏誨瓨鍦紝鍚﹀垯姝よ〃鐨勫0鏄庡皢澶辮觸銆?/span>

鎴峰畾涔変復鏃惰〃涓嶆敮鎸侊細

  • LOB 綾誨瀷鐨勫垪錛堟垨鍩轟簬 LOB 鐨勫崟鍊肩被鍨嬪垪錛?/span>
  • 鐢ㄦ埛瀹氫箟綾誨瀷鍒?/span>
  • LONG VARCHAR 鍒?/span>


]]>
ORACLE涔嬪父鐢‵AQ V1.0 (4) 絎洓閮ㄥ垎銆佹ц兘璋冩暣http://www.shnenglu.com/ivenher/articles/13153.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Fri, 29 Sep 2006 09:26:00 GMThttp://www.shnenglu.com/ivenher/articles/13153.htmlhttp://www.shnenglu.com/ivenher/comments/13153.htmlhttp://www.shnenglu.com/ivenher/articles/13153.html#Feedback0http://www.shnenglu.com/ivenher/comments/commentRss/13153.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/13153.html 絎洓閮ㄥ垎銆佹ц兘璋冩暣
[Q]濡傛灉璁劇疆鑷姩璺熻釜
[A]鐢╯ystem鐧誨綍
鎵ц$ORACLE_HOME/rdbms/admin/utlxplan.sql鍒涘緩璁″垝琛?br />鎵ц$ORACLE_HOME/sqlplus/admin/plustrce.sql鍒涘緩plustrace瑙掕壊
濡傛灉鎯寵鍒掕〃璁╂瘡涓敤鎴烽兘鑳戒嬌鐢紝鍒?br />SQL>create public synonym plan_table for plan_table;
SQL> grant all on plan_table to public;
濡傛灉鎯寵鑷姩璺熻釜鐨勮鑹茶姣忎釜鐢ㄦ埛閮借兘浣跨敤錛屽垯
SQL> grant plustrace to public;
閫氳繃濡備笅璇彞寮鍚?鍋滄璺熻釜
SET AUTOTRACE ON |OFF
| ON EXPLAIN | ON STATISTICS | TRACEONLY | TRACEONLY EXPLAIN
[Q]濡傛灉璺熻釜鑷繁鐨勪細璇濇垨鑰呮槸鍒漢鐨勪細璇?/font>
[A]璺熻釜鑷繁鐨勪細璇濆緢綆鍗?br />Alter session set sql_trace true|false
Or
Exec dbms_session.set_sql_trace(TRUE);
濡傛灉璺熻釜鍒漢鐨勪細璇濓紝闇瑕佽皟鐢ㄤ竴涓寘
exec dbms_system.set_sql_trace_in_session(sid,serial#,true|false)
璺熻釜鐨勪俊鎭湪user_dump_dest 鐩綍涓嬪彲浠ユ壘鍒版垨閫氳繃濡備笅鑴氭湰鑾峰緱鏂囦歡鍚嶇О錛堥傜敤浜嶹in鐜錛屽鏋滄槸unix闇瑕佸仛涓瀹氫慨鏀癸級
SELECT p1.value||'\'||p2.value||'_ora_'||p.spid||'.ora' filename
FROM
v$process p,
v$session s,
v$parameter p1,
v$parameter p2
WHERE p1.name = 'user_dump_dest'
AND p2.name = 'db_name'
AND p.addr = s.paddr
AND s.audsid = USERENV ('SESSIONID')
鏈鍚庯紝鍙互閫氳繃Tkprof鏉ヨВ鏋愯窡韙枃浠訛紝濡?br />Tkprof 鍘熸枃浠?鐩爣鏂囦歡 sys=n
[Q]鎬庝箞璁劇疆鏁翠釜鏁版嵁搴撶郴緇熻窡韙?/font>
[A]鍏跺疄鏂囨。涓婄殑alter system set sql_trace=true鏄笉鎴愬姛鐨?br />浣嗘槸鍙互閫氳繃璁劇疆浜嬩歡鏉ュ畬鎴愯繖涓伐浣滐紝浣滅敤鐩哥瓑
alter system set events
'10046 trace name context forever,level 1';
濡傛灉鍏抽棴璺熻釜錛屽彲浠ョ敤濡備笅璇彞
alter system set events
'10046 trace name context off';
鍏朵腑鐨刲evel 1涓庝笂闈㈢殑8閮芥槸璺熻釜綰у埆
level 1錛氳窡韙猄QL璇彞錛岀瓑浜巗ql_trace=true
level 4錛氬寘鎷彉閲忕殑璇︾粏淇℃伅
level 8錛氬寘鎷瓑寰呬簨浠?br />level 12錛氬寘鎷粦瀹氬彉閲忎笌絳夊緟浜嬩歡
[Q]鎬庝箞鏍鋒牴鎹甇S榪涚▼蹇熻幏寰桪B榪涚▼淇℃伅涓庢鍦ㄦ墽琛岀殑璇彞
[A]鏈変簺鏃跺欙紝鎴戜滑鍦∣S涓婃搷浣滐紝璞OP涔嬪悗鎴戜滑寰楀埌鐨凮S榪涚▼錛屾庝箞蹇熸牴鎹甇S淇℃伅鑾峰緱DB淇℃伅鍛紵
鎴戜滑鍙互緙栧啓濡備笅鑴氭湰錛?br />$more whoit.sh
#!/bin/sh
sqlplus /nolog 100,cascade=> TRUE);
dbms_stats.gather_table_stats(User,TableName,degree => 4,cascade => true);
榪欐槸瀵瑰懡浠や笌宸ュ叿鍖呯殑涓浜涙葷粨
1銆佸浜庡垎鍖鴻〃錛屽緩璁嬌鐢―BMS_STATS錛岃屼笉鏄嬌鐢ˋnalyze璇彞銆?
a) 鍙互騫惰榪涜錛屽澶氫釜鐢ㄦ埛錛屽涓猅able
b) 鍙互寰楀埌鏁翠釜鍒嗗尯琛ㄧ殑鏁版嵁鍜屽崟涓垎鍖虹殑鏁版嵁銆?
c) 鍙互鍦ㄤ笉鍚岀駭鍒笂Compute Statistics錛氬崟涓垎鍖猴紝瀛愬垎鍖猴紝鍏ㄨ〃錛屾墍鏈夊垎鍖?
d) 鍙互鍊掑嚭緇熻淇℃伅
e) 鍙互鐢ㄦ埛鑷姩鏀墮泦緇熻淇℃伅
2銆丏BMS_STATS鐨勭己鐐?
a) 涓嶈兘Validate Structure
b) 涓嶈兘鏀墮泦CHAINED ROWS, 涓嶈兘鏀墮泦CLUSTER TABLE鐨勪俊鎭紝榪欎袱涓粛鏃ч渶瑕佷嬌鐢ˋnalyze璇彞銆?
c) DBMS_STATS 榛樿涓嶅绱㈠紩榪涜Analyze錛屽洜涓洪粯璁ascade鏄疐alse錛岄渶瑕佹墜宸ユ寚瀹氫負True
3銆佸浜巓racle 9閲岄潰鐨凟xternal Table錛孉nalyze涓嶈兘浣跨敤錛屽彧鑳戒嬌鐢―BMS_STATS鏉ユ敹闆嗕俊鎭?br />[Q]鎬庝箞鏍峰揩閫熼噸鏁寸儲寮?/font>
[A]閫氳繃rebuild璇彞錛屽彲浠ュ揩閫熼噸鏁存垨縐誨姩绱㈠紩鍒板埆鐨勮〃絀洪棿
rebuild鏈夐噸寤烘暣涓儲寮曟暟鐨勫姛鑳斤紝鍙互鍦ㄤ笉鍒犻櫎鍘熷绱㈠紩鐨勬儏鍐典笅鏀瑰彉绱㈠紩鐨勫瓨鍌ㄥ弬鏁?br />璇硶涓?br />alter index index_name rebuild tablespace ts_name
storage(鈥︹?;
濡傛灉瑕佸揩閫熼噸寤烘暣涓敤鎴蜂笅鐨勭儲寮曪紝鍙互鐢ㄥ涓嬭剼鏈紝褰撶劧錛岄渶瑕佹牴鎹綘鑷繁鐨勬儏鍐靛仛鐩稿簲淇敼
SQL> set heading off
SQL> set feedback off
SQL> spool d:\index.sql
SQL> SELECT 'alter index ' || index_name || ' rebuild '
||'tablespace INDEXES storage(initial 256K next 256K pctincrease 0);'
FROM all_indexes
WHERE ( tablespace_name != 'INDEXES'
OR next_extent != ( 256 * 1024 )
)
AND owner = USER
SQL>spool off
鍙﹀涓涓悎騫剁儲寮曠殑璇彞鏄?br />alter index index_name coalesce錛岃繖涓鍙ヤ粎浠呮槸鍚堝茍绱㈠紩涓悓涓綰х殑leaf block
娑堣椾笉澶э紝瀵逛簬鏈変簺绱㈠紩涓瓨鍦ㄥぇ閲忕┖闂存氮璐圭殑鎯呭喌涓嬶紝鏈変竴浜涗綔鐢ㄣ?br />[Q]濡備綍浣跨敤Hint鎻愮ず
[A] 鍦╯elect/delete/update鍚庡啓/*+ hint */
濡?select /*+ index(TABLE_NAME INDEX_NAME) */ col1...
娉ㄦ剰/*鍜?涔嬮棿涓嶈兘鏈夌┖鏍?br />濡傜敤hint鎸囧畾浣跨敤鏌愪釜绱㈠紩
select /*+ index(cbotab) */ col1 from cbotab;
select /*+ index(cbotab cbotab1) */ col1 from cbotab;
select /*+ index(a cbotab1) */ col1 from cbotab a;
鍏朵腑
TABLE_NAME鏄繀欏昏鍐欑殑錛屼笖濡傛灉鍦ㄦ煡璇腑浣跨敤浜嗚〃鐨勫埆鍚嶏紝鍦╤int涔熻鐢ㄨ〃鐨勫埆鍚嶆潵浠f浛琛ㄥ悕;
INDEX_NAME鍙互涓嶅繀鍐欙紝Oracle浼氭牴鎹粺璁″奸変竴涓儲寮?
濡傛灉绱㈠紩鍚嶆垨琛ㄥ悕鍐欓敊浜嗭紝閭h繖涓猦int灝變細琚拷鐣?
[Q]鎬庝箞鏍峰揩閫熷鍒惰〃鎴栬呮槸鎻掑叆鏁版嵁
[A]蹇熷鍒惰〃鍙互鎸囧畾Nologging閫夐」
濡傦細Create table t1 nologging
as select * from t2;
蹇熸彃鍏ユ暟鎹彲浠ユ寚瀹歛ppend鎻愮ず錛屼絾鏄渶瑕佹敞鎰?br />noarchivelog妯″紡涓嬶紝榛樿鐢ㄤ簡append灝辨槸nologging妯″紡鐨勩?
鍦╝rchivelog涓嬶紝闇瑕佹妸琛ㄨ緗▼Nologging妯″紡銆?br />濡俰nsert /*+ append */ into t1
select * from t2
娉ㄦ剰錛氬鏋滃湪9i鐜涓茍璁劇疆浜咶ORCE LOGGING錛屽垯浠ヤ笂鎿嶄綔鏄棤鏁堢殑錛屽茍涓嶄細鍔犲揩錛屽綋鐒訛紝鍙互閫氳繃濡備笅璇彞璁劇疆涓篘O FORCE LOGGING銆?br />Alter database no force logging;
鏄惁寮鍚簡FORCE LOGGING錛屽彲浠ョ敤濡備笅璇彞鏌ョ湅
SQL> select force_logging from v$database;
[Q]鎬庝箞閬垮厤浣跨敤鐗瑰畾绱㈠紩
[A]鍦ㄥ緢澶氭椂鍊欙紝Oracle浼氶敊璇殑浣跨敤绱㈠紩鑰屽鑷存晥鐜囩殑鏄庢樉涓嬮檷錛屾垜浠彲浠ヤ嬌鐢ㄤ竴鐐圭偣鎶宸ц岄伩鍏嶄嬌鐢ㄤ笉璇ヤ嬌鐢ㄧ殑绱㈠紩錛屽錛?br />琛╰est,鏈夊瓧孌礱,b,c,d錛屽湪a,b,c涓婂緩绔嬭仈鍚堢儲寮昳nx_a(a,b,c)錛屽湪b涓婂崟鐙緩绔嬩簡涓涓儲寮旾nx_b(b)銆?br />鍦ㄦ甯告儏鍐典笅錛寃here a=? and b=? and c=?浼氱敤鍒扮儲寮昳nx_a錛?br />where b=?浼氱敤鍒扮儲寮昳nx_b
浣嗘槸錛寃here a=? and b=? and c=? group by b浼氱敤鍒板摢涓儲寮曞憿錛熷湪鍒嗘瀽鏁版嵁涓嶆紜紙寰堥暱鏃墮棿娌℃湁鍒嗘瀽錛夋垨鏍規湰娌℃湁鍒嗘瀽鏁版嵁鐨勬儏鍐典笅錛宱racle寰寰浼氫嬌鐢ㄧ儲寮昳nx_b銆傞氳繃鎵ц璁″垝鐨勫垎鏋愶紝榪欎釜绱㈠紩鐨勪嬌鐢紝灝嗗ぇ澶ц楄垂鏌ヨ鏃墮棿銆?br />褰撶劧錛屾垜浠彲浠ラ氳繃濡備笅鐨勬妧宸ч伩鍏嶄嬌鐢╥nx_b錛岃屼嬌鐢╥nx_a銆?br />where a=? and b=? and c=? group by b||'' --濡傛灉b鏄瓧絎?br />where a=? and b=? and c=? group by b+0 --濡傛灉b鏄暟瀛?br />閫氳繃榪欐牱綆鍗曠殑鏀瑰彉錛屽線寰鍙互鏄煡璇㈡椂闂存彁浜ゅ緢澶氬?br />褰撶劧錛屾垜浠篃鍙互浣跨敤no_index鎻愮ず錛岀浉淇″緢澶氫漢娌℃湁鐢ㄨ繃錛屼篃鏄竴涓笉閿欑殑鏂規硶錛?br />select /*+ no_index(t,inx_b) */ * from test t
where a=? and b=? and c=? group by b
[Q]Oracle浠涔堟椂鍊欎細浣跨敤璺寵穬寮忕儲寮曟壂鎻?/font>
[A]榪欐槸9i鐨勪竴涓柊鐗規ц煩璺冨紡绱㈠紩鎵弿(Index Skip Scan).
渚嬪琛ㄦ湁绱㈠紩index(a,b,c)錛屽綋鏌ヨ鏉′歡涓?br />where b=?鐨勬椂鍊欙紝鍙兘浼氫嬌鐢ㄥ埌绱㈠紩index(a,b,c)
濡傦紝鎵ц璁″垝涓嚭鐜板涓嬭鍒掞細
INDEX (SKIP SCAN) OF 'TEST_IDX' (NON-UNIQUE)
Oracle鐨勪紭鍖栧櫒(榪欓噷鎸囩殑鏄疌BO)鑳藉鏌ヨ搴旂敤Index Skip Scans鑷沖皯瑕佹湁鍑犱釜鏉′歡:
1 浼樺寲鍣ㄨ涓烘槸鍚堥傜殑銆?br />2 绱㈠紩涓殑鍓嶅鍒楃殑鍞竴鍊肩殑鏁伴噺鑳芥弧瓚充竴瀹氱殑鏉′歡錛堝閲嶅鍊煎緢澶氾級銆?br />3 浼樺寲鍣ㄨ鐭ラ亾鍓嶅鍒楃殑鍊煎垎甯?閫氳繃鍒嗘瀽/緇熻琛ㄥ緱鍒?銆?br />4 鍚堥傜殑SQL璇彞
絳夈?br />[Q]鎬庝箞鏍峰垱寤轟嬌鐢ㄨ櫄鎷熺儲寮?/font>
[A]鍙互浣跨敤nosegment閫夐」錛屽
create index virtual_index_name on table_name(col_name) nosegment;
濡傛灉鍦ㄥ摢涓猻ession闇瑕佹祴璇曡櫄鎷熺儲寮曪紝鍙互鍒╃敤闅愬惈鍙傛暟鏉ュ鐞?br />alter session set "_use_nosegment_indexes" = true;
灝卞彲浠ュ埄鐢╡xplain plan for select 鈥︹︽潵鐪嬭櫄鎷熺儲寮曠殑鏁堟灉
鍒╃敤@$ORACLE_HOME/rdbms/admin/utlxpls鏌ョ湅鎵ц璁″垝
鏈鍚庯紝鏍規嵁闇瑕侊紝鎴戜滑鍙互鍒犻櫎铏氭嫙绱㈠紩錛屽鏅氱儲寮曚竴鏍?br />drop index virtual_index_name;
娉ㄦ剰錛氳櫄鎷熺儲寮曞茍涓嶆槸鐗╃悊瀛樺湪鐨勶紝鎵浠ヨ櫄鎷熺儲寮曞茍涓嶇瓑鍚屼簬鐗╃悊绱㈠紩錛屼笉瑕佺敤鑷姩璺熻釜鍘繪祴璇曡櫄鎷熺儲寮曪紝鍥犱負閭f槸瀹為檯鎵ц鐨勬晥鏋滐紝鏄敤涓嶅埌铏氭嫙绱㈠紩鐨勩?br />[Q]鎬庢牱鐩戞帶鏃犵敤鐨勭儲寮?/font>
[A]Oracle 9i浠ヤ笂錛屽彲浠ョ洃鎺х儲寮曠殑浣跨敤鎯呭喌錛屽鏋滀竴孌墊椂闂村唴娌℃湁浣跨敤鐨勭儲寮曪紝涓鑸氨鏄棤鐢ㄧ殑绱㈠紩
璇硶涓猴細
寮濮嬬洃鎺э細alter index index_name monitoring usage;
媯鏌ヤ嬌鐢ㄧ姸鎬侊細select * from v$object_usage;
鍋滄鐩戞帶錛歛lter index index_name nomonitoring usage;
褰撶劧錛屽鏋滄兂鐩戞帶鏁翠釜鐢ㄦ埛涓嬬殑绱㈠紩錛屽彲浠ラ噰鐢ㄥ涓嬬殑鑴氭湰錛?br />set heading off
set echo off
set feedback off
set pages 10000
spool start_index_monitor.sql
SELECT 'alter index '||owner||'.'||index_name||' monitoring usage;'
FROM dba_indexes
WHERE owner = USER;
spool off
set heading on
set echo on
set feedback on
------------------------------------------------
set heading off
set echo off
set feedback off
set pages 10000
spool stop_index_monitor.sql
SELECT 'alter index '||owner||'.'||index_name||' nomonitoring usage;'
FROM dba_indexes
WHERE owner = USER;
spool off
set heading on
set echo on
set feedback on
[Q]鎬庝箞鏍瘋兘鍥哄畾鎴戠殑鎵ц璁″垝
[A]鍙互浣跨敤OUTLINE鏉ュ浐瀹歋QL璇彞鐨勬墽琛岃鍒?br />鐢ㄥ涓嬭鍙ュ彲浠ュ垱寤轟竴涓狾UTLINE
Create oe replace outline OutLn_Name on
Select Col1,Col2 from Table
where 鈥︹?br />濡傛灉瑕佸垹闄utline錛屽彲浠ラ噰鐢?br />Drop Outline OutLn_Name;
瀵逛簬宸茬粡鍒涘緩浜嗙殑OutLine錛屽瓨鏀懼湪OUTLN鐢ㄦ埛鐨凮L$HINTS琛ㄤ笅闈?br />瀵逛簬鏈変簺璇彞錛屼綘鍙互浣跨敤update outln.ol$hints鏉ユ洿鏂皁utline
濡倁pdate outln.ol$hints(ol_name,'TEST1','TEST2','TEST2','TEST1)
where ol_name in ('TEST1','TEST2');
榪欐牱錛屼綘灝辨妸Test1 OUTLINE涓嶵est2 OUTLINE浜掓崲浜?br />濡傛灉鎯沖埄鐢ㄥ凡緇忓瓨鍦ㄧ殑OUTLINE錛岄渶瑕佽緗互涓嬪弬鏁?br />Alter system/session set Query_rewrite_enabled = true
Alter system/session set use_stored_outlines = true
[Q]v$sysstat涓殑class鍒嗗埆浠h〃浠涔?/font>
[A]緇熻綾誨埆
1 浠h〃浜嬩緥媧誨姩
2 浠h〃Redo buffer媧誨姩
4 浠h〃閿?br />8 浠h〃鏁版嵁緙撳啿媧誨姩
16 浠h〃OS媧誨姩
32 浠h〃騫惰媧誨姩
64 浠h〃琛ㄨ闂?br />128 浠h〃璋冭瘯淇℃伅
[Q]鎬庝箞鏉鎺夌壒瀹氱殑鏁版嵁搴撲細璇?/font>
[A] Alter system kill session 'sid,serial#';
鎴栬?br />alter system disconnect session 'sid,serial#' immediate;
鍦╳in涓婏紝榪樺彲浠ラ噰鐢╫racle鎻愪緵鐨刼rakill鏉鎺変竴涓嚎紼嬶紙鍏跺疄灝辨槸涓涓狾racle榪涚▼錛?br />鍦↙inux/Unix涓婏紝鍙互鐩存帴鍒╃敤kill鏉鎺夋暟鎹簱榪涚▼瀵瑰簲鐨凮S榪涚▼
[Q]鎬庝箞蹇熸煡鎵鵑攣涓庨攣絳夊緟
[A]鏁版嵁搴撶殑閿佹槸姣旇緝鑰楄垂璧勬簮鐨勶紝鐗瑰埆鏄彂鐢熼攣絳夊緟鐨勬椂鍊欙紝鎴戜滑蹇呴』鎵懼埌鍙戠敓絳夊緟鐨勯攣錛屾湁鍙兘鐨勮瘽錛屾潃鎺夎榪涚▼銆?br />榪欎釜璇彞灝嗘煡鎵懼埌鏁版嵁搴撲腑鎵鏈夌殑DML璇彞浜х敓鐨勯攣錛岃繕鍙互鍙戠幇錛屼換浣旸ML璇彞鍏跺疄浜х敓浜嗕袱涓攣錛屼竴涓槸琛ㄩ攣錛屼竴涓槸琛岄攣銆?br />鍙互閫氳繃alter system kill session 鈥榮id,serial#鈥欐潵鏉鎺変細璇?br />SELECT /*+ rule */ s.username,
decode(l.type,'TM','TABLE LOCK',
'TX','ROW LOCK',
NULL) LOCK_LEVEL,
o.owner,o.object_name,o.object_type,
s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
FROM v$session s,v$lock l,dba_objects o
WHERE l.sid = s.sid
AND l.id1 = o.object_id(+)
AND s.username is NOT NULL
濡傛灉鍙戠敓浜嗛攣絳夊緟錛屾垜浠彲鑳芥洿鎯崇煡閬撴槸璋侀攣浜嗚〃鑰屽紩璧瘋皝鐨勭瓑寰?br />浠ヤ笅鐨勮鍙ュ彲浠ユ煡璇㈠埌璋侀攣浜嗚〃錛岃岃皝鍦ㄧ瓑寰呫?br />SELECT /*+ rule */ lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username User_name,
o.owner,o.object_name,o.object_type,s.sid,s.serial#
FROM v$locked_object l,dba_objects o,v$session s
WHERE l.object_id=o.object_id
AND l.session_id=s.sid
ORDER BY o.object_id,xidusn DESC
浠ヤ笂鏌ヨ緇撴灉鏄竴涓爲鐘剁粨鏋勶紝濡傛灉鏈夊瓙鑺傜偣錛屽垯琛ㄧず鏈夌瓑寰呭彂鐢熴傚鏋滄兂鐭ラ亾閿佺敤浜嗗摢涓洖婊氭錛岃繕鍙互鍏寵仈鍒癡$rollname錛屽叾涓瓁idusn灝辨槸鍥炴粴孌電殑USN
[Q] 濡備綍鏈夋晥鐨勫垹闄や竴涓ぇ琛?extent鏁板緢澶氱殑琛?
[A] 涓涓湁寰堝(100k)extent鐨勮〃錛屽鏋滃彧鏄畝鍗曞湴鐢╠rop table鐨勮瘽錛屼細寰堝ぇ閲忔秷鑰桟PU錛圤racle瑕佸fet$銆乽et$鏁版嵁瀛楀吀榪涜鎿嶄綔錛夛紝鍙兘浼氱敤涓婂嚑澶╃殑鏃墮棿錛岃緝濂界殑鏂規硶鏄垎澶氭鍒犻櫎extent錛屼互鍑忚交榪欑娑堣楋細
1. truncate table big-table reuse storage;
2. alter table big-table deallocate unused keep 2000m ( 鍘熸潵澶у皬鐨刵-1/n);
3. alter table big-table deallocate unused keep 1500m ;
....
4. drop table big-table;
[Q]濡備綍鏀剁緝涓存椂鏁版嵁鏂囦歡鐨勫ぇ灝?/font>
[A]9i浠ヤ笅鐗堟湰閲囩敤
ALTER DATABASE DATAFILE 'file name' RESIZE 100M綾諱技鐨勮鍙?br />9i浠ヤ笂鐗堟湰閲囩敤
ALTER DATABASE TEMPFILE 'file name' RESIZE 100M
娉ㄦ剰錛屼復鏃舵暟鎹枃浠跺湪浣跨敤鏃訛紝涓鑸笉鑳芥敹緙╋紝闄ら潪鍏抽棴鏁版嵁搴撴垨鏂紑鎵鏈変細璇濓紝鍋滄瀵逛復鏃舵暟鎹枃浠剁殑浣跨敤銆?br />[Q]鎬庝箞娓呯悊涓存椂孌?/font>
[A]鍙互浣跨敤濡備笅鍔炴硶
1銆?浣跨敤濡備笅璇彞鏌ョ湅涓涓嬭璋佸湪鐢ㄤ復鏃舵
SELECT username,sid,serial#,sql_address,machine,program,
tablespace,segtype, contents
FROM v$session se,v$sort_usage su
WHERE se.saddr=su.session_addr
2銆?閭d簺姝e湪浣跨敤涓存椂孌電殑榪涚▼
SQL>Alter system kill session 'sid,serial#';
3銆佹妸TEMP琛ㄧ┖闂村洖緙╀竴涓?br />SQL>Alter tablespace TEMP coalesce;
榪樺彲浠ヤ嬌鐢ㄨ瘖鏂簨浠?br />1銆?紜畾TEMP琛ㄧ┖闂寸殑ts#
SQL> select ts#, name FROM v$tablespace;
TS# NAME
-----------------------
0 SYSYEM
1 RBS
2 USERS
3* TEMP
鈥︹?br />2銆?鎵ц娓呯悊鎿嶄綔
alter session set events 'immediate trace name DROP_SEGMENTS level TS#+1'
璇存槑錛?
temp琛ㄧ┖闂寸殑TS# 涓?3*, So TS#+ 1= 4
濡傛灉鎯蟲竻闄ゆ墍鏈夎〃絀洪棿鐨勪復鏃舵錛屽垯
TS# = 2147483647
[Q]鎬庝箞鏍穌ump鏁版嵁搴撳唴閮ㄧ粨鏋勶紝濡備笂闈㈡樉紺虹殑鎺у埗鏂囦歡鐨勭粨鏋?/font>
[A]甯歌鐨勬湁
1銆佸垎鏋愭暟鎹枃浠跺潡錛岃漿鍌ㄦ暟鎹枃浠秐鐨勫潡m
alter system dump datafile n block m
2銆佸垎鏋愭棩蹇楁枃浠?br />alter system dump logfile logfilename;
3銆佸垎鏋愭帶鍒舵枃浠剁殑鍐呭
alter session set events 'immediate trace name CONTROLF level 10'
4銆佸垎鏋愭墍鏈夋暟鎹枃浠跺ご
alter session set events 'immediate trace name FILE_HDRS level 10'
5銆佸垎鏋愭棩蹇楁枃浠跺ご
alter session set events 'immediate trace name REDOHDR level 10'
6銆佸垎鏋愮郴緇熺姸鎬侊紝鏈濂芥瘡10鍒嗛挓涓嬈★紝鍋氫笁嬈″姣?br />alter session set events 'immediate trace name SYSTEMSTATE level 10'
7銆佸垎鏋愯繘紼嬬姸鎬?br />alter session set events 'immediate trace name PROCESSSTATE level 10'
8銆佸垎鏋怢ibrary Cache鐨勮緇嗘儏鍐?br />alter session set events 'immediate trace name library_cache level 10'
[Q]濡備綍鑾峰緱鎵鏈夌殑浜嬩歡浠g爜
[A] 浜嬩歡浠g爜鑼冨洿涓鑸粠10000 to 10999錛屼互涓嬪垪鍑轟簡榪欎釜鑼冨洿鐨勪簨浠朵唬鐮佷笌淇℃伅
SET SERVEROUTPUT ON
DECLARE
err_msg VARCHAR2(120);
BEGIN
dbms_output.enable (1000000);
FOR err_num IN 10000..10999
LOOP
err_msg := SQLERRM (-err_num);
IF err_msg NOT LIKE '%Message '||err_num||' not found%' THEN
dbms_output.put_line (err_msg);
END IF;
END LOOP;
END;
/
鍦║nix緋葷粺涓婏紝浜嬩歡淇℃伅鏀懼湪涓涓枃鏈枃浠墮噷
$ORACLE_HOME/rdbms/mesg/oraus.msg
鍙互鐢ㄥ涓嬭剼鏈煡鐪嬩簨浠朵俊鎭?
event=10000
while [ $event -ne 10999 ]
do
event=`expr $event + 1`
oerr ora $event
done
瀵逛簬宸茬粡紜繚鐨?姝e湪璺熻釜鐨勪簨浠訛紝鍙互鐢ㄥ涓嬭剼鏈幏寰?br />SET SERVEROUTPUT ON
DECLARE
l_level NUMBER;
BEGIN
FOR l_event IN 10000..10999
LOOP
dbms_system.read_ev (l_event,l_level);
IF l_level > 0 THEN
dbms_output.put_line ('Event '||TO_CHAR (l_event)||
' is set at level '||TO_CHAR (l_level));
END IF;
END LOOP;
END;
/
[Q]浠涔堟槸STATSPACK錛屾垜鎬庝箞浣跨敤瀹冿紵
[A]Statspack鏄疧racle 8i浠ヤ笂鎻愪緵鐨勪竴涓潪甯稿ソ鐨勬ц兘鐩戞帶涓庤瘖鏂伐鍏鳳紝鍩烘湰涓婂叏閮ㄥ寘鍚簡BSTAT/ESTAT鐨勫姛鑳斤紝鏇村鐨勪俊鎭?br />鍙互鍙傝冮檮甯︽枃妗?ORACLE_HOME/rdbms/admin/spdoc.txt銆?
瀹夎Statspack:
cd $ORACLE_HOME/rdbms/admin
sqlplus "/ as sysdba" @spdrop.sql -- 鍗歌澆錛岀涓嬈″彲浠ヤ笉闇瑕?br />sqlplus "/ as sysdba" @spcreate.sql -- 闇瑕佹牴鎹彁紺鴻緭鍏ヨ〃絀洪棿鍚?br />浣跨敤Statspack:
sqlplus perfstat/perfstat
exec statspack.snap; -- 榪涜淇℃伅鏀墮泦緇熻錛屾瘡嬈¤繍琛岄兘灝嗕駭鐢熶竴涓揩鐓у彿
-- 鑾峰緱蹇収鍙鳳紝蹇呴』瑕佹湁涓や釜浠ヤ笂鐨勫揩鐓э紝鎵嶈兘鐢熸垚鎶ヨ〃
select SNAP_ID, SNAP_TIME from STATS$SNAPSHOT;
@spreport.sql -- 杈撳叆闇瑕佹煡鐪嬬殑寮濮嬪揩鐓у彿涓庣粨鏉熷揩鐓у彿
鍏朵粬鐩稿叧鑴氭湰s:
spauto.sql - 鍒╃敤dbms_job鎻愪氦涓涓綔涓氾紝鑷姩鐨勮繘琛孲TATPACK鐨勪俊鎭敹闆嗙粺璁?
sppurge.sql - 娓呴櫎涓孌佃寖鍥村唴鐨勭粺璁′俊鎭紝闇瑕佹彁渚涘紑濮嬪揩鐓т笌緇撴潫蹇収鍙?br />sptrunc.sql - 娓呴櫎(truncate)鎵鏈夌粺璁′俊鎭?/span>



]]>
ORACLE涔嬪父鐢‵AQ V1.0 (5) 絎簲閮ㄥ垎銆丱RACLE緗戠粶涓庡畨鍏?/title><link>http://www.shnenglu.com/ivenher/articles/13154.html</link><dc:creator>鐖遍キ鐩?/dc:creator><author>鐖遍キ鐩?/author><pubDate>Fri, 29 Sep 2006 09:26:00 GMT</pubDate><guid>http://www.shnenglu.com/ivenher/articles/13154.html</guid><wfw:comment>http://www.shnenglu.com/ivenher/comments/13154.html</wfw:comment><comments>http://www.shnenglu.com/ivenher/articles/13154.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/ivenher/comments/commentRss/13154.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/ivenher/services/trackbacks/13154.html</trackback:ping><description><![CDATA[ <span id="hvzpftn" class="tpc_content" twffan="done"> <b>絎簲閮ㄥ垎銆丱RACLE緗戠粶涓庡畨鍏?/b> <br /> <font color="red">[Q]濡備綍闄愬畾鐗瑰畾IP璁塊棶鏁版嵁搴?/font> <br />[A]鍙互鍒╃敤鐧誨綍瑙﹀彂鍣ㄣ乧mgw鎴栬呮槸鍦?OREACLE_HOME/network/admin涓嬫柊澧炰竴涓猵rotocol.ora鏂囦歡錛堟湁浜沷s鍙兘鏄? protocol.ora錛夛紝9i鍙互鐩存帴淇敼sqlnet.ora錛?br />澧炲姞濡備笅鍐呭錛?br />tcp.validnode_checking=yes<br />#鍏佽璁塊棶鐨刬p<br />tcp.inited_nodes=(ip1,ip2,鈥︹?<br />#涓嶅厑璁歌闂殑ip<br />tcp.excluded_nodes=(ip1,ip2,鈥︹?<br /><font color="red">[Q]濡備綍絀胯繃闃茬伀澧欒繛鎺ユ暟鎹簱</font><br />[A]榪欎釜闂鍙細鍦╓IN騫沖彴鍑虹幇錛孶NIX騫沖彴浼氳嚜鍔ㄨВ鍐熾?br />瑙e喅鏂規硶錛?br />鍦ㄦ湇鍔″櫒绔殑SQLNET.ORA搴旂被浼?br />SQLNET.AUTHENTICATION_SERVICES= (NTS) <br />NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME) <br />TRACE_LEVEL_CLIENT = 16 <br />娉ㄥ唽琛ㄧ殑HOME0鍔燵HKEY_LOCAL_MACHINE] <br />USE_SHARED_SOCKET=TRUE<br /><font color="red">[Q]濡備綍鍒╃敤hostname鏂瑰紡榪炴帴鏁版嵁搴?/font><br />host name鏂瑰紡鍙敮鎸乼cp/ip鍗忚鐨勫皬灞鍩熺綉<br />淇敼listener.ora涓殑濡備笅淇℃伅<br />(SID_DESC =<br />(GLOBAL_DBNAME = ur_hostname) --浣犵殑鏈哄櫒鍚?br />(ORACLE_HOME = E:\oracle\ora92) --oracle home<br />(SID_NAME = orcl) --sid name<br />)<br />鐒跺悗鍦ㄥ鎴風<br />鐨剆qlnet.ora涓紝紜繚鏈?br />NAMES.DIRECTORY_PATH= (HOSTNAME)<br />浣犲氨鍙互鍒╃敤鏁版嵁搴撴湇鍔″櫒鐨勫悕縐拌闂暟鎹簱浜?br /><font color="red">[Q]dbms_repcat_admin鑳藉甫鏉ヤ粈涔堝畨鍏ㄩ殣鎮?/font><br />[A]濡傛灉涓涓敤鎴瘋兘鎵цdbms_repcat_admin鍖咃紝灝嗚幏寰楁瀬澶х殑緋葷粺鏉冮檺銆?br />浠ヤ笅鎯呭喌鍙兘鑾峰緱璇ュ寘鐨勬墽琛屾潈闄愶細<br />1銆佸湪sys涓媑rant execute on dbms_repcat_admin to public[|user_name]<br />2銆佺敤鎴鋒嫢鏈塭xecute any procedure鐗規潈錛堜粎闄愪簬9i浠ヤ笅錛?i蹇呴』鏄劇ず鎺堟潈錛?br />濡傛灉鐢ㄦ埛閫氳繃鎵ц濡備笅璇彞錛?br />exec sys.dbms_repcat_admin.grant_admin_any_schema('user_name');<br />璇ョ敤鎴峰皢鑾峰緱鏋佸ぇ鐨勭郴緇熺壒鏉?br />鍙互浠巙ser_sys_privs涓幏寰楄緇嗕俊鎭?br /><font color="red">[Q]鍦ㄤ笉鐭ラ亾鐢ㄦ埛瀵嗙爜鐨勬椂鍊欙紝鎬庝箞鏍瘋煩杞埌鍙﹀涓涓敤鎴鋒墽琛屾搷浣滃悗騫朵笉褰卞搷璇ョ敤鎴?</font><br />[A]鎴戜滑閫氳繃濡備笅鐨勬柟娉曪紝鍙互瀹夊叏浣跨敤璇ョ敤鎴鳳紝鐒跺悗鍐嶈煩杞洖鏉ワ紝鍦ㄦ煇浜涙椂鍊欐瘮杈冩湁鐢?br />闇瑕丄lter user鏉冮檺鎴朌BA鏉冮檺錛?br />SQL> select password from dba_users where username='SCOTT';<br />PASSWORD<br />-----------------------------<br />F894844C34402B67<br />SQL> alter user scott identified by lion;<br />User altered.<br />SQL> connect scott/lion<br />Connected.<br />REM Do whatever you like...<br />SQL> connect system/manager<br />Connected.<br />SQL> alter user scott identified by values 'F894844C34402B67';<br />User altered.<br />SQL> connect scott/tiger<br />Connected.<br /><font color="red">[Q]濡備綍鍔犲浐浣犵殑鏁版嵁搴?/font><br />[A]瑕佹敞鎰忎互涓嬫柟闈?br />1. 淇敼sys, system鐨勫彛浠ゃ?<br />2. Lock錛屼慨鏀癸紝鍒犻櫎榛樿鐢ㄦ埛錛?dbsnmp,ctxsys絳夈?<br />3. 鎶奟EMOTE_OS_AUTHENT鏀規垚False錛岄槻姝㈣繙紼嬫満鍣ㄧ洿鎺ョ櫥闄嗐?<br />4. 鎶奜7_DICTIONARY_ACCESSIBILITY鏀規垚False銆?<br />5. 鎶婁竴浜涙潈闄愪粠PUBLIC Role鍙栨秷鎺夈?<br />6. 媯鏌ユ暟鎹簱鐨勬暟鎹枃浠剁殑瀹夊叏鎬с備笉瑕佽緗垚666涔嬬被鐨勩傛鏌ュ叾浠杁ba 鐢ㄦ埛銆?<br />7. 鎶婁竴浜涗笉闇瑕佺殑鏈嶅姟錛堟瘮濡俧tp, nfs絳夊叧闂帀錛?<br />8. 闄愬埗鏁版嵁搴撲富鏈轟笂闈㈢殑鐢ㄦ埛鏁伴噺銆?<br />9. 瀹氭湡媯鏌etalink/OTN涓婇潰鐨剆ecurity Alert銆傛瘮濡傦細<br /><a target="_blank"><font color="#003366">http://otn.oracle.com/deploy/security/alerts.htm</font></a><br /><br />10. 鎶婁綘鐨勬暟鎹簱涓庡簲鐢ㄦ斁鍦ㄤ竴涓崟鐙殑瀛愮綉涓紝瑕佷笉鐒朵綘鐨勭敤鎴峰瘑鐮佸緢瀹規槗琚玸niffer鍘匯傛垨鑰呴噰鐢╝dvance security錛屽鐢ㄦ埛鐧誨綍鍔犲瘑銆?<br />11. 闄愭鍙湁鏌愪簺ip鎵嶈兘璁塊棶浣犵殑鏁版嵁搴撱?<br />12. lsnrctl 瑕佸姞瀵嗙爜錛岃涓嶇劧鍒漢寰堝鏄撲粠澶栭潰鍏蟲帀浣犵殑listener銆?<br />13. 濡傛灉鍙兘錛屼笉瑕佷嬌鐢ㄩ粯璁?521绔彛<br /><font color="red">[Q]濡備綍媯鏌ョ敤鎴鋒槸鍚︾敤浜嗛粯璁ゅ瘑鐮?/font><br /><br />[A]濡傛灉浣跨敤榛樿瀵嗙爜錛屽緢鍙兘灝卞浣犵殑鏁版嵁搴撻犳垚涓瀹氱殑瀹夊叏闅愭偅錛岄偅涔堝彲浠ヤ嬌鐢ㄥ涓嬬殑鏌ヨ鑾峰緱閭d簺鐢ㄦ埛浣跨敤榛樿瀵嗙爜<br />select username "User(s) with Default Password!" <br />from dba_users <br />where password in <br />('E066D214D5421CCC', -- dbsnmp <br />'24ABAB8B06281B4C', -- ctxsys <br />'72979A94BAD2AF80', -- mdsys <br />'C252E8FA117AF049', -- odm <br />'A7A32CD03D3CE8D5', -- odm_mtr <br />'88A2B2C183431F00', -- ordplugins <br />'7EFA02EC7EA6B86F', -- ordsys <br />'4A3BA55E08595C81', -- outln <br />'F894844C34402B67', -- scott <br />'3F9FBD883D787341', -- wk_proxy <br />'79DF7A1BD138CF11', -- wk_sys <br />'7C9BA362F8314299', -- wmsys <br />'88D8364765FCE6AF', -- xdb <br />'F9DA8977092B7B81', -- tracesvr <br />'9300C0977D7DC75E', -- oas_public <br />'A97282CE3D94E29E', -- websys <br />'AC9700FD3F1410EB', -- lbacsys <br />'E7B5D92911C831E1', -- rman <br />'AC98877DE1297365', -- perfstat <br />'66F4EF5650C20355', -- exfsys <br />'84B8CBCA4D477FA3', -- si_informtn_schema <br />'D4C5016086B2DC6A', -- sys <br />'D4DF7931AB130E37') -- system <br />/<br /><font color="red">[Q]濡備綍淇敼榛樿鐨刋DB鐩戝惉绔彛</font><br /><br />[A] Oracle9i榛樿鐨刋ML DB鎶奌TTP鐨勯粯璁ょ鍙h涓?080錛岃繖鏄竴涓お甯哥敤鐨勭鍙d簡錛屽緢澶氬埆鐨刉ebServer閮戒細浣跨敤榪欎釜绔彛錛?br />濡傛灉鎴戜滑瀹夎浜嗗畠錛屾渶濂戒慨鏀逛竴涓嬶紝閬垮厤鍐茬獊錛屽鏋滀笉浣跨敤鍛紝灝辨渶濂戒笉瑕佸畨瑁?br />鎻愪緵涓夌淇敼鐨勬柟娉?br />1.dbca錛岄夋嫨浣犵殑鏁版嵁搴擄紝鐒跺悗Standard Database Features->Customize->Oracle XML DB option錛岃繘鍏ヨ繖涓敾闈綘搴旇灝辯煡閬撴庝箞鏀逛簡銆?<br />2.OEM console錛屽湪XML Database 鐨勯厤緗噷闈慨鏀?<br />3.鐢╫racle鎻愪緵鐨勫寘錛?<br />-- 鎶奌TTP/WEBDAV绔彛浠?080鏀瑰埌8081 <br />SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(), <br />'/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()',8081)) <br />/ <br />-- 鎶奆TP绔彛浠?100鏀瑰埌2111 <br />SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(), <br />'/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()',2111)) <br />/ <br />SQL> commit; <br />SQL> exec dbms_xdb.cfg_refresh; <br />-- 媯鏌ヤ慨鏀規槸鍚﹀凡緇忔垚鍔?<br />SQL> select dbms_xdb.cfg_get from dual;<br /><font color="red">[Q]鎬庝箞鎹曡幏鐢ㄦ埛鐧誨綍淇℃伅錛屽SID錛孖P鍦板潃絳?/font><br />[A]鍙互鍒╃敤鐧誨綍瑙﹀彂鍣紝濡?br />CREATE OR REPLACE TRIGGER tr_login_record<br />AFTER logon ON DATABASE<br />DECLARE<br />miUserSid NUMBER;<br />mtSession v$session%ROWTYPE;<br />CURSOR cSession(iiUserSid IN NUMBER) IS<br />SELECT * FROM v$session<br />WHERE sid=iiUserSid;<br />BEGIN<br />SELECT sid INTO miUserSid FROM v$mystat WHERE rownum</span> <br /> <!----> <!----> <!----> <img src ="http://www.shnenglu.com/ivenher/aggbug/13154.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/ivenher/" target="_blank">鐖遍キ鐩?/a> 2006-09-29 17:26 <a href="http://www.shnenglu.com/ivenher/articles/13154.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>ORACLE涔嬪父鐢‵AQ V1.0 (2) 絎簩閮ㄥ垎銆丱RACLE鏋勬灦浣撶郴http://www.shnenglu.com/ivenher/articles/13151.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Fri, 29 Sep 2006 09:24:00 GMThttp://www.shnenglu.com/ivenher/articles/13151.htmlhttp://www.shnenglu.com/ivenher/comments/13151.htmlhttp://www.shnenglu.com/ivenher/articles/13151.html#Feedback0http://www.shnenglu.com/ivenher/comments/commentRss/13151.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/13151.html 絎簩閮ㄥ垎銆丱RACLE鏋勬灦浣撶郴
[Q]ORACLE鐨勬湁閭d簺鏁版嵁綾誨瀷
[A]甯歌鐨勬暟鎹被鍨嬫湁
CHAR鍥哄畾闀垮害瀛楃鍩燂紝鏈澶ч暱搴﹀彲杈?000涓瓧鑺?
NCHAR澶氬瓧鑺傚瓧絎﹂泦鐨勫浐瀹氶暱搴﹀瓧絎﹀煙錛岄暱搴﹂殢瀛楃闆嗚屽畾錛屾渶澶氫負2000涓瓧絎︽垨2000涓瓧鑺?
VARCHAR2鍙彉闀垮害瀛楃鍩燂紝鏈澶ч暱搴﹀彲杈?000涓瓧絎?
NVARCHAR2澶氬瓧鑺傚瓧絎﹂泦鐨勫彲鍙橀暱搴﹀瓧絎﹀煙錛岄暱搴﹂殢瀛楃闆嗚屽畾錛屾渶澶氫負4000涓瓧絎︽垨4000涓瓧鑺?
DATE鐢ㄤ簬瀛樺偍鍏ㄩ儴鏃ユ湡鐨勫浐瀹氶暱搴?7涓瓧鑺?瀛楃鍩燂紝鏃墮棿浣滀負鏃ユ湡鐨勪竴閮ㄥ垎瀛樺偍鍏朵腑銆傞櫎闈?
閫氳繃璁劇疆init.ora鏂囦歡鐨凬LS_DATE_FORMAT鍙傛暟鏉ュ彇浠f棩鏈熸牸寮忥紝鍚﹀垯鏌ヨ鏃訛紝鏃ユ湡浠?
DD-MON-YY鏍煎紡琛ㄧず錛屽13-APR-99琛ㄧず1999.4.13
NUMBER鍙彉闀垮害鏁板煎垪錛屽厑璁稿間負0銆佹鏁板拰璐熸暟銆侼UMBER鍊奸氬父浠?涓瓧鑺傛垨鏇村皯鐨勫瓧鑺傚瓨鍌紝鏈澶?1瀛楄妭
LONG鍙彉闀垮害瀛楃鍩燂紝鏈澶ч暱搴﹀彲鍒?GB
RAW琛ㄧず浜岃繘鍒舵暟鎹殑鍙彉闀垮害瀛楃鍩燂紝鏈闀夸負2000涓瓧鑺?
LONGRAW琛ㄧず浜岃繘鍒舵暟鎹殑鍙彉闀垮害瀛楃鍩燂紝鏈闀夸負2GB
MLSLABEL鍙敤浜嶵rustedOracle錛岃繖涓暟鎹被鍨嬫瘡琛屼嬌鐢?鑷?涓瓧鑺?
BLOB浜岃繘鍒跺ぇ瀵硅薄錛屾渶澶ч暱搴︿負4GB
CLOB瀛楃澶у璞★紝鏈澶ч暱搴︿負4GB
NCLOB澶氬瓧鑺傚瓧絎﹂泦鐨凜LOB鏁版嵁綾誨瀷錛屾渶澶ч暱搴︿負4GB
BFILE澶栭儴浜岃繘鍒舵枃浠訛紝澶у皬鐢辨搷浣滅郴緇熷喅瀹?
ROWID琛ㄧずRowID鐨勪簩榪涘埗鏁版嵁錛孫racle8RowID鐨勬暟鍊間負10涓瓧鑺傦紝鍦∣racle7涓嬌鐢ㄧ殑闄愬畾
RowID鏍煎紡涓?涓瓧鑺?
UROWID鐢ㄤ簬鏁版嵁瀵誨潃鐨勪簩榪涘埗鏁版嵁錛屾渶澶ч暱搴︿負4000涓瓧鑺?
[Q]Oracle鏈夊摢浜涘父瑙佸叧閿瓧錛屼笉鑳借鐢ㄤ簬瀵硅薄鍚?/font>
[A]浠?i鐗堟湰涓轟緥錛屼竴鑸繚鐣欏叧閿瓧涓嶈兘鐢ㄥ仛瀵硅薄鍚?br />ACCESS ADD ALL ALTER AND ANY AS ASC AUDIT BETWEEN BY CHAR CHECK CLUSTER COLUMN COMMENT COMPRESS CONNECT CREATE CURRENT DATE DECIMAL DEFAULT DELETE DESC DISTINCT DROP ELSE EXCLUSIVE EXISTS FILE FLOAT FOR FROM GRANT GROUP HAVING IDENTIFIED IMMEDIATE IN INCREMENT INDEX INITIAL INSERT INTEGER INTERSECT INTO IS LEVEL LIKE LOCK LONG MAXEXTENTS MINUS MLSLABEL MODE MODIFY NOAUDIT NOCOMPRESS NOT NOWAIT NULL NUMBER OF OFFLINE ON ONLINE OPTION OR ORDER PCTFREE PRIOR PRIVILEGES PUBLIC RAW RENAME RESOURCE REVOKE ROW ROWID ROWNUM ROWS SELECT SESSION SET SHARE SIZE SMALLINT START SUCCESSFUL SYNONYM SYSDATE TABLE THEN TO TRIGGER UID UNION UNIQUE UPDATE USER VALIDATE VALUES VARCHAR VARCHAR2 VIEW WHENEVER WHERE WITH
璇︾粏淇℃伅鍙互鏌ョ湅v$reserved_words瑙嗗浘
[Q]鎬庝箞鏌ョ湅鏁版嵁搴撶増鏈?/font>
[A]select * from v$version
鍖呭惈鐗堟湰淇℃伅錛屾牳蹇冪増鏈俊鎭紝浣嶆暟淇℃伅(32浣嶆垨64浣?絳?br />鑷充簬浣嶆暟淇℃伅錛屽湪linux/unix騫沖彴涓婏紝鍙互閫氳繃file鏌ョ湅錛屽
file $ORACLE_HOME/bin/oracle
[Q]鎬庝箞鏌ョ湅鏁版嵁搴撳弬鏁?/font>
[A]show parameter 鍙傛暟鍚?br />濡傞氳繃show parameter spfile鍙互鏌ョ湅9i鏄惁浣跨敤spfile鏂囦歡
鎴栬卻elect * from v$parameter
闄や簡榪欓儴鍒嗗弬鏁幫紝Oracle榪樻湁澶ч噺闅愬惈鍙傛暟錛屽彲浠ラ氳繃濡備笅璇彞鏌ョ湅:
SELECT NAME
,VALUE
,decode(isdefault, 'TRUE','Y','N') as "Default"
,decode(ISEM,'TRUE','Y','N') as SesMod
,decode(ISYM,'IMMEDIATE', 'I',
'DEFERRED', 'D',
'FALSE', 'N') as SysMod
,decode(IMOD,'MODIFIED','U',
'SYS_MODIFIED','S','N') as Modified
,decode(IADJ,'TRUE','Y','N') as Adjusted
,description
FROM ( --GV$SYSTEM_PARAMETER
SELECT x.inst_id as instance
,x.indx+1
,ksppinm as NAME
,ksppity
,ksppstvl as VALUE
,ksppstdf as isdefault
,decode(bitand(ksppiflg/256,1),1,'TRUE','FALSE') as ISEM
,decode(bitand(ksppiflg/65536,3),
1,'IMMEDIATE',2,'DEFERRED','FALSE') as ISYM
,decode(bitand(ksppstvf,7),1,'MODIFIED','FALSE') as IMOD
,decode(bitand(ksppstvf,2),2,'TRUE','FALSE') as IADJ
,ksppdesc as DESCRIPTION
FROM x$ksppi x
,x$ksppsv y
WHERE x.indx = y.indx
AND substr(ksppinm,1,1) = '_'
AND x.inst_id = USERENV('Instance')
)
ORDER BY NAME
[Q]鎬庝箞鏍鋒煡鐪嬫暟鎹簱瀛楃闆?/font>
[A]鏁版嵁搴撴湇鍔″櫒瀛楃闆唖elect * from nls_database_parameters錛屽叾鏉ユ簮浜巔rops$錛屾槸琛ㄧず鏁版嵁搴撶殑瀛楃闆嗐?br />瀹㈡埛绔瓧絎﹂泦鐜select * from nls_instance_parameters,鍏舵潵婧愪簬v$parameter錛?br />琛ㄧず瀹㈡埛绔殑瀛楃闆嗙殑璁劇疆錛屽彲鑳芥槸鍙傛暟鏂囦歡錛岀幆澧冨彉閲忔垨鑰呮槸娉ㄥ唽琛?br />浼氳瘽瀛楃闆嗙幆澧?select * from nls_session_parameters錛屽叾鏉ユ簮浜巚$nls_parameters錛岃〃紺轟細璇濊嚜宸辯殑璁劇疆錛屽彲鑳芥槸浼氳瘽鐨勭幆澧冨彉閲忔垨鑰呮槸alter session瀹屾垚錛屽鏋滀細璇濇病鏈夌壒孌婄殑璁劇疆錛屽皢涓巒ls_instance_parameters涓鑷淬?br />瀹㈡埛绔殑瀛楃闆嗚姹備笌鏈嶅姟鍣ㄤ竴鑷達紝鎵嶈兘姝g‘鏄劇ず鏁版嵁搴撶殑闈濧scii瀛楃銆傚鏋滃涓緗瓨鍦ㄧ殑鏃跺欙紝alter session>鐜鍙橀噺>娉ㄥ唽琛?gt;鍙傛暟鏂囦歡
瀛楃闆嗚姹備竴鑷達紝浣嗘槸璇█璁劇疆鍗村彲浠ヤ笉鍚岋紝璇█璁劇疆寤鴻鐢ㄨ嫳鏂囥傚瀛楃闆嗘槸zhs16gbk錛屽垯nls_lang鍙互鏄疉merican_America.zhs16gbk銆?br />[Q]鎬庝箞鏍蜂慨鏀瑰瓧絎﹂泦
[A]8i浠ヤ笂鐗堟湰鍙互閫氳繃alter database鏉ヤ慨鏀瑰瓧絎﹂泦錛屼絾涔熷彧闄愪簬瀛愰泦鍒拌秴闆嗭紝涓嶅緩璁慨鏀筽rops$琛紝灝嗗彲鑳藉鑷翠弗閲嶉敊璇?br />Startup nomount;
Alter database mount exclusive;
Alter system enable restricted session;
Alter system set job_queue_process=0;
Alter database open;
Alter database character set zhs16gbk;
[Q]鎬庢牱寤虹珛鍩轟簬鍑芥暟绱㈠紩
[A]8i浠ヤ笂鐗堟湰錛岀‘淇?br />Query_rewrite_enabled=true
Query_rewrite_integrity=trusted
Compatible=8.1.0浠ヤ笂
Create index indexname on table (function(field));
[Q]鎬庝箞鏍風Щ鍔ㄨ〃鎴栬〃鍒嗗尯
[A]縐誨姩琛ㄧ殑璇硶
Alter table tablename move
[Tablespace new_name
Storage(initial 50M next 50M
pctincrease 0 pctfree 10 pctused 50 initrans 2) nologging]
縐誨姩鍒嗗尯鐨勮娉?br />alter table tablename move (partition partname)
[update global indexes]
涔嬪悗涔嬪悗蹇呴』閲嶅緩绱㈠紩
Alter index indexname rebuild
濡傛灉琛ㄦ湁Lob孌碉紝閭d箞姝e父鐨凙lter涓嶈兘縐誨姩Lob孌靛埌鍒殑琛ㄧ┖闂達紝鑰屼粎浠呮槸縐誨姩浜嗚〃孌碉紝鍙互閲囩敤濡備笅鐨勬柟娉曠Щ鍔↙ob孌?br />alter table tablename move
lob(lobsegname) store as (tablespace newts);
[Q]鎬庝箞鑾峰緱褰撳墠鐨凷CN
[A]9i浠ヤ笅鐗堟湰
select max(ktuxescnw*power(2,32)+ktuxescnb) from x$ktuxe;
濡傛灉鏄?i浠ヤ笂鐗堟湰錛岃繕鍙互閫氳繃浠ヤ笅璇彞鑾峰彇
select dbms_flashback.get_system_change_number from dual;
[Q]ROWID鐨勭粨鏋勪笌緇勬垚
[A]8浠ヤ笂鐗堟湰鐨凴OWID緇勬垚
OOOOOOFFFBBBBBBRRR
8浠ヤ笅ROWID緇勬垚錛堜篃鍙彈闄怰owid錛?br />BBBBBBBB.RRRR.FFFF
鍏朵腑錛孫鏄璞D錛孎鏄枃浠禝D錛孊鏄潡ID錛孯鏄ID
濡傛灉鎴戜滑鏌ヨ涓涓〃鐨凴OWID錛屾牴鎹叾涓潡鐨勪俊鎭紝鍙互鐭ラ亾璇ヨ〃紜垏鍗犵敤浜嗗灝戜釜鍧楋紝榪涜岀煡閬撳崰鐢ㄤ簡澶氬皯鏁版嵁絀洪棿錛堟鏁版嵁絀洪棿涓嶇瓑浜庤〃鐨勫垎閰嶇┖闂達級
[Q]鎬庝箞鏍瘋幏鍙栧璞$殑DDL璇彞
[A]絎笁鏂瑰伐鍏峰氨涓嶈浜嗕富瑕佽涓涓?i浠ヤ笂鐗堟湰鐨刣bms_metadata
1銆佽幏寰楀崟涓璞$殑DDL璇彞
set heading off
set echo off
set feedback off
set pages off
set long 90000
select dbms_metadata.get_ddl('TABLE','TABLENAME','SCAME') from dual;
濡傛灉鑾峰彇鏁翠釜鐢ㄦ埛鐨勮剼鏈紝鍙互鐢ㄥ涓嬭鍙?br />select dbms_metadata.get_ddl('TABLE',u.table_name) from user_tables u;
褰撶劧錛屽鏋滄槸绱㈠紩錛屽垯闇瑕佷慨鏀圭浉鍏硉able鍒癷ndex
[Q]濡備綍鍒涘緩綰︽潫鐨勭儲寮曞湪鍒殑琛ㄧ┖闂翠笂
[A]1銆佸厛鍒涘緩绱㈠紩錛屽啀鍒涘緩綰︽潫
2銆佸埄鐢ㄥ涓嬭鍙ュ垱寤?br />create table test
(c1 number constraint pk_c1_id primary key
using index tablespace useridex,
c2 varchar2(10)
) tablespace userdate;
[Q]鎬庝箞鐭ラ亾閭d簺琛ㄦ病鏈夊緩绔嬩富閿?/font>
[A]涓鑸殑鎯呭喌涓嬶紝琛ㄧ殑涓婚敭鏄繀瑕佺殑錛屾病鏈変富閿殑琛ㄥ彲浠ヨ鏄笉絎﹀悎璁捐瑙勮寖鐨勩?br />SELECT table_name
FROM User_tables t
WHERE NOT EXISTS
(SELECT table_name
FROM User_constraints c
WHERE constraint_type = 'P'
AND t.table_name=c.table_name)
鍏跺畠鐩稿叧鏁版嵁瀛楀吀瑙i噴
user_tables 琛?br />user_tab_columns 琛ㄧ殑鍒?br />user_constraints 綰︽潫
user_cons_columns 綰︽潫涓庡垪鐨勫叧緋?br />user_indexes 绱㈠紩
user_ind_columns 绱㈠紩涓庡垪鐨勫叧緋?br />[Q]dbms_output鎻愮ず緙撳啿鍖轟笉澶燂紝鎬庝箞澧炲姞
[A]dbms_output.enable(20000);
鍙﹀錛屽鏋渄bms_output鐨勪俊鎭笉鑳芥樉紺猴紝
闇瑕佽緗?br />set serveroutput on
[Q]鎬庝箞鏍蜂慨鏀硅〃鐨勫垪鍚?/font>
[A]9i浠ヤ笂鐗堟湰鍙互閲囩敤rname鍛戒護
ALTER TABLE UserName.TabName
RENAME COLUMN SourceColumn TO DestColumn
9i浠ヤ笅鐗堟湰鍙互閲囩敤create table 鈥︹?as select * from SourceTable鐨勬柟寮忋?br />鍙﹀錛?i浠ヤ笂鍙互鏀寔鍒犻櫎鍒椾簡
ALTER TABLE UserName.TabName
SET UNUSED (ColumnName) CASCADE CONSTRAINTS
ALTER TABLE UserName.TabName
DROP (ColumnName) CASCADE CONSTRAINTS
[Q]鎬庝箞鏍風粰sqlplus瀹夎甯姪
[A]SQLPLUS鐨勫府鍔╁繀欏繪墜宸ュ畨瑁咃紝shell鑴氭湰涓?ORACLE_HOME/bin/helpins
鍦ㄥ畨瑁呬箣鍓嶏紝蹇呴』鍏堣緗甋YSTEM_PASS鐜鍙橀噺錛屽錛?br />$ setenv SYSTEM_PASS SYSTEM/MANAGER
$ helpins
濡傛灉涓嶈緗鐜鍙橀噺錛屽皢鍦ㄨ繍琛岃剼鏈殑鏃跺欐彁紺鴻緭鍏ョ幆澧冨彉閲?br />褰撶劧錛岄櫎浜唖hell鑴氭湰錛岃繕鍙互鍒╃敤sql鑴氭湰瀹夎錛岄偅灝變笉鐢ㄨ緗幆澧冨彉閲忎簡錛屼絾鏄紝鎴戜滑蹇呴』浠ystem鐧誨綍銆?br />$ sqlplus system/manager
SQL> @?/sqlplus/admin/help/helpbld.sql helpus.sql
瀹夎涔嬪悗錛屼綘灝卞彲浠ヨ薄濡備笅鐨勬柟娉曚嬌鐢ㄥ府鍔╀簡
SQL> help index
[Q]鎬庝箞鏍峰揩閫熶笅杞絆racle琛ヤ竵
[A]鎴戜滑鍏堣幏寰椾笅杞芥湇鍔″櫒鍦板潃錛屽湪http欏甸潰涓婃湁
ftp://updates.oracle.com
鐒跺悗鐢╢tp鐧誨綍錛岀敤鎴峰悕涓庡瘑鐮佹槸metalink鐨勭敤鎴峰悕涓庡瘑鐮?br />濡傛垜浠煡閬撲簡琛ヤ竵鍙?095277 (9204鐨勮ˉ涓侀泦)錛屽垯
ftp> cd 3095277
250 Changed directory OK.
ftp> ls
200 PORT command OK.
150 Opening data connection for file listing.
p3095277_9204_AIX64-5L.zip
p3095277_9204_AIX64.zip
鈥︹?br />p3095277_9204_WINNT.zip
226 Listing complete. Data connection has been closed.
ftp: 208 bytes received in 0.02Seconds 13.00Kbytes/sec.
ftp>
鐭ラ亾浜嗚繖涓俊鎭紝鎴戜滑鐢ㄧ敤flashget錛岀綉緇滆殏铓佸氨鍙互涓嬭澆浜嗐?
娣誨姞濡備笅榪炴帴
ftp://updates.oracle.com/3095277/p3...04_AIX64-5L.zip
鎴栨浛鎹㈠悗闈㈢殑閮ㄥ垎涓烘墍闇瑕佺殑鍐呭
娉ㄦ剰錛屽鏋滄槸flashget錛岀綉緇滆殏铓佽杈撳叆璁よ瘉鐢ㄦ埛鍚嶅強瀵嗙爜錛屽氨鏄綘鐨刴etalink鐨勭敤鎴峰悕涓庡瘑鐮侊紒
[Q]濡備綍縐誨姩鏁版嵁鏂囦歡
[A]1銆佸叧闂暟鎹簱錛屽埄鐢╫s鎷瘋礉
a.shutdown immediate鍏抽棴鏁版嵁搴?br />b.鍦╫s涓嬫嫹璐濇暟鎹枃浠跺埌鏂扮殑鍦扮偣
c.Startup mount 鍚姩鍒癿ount涓?br />d.Alter database rename datafile '鑰佹枃浠? to '鏂版枃浠?;
e.Alter database open; 鎵撳紑鏁版嵁搴?br />2銆佸埄鐢≧man鑱旀満鎿嶄綔
RMAN> sql "alter database datafile ''file name'' offline";
RMAN> run {
2> copy datafile 'old file location'
3> to 'new file location';
4> switch datafile ' old file location'
5> to datafilecopy ' new file location';
6> }
RMAN> sql "alter database datafile ''file name'' online";
璇存槑錛氬埄鐢∣S鎷瘋礉涔熷彲浠ヨ仈鏈烘搷浣滐紝涓嶅叧闂暟鎹簱錛屼笌rman鐨勬楠や竴鏍鳳紝鍒╃敤rman涓庡埄鐢╫s鎷瘋礉鐨勫師鐞嗕竴鏍鳳紝鍦╮man涓璫opy鏄嫹璐濇暟鎹枃浠訛紝鐩稿綋浜嶰S鐨刢p錛岃宻witch鍒欑浉褰撲簬alter database rename錛岀敤鏉ユ洿鏂版帶鍒舵枃浠躲?br />[Q]濡傛灉綆$悊鑱旀満鏃ュ織緇勪笌鎴愬憳
[A]浠ヤ笅鏄父瑙佹搷浣滐紝濡傛灉鍦∣PA/RAC涓嬫敞鎰忕嚎紼嬪彿
澧炲姞涓涓棩蹇楁枃浠剁粍
Alter database add logfile [group n] '鏂囦歡鍏ㄥ悕' size 10M;
鍦ㄨ繖涓粍涓婂鍔犱竴涓垚鍛?br />Alter database add logfile member '鏂囦歡鍏ㄥ悕' to group n;
鍦ㄨ繖涓粍涓婂垹闄や竴涓棩蹇楁垚鍛?br />Alter database drop logfile member '鏂囦歡鍏ㄥ悕';
鍒犻櫎鏁翠釜鏃ュ織緇?br />Alter database drop logfile group n;
[Q]鎬庝箞鏍瘋綆桼EDO BLOCK鐨勫ぇ灝?/font>
[A]璁$畻鏂規硶涓?redo size + redo wastage) / redo blocks written + 16
鍏蜂綋瑙佸涓嬩緥瀛?br />SQL> select name ,value from v$sysstat where name like '%redo%';
NAME VALUE
---------------------------------------------------------------- ----------
redo synch writes 2
redo synch time 0
redo entries 76
redo size 19412
redo buffer allocation retries 0
redo wastage 5884
redo writer latching time 0
redo writes 22
redo blocks written 51
redo write time 0
redo log space requests 0
redo log space wait time 0
redo log switch interrupts 0
redo ordering marks 0
SQL> select (19412+5884)/51 + 16 '"Redo black(byte)" from dual;
Redo black(byte)
------------------
512
[Q]鎺у埗鏂囦歡鍖呭惈鍝簺鍩烘湰鍐呭
[A]鎺у埗鏂囦歡涓昏鍖呭惈濡備笅鏉$洰錛屽彲浠ラ氳繃dump鎺у埗鏂囦歡鍐呭鐪嬪埌
DATABASE ENTRY
CHECKPOINT PROGRESS RECORDS
REDO THREAD RECORDS
LOG FILE RECORDS
DATA FILE RECORDS
TEMP FILE RECORDS
TABLESPACE RECORDS
LOG FILE HISTORY RECORDS
OFFLINE RANGE RECORDS
ARCHIVED LOG RECORDS
BACKUP SET RECORDS
BACKUP PIECE RECORDS
BACKUP DATAFILE RECORDS
BACKUP LOG RECORDS
DATAFILE COPY RECORDS
BACKUP DATAFILE CORRUPTION RECORDS
DATAFILE COPY CORRUPTION RECORDS
DELETION RECORDS
PROXY COPY RECORDS
INCARNATION RECORDS
[Q]濡傛灉鍙戠幇琛ㄤ腑鏈夊潖鍧楋紝濡備綍媯绱㈠叾瀹冩湭鍧忕殑鏁版嵁
[A]棣栧厛闇瑕佹壘鍒板潖鍧楃殑ID錛堝彲浠ヨ繍琛宒bverify瀹炵幇錛夛紝鍋囪涓猴紝鍋囧畾鏂囦歡緙栫爜涓恒傝繍琛屼笅闈㈢殑鏌ヨ鏌ユ壘孌靛悕錛?
SELECT segment_name,segment_type,extent_id,block_id, blocks
from dba_extents t
where
file_id =
AND between block_id and (block_id + blocks - 1)
涓鏃︽壘鍒板潖孌靛悕縐幫紝鑻ユ鏄竴涓〃錛屽垯鏈濂藉緩绔嬩竴涓復鏃惰〃錛屽瓨鏀懼ソ鐨勬暟鎹傝嫢孌墊槸绱㈠紩錛屽垯鍒犻櫎瀹冿紝鍐嶉噸寤恒?br />create table good_table
as
select from bad_table where rowid not in
(select rowid
from bad_table where substr(rowid,10,6) = )
鍦ㄨ繖閲岃娉ㄦ剰8浠ュ墠鐨勫彈闄怰OWID涓庣幇鍦≧OWID鐨勫樊鍒?br />榪樺彲浠ヤ嬌鐢ㄨ瘖鏂簨浠?0231
SQL> ALTER SYSTEM SET EVENTS '10231 trace name context forever,level 10';
鍒涘緩涓涓復鏃惰〃good_table鐨勮〃涓櫎鍧忓潡鐨勬暟鎹兘媯绱㈠嚭鏉?br />SQL>CREATE TABLE good_table as select * from bad_table;
鏈鍚庡叧闂瘖鏂簨浠?br />SQL> ALTER SYSTEM SET EVENTS '10231 trace name context off ';
鍏充簬ROWID鐨勭粨鏋勶紝榪樺彲浠ュ弬鑰僤bms_rowid.rowid_create鍑芥暟銆?br />[Q]鎴戝垱寤轟簡鏁版嵁搴撶殑鎵鏈夌敤鎴鳳紝鎴戝彲浠ュ垹闄よ繖浜涚敤鎴峰悧
[A]ORACLE鏁版嵁搴撳垱寤虹殑鏃跺欙紝鍒涘緩浜嗕竴緋誨垪榛樿鐨勭敤鎴峰拰琛ㄧ┖闂達紝浠ヤ笅鏄粬浠殑鍒楄〃
路SYS/CHANGE_ON_INSTALL or INTERNAL
緋葷粺鐢ㄦ埛錛屾暟鎹瓧鍏告墍鏈夎咃紝瓚呯駭鏉冮檺鎵鏈夎?SYSDBA)
鍒涘緩鑴氭湰錛?/rdbms/admin/sql.bsq and various cat*.sql
寤鴻鍒涘緩鍚庣珛鍗充慨鏀瑰瘑鐮?br />姝ょ敤鎴蜂笉鑳借鍒犻櫎
路SYSTEM/MANAGER
鏁版嵁搴撻粯璁ょ鐞嗙敤鎴鳳紝鎷ユ湁DBA瑙掕壊鏉冮檺
鍒涘緩鑴氭湰錛?/rdbms/admin/sql.bsq
寤鴻鍒涘緩鍚庣珛鍗充慨鏀瑰瘑鐮?br />姝ょ敤鎴蜂笉鑳借鍒犻櫎
路OUTLN/OUTLN
浼樺寲璁″垝鐨勫瓨鍌ㄥぇ綰茬敤鎴?br />鍒涘緩鑴氭湰錛?/rdbms/admin/sql.bsq
寤鴻鍒涘緩鍚庣珛鍗充慨鏀瑰瘑鐮?br />姝ょ敤鎴蜂笉鑳借鍒犻櫎
---------------------------------------------------
路SCOTT/TIGER, ADAMS/WOOD, JONES/STEEL, CLARK/CLOTH and BLAKE/PAPER.
瀹為獙銆佹祴璇曠敤鎴鳳紝鍚湁渚嬭〃EMP涓嶥EPT
鍒涘緩鑴氭湰錛?/rdbms/admin/utlsampl.sql
鍙互淇敼瀵嗙爜
鐢ㄦ埛鍙互琚垹闄わ紝鍦ㄤ駭鍝佺幆澧冨緩璁垹闄ゆ垨閿佸畾
路HR/HR (Human Resources), OE/OE (Order Entry), SH/SH (Sales History).
瀹為獙銆佹祴璇曠敤鎴鳳紝鍚湁渚嬭〃EMPLOYEES涓嶥EPARTMENTS
鍒涘緩鑴氭湰錛?/demo/schema/mksample.sql
鍙互淇敼瀵嗙爜
鐢ㄦ埛鍙互琚垹闄わ紝鍦ㄤ駭鍝佺幆澧冨緩璁垹闄ゆ垨閿佸畾
路DBSNMP/DBSNMP
Oracle Intelligent agent
鍒涘緩鑴氭湰錛?/rdbms/admin/catsnmp.sql, called from catalog.sql
鍙互鏀瑰彉瀵嗙爜--闇瑕佹斁緗柊瀵嗙爜鍒皊nmp_rw.ora鏂囦歡
濡傛灉涓嶉渶瑕両ntelligent Agents錛屽彲浠ュ垹闄?br />---------------------------------------------------
浠ヤ笅鐢ㄦ埛閮芥槸鍙夊畨瑁呯敤鎴?濡傛灉涓嶉渶瑕侊紝灝變笉闇瑕佸畨瑁?br />路CTXSYS/CTXSYS
Oracle interMedia (ConText Cartridge)綆$悊鐢ㄦ埛
鍒涘緩鑴氭湰錛?/ctx/admin/dr0csys.sql
路TRACESVR/TRACE
Oracle Trace server
鍒涘緩鑴氭湰錛?/rdbms/admin/otrcsvr.sql
路ORDPLUGINS/ORDPLUGINS
Object Relational Data (ORD) User used by Time Series, etc.
鍒涘緩鑴氭湰錛?/ord/admin/ordinst.sql
路ORDSYS/ORDSYS
Object Relational Data (ORD) User used by Time Series, etc
鍒涘緩鑴氭湰錛?/ord/admin/ordinst.sql
路DSSYS/DSSYS
Oracle Dynamic Services and Syndication Server
鍒涘緩鑴氭湰錛?/ds/sql/dssys_init.sql
路MDSYS/MDSYS
Oracle Spatial administrator user
鍒涘緩鑴氭湰錛?/ord/admin/ordinst.sql
路AURORA$ORB$UNAUTHENTICATED/INVALID
Used for users who do not authenticate in Aurora/ORB
鍒涘緩鑴氭湰錛?/javavm/install/init_orb.sql called from ?/javavm/install/initjvm.sql
路PERFSTAT/PERFSTAT
Oracle Statistics Package (STATSPACK) that supersedes UTLBSTAT/UTLESTAT
鍒涘緩鑴氭湰錛?/rdbms/admin/statscre.sql



]]>
ORACLE涔嬪父鐢‵AQ V1.0 (3) 絎笁閮ㄥ垎銆佸浠戒笌鎭㈠http://www.shnenglu.com/ivenher/articles/13152.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Fri, 29 Sep 2006 09:24:00 GMThttp://www.shnenglu.com/ivenher/articles/13152.htmlhttp://www.shnenglu.com/ivenher/comments/13152.htmlhttp://www.shnenglu.com/ivenher/articles/13152.html#Feedback0http://www.shnenglu.com/ivenher/comments/commentRss/13152.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/13152.html 絎笁閮ㄥ垎銆佸浠戒笌鎭㈠
[Q]濡備綍寮鍚?鍏抽棴褰掓。
[A]濡傛灉寮鍚綊妗o紝璇蜂繚璇乴og_archive_start=true寮鍚嚜鍔ㄥ綊妗o紝鍚﹀垯鍙兘鎵嬪伐褰掓。錛屽鏋滄槸鍏抽棴浜嗗綊妗o紝鍒欒緗鍙傛暟涓篺alse
娉ㄦ剰錛氬鏋滄槸OPS/RAC鐜錛岄渶瑕佸厛鎶妏arallel_server = true娉ㄩ噴鎺夛紝鐒跺悗鎵ц濡備笅姝ラ錛屾渶鍚庣敤榪欎釜鍙傛暟閲嶆柊鍚姩
1銆佸紑鍚綊妗?br />a. 鍏抽棴鏁版嵁搴搒hutdown immediate
b. startup mount
c. alter database archivelog
d. alter database opne
2銆佺姝㈠綊妗?br />a. 鍏抽棴鏁版嵁搴搒hutdown immediate
b. startup mount
c. alter database noarchivelog
d. alter database open
褰掓。淇℃伅鍙互閫氳繃濡備笅璇彞鏌ョ湅
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination E:\oracle\ora92\database\archive
Oldest online log sequence 131
Next log sequence to archive 133
Current log sequence 133
[Q]鎬庢牱璁劇疆瀹氭椂褰掓。
[A]9i浠ヤ笂鐗堟湰錛屼繚璇佸綊妗g殑鏈灝忛棿闅斾笉瓚呰繃n縐?br />璁劇疆Archive_lag_target = n
鍗曚綅錛氱 鑼冨洿錛?~7200
[Q]涓嶅悓鐗堟湰鎬庝箞瀵煎嚭/瀵煎叆
[A]瀵煎嚭鐢ㄤ綆鐗堟湰錛屽鍏ョ敤褰撳墠鐗堟湰
濡傛灉鐗堟湰璺ㄨ秺澶ぇ錛岄渶瑕佺敤鍒頒腑闂寸増鏈繃娓?br />[Q]涓嶅悓鐨勫瓧絎﹂泦涔嬪墠鎬庝箞瀵兼暟鎹?/font>
[A]a.鍓嶆潯浠舵槸淇濊瘉瀵煎嚭/瀵煎叆絎﹀悎鍏朵粬瀛楃闆嗘爣鍑嗭紝濡傚鎴風幆澧冧笌鏁版嵁搴撳瓧絎﹂泦涓鑷淬?br />b.淇敼dmp鏂囦歡鐨?銆?瀛楄妭涓虹洰鏍囨暟鎹簱鐨勫瓧絎﹂泦錛屾敞鎰忚鎹㈡垚鍗佸叚榪涘埗銆?br />鍙傝冨嚱鏁幫紙浠ヤ笅鍑芥暟涓殑ID鏄崄榪涘埗鐨勶級錛?br />nls_charset_name 鏍規嵁瀛楃闆咺D鑾峰緱瀛楃闆嗗悕縐?br />nls_charset_id 鏍規嵁瀛楃闆嗗悕縐拌幏寰楀瓧絎﹂泦ID
[Q]鎬庝箞鏍峰浠芥帶鍒舵枃浠?/font>
[A]鍐嶇嚎澶囦喚涓轟竴涓簩榪涘埗鐨勬枃浠?br />alter database backup controlfile to '$BACKUP_DEPT/controlfile.000' [reuse];
澶囦喚涓烘枃鏈枃浠舵柟寮?br />alter database backup controlfile to trace [resetlogs|noresetlogs];
[Q]鎺у埗鏂囦歡鎹熷潖濡備綍鎭㈠
[A]1銆佸鏋滄槸鎹熷潖鍗曚釜鎺у埗鏂囦歡
鍙渶瑕佸叧闂暟鎹簱錛屾嫹璐濅竴涓ソ鐨勬暟鎹枃浠惰鐩栨帀鍧忕殑鏁版嵁鏂囦歡鍗沖彲
鎴栬呮槸淇敼init.ora鏂囦歡鐨勭浉鍏抽儴鍒?br />2銆佸鏋滄槸鎹熷け鍏ㄩ儴鎺у埗鏂囦歡錛屽垯闇瑕佸垱寤烘帶鍒舵枃浠舵垨浠庡浠芥仮澶?br />鍒涘緩鎺у埗鏂囦歡鐨勮剼鏈彲浠ラ氳繃alter database backup controlfile to trace鑾峰彇銆?br />[Q]鎬庝箞鏍風儹澶囦喚涓涓〃絀洪棿
[A]Alter tablespace 鍚嶇О begin backup;
host cp 榪欎釜琛ㄧ┖闂寸殑鏁版嵁鏂囦歡 鐩殑鍦?
Alter tablespace 鍚嶇О end backup;
濡傛灉鏄浠藉涓〃絀洪棿鎴栨暣涓暟鎹簱錛屽彧闇瑕佷竴涓竴涓〃絀洪棿鐨勬搷浣滀笅鏉ュ氨鍙互浜嗐?br />[Q]鎬庝箞蹇熷緱鍒版暣涓暟鎹簱鐨勭儹澶囪剼鏈?/font>
[A]鍙互鍐欎竴孌電被浼肩殑鑴氭湰
SQL>set serveroutput on
begin
dbms_output.enable(10000);
for bk_ts in (select distinct t.ts#,t.name from v$tablespace t,v$datafile d where t.ts#=d.ts#) loop
dbms_output.put_line('--'||bk_ts.name);
dbms_output.put_line('alter tablespace '||bk_ts.name||' begin backup;');
for bk_file in (select file#,name from v$datafile where ts#=bk_ts.ts#) loop
dbms_output.put_line('host cp '||bk_file.name||' $BACKUP_DEPT/');
end loop;
dbms_output.put_line('alter tablespace '||bk_ts.name||' end backup;');
end loop;
end;
/
[Q]涓㈠け涓涓暟鎹枃浠訛紝浣嗘槸娌℃湁澶囦喚錛屾庝箞鏍鋒墦寮鏁版嵁搴?/font>
[A]濡傛灉娌℃湁澶囦喚鍙兘鏄垹闄よ繖涓暟鎹枃浠朵簡錛屼細瀵艱嚧鐩稿簲鐨勬暟鎹涪澶便?br />SQL>startup mount
--ARCHIVELOG妯″紡鍛戒護
SQL>Alter database datafile 'file name' offline;
--NOARCHIVELOG妯″紡鍛戒護
SQL>Alter database datafile 'file name' offline drop;
SQLl>Alter database open;
娉ㄦ剰錛氳鏁版嵁鏂囦歡涓嶈兘鏄郴緇熸暟鎹枃浠?br />[Q]涓㈠け涓涓暟鎹枃浠訛紝娌℃湁澶囦喚浣嗘槸鏈夎鏁版嵁鏂囦歡鍒涘緩浠ユ潵鐨勫綊妗f庝箞鎭㈠
[A]淇濊瘉濡備笅鏉′歡
a. 涓嶈兘鏄郴緇熸暟鎹枃浠?br />b. 涓嶈兘涓㈠け鎺у埗鏂囦歡
濡傛灉婊¤凍浠ヤ笂鏉′歡錛屽垯
SQL>startup mount
SQL>Alter database create datafile 'file name' as 'file name' size ... reuse;
SQL>recover datafile n; -鏂囦歡鍙?br />鎴栬?br />SQL>recover datafile 'file name';
鎴栬?br />SQL>recover database;
SQL>Alter database open;
[Q]鑱旀満鏃ュ織鎹熷潖濡備綍鎭㈠
[A]1銆佸鏋滄槸闈炲綋鍓嶆棩蹇楄屼笖褰掓。錛屽彲浠ヤ嬌鐢?br />Alter database clear logfile group n鏉ュ垱寤轟竴涓柊鐨勬棩蹇楁枃浠?br />濡傛灉璇ユ棩蹇楄繕娌℃湁褰掓。錛屽垯闇瑕佺敤
Alter database clear unarchived logfile group n
2銆佸鏋滄槸褰撳墠鏃ュ織鎹熷潖錛屼竴鑸笉鑳絚lear錛屽垯鍙兘鎰忓懗鐫涓㈠け鏁版嵁
濡傛灉鏈夊浠斤紝鍙互閲囩敤澶囦喚榪涜涓嶅畬鍏ㄦ仮澶?br />濡傛灉娌℃湁澶囦喚錛屽彲鑳藉彧鑳界敤_allow_resetlogs_corruption=true鏉ヨ繘琛屽己鍒舵仮澶嶄簡錛屼絾鏄紝榪欐牱鐨勬柟娉曟槸涓嶅緩璁殑錛屾渶濂藉湪鏈塐racle support鐨勬寚瀵間笅榪涜銆?br />[Q]鎬庝箞鏍峰垱寤篟MAN鎭㈠鐩綍
[A]棣栧厛錛屽垱寤轟竴涓暟鎹簱鐢ㄦ埛錛屼竴鑸兘鏄疪MAN錛屽茍緇欎簣recovery_catalog_owner瑙掕壊鏉冮檺
sqlplus sys
SQL> create user rman identified by rman;
SQL> alter user rman default tablespace tools temporary tablespace temp;
SQL> alter user rman quota unlimited on tools;
SQL> grant connect, resource, recovery_catalog_owner to rman;
SQL> exit;
鐒跺悗錛岀敤榪欎釜鐢ㄦ埛鐧誨綍錛屽垱寤烘仮澶嶇洰褰?br />rman catalog rman/rman
RMAN> create catalog tablespace tools;
RMAN> exit;
鏈鍚庯紝浣犲彲浠ュ湪鎭㈠鐩綍娉ㄥ唽鐩爣鏁版嵁搴撲簡
rman catalog rman/rman target backdba/backdba
RMAN> register database;
[Q]鎬庝箞鏍峰湪鎭㈠鐨勬椂鍊欑Щ鍔ㄦ暟鎹枃浠訛紝鎭㈠鍒板埆鐨勫湴鐐?/font>
[A]緇欎竴涓猂MAN鐨勪緥瀛?br />run {
set until time 'Jul 01 1999 00:05:00';
allocate channel d1 type disk;
set newname for datafile '/u04/oracle/prod/sys1prod.dbf'
to '/u02/oracle/prod/sys1prod.dbf';
set newname for datafile '/u04/oracle/prod/usr1prod.dbf'
to '/u02/oracle/prod/usr1prod.dbf';
set newname for datafile '/u04/oracle/prod/tmp1prod.dbf'
to '/u02/oracle/prod/tmp1prod.dbf';
restore controlfile to '/u02/oracle/prod/ctl1prod.ora';
replicate controlfile from '/u02/oracle/prod/ctl1prod.ora';
restore database;
sql "alter database mount";
switch datafile all;
recover database;
sql "alter database open resetlogs";
release channel d1;
}
[Q]鎬庝箞浠庡浠界墖錛坆ackuppiece錛変腑鎭㈠(restore)鎺у埗鏂囦歡涓庢暟鎹枃浠?/font>
[A]鍙互浣跨敤濡備笅鏂規硶錛屽湪RMAN涓仮澶嶅浠界墖鐨勬帶鍒舵枃浠?br />restore controlfile from backuppiecefile;
濡傛灉鏄?i鐨勮嚜鍔ㄥ浠斤紝鍙互閲囩敤濡備笅鐨勬柟娉?
restore controlfile from autobackup;
浣嗘槸錛屽鏋滄帶鍒舵枃浠跺叏閮ㄤ涪澶憋紝闇瑕佹寚瀹欴BID錛屽SET DBID=?
鑷姩澶囦喚鎺у埗鏂囦歡鐨勯粯璁ゆ牸寮忔槸%F錛岃繖涓牸寮忕殑褰㈠紡涓?
c-IIIIIIIIII-YYYYMMDD-QQ錛屽叾涓璉IIIIIIIII灝辨槸DBID
鑷充簬鎭㈠(restore)鏁版嵁鏂囦歡錛宱racle 816寮濮嬫湁涓寘dbms_backup_restore
鍦?nomount 鐘舵佷笅灝卞彲浠ユ墽琛岋紝鍙互璇?815鐢氳嚦涔嬪墠鐨勫浠界墖錛岃鍑烘潵鐨勬枃浠剁敤浜庢仮澶?
鍙互鍦⊿QLPLUS涓繍琛岋紝濡備笅
SQL>startup nomount
SQL> DECLARE
2 devtype varchar2(256);
3 done boolean;
4 BEGIN
5 devtype := dbms_backup_restore.deviceallocate('', params=>'');
6 dbms_backup_restore.restoresetdatafile;
7 dbms_backup_restore.restorecontrolfileto('E:\Oracle\oradata\penny\control01.ctl');
8 dbms_backup_restore.restoreDataFileto(1,'E:\Oracle\oradata\penny\system01.dbf');
9 dbms_backup_restore.restoreDataFileto(2,'E:\Oracle\oradata\penny\UNDOTBS01.DBF');
10 dbms_backup_restore.restoreDataFileto(3,'E:\ORACLE\ORADATA\PENNY\USERS01.DBF');
11 dbms_backup_restore.restorebackuppiece('D:\orabak\BACKUP_1_4_04F4IAJT.PENNY',done=>done);
12 END;
13 /
PL/SQL 榪囩▼宸叉垚鍔熷畬鎴愩?
SQL> alter database mount;
[Q]Rman鐨刦ormat鏍煎紡涓殑%s綾諱技鐨勪笢瑗夸唬琛ㄤ粈涔堟剰涔?/font>
[A]鍙互鍙傝冨涓?br />%c 澶囦喚鐗囩殑鎷瘋礉鏁?
%d 鏁版嵁搴撳悕縐?
%D 浣嶄簬璇ユ湀涓殑絎嚑澶?(DD)
%M 浣嶄簬璇ュ勾涓殑絎嚑鏈?(MM)
%F 涓涓熀浜嶥BID鍞竴鐨勫悕縐?榪欎釜鏍煎紡鐨勫艦寮忎負c-IIIIIIIIII-YYYYMMDD-QQ,鍏朵腑IIIIIIIIII涓鴻鏁版嵁搴撶殑DBID錛孻YYYMMDD涓烘棩鏈燂紝QQ鏄竴涓?-256鐨勫簭鍒?
%n 鏁版嵁搴撳悕縐幫紝鍚戝彸濉ˉ鍒版渶澶у叓涓瓧絎?
%u 涓涓叓涓瓧絎︾殑鍚嶇О浠h〃澶囦喚闆嗕笌鍒涘緩鏃墮棿
%p 璇ュ浠介泦涓殑澶囦喚鐗囧彿錛屼粠1寮濮嬪埌鍒涘緩鐨勬枃浠舵暟
%U 涓涓敮涓鐨勬枃浠跺悕錛屼唬琛?u_%p_%c
%s 澶囦喚闆嗙殑鍙?
%t 澶囦喚闆嗘椂闂存埑
%T 騫存湀鏃ユ牸寮?YYYYMMDD)
[Q]鎵цexec dbms_logmnr_d.build('Logminer.ora','file directory')錛屾彁紺轟笅鏍囪秴鐣岋紝鎬庝箞鍔?/font>
[A]瀹屾暣閿欒淇℃伅濡備笅,
SQL> exec dbms_logmnr_d.build('Logminer.ora','file directory')
BEGIN dbms_logmnr_d.build('Logminer.ora','file directory'); END;
*
ERROR 浣嶄簬絎?1 琛?
ORA-06532: 涓嬫爣瓚呭嚭闄愬埗
ORA-06512: 鍦?SYS.DBMS_LOGMNR_D", line 793
ORA-06512: 鍦╨ine 1
瑙e喅鍔炴硶涓猴細
1.緙栬緫浣嶄簬"$ORACLE_HOME/rdbms/admin"鐩綍涓嬬殑鏂囦歡"dbmslmd.sql"
鏀瑰彉琛?
TYPE col_desc_array IS VARRAY(513) OF col_description;
涓?br />TYPE col_desc_array IS VARRAY(700) OF col_description;
騫朵繚瀛樻枃浠?br />2. 榪愯鏀瑰彉鍚庣殑鑴氭湰
SQLPLUS> Connect internal
SQLPLUS> @$ORACLE_HOME/rdbms/admin/dbmslmd.sql
3.閲嶆柊緙栬瘧璇ュ寘
SQLPLUS> alter package DBMS_LOGMNR_D compile body;
[Q]鎵цexecute dbms_logmnr.start_logmnr(DictFileName=>'DictFileName')鎻愮ずORA-01843:鏃犳晥鐨勬湀浠斤紝榪欎釜鏄粈涔堝師鍥?/font>
[A]鎴戜滑鍒嗘瀽start_logmnr鍖?br />PROCEDURE start_logmnr(
startScn IN NUMBER default 0 ,
endScn IN NUMBER default 0,
startTime IN DATE default TO_DATE('01-jan-1988','DD-MON-YYYY'),
endTime IN DATE default TO_DATE('01-jan-2988','DD-MON-YYYY'),
DictFileName IN VARCHAR2 default '',
Options IN BINARY_INTEGER default 0 );
鍙互鐭ラ亾錛屽鏋淭O_DATE('01-jan-1988','DD-MON-YYYY')澶辮觸錛屽皢瀵艱嚧浠ヤ笂閿欒
鎵浠ヨВ鍐沖姙娉曞彲浠ヤ負
1銆丄lter session set NLS_LANGUAGE=American
2銆佺敤綾諱技濡備笅鐨勬柟娉曟墽琛?br />execute dbms_logmnr.start_logmnr (DictFileName=> 'f:\temp2\TESTDICT.ora', starttime => TO_DATE(
'01-01-1988','DD-MM-YYYY'), endTime=>TO_DATE('01-01-2988','DD-MM-YYYY'));



]]>
ORACLE涔嬪父鐢‵AQ V1.0 (1) 絎竴閮ㄥ垎銆丼QL&PL/SQLhttp://www.shnenglu.com/ivenher/articles/13149.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Fri, 29 Sep 2006 09:22:00 GMThttp://www.shnenglu.com/ivenher/articles/13149.htmlhttp://www.shnenglu.com/ivenher/comments/13149.htmlhttp://www.shnenglu.com/ivenher/articles/13149.html#Feedback0http://www.shnenglu.com/ivenher/comments/commentRss/13149.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/13149.html 絎竴閮ㄥ垎銆丼QL&PL/SQL

[Q]鎬庝箞鏍鋒煡璇㈢壒孌婂瓧絎︼紝濡傞氶厤絎?涓巁
[A]select * from table where name like 'A\_%' escape '\'
[Q]濡備綍鎻掑叆鍗曞紩鍙峰埌鏁版嵁搴撹〃涓?/font>
[A]鍙互鐢ˋSCII鐮佸鐞嗭紝鍏跺畠鐗規畩瀛楃濡?amp;涔熶竴鏍鳳紝濡?
insert into t values('i'||chr(39)||'m'); -- chr(39)浠h〃瀛楃'
鎴栬呯敤涓や釜鍗曞紩鍙瘋〃紺轟竴涓?br />or insert into t values('I''m'); -- 涓や釜''鍙互琛ㄧず涓涓?
[Q]鎬庢牱璁劇疆浜嬪姟涓鑷存?/font>
[A]set transaction [isolation level] read committed; 榛樿璇彞綰т竴鑷存?br />set transaction [isolation level] serializable;
read only; 浜嬪姟綰т竴鑷存?br />[Q]鎬庝箞鏍峰埄鐢ㄦ父鏍囨洿鏂版暟鎹?/font>
[A]cursor c1 is
select * from tablename
where name is null for update [of column]
鈥︹?br />update tablename set column = 鈥︹?br />where current of c1;
[Q]鎬庢牱鑷畾涔夊紓甯?/font>
[A] pragma_exception_init(exception_name,error_number);
濡傛灉绔嬪嵆鎶涘嚭寮傚父
raise_application_error(error_number,error_msg,true|false);
鍏朵腑number浠?20000鍒?20999錛岄敊璇俊鎭渶澶?048B
寮傚父鍙橀噺
SQLCODE 閿欒浠g爜
SQLERRM 閿欒淇℃伅
[Q]鍗佽繘鍒朵笌鍗佸叚榪涘埗鐨勮漿鎹?/font>
[A]8i浠ヤ笂鐗堟湰錛?br />to_char(100,'XX')
to_number('4D','XX')
8i浠ヤ笅鐨勮繘鍒朵箣闂寸殑杞崲鍙傝冨涓嬭剼鏈?br />create or replace function to_base( p_dec in number, p_base in number )
return varchar2
is
l_str varchar2(255) default NULL;
l_num number default p_dec;
l_hex varchar2(16) default '0123456789ABCDEF';
begin
if ( p_dec is null or p_base is null ) then
return null;
end if;
if ( trunc(p_dec) p_dec OR p_dec 20;
[Q]鎬庝箞鏍鋒娊鍙栭噸澶嶈褰?/font>
[A]select * from table t1 where where t1.rowed !=
(select max(rowed) from table t2
where t1.id=t2.id and t1.name=t2.name)
鎴栬?br />select count(*), t.col_a,t.col_b from table t
group by col_a,col_b
having count(*)>1
濡傛灉鎯沖垹闄ら噸澶嶈褰曪紝鍙互鎶婄涓涓鍙ョ殑select鏇挎崲涓篸elete
[Q]鎬庝箞鏍瘋緗嚜娌諱簨鍔?/font>
[A]8i浠ヤ笂鐗堟湰錛屼笉褰卞搷涓諱簨鍔?br />pragma autonomous_transaction;
鈥︹?br />commit|rollback;
[Q]鎬庝箞鏍峰湪榪囩▼涓殏鍋滄寚瀹氭椂闂?/font>
[A]DBMS_LOCK鍖呯殑sleep榪囩▼
濡傦細dbms_lock.sleep(5);琛ㄧず鏆傚仠5縐掋?br />[Q]鎬庝箞鏍峰揩閫熻綆椾簨鍔$殑鏃墮棿涓庢棩蹇楅噺
[A]鍙互閲囩敤綾諱技濡備笅鐨勮剼鏈?br />DECLARE
start_time NUMBER;
end_time NUMBER;
start_redo_size NUMBER;
end_redo_size NUMBER;
BEGIN
start_time := dbms_utility.get_time;
SELECT VALUE INTO start_redo_size FROM v$mystat m,v$statname s
WHERE m.STATISTIC#=s.STATISTIC#
AND s.NAME='redo size';
--transaction start
INSERT INTO t1
SELECT * FROM All_Objects;
--other dml statement
COMMIT;
end_time := dbms_utility.get_time;
SELECT VALUE INTO end_redo_size FROM v$mystat m,v$statname s
WHERE m.STATISTIC#=s.STATISTIC#
AND s.NAME='redo size';
dbms_output.put_line('Escape Time:'||to_char(end_time-start_time)||' centiseconds');
dbms_output.put_line('Redo Size:'||to_char(end_redo_size-start_redo_size)||' bytes');
END;
[Q]鎬庢牱鍒涘緩涓存椂琛?/font>
[A]8i浠ヤ笂鐗堟湰
create global temporary tablename(column list)
on commit preserve rows; --鎻愪氦淇濈暀鏁版嵁 浼氳瘽涓存椂琛?br />on commit delete rows; --鎻愪氦鍒犻櫎鏁版嵁 浜嬪姟涓存椂琛?br />涓存椂琛ㄦ槸鐩稿浜庝細璇濈殑錛屽埆鐨勪細璇濈湅涓嶅埌璇ヤ細璇濈殑鏁版嵁銆?br />[Q]鎬庝箞鏍峰湪PL/SQL涓墽琛孌DL璇彞
[A]1銆?i浠ヤ笅鐗堟湰dbms_sql鍖?br />2銆?i浠ヤ笂鐗堟湰榪樺彲浠ョ敤
execute immediate sql;
dbms_utility.exec_ddl_statement('sql');
[Q]鎬庝箞鏍瘋幏鍙朓P鍦板潃
[A]鏈嶅姟鍣?817浠ヤ笂)錛歶tl_inaddr.get_host_address
瀹㈡埛绔細sys_context('userenv','ip_address')
[Q]鎬庝箞鏍峰姞瀵嗗瓨鍌ㄨ繃紼?/font>
[A]鐢╳rap鍛戒護錛屽錛堝亣瀹氫綘鐨勫瓨鍌ㄨ繃紼嬩繚瀛樹負a.sql錛?br />wrap iname=a.sql
PL/SQL Wrapper: Release 8.1.7.0.0 - Production on Tue Nov 27 22:26:48 2001
Copyright (c) Oracle Corporation 1993, 2000. All Rights Reserved.
Processing a.sql to a.plb
鎻愮ずa.sql杞崲涓篴.plb錛岃繖灝辨槸鍔犲瘑浜嗙殑鑴氭湰錛屾墽琛宎.plb鍗沖彲鐢熸垚鍔犲瘑浜嗙殑瀛樺偍榪囩▼
[Q]鎬庝箞鏍峰湪ORACLE涓畾鏃惰繍琛屽瓨鍌ㄨ繃紼?/font>
[A]鍙互鍒╃敤dbms_job鍖呮潵瀹氭椂榪愯浣滀笟錛屽鎵ц瀛樺偍榪囩▼錛屼竴涓畝鍗曠殑渚嬪瓙錛屾彁浜や竴涓綔涓氾細
VARIABLE jobno number;
BEGIN
DBMS_JOB.SUBMIT(:jobno, 'ur_procedure;',SYSDATE,'SYSDATE + 1');
commit;
END;
涔嬪悗錛屽氨鍙互鐢ㄤ互涓嬭鍙ユ煡璇㈠凡緇忔彁浜ょ殑浣滀笟
select * from user_jobs;
[Q]鎬庝箞鏍蜂粠鏁版嵁搴撲腑鑾峰緱姣
[A]9i浠ヤ笂鐗堟湰錛屾湁涓涓猼imestamp綾誨瀷鑾峰緱姣錛屽
SQL>select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ssxff') time1,
to_char(current_timestamp) time2 from dual;
TIME1 TIME2
----------------------------- ----------------------------------------------------------------
2003-10-24 10:48:45.656000 24-OCT-03 10.48.45.656000 AM +08:00
鍙互鐪嬪埌錛屾縐掑湪to_char涓搴旂殑鏄疐F銆?br />8i浠ヤ笂鐗堟湰鍙互鍒涘緩涓涓涓嬬殑java鍑芥暟
SQL>create or replace and compile
java source
named "MyTimestamp"
as
import java.lang.String;
import java.sql.Timestamp;
public class MyTimestamp
{
public static String getTimestamp()
{
return(new Timestamp(System.currentTimeMillis())).toString();
}
};
SQL>java created.
娉細娉ㄦ剰java鐨勮娉曪紝娉ㄦ剰澶у皬鍐?br />SQL>create or replace function my_timestamp return varchar2
as language java
name 'MyTimestamp.getTimestamp() return java.lang.String';
/
SQL>function created.
SQL>select my_timestamp,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') ORACLE_TIME from dual;
MY_TIMESTAMP ORACLE_TIME
------------------------ -------------------
2003-03-17 19:15:59.688 2003-03-17 19:15:59
濡傛灉鍙兂鑾峰緱1/100縐?hsecs)錛岃繕鍙互鍒╃敤dbms_utility.get_time
[Q]濡傛灉瀛樺湪灝辨洿鏂幫紝涓嶅瓨鍦ㄥ氨鎻掑叆鍙互鐢ㄤ竴涓鍙ュ疄鐜板悧
[A]9i宸茬粡鏀寔浜嗭紝鏄疢erge錛屼絾鏄彧鏀寔select瀛愭煡璇紝
濡傛灉鏄崟鏉℃暟鎹褰曪紝鍙互鍐欎綔select 鈥︹?from dual鐨勫瓙鏌ヨ銆?br />璇硶涓猴細
MERGE INTO table
USING data_source
ON (condition)
WHEN MATCHED THEN update_clause
WHEN NOT MATCHED THEN insert_clause;
濡?br />MERGE INTO course c
USING (SELECT course_name, period,
course_hours
FROM course_updates) cu
ON (c.course_name = cu.course_name
AND c.period = cu.period)
WHEN MATCHED THEN
UPDATE
SET c.course_hours = cu.course_hours
WHEN NOT MATCHED THEN
INSERT (c.course_name, c.period,
c.course_hours)
VALUES (cu.course_name, cu.period,
cu.course_hours);
[Q]鎬庝箞瀹炵幇宸﹁仈錛屽彸鑱斾笌澶栬仈
[A]鍦?i浠ュ墠鍙互榪欎箞鍐?
宸﹁仈錛?br />select a.id,a.name,b.address from a,b
where a.id=b.id(+)
鍙寵仈:
select a.id,a.name,b.address from a,b
where a.id(+)=b.id
澶栬仈
SELECT a.id,a.name,b.address
FROM a,b
WHERE a.id = b.id(+)
UNION
SELECT b.id,'' name,b.address
FROM b
WHERE NOT EXISTS (
SELECT * FROM a
WHERE a.id = b.id);
鍦?i浠ヤ笂錛屽凡緇忓紑濮嬫敮鎸丼QL99鏍囧噯錛屾墍浠ワ紝浠ヤ笂璇彞鍙互鍐欐垚錛?br />榛樿鍐呴儴鑱旂粨錛?br />select a.id,a.name,b.address,c.subject
from (a inner join b on a.id=b.id)
inner join c on b.name = c.name
where other_clause
宸﹁仈
select a.id,a.name,b.address
from a left outer join b on a.id=b.id
where other_clause
鍙寵仈
select a.id,a.name,b.address
from a right outer join b on a.id=b.id
where other_clause
澶栬仈
select a.id,a.name,b.address
from a full outer join b on a.id=b.id
where other_clause
or
select a.id,a.name,b.address
from a full outer join b using (id)
where other_clause
[Q]鎬庝箞瀹炵幇涓鏉¤褰曟牴鎹潯浠跺琛ㄦ彃鍏?/font>
[A]9i浠ヤ笂鍙互閫氳繃Insert all璇彞瀹屾垚錛屼粎浠呮槸涓涓鍙ワ紝濡傦細
INSERT ALL
WHEN (id=1) THEN
INTO table_1 (id, name)
values(id,name)
WHEN (id=2) THEN
INTO table_2 (id, name)
values(id,name)
ELSE
INTO table_other (id, name)
values(id, name)
SELECT id,name
FROM a;
濡傛灉娌℃湁鏉′歡鐨勮瘽錛屽垯瀹屾垚姣忎釜琛ㄧ殑鎻掑叆錛屽
INSERT ALL
INTO table_1 (id, name)
values(id,name)
INTO table_2 (id, name)
values(id,name)
INTO table_other (id, name)
values(id, name)
SELECT id,name
FROM a;
[Q]濡備綍瀹炵幇琛屽垪杞崲
[A]1銆佸浐瀹氬垪鏁扮殑琛屽垪杞崲
濡?br />student subject grade
---------------------------
student1 璇枃 80
student1 鏁板 70
student1 鑻辮 60
student2 璇枃 90
student2 鏁板 80
student2 鑻辮 100
鈥︹?br />杞崲涓?
璇枃 鏁板 鑻辮
student1 80 70 60
student2 90 80 100
鈥︹?br />璇彞濡備笅錛?br />select student,sum(decode(subject,'璇枃', grade,null)) "璇枃",
sum(decode(subject,'鏁板', grade,null)) "鏁板",
sum(decode(subject,'鑻辮', grade,null)) "鑻辮"
from table
group by student
2銆佷笉瀹氬垪琛屽垪杞崲
濡?br />c1 c2
--------------
1 鎴?br />1 鏄?br />1 璋?br />2 鐭?br />2 閬?br />3 涓?br />鈥︹?br />杞崲涓?br />1 鎴戞槸璋?br />2 鐭ラ亾
3 涓?br />榪欎竴綾誨瀷鐨勮漿鎹㈠繀欏誨熷姪浜嶱L/SQL鏉ュ畬鎴愶紝榪欓噷緇欎竴涓緥瀛?br />CREATE OR REPLACE FUNCTION get_c2(tmp_c1 NUMBER)
RETURN VARCHAR2
IS
Col_c2 VARCHAR2(4000);
BEGIN
FOR cur IN (SELECT c2 FROM t WHERE c1=tmp_c1) LOOP
Col_c2 := Col_c2||cur.c2;
END LOOP;
Col_c2 := rtrim(Col_c2,1);
RETURN Col_c2;
END;
/
SQL> select distinct c1 ,get_c2(c1) cc2 from table;鍗沖彲
[Q]鎬庝箞鏍峰疄鐜板垎緇勫彇鍓峃鏉¤褰?/font>
[A]8i浠ヤ笂鐗堟湰錛屽埄鐢ㄥ垎鏋愬嚱鏁?br />濡傝幏鍙栨瘡涓儴闂ㄨ柂姘村墠涓夊悕鐨勫憳宸ユ垨姣忎釜鐝垚緇╁墠涓夊悕鐨勫鐢熴?br />Select * from
(select depno,ename,sal,row_number() over (partition by depno
order by sal desc) rn
from emp)
where rn host lsntctl start
鎴栬卽nix/linux騫沖彴涓?br />SQL>!
windows騫沖彴涓?br />SQL>$
鎬葷粨錛欻OST 鍙互鐩存帴鎵цOS鍛戒護銆?
澶囨敞錛歝d鍛戒護鏃犳硶姝g‘鎵ц銆?br />[Q]鎬庝箞璁劇疆瀛樺偍榪囩▼鐨勮皟鐢ㄨ呮潈闄?/font>
[A]鏅氬瓨鍌ㄨ繃紼嬮兘鏄墍鏈夎呮潈闄愶紝濡傛灉鎯寵緗皟鐢ㄨ呮潈闄愶紝璇峰弬鑰冨涓嬭鍙?br />create or replace
procedure 鈥︹?)
AUTHID CURRENT_USER
As
begin
鈥︹?br />end;
[Q]鎬庝箞蹇熻幏寰楃敤鎴蜂笅姣忎釜琛ㄦ垨琛ㄥ垎鍖虹殑璁板綍鏁?/font>
[A]鍙互鍒嗘瀽璇ョ敤鎴鳳紝鐒跺悗鏌ヨuser_tables瀛楀吀錛屾垨鑰呴噰鐢ㄥ涓嬭剼鏈嵆鍙?br />SET SERVEROUTPUT ON SIZE 20000
DECLARE
miCount INTEGER;
BEGIN
FOR c_tab IN (SELECT table_name FROM user_tables) LOOP
EXECUTE IMMEDIATE 'select count(*) from "' || c_tab.table_name || '"' into miCount;
dbms_output.put_line(rpad(c_tab.table_name,30,'.') || lpad(miCount,10,'.'));
--if it is partition table
SELECT COUNT(*) INTO miCount FROM User_Part_Tables WHERE table_name = c_tab.table_name;
IF miCount >0 THEN
FOR c_part IN (SELECT partition_name FROM user_tab_partitions WHERE table_name = c_tab.table_name) LOOP
EXECUTE IMMEDIATE 'select count(*) from ' || c_tab.table_name || ' partition (' || c_part.partition_name || ')'
INTO miCount;
dbms_output.put_line(' '||rpad(c_part.partition_name,30,'.') || lpad(miCount, 10,'.'));
END LOOP;
END IF;
END LOOP;
END;
[A]鎬庝箞鍦∣racle涓彂閭歡
[Q]鍙互鍒╃敤utl_smtp鍖呭彂閭歡錛屼互涓嬫槸涓涓彂閫佺畝鍗曢偖浠剁殑渚嬪瓙紼嬪簭
/****************************************************************************
parameter: Rcpter in varchar2 鎺ユ敹鑰呴偖綆?br />Mail_Content in Varchar2 閭歡鍐呭
desc: 路鍙戦侀偖浠跺埌鎸囧畾閭
路鍙兘鎸囧畾涓涓偖綆憋紝濡傛灉闇瑕佸彂閫佸埌澶氫釜閭錛岄渶瑕佸彟澶栫殑杈呭姪紼嬪簭
****************************************************************************/
CREATE OR REPLACE PROCEDURE sp_send_mail( rcpter IN VARCHAR2,
mail_content IN VARCHAR2)
IS
conn utl_smtp.connection;
--write title
PROCEDURE send_header(NAME IN VARCHAR2, HEADER IN VARCHAR2) AS
BEGIN
utl_smtp.write_data(conn, NAME||': '|| HEADER||utl_tcp.CRLF);
END;
BEGIN
--opne connect
conn := utl_smtp.open_connection('smtp.com');
utl_smtp.helo(conn, 'oracle');
utl_smtp.mail(conn, 'oracle info');
utl_smtp.rcpt(conn, Rcpter);
utl_smtp.open_data(conn);
--write title
send_header('From', 'Oracle Database');
send_header('To', '"Recipient" ');
send_header('Subject', 'DB Info');
--write mail content
utl_smtp.write_data(conn, utl_tcp.crlf || mail_content);
--close connect
utl_smtp.close_data(conn);
utl_smtp.quit(conn);
EXCEPTION
WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN
BEGIN
utl_smtp.quit(conn);
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
WHEN OTHERS THEN
NULL;
END sp_send_mail;
[A]鎬庝箞鏍峰湪Oracle涓啓鎿嶄綔緋葷粺鏂囦歡錛屽鍐欐棩蹇?/font>
[Q]鍙互鍒╃敤utl_file鍖咃紝浣嗘槸錛屽湪姝や箣鍓嶏紝瑕佹敞鎰忚緗ソUtl_file_dir鍒濆鍖栧弬鏁?br />/**************************************************************************
parameter:textContext in varchar2 鏃ュ織鍐呭
desc: 路鍐欐棩蹇?鎶婂唴瀹硅鍒版湇鍔″櫒鎸囧畾鐩綍涓?br />路蹇呴』閰嶇疆Utl_file_dir鍒濆鍖栧弬鏁幫紝騫朵繚璇佹棩蹇楄礬寰勪笌Utl_file_dir璺緞涓鑷存垨鑰呮槸鍏朵腑涓涓?br />****************************************************************************/
CREATE OR REPLACE PROCEDURE sp_Write_log(text_context VARCHAR2)
IS
file_handle utl_file.file_type;
Write_content VARCHAR2(1024);
Write_file_name VARCHAR2(50);
BEGIN
--open file
write_file_name := 'db_alert.log';
file_handle := utl_file.fopen('/u01/logs',write_file_name,'a');
write_content := to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss')||'||'||text_context;
--write file
IF utl_file.is_open(file_handle) THEN
utl_file.put_line(file_handle,write_content);
END IF;
--close file
utl_file.fclose(file_handle);
EXCEPTION
WHEN OTHERS THEN
BEGIN
IF utl_file.is_open(file_handle) THEN
utl_file.fclose(file_handle);
END IF;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
END sp_Write_log;



]]>
ORACLE涓嬌鐢ㄥ姩鎬佹父鏍囩殑渚嬪瓙 http://www.shnenglu.com/ivenher/articles/13146.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Fri, 29 Sep 2006 07:54:00 GMThttp://www.shnenglu.com/ivenher/articles/13146.htmlhttp://www.shnenglu.com/ivenher/comments/13146.htmlhttp://www.shnenglu.com/ivenher/articles/13146.html#Feedback0http://www.shnenglu.com/ivenher/comments/commentRss/13146.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/13146.html聽 /*
聽聽 * NAME錛?br />聽聽 *聽聽 get_ope_popedom
聽聽 *
聽聽 * PARAMETER錛?br />聽聽 *聽聽 sta_id聽聽聽- 杞︾珯緙栧彿錛屽涓珯鏃朵互閫楀彿鍒嗛殧
聽聽 *
聽聽 * RETURN:
聽聽 *聽聽 --瀵瑰簲杞︾珯緙栧彿鐨勮濺绔欏悕縐幫紝澶氫釜绔欐椂浠ラ楀彿鍒嗛殧
聽聽 *
聽聽 * AUTHOR:
聽聽 *聽聽聽鑸墊墜
聽聽 *
聽聽 * DESCRIPTION:
聽聽 *聽聽 --鏍規嵁浼犲叆鐨勮濺绔欑紪鍙瘋繑鍥炵浉搴旂殑杞︾珯鍚嶇О
聽聽 *
聽聽 */
as
Result varchar2(1000);
name_temp varchar2(40);
type聽cursor_t is ref cursor;
emp_cur cursor_t ;
begin
聽 OPEN emp_cur FOR 'SELECT sta_name FROM station_code where sta_code =:1'
聽 using sta_id;
聽 LOOP
聽聽聽聽聽 FETCH emp_cur INTO name_temp;
聽聽聽聽聽 If (emp_cur%NOTFOUND) Then
聽聽聽聽聽聽聽聽 EXIT;
聽聽聽聽聽 End if;
聽聽聽聽聽 Result := Result || name_temp || ',';
聽 end loop;
聽 close emp_cur;
聽 Result := substr(Result,1,(length(Result)-1));
聽 return(Result);
end get_ope_popedom;


]]>
[Oracle]涓浣曟帉鎻′笌浣跨敤娓告爣錛?錛?/title><link>http://www.shnenglu.com/ivenher/articles/13101.html</link><dc:creator>鐖遍キ鐩?/dc:creator><author>鐖遍キ鐩?/author><pubDate>Thu, 28 Sep 2006 06:17:00 GMT</pubDate><guid>http://www.shnenglu.com/ivenher/articles/13101.html</guid><wfw:comment>http://www.shnenglu.com/ivenher/comments/13101.html</wfw:comment><comments>http://www.shnenglu.com/ivenher/articles/13101.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/ivenher/comments/commentRss/13101.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/ivenher/services/trackbacks/13101.html</trackback:ping><description><![CDATA[ <a name="_Toc112150288"> <font size="2"> <span lang="EN-US">1<span></span></span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">娓告爣鐨勫睘鎬?/span> </font> </a> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: left" align="left"> </p> <div class="hvzpftn" id="3"> <font size="2"> <span lang="EN-US">銆銆oracle </span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">娓告爣鏈?/span> <span lang="EN-US">4</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">涓睘鎬э細</span> <span lang="EN-US">%ISOPEN</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">錛?/span> <span lang="EN-US">%FOUND</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">錛?/span> <span lang="EN-US">%NOTFOUND</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">錛?/span> <span lang="EN-US">%ROWCOUNT</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">銆?/span> </font> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: left" align="left"> </p> <div class="hvzpftn" id="4"> <font size="2"> <span lang="EN-US">銆銆%ISOPEN</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鍒ゆ柇娓告爣鏄惁琚墦寮錛屽鏋滄墦寮</span> <span lang="EN-US">%ISOPEN</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">絳変簬</span> <span lang="EN-US">true,</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鍚﹀垯絳変簬</span> <span lang="EN-US">false</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">錛?/span> </font> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: left" align="left"> </p> <div class="hvzpftn" id="5"> <font size="2"> <span lang="EN-US">銆銆%FOUND %NOTFOUND</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鍒ゆ柇娓告爣鎵鍦ㄧ殑琛屾槸鍚︽湁鏁堬紝濡傛灉鏈夋晥錛屽垯</span> <span lang="EN-US">%FOUNDD</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">絳変簬</span> <span lang="EN-US">true</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">錛屽惁鍒欑瓑浜?/span> <span lang="EN-US">false</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">錛?/span> </font> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: left" align="left"> </p> <div class="hvzpftn" id="6"> <font size="2"> <span lang="EN-US">銆銆%ROWCOUNT</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">榪斿洖褰撳墠浣嶇疆涓烘娓告爣璇誨彇鐨勮褰曡鏁般?/span> </font> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: center" align="center"> </p> <div class="hvzpftn" id="7"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆闅愬紡娓告爣鍜屾樉寮忔父鏍?/font> </span> </div> <p> </p> <div class="hvzpftn" id="8"> <div align="center"> <table style="mso-cellspacing: 0cm" cellspacing="0" cellpadding="0" width="500" border="1"> <tbody> <tr> <td> <div> </div> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: center" align="center"> </p> <div class="hvzpftn" id="9"> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">闅愬紡娓告爣</span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="10"> <div class="hvzpftn" id="14"> <div class="hvzpftn" id="18"> <div class="hvzpftn" id="22"> <div class="hvzpftn" id="26"> </div> </div> </div> </div> </div> </td> <td> <div> </div> <div> </div> <div> </div> <div> </div> <div> </div> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: center" align="center"> </p> <div class="hvzpftn" id="11"> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鏄懼紡娓告爣</span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="12"> <div class="hvzpftn" id="16"> <div class="hvzpftn" id="20"> <div class="hvzpftn" id="24"> </div> </div> </div> </div> </td> </tr> <tr> <td> <div> </div> <div> </div> <div> </div> <div> </div> <p class="MsoNormal"> </p> <div class="hvzpftn" id="13"> <font size="2"> <span lang="EN-US">PL/SQL</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">緇存姢錛屽綋鎵ц鏌ヨ鏃惰嚜鍔ㄦ墦寮鍜屽叧闂?/span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="10"> <div class="hvzpftn" id="14"> <div class="hvzpftn" id="18"> <div class="hvzpftn" id="22"> <div class="hvzpftn" id="26"> </div> </div> </div> </div> </div> </td> <td> <div> </div> <div> </div> <div> </div> <div> </div> <div> </div> <p class="MsoNormal"> </p> <div class="hvzpftn" id="15"> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鍦ㄧ▼搴忎腑鏄懼紡瀹氫箟銆佹墦寮銆佸叧闂紝娓告爣鏈変竴涓悕瀛椼?/span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="12"> <div class="hvzpftn" id="16"> <div class="hvzpftn" id="20"> <div class="hvzpftn" id="24"> </div> </div> </div> </div> </td> </tr> <tr> <td> <div> </div> <div> </div> <div> </div> <div> </div> <p class="MsoNormal"> </p> <div class="hvzpftn" id="17"> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">娓告爣灞炴у墠緙鏄?/span> <span lang="EN-US">SQL </span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="10"> <div class="hvzpftn" id="14"> <div class="hvzpftn" id="18"> <div class="hvzpftn" id="22"> <div class="hvzpftn" id="26"> </div> </div> </div> </div> </div> </td> <td> <div> </div> <div> </div> <div> </div> <div> </div> <div> </div> <p class="MsoNormal"> </p> <div class="hvzpftn" id="19"> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">娓告爣灞炴х殑鍓嶇紑鏄父鏍囧悕</span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="12"> <div class="hvzpftn" id="16"> <div class="hvzpftn" id="20"> <div class="hvzpftn" id="24"> </div> </div> </div> </div> </td> </tr> <tr> <td> <div> </div> <div> </div> <div> </div> <div> </div> <p class="MsoNormal"> </p> <div class="hvzpftn" id="21"> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">灞炴?/span> <span lang="EN-US">%ISOPEN</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鎬繪槸涓?/span> <span lang="EN-US">FALSE </span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="10"> <div class="hvzpftn" id="14"> <div class="hvzpftn" id="18"> <div class="hvzpftn" id="22"> <div class="hvzpftn" id="26"> </div> </div> </div> </div> </div> </td> <td> <div> </div> <div> </div> <div> </div> <div> </div> <div> </div> <p class="MsoNormal"> </p> <div class="hvzpftn" id="23"> <font size="2"> <span lang="EN-US">%ISOPEN</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鏍規嵁娓告爣鐨勭姸鎬佺‘瀹氬?/span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="12"> <div class="hvzpftn" id="16"> <div class="hvzpftn" id="20"> <div class="hvzpftn" id="24"> </div> </div> </div> </div> </td> </tr> <tr> <td> <div> </div> <div> </div> <div> </div> <div> </div> <p class="MsoNormal"> </p> <div class="hvzpftn" id="25"> <font size="2"> <span lang="EN-US">SELECT</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">璇彞甯︽湁</span> <span lang="EN-US">INTO</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">瀛愪覆錛屽彧鏈変竴琛屾暟鎹澶勭悊</span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="10"> <div class="hvzpftn" id="14"> <div class="hvzpftn" id="18"> <div class="hvzpftn" id="22"> <div class="hvzpftn" id="26"> </div> </div> </div> </div> </div> </td> <td> <div> </div> <div> </div> <div> </div> <div> </div> <div> </div> <p class="MsoNormal"> </p> <div class="hvzpftn" id="27"> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鍙互澶勭悊澶氳鏁版嵁錛屽湪紼嬪簭涓緗驚鐜紝鍙栧嚭姣忎竴琛屾暟鎹?/span> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: " unicode="" arial=""> <o> </o> </span> </font> </div> <p> </p> <div class="hvzpftn" id="28"> </div> </td> </tr> </tbody> </table> </div> </div> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> </p> <div class="hvzpftn" id="29"> <span lang="EN-US"> <font size="2"> <o> </o> </font> </span> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21.1pt; TEXT-ALIGN: left" align="left"> </p> <div class="hvzpftn" id="30"> <strong> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">銆銆璁板綍鍙橀噺</span> <span lang="EN-US"> <o> </o> </span> </font> </strong> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> </p> <div class="hvzpftn" id="31"> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">銆銆瀹氫箟涓涓褰曞彉閲忎嬌鐢?/span> <span lang="EN-US">TYPE</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鍛戒護鍜?/span> <span lang="EN-US">%ROWTYPE</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">錛?/span> </font> </div> <p> </p> <div class="hvzpftn" id="32"> <div class="hvzpftn" id="48"> <span lang="EN-US"> </span> </div> </div> <div style="SCROLLBAR-HIGHLIGHT-COLOR: buttonhighlight; OVERFLOW: auto; WIDTH: 500px"> <pre style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: black 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT: black 1px solid; PADDING-TOP: 4px; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #ededed"> <div class="hvzpftn" id="33"> <div> <!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> <font size="2"> <span style="COLOR: #0000ff">DECLARE</span> </font> <span style="COLOR: #000000"> <font size="2">R_emp EMP</font> </span> <span style="COLOR: #808080"> <font size="2">%</font> </span> <font size="2"> <span style="COLOR: #000000">ROWTYPE;</span> <span style="COLOR: #0000ff">CURSOR</span> <span style="COLOR: #000000"> c_emp </span> <span style="COLOR: #0000ff">IS</span> <span style="COLOR: #000000"> </span> <span style="COLOR: #0000ff">SELECT</span> <span style="COLOR: #000000"> </span> <span style="COLOR: #808080">*</span> <span style="COLOR: #000000"> </span> <span style="COLOR: #0000ff">FROM</span> <span style="COLOR: #000000"> emp;</span> </font> </div> </div> </pre> </div> <div class="hvzpftn" id="34"> <div class="hvzpftn" id="38"> </div> </div> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: left" align="left"> </p> <div class="hvzpftn" id="35"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆鎴栵細</font> </span> </div> <p> </p> <div class="hvzpftn" id="36"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> </span> </div> <div style="SCROLLBAR-HIGHLIGHT-COLOR: buttonhighlight; OVERFLOW: auto; WIDTH: 500px"> <pre style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: black 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT: black 1px solid; PADDING-TOP: 4px; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #ededed"> <div class="hvzpftn" id="37"> <div> <!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> <span style="COLOR: #0000ff">DECLARE</span> <span style="COLOR: #000000"> </span> <span style="COLOR: #0000ff">CURSOR</span> <span style="COLOR: #000000"> c_emp </span> <span style="COLOR: #0000ff">IS</span> <span style="COLOR: #000000"> </span> <span style="COLOR: #0000ff">SELECT</span> <span style="COLOR: #000000"> ename,salary </span> <span style="COLOR: #0000ff">FROM</span> <span style="COLOR: #000000"> emp;R_emp c_emp</span> <span style="COLOR: #808080">%</span> <span style="COLOR: #000000">ROWTYPE;</span> </div> </div> </pre> </div> <div class="hvzpftn" id="34"> <div class="hvzpftn" id="38"> </div> </div> <p class="MsoNormal" style="TEXT-INDENT: 21.1pt"> </p> <div class="hvzpftn" id="39"> <strong> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">銆銆甯﹀弬鏁扮殑娓告爣</span> <span lang="EN-US"> <o> </o> </span> </font> </strong> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> </p> <div class="hvzpftn" id="40"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆涓庡瓨鍌ㄨ繃紼嬪拰鍑芥暟鐩鎬技錛屽彲浠ュ皢鍙傛暟浼犻掔粰娓告爣騫跺湪鏌ヨ涓嬌鐢ㄣ傝繖瀵逛簬澶勭悊鍦ㄦ煇縐嶆潯浠朵笅鎵撳紑娓告爣鐨勬儏鍐甸潪甯告湁鐢ㄣ傚畠鐨勮娉曞涓嬶細</font> </span> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> </p> <div class="hvzpftn" id="41"> <span lang="EN-US"> <font size="2">銆銆CURSOR cursor_name[(parameter[,parameter],...)] IS select_statement;</font> </span> </div> <p> </p> <p class="MsoNormal" style="MARGIN-BOTTOM: 12pt; TEXT-INDENT: 21pt"> </p> <div class="hvzpftn" id="42"> <span lang="EN-US"> </span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆瀹氫箟鍙傛暟鐨勮娉曞涓嬶細</font> </span> </div> <p> </p> <p class="MsoNormal" style="MARGIN-BOTTOM: 12pt; TEXT-INDENT: 21pt"> </p> <div class="hvzpftn" id="43"> <span lang="EN-US"> <font size="2">銆銆Parameter_name [IN] data_type[{:=|DEFAULT} value]</font> </span> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: left" align="left"> </p> <div> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆涓庡瓨鍌ㄨ繃紼嬩笉鍚岀殑鏄紝娓告爣鍙兘鎺ュ彈浼犻掔殑鍊鹼紝鑰屼笉鑳借繑鍥炲箋傚弬鏁板彧瀹氫箟鏁版嵁綾誨瀷錛屾病鏈夊ぇ灝忋?/font> </span> <span lang="EN-US"> </span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆</font> </span> </div> <div> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆</font> </span> </div> <div> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆鍙﹀鍙互緇欏弬鏁拌瀹氫竴涓己鐪佸鹼紝褰撴病鏈夊弬鏁板間紶閫掔粰娓告爣鏃訛紝灝變嬌鐢ㄧ己鐪佸箋傛父鏍囦腑瀹氫箟鐨勫弬鏁板彧鏄竴涓崰浣嶇錛屽湪鍒寮曠敤璇ュ弬鏁頒笉涓瀹氬彲闈犮?/font> </span> <span lang="EN-US"> <br /> </span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆</font> </span> </div> <div> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"> <font size="2">銆銆鍦ㄦ墦寮娓告爣鏃剁粰鍙傛暟璧嬪鹼紝璇硶濡備笅錛?/font> </span> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt; TEXT-ALIGN: left" align="left"> </p> <div class="hvzpftn" id="45"> <span lang="EN-US"> <font size="2">銆銆OPEN cursor_name[value[,value]....];<strong><span><o></o></span></strong></font> </span> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21.1pt; TEXT-ALIGN: left" align="left"> </p> <div class="hvzpftn" id="46"> <strong> <font size="2"> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">銆銆娓告爣</span> <span lang="EN-US">FOR</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">寰幆</span> <span lang="EN-US"> <o> </o> </span> </font> </strong> </div> <p> </p> <p class="MsoNormal" style="TEXT-INDENT: 21pt"> </p> <div class="hvzpftn" id="47"> <font size="2"> <span lang="EN-US">銆銆FOR</span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">寰幆鐨勬父鏍囨寜鐓ф甯哥殑澹版槑鏂瑰紡澹版槑錛屽畠鐨勪紭鐐瑰湪浜庝笉闇瑕佹樉寮忕殑鎵撳紑銆佸叧闂佸彇鏁版嵁錛屾祴璇曟暟鎹殑瀛樺湪銆佸畾涔夊瓨鏀炬暟鎹殑鍙橀噺絳夌瓑銆傛父鏍?/span> <span lang="EN-US">FOR </span> <span style="FONT-FAMILY: 瀹嬩綋; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">寰幆鐨勮娉曞涓嬶細</span> </font> </div> <p> </p> <div class="hvzpftn" id="32"> <div class="hvzpftn" id="48"> <span lang="EN-US"> </span> </div> </div> <div style="SCROLLBAR-HIGHLIGHT-COLOR: buttonhighlight; OVERFLOW: auto; WIDTH: 500px"> <pre style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: black 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT: black 1px solid; PADDING-TOP: 4px; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: #ededed"> <div class="hvzpftn" id="49"> <div> <!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> <font size="2"> <span style="COLOR: #0000ff">FOR</span> <span style="COLOR: #000000"> record_name </span> <span style="COLOR: #808080">IN</span> </font> <span style="COLOR: #000000"> <font size="2">(corsor_name</font> </span> <font size="2"> <span style="COLOR: #ff0000">[</span> <span style="COLOR: #ff0000">(parameter[,parameter</span> <span style="COLOR: #ff0000">]</span> </font> <font size="2"> <span style="COLOR: #000000">...)]</span> <span style="COLOR: #808080">|</span> </font> <font size="2"> <span style="COLOR: #000000"> (query_difinition)LOOPstatements</span> <span style="COLOR: #0000ff">END</span> <span style="COLOR: #000000"> LOOP;</span> </font> </div> </div> </pre> </div> <div class="hvzpftn" id="ParagraphCount" style="DISPLAY: none">聽</div> <img src ="http://www.shnenglu.com/ivenher/aggbug/13101.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/ivenher/" target="_blank">鐖遍キ鐩?/a> 2006-09-28 14:17 <a href="http://www.shnenglu.com/ivenher/articles/13101.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Oracle PL/SQL璇█鍩虹 涓?/title><link>http://www.shnenglu.com/ivenher/articles/12987.html</link><dc:creator>鐖遍キ鐩?/dc:creator><author>鐖遍キ鐩?/author><pubDate>Tue, 26 Sep 2006 08:52:00 GMT</pubDate><guid>http://www.shnenglu.com/ivenher/articles/12987.html</guid><wfw:comment>http://www.shnenglu.com/ivenher/comments/12987.html</wfw:comment><comments>http://www.shnenglu.com/ivenher/articles/12987.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/ivenher/comments/commentRss/12987.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/ivenher/services/trackbacks/12987.html</trackback:ping><description><![CDATA[ <strong> <font color="#ac0000">鎺у埗緇撴瀯<br /><br /></font> </strong>銆銆鎺у埗緇撴瀯鎺у埗PL/SQL紼嬪簭嫻佺▼鐨勪唬鐮佽,PL/SQL鏀寔鏉′歡鎺у埗鍜屽驚鐜帶鍒剁粨鏋勩?br /><br />銆銆璇硶鍜岀敤閫?br /><br />銆銆銆IF..THEN<br /><br />銆銆璇硶錛?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>IF condition THEN<br />銆Statements 1;<br />銆Statements 2;<br />銆....<br />END IF <br /></td></tr></tbody></table><br />銆銆IF璇彞鍒ゆ柇鏉′歡condition鏄惁涓篢RUE錛屽鏋滄槸錛屽垯鎵цTHEN鍚庨潰鐨勮鍙ワ紝濡傛灉condition涓篺alse鎴朜ULL鍒欒煩榪嘥HEN鍒癊ND IF涔嬮棿鐨勮鍙ワ紝鎵цEND IF鍚庨潰鐨勮鍙ャ?br /><br />銆銆<b>IF..THEN...ELSE</b><br /><br />銆銆璇硶:<br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>IF condition THEN<br />銆Statements 1;<br />銆Statements 2;<br />銆....<br />ELSE<br />銆Statements 1;<br />銆Statements 2;<br />銆....<br />END IF </td></tr></tbody></table><br />銆銆濡傛灉鏉′歡condition涓篢RUE,鍒欐墽琛孴HEN鍒癊LSE涔嬮棿鐨勮鍙ワ紝鍚﹀垯鎵цELSE鍒癊ND IF涔嬮棿鐨勮鍙ャ?br /><br />銆銆IF 鍙互宓屽錛屽彲浠ュ湪IF 鎴朓F ..ELSE璇彞涓嬌鐢↖F鎴朓F..ELSE璇彞銆?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>if (a>b) and (a>c) then<br />銆銆g:=a;<br />else<br />銆銆g:=b;<br />銆銆if c>g then<br />銆銆銆g:=c;<br />銆銆end if<br />end if</td></tr></tbody></table><br />銆銆<b>IF..THEN..ELSIF</b><br /><br />銆銆璇硶錛?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>IF condition1 THEN<br />銆statement1;<br />ELSIF condition2 THEN<br />銆statement2;<br />ELSIF condition3 THEN<br />銆statement3;<br />ELSE<br />銆statement4;<br />END IF;<br />銆statement5;<br /></td></tr></tbody></table><br />銆銆濡傛灉鏉′歡condition1涓篢RUE鍒欐墽琛宻tatement1,鐒跺悗鎵цstatement5,鍚﹀垯鍒ゆ柇condition2鏄惁涓篢RUE,鑻ヤ負TRUE鍒欐墽琛宻tatement2,鐒跺悗鎵цstatement5,瀵逛簬condition3涔熸槸鐩稿悓鐨勶紝濡傛灉condition1錛宑ondition2錛宑ondition3閮戒笉鎴愮珛錛岄偅涔堝皢鎵цstatement4,鐒跺悗鎵цstatement5銆?br /><br />銆銆<font color="#ac000"><b>寰幆鎺у埗</b></font><br /><br />銆銆寰幆鎺у埗鐨勫熀鏈艦寮忔槸LOOP璇彞錛孡OOP鍜孍ND LOOP涔嬮棿鐨勮鍙ュ皢鏃犻檺嬈$殑鎵ц銆侺OOP璇彞鐨勮娉曞涓嬶細<br /><br />銆銆LOOP <br />銆銆銆statements;<br />銆銆END LOOP<br /><br />銆銆LOOP鍜孍ND LOOP涔嬮棿鐨勮鍙ユ棤闄愭鐨勬墽琛屾樉鐒舵槸涓嶈鐨勶紝閭d箞鍦ㄤ嬌鐢↙OOP璇彞鏃跺繀欏諱嬌鐢‥XIT璇彞錛屽己鍒跺驚鐜粨鏉燂紝渚嬪錛?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>X:=100;<br />LOOP<br />銆X:=X+10;<br />銆IF X>1000 THEN<br />銆銆EXIT;<br />銆END IF<br />END LOOP;<br />Y:=X;</td></tr></tbody></table><br />銆銆姝ゆ椂Y鐨勫兼槸1010.<br /><br />銆銆EXIT WHEN璇彞灝嗙粨鏉熷驚鐜紝濡傛灉鏉′歡涓篢RUE錛屽垯緇撴潫寰幆銆?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>X:=100;<br />LOOP<br />X:=X+10;<br />EXIT WHEN X>1000;<br />X:=X+10;<br />END LOOP;<br />Y:=X;<br /></td></tr></tbody></table><br />銆銆<b>WHILE..LOOP</b><br /><br />銆銆WHILE..LOOP鏈変竴涓潯浠朵笌寰幆鐩歌仈緋伙紝濡傛灉鏉′歡涓篢RUE,鍒欐墽琛屽驚鐜綋鍐呯殑璇彞錛屽鏋滅粨鏋滀負FALSE,鍒欑粨鏉熷驚鐜?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>X:=100;<br />WHILE X<=1000 LOOP<br />銆X:=X+10;<br />END LOOP;<br />Y=X; </td></tr></tbody></table><br />銆銆<b>FOR...LOOP</b><br /><br />銆銆璇硶錛?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>FOR counter IN [REVERSE] start_range....end_range LOOP<br />statements;<br />END LOOP;</td></tr></tbody></table><br />銆銆LOOP鍜學HILE寰幆鐨勫驚鐜鏁伴兘鏄笉紜畾鐨勶紝FOR寰幆鐨勫驚鐜鏁版槸鍥哄畾鐨勶紝counter鏄竴涓殣寮忓0鏄庣殑鍙橀噺錛屼粬鐨勫垵濮嬪兼槸start_range,絎簩涓兼槸start_range+1,鐩村埌end_range,濡傛灉start_range絳変簬end _range,閭d箞寰幆灝嗘墽琛屼竴嬈°傚鏋滀嬌鐢ㄤ簡REVERSE鍏抽敭瀛楋紝閭d箞鑼冨洿灝嗘槸涓涓檷搴忋?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>X:=100;<br />FOR v_counter in 1..10 loop<br />x:=x+10;<br /><br />end loop<br />y:=x;</td></tr></tbody></table><br />銆銆濡傛灉瑕侀鍑篺or寰幆鍙互浣跨敤EXIT璇彞銆?br /><br />銆銆<b>鏍囩</b><br /><br />銆銆鐢ㄦ埛鍙互浣跨敤鏍囩浣跨▼搴忚幏寰楁洿濂界殑鍙鎬с傜▼搴忓潡鎴栧驚鐜兘鍙互琚爣璁般傛爣絳劇殑褰㈠紡鏄?lt;<label>>銆?br /><br />銆銆鏍囪紼嬪簭鍧?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td><<label_name>><br />[DECLARE]<br />... ... ...<br />BEGIN<br />........<br />[EXCEPTION]<br />.......<br />END label_name</label_name></td></tr></tbody></table><br />銆銆鏍囪寰幆<br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td><<outer_name>><br />LOOP<br />.........<br /><<inner_loop>><br />loop<br />..........<br /><<innermost_loop>><br />loop<br />....<br /><br />EXIT outer_loop WHEN v_condition=0;<br />end loop innermost_loop;<br />..........<br />END LOOP inner_loop;<br />END LOOP outer_loop; </innermost_loop></inner_loop></outer_name></td></tr></tbody></table><br />銆銆<b>GOTO璇彞</b><br /><br />銆銆璇硶錛?br /><br />銆銆GOTO LABEL;<br /><br />銆銆鎵цGOTO璇彞鏃訛紝鎺у埗浼氱珛鍗寵漿鍒扮敱鏍囩鏍囪鐨勮鍙ャ侾L/SQL涓GOTO璇彞鏈変竴浜涢檺鍒訛紝瀵逛簬鍧椼佸驚鐜両F璇彞鑰岃█錛屼粠澶栧眰璺寵漿鍒板唴灞傛槸闈炴硶鐨勩?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>X 錛?100;<br />FOR V_COUNTER IN 1..10 LOOP<br />銆IF V_COUNTER =4 THEN<br />銆銆GOTO end_of_loop<br />銆END IF<br />銆X:=X+10;<br />銆<<end_of_loop>><br />銆NULL<br />END LOOP<br /><br />Y:=X; </end_of_loop></td></tr></tbody></table><br />銆銆娉ㄦ剰錛歂ULL鏄竴涓悎娉曠殑鍙墽琛岃鍙ャ?br /><br />銆銆<b>宓屽</b><br /><br />銆銆紼嬪簭鍧楃殑鍐呴儴鍙互鏈夊彟涓涓▼搴忓潡榪欑鎯呭喌縐頒負宓屽銆傚祵濂楄娉ㄦ剰鐨勬槸鍙橀噺錛屽畾涔夊湪鏈澶栭儴紼嬪簭鍧椾腑鐨勫彉閲忓彲浠ュ湪鎵鏈夊瓙鍧椾腑浣跨敤錛屽鏋滃湪瀛愬潡涓畾涔変簡涓庡閮ㄧ▼搴忓潡鍙橀噺鐩稿悓鐨勫彉閲忓悕錛屽湪鎵ц瀛愬潡鏃跺皢浣跨敤瀛愬潡涓畾涔夌殑鍙橀噺銆傚瓙鍧椾腑瀹氫箟鐨勫彉閲忎笉鑳借鐖跺潡寮曠敤銆傚悓鏍稧OTO璇彞涓嶈兘鐢辯埗鍧楄煩杞亾瀛愬潡涓紝鍙嶄箣鍒欐槸鍚堟硶鐨勩?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>銆奜UTER BLOCK銆?br />DECLARE<br />銆A_NUMBER INTEGER錛?br />銆B_NUMBER INTEGER錛?br />BEGIN<br />銆--A_NUMBER and B_NUMBER are available here<br />銆<<sub_block>><br />銆DECLARE<br />銆C_NUMBER INTEGER<br />銆B_NUMBER NUMBER(20)<br />BEGIN<br />銆C_NUMBER:=A_NUMBER;<br />銆C_NUMBER=OUTER_BLOCK.B_NUMBER;<br />END SUB_BLOCK;<br />END OUT_BLOCK;<br /></sub_block></td></tr></tbody></table><br />銆銆<font color="#ac000"><b>灝忕粨</b></font><br /><br />銆 鎴戜滑鍦ㄨ繖綃囨枃绔犱腑浠嬬粛浜哖L/SQL鐨勫熀紜璇硶浠ュ強濡備綍浣跨敤PL/SQL璇█璁捐鍜岃繍琛孭L/SQL紼嬪簭鍧楋紝騫跺皢PL/SQL紼嬪簭鏁村悎鍒癘racle鏈嶅姟鍣ㄤ腑,铏界劧PL/SQL紼嬪簭浣滀負鍔熻兘鍧楀祵鍏racle鏁版嵁搴撲腑錛屼絾PL/SQL涓嶰RACLE鏁版嵁搴撶殑绱у瘑緇撳悎浣垮緱瓚婃潵瓚婂鐨凮racle鏁版嵁搴撶鐞嗗憳鍜屽紑鍙戜漢鍛樺紑濮嬩嬌鐢≒L/SQL銆?/label><img src ="http://www.shnenglu.com/ivenher/aggbug/12987.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/ivenher/" target="_blank">鐖遍キ鐩?/a> 2006-09-26 16:52 <a href="http://www.shnenglu.com/ivenher/articles/12987.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Oracle PL/SQL璇█鍩虹 浜?/title><link>http://www.shnenglu.com/ivenher/articles/12986.html</link><dc:creator>鐖遍キ鐩?/dc:creator><author>鐖遍キ鐩?/author><pubDate>Tue, 26 Sep 2006 08:51:00 GMT</pubDate><guid>http://www.shnenglu.com/ivenher/articles/12986.html</guid><wfw:comment>http://www.shnenglu.com/ivenher/comments/12986.html</wfw:comment><comments>http://www.shnenglu.com/ivenher/articles/12986.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/ivenher/comments/commentRss/12986.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/ivenher/services/trackbacks/12986.html</trackback:ping><description><![CDATA[ <strong> <font color="#ac0000">鍙橀噺鍜屽父閲?br /><br /></font> </strong>銆銆鍙橀噺瀛樻斁鍦ㄥ唴瀛樹腑浠ヨ幏寰楀鹼紝鑳借PL/SQL鍧楀紩鐢ㄣ備綘鍙互鎶婂彉閲忔兂璞℃垚涓涓彲鍌ㄨ棌涓滆タ鐨勫鍣紝瀹瑰櫒鍐呯殑涓滆タ鏄彲浠ユ敼鍙樼殑銆?br /><br />銆銆<b>澹版槑鍙橀噺</b><br /><br />銆銆鍙橀噺涓鑸兘鍦≒L/SQL鍧楃殑澹版槑閮ㄥ垎澹版槑錛孭L/SQL鏄竴縐嶅己澹殑綾誨瀷璇█錛岃繖灝辨槸璇村湪寮曠敤鍙橀噺鍓嶅繀欏婚鍏堝0鏄庯紝瑕佸湪鎵ц鎴栧紓甯稿鐞嗛儴鍒嗕嬌鐢ㄥ彉閲忥紝閭d箞鍙橀噺蹇呴』棣栧厛鍦ㄥ0鏄庨儴鍒嗚繘琛屽0鏄庛?br /><br />銆銆澹版槑鍙橀噺鐨勮娉曞涓嬶細<br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>Variable_name [CONSTANT] databyte [NOT NULL][:=|DEFAULT expression]</td></tr></tbody></table><br />銆銆娉ㄦ剰:鍙互鍦ㄥ0鏄庡彉閲忕殑鍚屾椂緇欏彉閲忓己鍒舵х殑鍔犱笂NOT NULL綰︽潫鏉′歡錛屾鏃跺彉閲忓湪鍒濆鍖栨椂蹇呴』璧嬪箋?br /><br />銆銆<b>緇欏彉閲忚祴鍊?/b><br /><br />銆銆緇欏彉閲忚祴鍊兼湁涓ょ鏂瑰紡錛?br /><br />銆銆. 鐩存帴緇欏彉閲忚祴鍊?br /><br />銆銆銆X:=200;<br />銆銆銆Y=Y+(X*20);<br /><br />銆銆. 閫氳繃SQL SELECT INTO 鎴朏ETCH INTO緇欏彉閲忚祴鍊?br /><br />SELECT SUM(SALARY),SUM(SALARY*0.1)<br />INTO TOTAL_SALARY,TATAL_COMMISSION<br />FROM EMPLOYEE<br />WHERE DEPT=10;<br /><br />銆銆<b>甯擱噺</b><br /><br />銆銆甯擱噺涓庡彉閲忕浉浼鹼紝浣嗗父閲忕殑鍊煎湪紼嬪簭鍐呴儴涓嶈兘鏀瑰彉錛屽父閲忕殑鍊煎湪瀹氫箟鏃惰祴浜堬紝錛屼粬鐨勫0鏄庢柟寮忎笌鍙橀噺鐩鎬技錛屼絾蹇呴』鍖呮嫭鍏抽敭瀛桟ONSTANT銆傚父閲忓拰鍙橀噺閮藉彲琚畾涔変負SQL鍜岀敤鎴峰畾涔夌殑鏁版嵁綾誨瀷銆?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>ZERO_VALUE CONSTANT NUMBER:=0;</td></tr></tbody></table><br />銆銆榪欎釜璇彞瀹氫簡涓涓悕鍙玓ERO_VALUE銆佹暟鎹被鍨嬫槸NUMBER銆佸間負0鐨勫父閲忋?br /><br />銆銆鏍囬噺(scalar)鏁版嵁綾誨瀷<br /><br />銆銆鏍囬噺(scalar)鏁版嵁綾誨瀷娌℃湁鍐呴儴緇勪歡錛屼粬浠ぇ鑷村彲鍒嗕負浠ヤ笅鍥涚被錛?br /><br />銆銆銆. number<br />銆銆銆. character<br />銆銆銆. date/time<br />銆銆銆. boolean<br /><br />銆銆琛?鏄劇ず浜嗘暟瀛楁暟鎹被鍨嬶紱琛?鏄劇ず浜嗗瓧絎︽暟鎹被鍨嬶紱琛?鏄劇ず浜嗘棩鏈熷拰甯冨皵鏁版嵁綾誨瀷銆?br /><br />銆銆琛? Scalar Types:Numeric<br /><table cellspacing="0" width="100%" border="1"><tbody><tr><td>Datatype</td><td>Range</td><td>Subtypes</td><td>description</td></tr><tr><td valign="top" height="85">BINARY_INTEGER</td><td valign="top" height="85">-214748-2147483647</td><td valign="top" height="85">NATURAL<br />NATURAL<br />NPOSITIVE<br />POSITIVEN<br />SIGNTYPE <br /></td><td valign="top" height="85">鐢ㄤ簬瀛樺偍鍗曞瓧鑺傛暣鏁般?br />瑕佹眰瀛樺偍闀垮害浣庝簬NUMBER鍊箋?br />鐢ㄤ簬闄愬埗鑼冨洿鐨勫瓙綾誨瀷(SUBTYPE):<br />銆NATURAL:鐢ㄤ簬闈炶礋鏁?br />銆POSITIVE:鍙敤浜庢鏁?br />銆NATURALN:鍙敤浜庨潪璐熸暟鍜岄潪NULL鍊?br />銆POSITIVEN:鍙敤浜庢鏁幫紝涓嶈兘鐢ㄤ簬NULL鍊?br />銆SIGNTYPE:鍙湁鍊?-1銆?鎴?.</td></tr><tr><td valign="top">NUMBER</td><td valign="top">1.0E-130-9.99E125</td><td>DEC<br />DECIMAL<br />DOUBLE <br />PRECISION<br />FLOAT <br />INTEGERIC<br />INT<br />NUMERIC<br />REAL<br />SMALLINT</td><td valign="top">瀛樺偍鏁板瓧鍊鹼紝鍖呮嫭鏁存暟鍜屾誕鐐規暟銆傚彲浠ラ夋嫨綺懼害鍜屽埢搴︽柟寮忥紝璇硶錛?br />number[錛?precision>[,<scale>]錛塢銆?br />緙虹渷鐨勭簿搴︽槸38,scale鏄?.</scale></precision></td></tr><tr><td>PLS_INTEGER</td><td>-2147483647-2147483647</td><td>聽</td><td>涓嶣INARY_INTEGER鍩烘湰鐩稿悓錛屼絾閲囩敤鏈哄櫒榪愮畻鏃訛紝PLS_INTEGER鎻愪緵鏇村ソ鐨勬ц兘 銆?/td></tr></tbody></table><br />銆銆琛? 瀛楃鏁版嵁綾誨瀷 <br /><table cellspacing="0" width="100%" border="1"><tbody><tr><td>datatype</td><td>rang</td><td>subtype</td><td>description</td></tr><tr><td>CHAR</td><td>鏈澶ч暱搴?2767瀛楄妭 </td><td>CHARACTER</td><td>瀛樺偍瀹氶暱瀛楃涓詫紝濡傛灉闀垮害娌℃湁紜畾錛岀己鐪佹槸1</td></tr><tr><td>LONG</td><td>鏈澶ч暱搴?147483647瀛楄妭</td><td>聽</td><td>瀛樺偍鍙彉闀垮害瀛楃涓?/td></tr><tr><td>RAW </td><td>鏈澶ч暱搴?2767瀛楄妭</td><td>聽</td><td>鐢ㄤ簬瀛樺偍浜岃繘鍒舵暟鎹拰瀛楄妭瀛楃涓詫紝褰撳湪涓や釜鏁版嵁搴撲箣闂磋繘琛屼紶閫掓椂錛孯AW鏁版嵁涓嶅湪瀛楃闆嗕箣闂磋繘琛岃漿鎹€?/td></tr><tr><td>LONGRAW</td><td>鏈澶ч暱搴?147483647</td><td>聽</td><td>涓嶭ONG鏁版嵁綾誨瀷鐩鎬技錛屽悓鏍蜂粬涔熶笉鑳藉湪瀛楃闆嗕箣闂磋繘琛岃漿鎹€?/td></tr><tr><td>ROWID</td><td>18涓瓧鑺?/td><td>聽</td><td>涓庢暟鎹簱ROWID浼垪綾誨瀷鐩稿悓錛岃兘澶熷瓨鍌ㄤ竴涓鏍囩ず絎︼紝鍙互灝嗚鏍囩ず絎︾湅浣滄暟鎹簱涓瘡涓琛岀殑鍞竴閿箋?/td></tr><tr><td>VARCHAR2</td><td>鏈澶ч暱搴?2767瀛楄妭</td><td>STRINGVARCHAR</td><td>涓嶸ARCHAR鏁版嵁綾誨瀷鐩鎬技錛屽瓨鍌ㄥ彲鍙橀暱搴︾殑瀛楃涓層傚0鏄庢柟娉曚笌VARCHAR鐩稿悓 </td></tr></tbody></table><br />銆銆琛? DATE鍜孊OOLEAN<br /><table cellspacing="0" width="100%" border="1"><tbody><tr><td>datatype</td><td>range </td><td>description</td></tr><tr><td>BOOLEAN</td><td>TRUE/FALSE</td><td>瀛樺偍閫昏緫鍊糡RUE鎴朏ALSE,鏃犲弬鏁?/td></tr><tr><td>DATE</td><td>01/01/4712 BC </td><td>瀛樺偍鍥哄畾闀跨殑鏃ユ湡鍜屾椂闂村鹼紝鏃ユ湡鍊間腑鍖呭惈鏃墮棿</td></tr></tbody></table><br />銆銆LOB鏁版嵁綾誨瀷<br /><br />銆銆LOB(澶у璞?Large object) 鏁版嵁綾誨瀷鐢ㄤ簬瀛樺偍綾諱技鍥懼儚錛屽0闊寵繖鏍風殑澶у瀷鏁版嵁瀵硅薄錛孡OB鏁版嵁瀵硅薄鍙互鏄簩榪涘埗鏁版嵁涔熷彲浠ユ槸瀛楃鏁版嵁錛屽叾鏈澶ч暱搴︿笉瓚呰繃4G銆侺OB鏁版嵁綾誨瀷鏀寔浠繪剰璁塊棶鏂瑰紡錛孡ONG鍙敮鎸侀『搴忚闂柟寮忋侺OB瀛樺偍鍦ㄤ竴涓崟鐙殑浣嶇疆涓婏紝鍚屾椂涓涓?LOB瀹氫綅絎?(LOB locator)瀛樺偍鍦ㄥ師濮嬬殑琛ㄤ腑錛岃瀹氫綅絎︽槸涓涓寚鍚戝疄闄呮暟鎹殑鎸囬拡銆傚湪PL/SQL涓搷浣淟OB鏁版嵁瀵硅薄浣跨敤ORACLE鎻愪緵鐨勫寘DBMS_LOB.LOB鏁版嵁綾誨瀷鍙垎涓轟互涓嬪洓綾伙細<br /><br />銆銆. BFILE<br />銆銆. BLOB<br />銆銆. CLOB<br />銆銆. NCLOB<br /><br />銆銆鎿嶄綔絎?br /><br />銆銆涓庡叾浠栫▼搴忚璁¤璦鐩稿悓錛孭L/SQL鏈変竴緋誨垪鎿嶄綔絎︺傛搷浣滅鍒嗕負涓嬮潰鍑犵被錛?br /><br />銆銆. 綆楁湳鎿嶄綔絎?br /><br />銆銆. 鍏崇郴鎿嶄綔絎?br /><br />銆銆. 姣旇緝鎿嶄綔絎?br /><br />銆銆. 閫昏緫鎿嶄綔絎?br /><br />銆銆綆楁湳鎿嶄綔絎﹀琛?鎵紺?br /><br /><table cellspacing="0" width="100%" border="1"><tbody><tr><td>operator</td><td>operation</td></tr><tr><td>+ </td><td>鍔?/td></tr><tr><td>- </td><td>鍑?/td></tr><tr><td>/ </td><td>闄?/td></tr><tr><td>* </td><td>涔?/td></tr><tr><td>**</td><td>涔樻柟</td></tr></tbody></table><br />銆銆鍏崇郴鎿嶄綔絎︿富瑕佺敤浜庢潯浠跺垽鏂鍙ユ垨鐢ㄤ簬where瀛愪覆涓紝鍏崇郴鎿嶄綔絎︽鏌ユ潯浠跺拰緇撴灉鏄惁涓簍rue鎴杅alse,琛?鏄疨L/SQL涓殑鍏崇郴鎿嶄綔絎?br /><br /><table cellspacing="0" width="100%" border="1"><tbody><tr><td>operator</td><td>operation</td></tr><tr><td>< </td><td>灝忎簬鎿嶄綔絎?/td></tr><tr><td><= </td><td>灝忎簬鎴栫瓑浜庢搷浣滅</td></tr><tr><td>> </td><td>澶т簬鎿嶄綔絎?/td></tr><tr><td>>=</td><td>澶т簬鎴栫瓑浜庢搷浣滅</td></tr><tr><td>= </td><td>絳変簬鎿嶄綔絎?</td></tr><tr><td>!= </td><td>涓嶇瓑浜庢搷浣滅</td></tr><tr><td><> </td><td>涓嶇瓑浜庢搷浣滅</td></tr><tr><td>:= </td><td>璧嬪兼搷浣滅</td></tr></tbody></table><br />銆銆琛? 鏄劇ず鐨勬槸姣旇緝鎿嶄綔絎?br /><table cellspacing="0" width="100%" border="1"><tbody><tr><td>operator </td><td>operation</td></tr><tr><td>IS NULL</td><td>濡傛灉鎿嶄綔鏁頒負NULL榪斿洖TRUE</td></tr><tr><td>LIKE</td><td>姣旇緝瀛楃涓插?/td></tr><tr><td>BETWEEN</td><td>楠岃瘉鍊兼槸鍚﹀湪鑼冨洿涔嬪唴</td></tr><tr><td>IN</td><td>楠岃瘉鎿嶄綔鏁板湪璁懼畾鐨勪竴緋誨垪鍊間腑</td></tr></tbody></table><br />銆銆琛?.8鏄劇ず鐨勬槸閫昏緫鎿嶄綔絎?br /><table cellspacing="0" width="100%" border="1"><tbody><tr><td>operator</td><td>operation</td></tr><tr><td>AND </td><td>涓や釜鏉′歡閮藉繀欏繪弧瓚?/td></tr><tr><td>OR</td><td>鍙婊¤凍涓や釜鏉′歡涓殑涓涓?/td></tr><tr><td>NOT</td><td>鍙栧弽</td></tr></tbody></table><br />銆銆<b>鎵ц閮ㄥ垎</b><br /><br />銆銆鎵ц閮ㄥ垎鍖呭惈浜嗘墍鏈夌殑璇彞鍜岃〃杈懼紡,鎵ц閮ㄥ垎浠ュ叧閿瓧BEGIN寮濮嬶紝浠ュ叧閿瓧EXCEPTION緇撴潫錛屽鏋淓XCEPTION涓嶅瓨鍦紝閭d箞灝嗕互鍏抽敭瀛桬ND緇撴潫銆傚垎鍙峰垎闅旀瘡涓鏉¤鍙ワ紝浣跨敤璧嬪兼搷浣滅:=鎴朣ELECT INTO鎴朏ETCH INTO緇欐瘡涓彉閲忚祴鍊鹼紝鎵ц閮ㄥ垎鐨勯敊璇皢鍦ㄥ紓甯稿鐞嗛儴鍒嗚В鍐籌紝鍦ㄦ墽琛岄儴鍒嗕腑鍙互浣跨敤鍙︿竴涓狿L/SQL紼嬪簭鍧楋紝榪欑紼嬪簭鍧楄縐頒負宓屽鍧?br /><br />銆銆鎵鏈夌殑SQL鏁版嵁鎿嶄綔璇彞閮藉彲浠ョ敤浜庢墽琛岄儴鍒嗭紝PL/SQL鍧椾笉鑳藉啀灞忓箷涓婃樉紺篠ELECT璇彞鐨勮緭鍑恒係ELECT璇彞蹇呴』鍖呮嫭涓涓狪NTO瀛愪覆鎴栬呮槸娓告爣鐨勪竴閮ㄥ垎錛屾墽琛岄儴鍒嗕嬌鐢ㄧ殑鍙橀噺鍜屽父閲忓繀欏婚鍏堝湪澹版槑閮ㄥ垎澹版槑錛屾墽琛岄儴鍒嗗繀欏昏嚦灝戝寘鎷竴鏉″彲鎵ц璇彞錛孨ULL鏄竴鏉″悎娉曠殑鍙墽琛岃鍙ワ紝浜嬬墿鎺у埗璇彞COMMIT鍜孯OLLBACK鍙互鍦ㄦ墽琛岄儴鍒嗕嬌鐢紝鏁版嵁瀹氫箟璇█(Data Definition language)涓嶈兘鍦ㄦ墽琛岄儴鍒嗕腑浣跨敤錛孌DL璇彞涓嶦XECUTE IMMEDIATE涓璧蜂嬌鐢ㄦ垨鑰呮槸DBMS_SQL璋冪敤銆?br /><br />銆銆<strong>鎵ц涓涓狿L/SQL鍧?br /></strong><br />銆銆SQL*PLUS涓尶鍚嶇殑PL/SQL鍧楃殑鎵ц鏄湪PL/SQL鍧楀悗杈撳叆/鏉ユ墽琛岋紝濡備笅闈㈢殑渚嬪瓙鎵紺猴細<br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>declare <br />銆v_comm_percent constant number:=10;<br />begin<br />銆update emp<br />銆set comm=sal*v_comm_percent<br />銆where deptno=10;<br />銆end<br />SQL> /<br />PL/SQL procedure successfully completed.<br /><br />SQL></td></tr></tbody></table><br />銆銆鍛藉悕鐨勭▼搴忎笌鍖垮悕紼嬪簭鐨勬墽琛屼笉鍚岋紝鎵ц鍛藉悕鐨勭▼搴忓潡蹇呴』浣跨敤execute鍏抽敭瀛楋細<br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>create or replace procedure update_commission<br />銆(v_dept in number,v_pervent in number default 10) is <br />begin<br />銆update emp<br />銆set comm=sal*v_percent<br />銆where deptno=v_dept;<br />end<br /><br />SQL>/<br /><br />Procedure created<br /><br />SQL>execute update_commission(10,15);<br /><br />PL/SQL procedure successfully completed.<br /><br />SQL> </td></tr></tbody></table><br /><br />銆銆濡傛灉鍦ㄥ彟涓涓懡鍚嶇▼搴忓潡鎴栧尶鍚嶇▼搴忓潡涓墽琛岃繖涓▼搴忥紝閭d箞灝變笉闇瑕丒XECUTE鍏寵繘瀛椼?br /><br /><table width="100%" bgcolor="#ffffff"><tbody><tr><td>declare<br />銆v_dept number;<br />begin<br />銆select a.deptno<br />銆into v_dept<br />銆from emp a<br />銆where job='PRESIDENT'<br />銆update_commission(v_dept);<br />end<br />SQL>/<br />銆PL/SQL procedure successfully completed<br />SQL></td></tr></tbody></table><img src ="http://www.shnenglu.com/ivenher/aggbug/12986.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/ivenher/" target="_blank">鐖遍キ鐩?/a> 2006-09-26 16:51 <a href="http://www.shnenglu.com/ivenher/articles/12986.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>PL/SQL 璇█鍩虹http://www.shnenglu.com/ivenher/articles/12985.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Tue, 26 Sep 2006 08:49:00 GMThttp://www.shnenglu.com/ivenher/articles/12985.htmlhttp://www.shnenglu.com/ivenher/comments/12985.htmlhttp://www.shnenglu.com/ivenher/articles/12985.html#Feedback0http://www.shnenglu.com/ivenher/comments/commentRss/12985.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/12985.html
銆銆PL/SQL鐨勪紭鐐?/font>

銆銆浠庣増鏈?寮濮婸L/SQL灝辮鍙潬鐨勬暣鍚堝埌ORACLE涓簡錛屼竴鏃︽帉鎻L/SQL鐨勪紭鐐逛互鍙婂叾鐙湁鐨勬暟鎹鐞嗙殑渚垮埄鎬э紝閭d箞浣犲緢闅炬兂璞RACLE緙轟簡PL/SQL鐨勬儏褰€侾L/SQL 涓嶆槸涓涓嫭绔嬬殑浜у搧錛屼粬鏄竴涓暣鍚堝埌ORACLE鏈嶅姟鍣ㄥ拰ORACLE宸ュ叿涓殑鎶鏈紝鍙互鎶奝L/SQL鐪嬩綔ORACLE鏈嶅姟鍣ㄥ唴鐨勪竴涓紩鎿庯紝sql璇彞鎵ц鑰呭鐞嗗崟涓殑sql璇彞錛孭L/SQL寮曟搸澶勭悊PL/SQL紼嬪簭鍧椼傚綋PL/SQL紼嬪簭鍧楀湪PL/SQL寮曟搸澶勭悊鏃訛紝ORACLE鏈嶅姟鍣ㄤ腑鐨凷QL璇彞鎵ц鍣ㄥ鐞唒l/sql紼嬪簭鍧椾腑鐨凷QL璇彞銆?br />
銆銆PL/SQL鐨勪紭鐐瑰涓嬶細

銆銆. PL/SQL鏄竴縐嶉珮鎬ц兘鐨勫熀浜庝簨鍔″鐞嗙殑璇█錛岃兘榪愯鍦ㄤ換浣昈RACLE鐜涓紝鏀寔鎵鏈夋暟鎹鐞嗗懡浠ゃ傞氳繃浣跨敤PL/SQL紼嬪簭鍗曞厓澶勭悊SQL鐨勬暟鎹畾涔夊拰鏁版嵁鎺у埗鍏冪礌銆?br />
銆銆. PL/SQL鏀寔鎵鏈塖QL鏁版嵁綾誨瀷鍜屾墍鏈塖QL鍑芥暟錛屽悓鏃舵敮鎸佹墍鏈塐RACLE瀵硅薄綾誨瀷

銆銆. PL/SQL鍧楀彲浠ヨ鍛藉悕鍜屽瓨鍌ㄥ湪ORACLE鏈嶅姟鍣ㄤ腑錛屽悓鏃朵篃鑳借鍏朵粬鐨凱L/SQL紼嬪簭鎴朣QL鍛戒護璋冪敤錛屼換浣曞鎴?鏈嶅姟鍣ㄥ伐鍏烽兘鑳借闂甈L/SQL紼嬪簭錛屽叿鏈夊緢濂界殑鍙噸鐢ㄦс?br />
銆銆. 鍙互浣跨敤ORACLE鏁版嵁宸ュ叿綆$悊瀛樺偍鍦ㄦ湇鍔″櫒涓殑PL/SQL紼嬪簭鐨勫畨鍏ㄦс傚彲浠ユ巿鏉冩垨鎾ら攢鏁版嵁搴撳叾浠栫敤鎴瘋闂甈L/SQL紼嬪簭鐨勮兘鍔涖?br />
銆銆. PL/SQL浠g爜鍙互浣跨敤浠諱綍ASCII鏂囨湰緙栬緫鍣ㄧ紪鍐欙紝鎵浠ュ浠諱綍ORACLE鑳藉榪愯鐨勬搷浣滅郴緇熼兘鏄潪甯鎬究鍒╃殑

銆銆. 瀵逛簬SQL錛孫RACLE蹇呴』鍦ㄥ悓涓鏃墮棿澶勭悊姣忎竴鏉QL璇彞錛屽湪緗戠粶鐜涓嬭繖灝辨剰鍛充綔姣忎竴涓嫭绔嬬殑璋冪敤閮藉繀欏昏oracle鏈嶅姟鍣ㄥ鐞嗭紝榪欏氨鍗犵敤澶ч噺鐨勬湇鍔″櫒鏃墮棿錛屽悓鏃跺鑷寸綉緇滄嫢鎸ゃ傝孭L/SQL鏄互鏁翠釜璇彞鍧楀彂緇欐湇鍔″櫒錛岃繖灝遍檷浣庝簡緗戠粶鎷ユ尋銆?br />
銆銆PL/SQL鍧楃粨鏋?/b>

銆銆PL/SQL鏄竴縐嶅潡緇撴瀯鐨勮璦錛岀粍鎴怭L/SQL紼嬪簭鐨勫崟鍏冩槸閫昏緫鍧楋紝涓涓狿L/SQL 紼嬪簭鍖呭惈浜嗕竴涓垨澶氫釜閫昏緫鍧楋紝姣忎釜鍧楅兘鍙互鍒掑垎涓轟笁涓儴鍒嗐備笌鍏朵粬璇█鐩稿悓錛屽彉閲忓湪浣跨敤涔嬪墠蹇呴』澹版槑錛孭L/SQL鎻愪緵浜嗙嫭绔嬬殑涓撻棬鐢ㄤ簬澶勭悊寮傚父鐨勯儴鍒嗭紝涓嬮潰鎻忚堪浜哖L/SQL鍧楃殑涓嶅悓閮ㄥ垎錛?br />
銆銆澹版槑閮ㄥ垎(Declaration section)

銆銆澹版槑閮ㄥ垎鍖呭惈浜嗗彉閲忓拰甯擱噺鐨勬暟鎹被鍨嬪拰鍒濆鍊箋傝繖涓儴鍒嗘槸鐢卞叧閿瓧DECLARE寮濮嬶紝濡傛灉涓嶉渶瑕佸0鏄庡彉閲忔垨甯擱噺錛岄偅涔堝彲浠ュ拷鐣ヨ繖涓閮ㄥ垎錛涢渶瑕佽鏄庣殑鏄父鏍囩殑澹版槑涔熷湪榪欎竴閮ㄥ垎銆?br />
銆銆鎵ц閮ㄥ垎(Executable section)

銆銆鎵ц閮ㄥ垎鏄疨L/SQL鍧椾腑鐨勬寚浠ら儴鍒嗭紝鐢卞叧閿瓧BEGIN寮濮嬶紝鎵鏈夌殑鍙墽琛岃鍙ラ兘鏀懼湪榪欎竴閮ㄥ垎錛屽叾浠栫殑PL/SQL鍧椾篃鍙互鏀懼湪榪欎竴閮ㄥ垎銆?br />
銆銆寮傚父澶勭悊閮ㄥ垎(Exception section)

銆銆榪欎竴閮ㄥ垎鏄彲閫夌殑錛屽湪榪欎竴閮ㄥ垎涓鐞嗗紓甯告垨閿欒錛屽寮傚父澶勭悊鐨勮緇嗚璁烘垜浠湪鍚庨潰榪涜銆?br />
銆銆PL/SQL鍧楄娉?/b>

[DECLARE]
---declaration statements
BEGIN
---executable statements
[EXCEPTION]
---exception statements
END

銆銆PL/SQL鍧椾腑鐨勬瘡涓鏉¤鍙ラ兘蹇呴』浠ュ垎鍙風粨鏉燂紝SQL璇彞鍙互浣垮琛岀殑錛屼絾鍒嗗彿琛ㄧず璇ヨ鍙ョ殑緇撴潫銆備竴琛屼腑鍙互鏈夊鏉QL璇彞錛屼粬浠箣闂翠互鍒嗗彿鍒嗛殧銆傛瘡涓涓狿L/SQL鍧楃敱BEGIN鎴朌ECLARE寮濮嬶紝浠ND緇撴潫銆傛敞閲婄敱--鏍囩ず銆?br />
銆銆PL/SQL鍧楃殑鍛藉悕鍜屽尶鍚?/b>

銆銆PL/SQL紼嬪簭鍧楀彲浠ユ槸涓涓懡鍚嶇殑紼嬪簭鍧椾篃鍙互鏄竴涓尶鍚嶇▼搴忓潡銆傚尶鍚嶇▼搴忓潡鍙互鐢ㄥ湪鏈嶅姟鍣ㄧ涔熷彲浠ョ敤鍦ㄥ鎴風銆?br />
銆銆鍛藉悕紼嬪簭鍧楀彲浠ュ嚭鐜板湪鍏朵粬PL/SQL紼嬪簭鍧楃殑澹版槑閮ㄥ垎錛岃繖鏂歸潰姣旇緝鏄庢樉鐨勬槸瀛愮▼搴忥紝瀛愮▼搴忓彲浠ュ湪鎵ц閮ㄥ垎寮曠敤錛屼篃鍙互鍦ㄥ紓甯稿鐞嗛儴鍒嗗紩鐢ㄣ?br />
銆銆PL/SQL紼嬪簭鍧楀彲鑳岀嫭绔嬬紪璇戝茍瀛樺偍鍦ㄦ暟鎹簱涓紝浠諱綍涓庢暟鎹簱鐩歌繛鎺ョ殑搴旂敤紼嬪簭閮藉彲浠ヨ闂繖浜涘瓨鍌ㄧ殑PL/SQL紼嬪簭鍧椼侽RACLE鎻愪緵浜嗗洓縐嶇被鍨嬬殑鍙瓨鍌ㄧ殑紼嬪簭錛?br />
銆銆銆. 鍑芥暟

銆銆銆. 榪囩▼

銆銆銆. 鍖?br />
銆銆銆. 瑙﹀彂鍣?br />
銆銆鍑芥暟

銆銆鍑芥暟鏄懡鍚嶄簡鐨勩佸瓨鍌ㄥ湪鏁版嵁搴撲腑鐨凱L/SQL紼嬪簭鍧椼傚嚱鏁版帴鍙楅浂涓垨澶氫釜杈撳叆鍙傛暟錛屾湁涓涓繑鍥炲鹼紝榪斿洖鍊肩殑鏁版嵁綾誨瀷鍦ㄥ垱寤哄嚱鏁版椂瀹氫箟銆傚畾涔夊嚱鏁扮殑璇硶濡備笅錛?br />
FUNCTION name [{parameter[,parameter,...])] RETURN datatypes IS
[local declarations]
BEGIN
execute statements
[EXCEPTION
exception handlers]
END [name]

銆銆榪囩▼

銆銆瀛樺偍榪囩▼鏄竴涓狿L/SQL紼嬪簭鍧楋紝鎺ュ彈闆朵釜鎴栧涓弬鏁頒綔涓鴻緭鍏?INPUT)鎴栬緭鍑?OUTPUT)銆佹垨鏃綔杈撳叆鍙堜綔杈撳嚭(INOUT)錛屼笌鍑芥暟涓嶅悓錛屽瓨鍌ㄨ繃紼嬫病鏈夎繑鍥炲鹼紝瀛樺偍榪囩▼涓嶈兘鐢盨QL璇彞鐩存帴浣跨敤錛屽彧鑳介氳繃EXECUT鍛戒護鎴朠L/SQL紼嬪簭鍧楀唴閮ㄨ皟鐢紝瀹氫箟瀛樺偍榪囩▼鐨勮娉曞涓嬶細

PROCEDURE name [(parameter[,parameter,...])] IS
[local declarations]
BEGIN
execute statements
[EXCEPTION
exception handlers ]
END [name]

銆銆鍖?package)

銆銆鍖呭叾瀹炲氨鏄緇勫悎鍦ㄤ竴璧風殑鐩稿叧瀵硅薄鐨勯泦鍚堬紝褰撳寘涓換浣曞嚱鏁版垨瀛樺偍榪囩▼琚皟鐢紝鍖呭氨琚姞杞藉叆鍐呭瓨涓紝鍖呬腑鐨勪換浣曞嚱鏁版垨瀛樺偍榪囩▼鐨勫瓙紼嬪簭璁塊棶閫熷害灝嗗ぇ澶у姞蹇?br />鍖呯敱涓や釜閮ㄥ垎緇勬垚錛氳鑼冨拰鍖呬富浣?body),瑙勮寖鎻忚堪鍙橀噺銆佸父閲忋佹父鏍囥佸拰瀛愮▼搴忥紝鍖呬綋瀹屽叏瀹氫箟瀛愮▼搴忓拰娓告爣銆?br />
銆銆瑙﹀彂鍣?trigger)

銆銆瑙﹀彂鍣ㄤ笌涓涓〃鎴栨暟鎹簱浜嬩歡鑱旂郴鍦ㄤ竴璧風殑錛屽綋涓涓Е鍙戝櫒浜嬩歡鍙戠敓鏃訛紝瀹氫箟鍦ㄨ〃涓婄殑瑙﹀彂鍣ㄨ瑙﹀彂銆?br />

]]>
[oracle]瑙﹀彂鍣ㄥ強搴忓垪緇撳悎瀹炵幇鑷瀛楁http://www.shnenglu.com/ivenher/articles/12949.html鐖遍キ鐩?/dc:creator>鐖遍キ鐩?/author>Mon, 25 Sep 2006 09:45:00 GMThttp://www.shnenglu.com/ivenher/articles/12949.htmlhttp://www.shnenglu.com/ivenher/comments/12949.htmlhttp://www.shnenglu.com/ivenher/articles/12949.html#Feedback0http://www.shnenglu.com/ivenher/comments/commentRss/12949.htmlhttp://www.shnenglu.com/ivenher/services/trackbacks/12949.html[oracle]瑙﹀彂鍣ㄥ強搴忓垪緇撳悎瀹炵幇鑷瀛楁
    璁﹐racle瀹炵幇鑷瀛楁

    鍏堝緩搴忓垪,鐒跺悗寤虹珛涓涓Е鍙戝櫒瀹炵幇!
    cata0鏄〃鍚?cata0_id鏄渶瑕佽嚜澧炵殑瀛楁!
    CREATE SEQUENCE SEQ_cata0
    聽INCREMENT BY聽 1
    聽START WITH聽 1
    聽MAXVALUE聽 9999999

    CREATE TRIGGER TRG_cata0 BEFORE
    INSERT聽 ON cata0
    FOR EACH ROW begin
    聽聽 SELECT SEQ_cata0.NEXTVAL
    聽聽聽聽 INTO :NEW.cata0_ID
    聽聽聽聽 FROM DUAL;
    End TRG_cata0;



]]>
oracle鏌ヨ鍓嶅嚑琛?/title><link>http://www.shnenglu.com/ivenher/articles/12833.html</link><dc:creator>鐖遍キ鐩?/dc:creator><author>鐖遍キ鐩?/author><pubDate>Fri, 22 Sep 2006 08:30:00 GMT</pubDate><guid>http://www.shnenglu.com/ivenher/articles/12833.html</guid><wfw:comment>http://www.shnenglu.com/ivenher/comments/12833.html</wfw:comment><comments>http://www.shnenglu.com/ivenher/articles/12833.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/ivenher/comments/commentRss/12833.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/ivenher/services/trackbacks/12833.html</trackback:ping><description><![CDATA[ <p>鏌ヨ鍓?00琛岃褰?br />select * from聽 mytab where rownum<100</p> <img src ="http://www.shnenglu.com/ivenher/aggbug/12833.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/ivenher/" target="_blank">鐖遍キ鐩?/a> 2006-09-22 16:30 <a href="http://www.shnenglu.com/ivenher/articles/12833.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://www.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://dehuabz.com" target="_blank">在线高清一区</a>| <a href="http://zhongrenma.com" target="_blank">欧美高清hd18日本</a>| <a href="http://www-57549.com" target="_blank">国产女主播视频一区二区</a>| <a href="http://lexueit.com" target="_blank">99精品99久久久久久宅男</a>| <a href="http://sdluliang.com" target="_blank">亚洲国产精品福利</a>| <a href="http://077229.com" target="_blank">欧美电影免费观看高清完整版</a>| <a href="http://zhiuh.com" target="_blank">亚洲国产精品一区二区www</a>| <a href="http://bjlaosha.com" target="_blank">亚洲国产精品成人一区二区</a>| <a href="http://sauske.com" target="_blank">欧美日韩另类一区</a>| <a href="http://wwwhaodd116.com" target="_blank">欧美一区二区三区免费视</a>| <a href="http://337105.com" target="_blank">亚洲欧美一区二区精品久久久</a>| <a href="http://spvicarb.com" target="_blank">国产视频观看一区</a>| <a href="http://northboiler.com" target="_blank">欧美成年人网站</a>| <a href="http://www17727.com" target="_blank">欧美三级乱码</a>| <a href="http://cuucs.com" target="_blank">久久久久久久一区二区三区</a>| <a href="http://335848.com" target="_blank">蜜桃av综合</a>| <a href="http://www47777.com" target="_blank">亚洲一区二区高清视频</a>| <a href="http://haomscq.com" target="_blank">欧美影院一区</a>| <a href="http://5252bnet.com" target="_blank">aaa亚洲精品一二三区</a>| <a href="http://caca060.com" target="_blank">亚洲在线一区二区</a>| <a href="http://szsywine.com" target="_blank">亚洲国产精品va</a>| <a href="http://www1982t.com" target="_blank">一区二区三区 在线观看视</a>| <a href="http://muwendada.com" target="_blank">国产欧美在线</a>| <a href="http://86311ib.com" target="_blank">亚洲精品久久7777</a>| <a href="http://hbsmhy.com" target="_blank">国产一区二区三区在线观看免费视频 </a>| <a href="http://lgaoxiao.com" target="_blank">99riav国产精品</a>| <a href="http://8eeeccc.com" target="_blank">午夜精品理论片</a>| <a href="http://wawabt.com" target="_blank">亚洲精品国产拍免费91在线</a>| <a href="http://edtxt.com" target="_blank">中文亚洲免费</a>| <a href="http://xb989.com" target="_blank">亚洲人成在线观看网站高清</a>| <a href="http://7485888.com" target="_blank">夜夜夜久久久</a>| <a href="http://yahuake.com" target="_blank">蜜臀av国产精品久久久久</a>| <a href="http://136066.com" target="_blank">欧美日韩免费一区二区三区视频</a>| <a href="http://fobdoer.com" target="_blank">久久精品国产久精国产爱</a>| <a href="http://www17727.com" target="_blank">欧美精品一线</a>| <a href="http://yeepey.com" target="_blank">欧美成人免费大片</a>| <a href="http://tp112.com" target="_blank">国产情人节一区</a>| <a href="http://725443.com" target="_blank">日韩视频一区二区三区在线播放免费观看 </a>| <a href="http://caoxiu33.com" target="_blank">亚洲精品一区在线观看</a>| <a href="http://4r6b.com" target="_blank">国模 一区 二区 三区</a>| <a href="http://83wn.com" target="_blank">一区二区国产日产</a>| <a href="http://678665.com" target="_blank">日韩视频免费观看高清完整版</a>| <a href="http://677cn.com" target="_blank">欧美一区二区三区在线</a>| <a href="http://www4848xx.com" target="_blank">亚洲午夜精品福利</a>| <a href="http://19zet.com" target="_blank">欧美精品日韩综合在线</a>| <a href="http://7v51.com" target="_blank">欧美mv日韩mv亚洲</a>| <a href="http://jinlijun.com" target="_blank">好男人免费精品视频</a>| <a href="http://www-893333.com" target="_blank">亚洲素人在线</a>| <a href="http://376524.com" target="_blank">亚洲一区二区日本</a>| <a href="http://niceboybao.com" target="_blank">欧美激情中文不卡</a>| <a href="http://mes-dvd.com" target="_blank">亚洲国产电影</a>| <a href="http://www92444.com" target="_blank">亚洲国产成人av</a>| <a href="http://8842aa.com" target="_blank">久久乐国产精品</a>| <a href="http://sexx777.com" target="_blank">久久夜色精品国产</a>| <a href="http://xcao10.com" target="_blank">国产亚洲福利</a>| <a href="http://11867a.com" target="_blank">欧美一区日韩一区</a>| <a href="http://5110010.com" target="_blank">久久国产黑丝</a>| <a href="http://by4425.com" target="_blank">国产午夜精品美女视频明星a级 </a>| <a href="http://81plas.com" target="_blank">亚洲女同精品视频</a>| <a href="http://xp1025.com" target="_blank">亚洲欧美精品在线观看</a>| <a href="http://laoyewo.com" target="_blank">欧美视频一区二</a>| <a href="http://scptw.com" target="_blank">一本色道久久综合亚洲精品小说</a>| <a href="http://679776.com" target="_blank">在线午夜精品</a>| <a href="http://hmm47.com" target="_blank">欧美视频不卡</a>| <a href="http://012492.com" target="_blank">亚洲一品av免费观看</a>| <a href="http://246767.com" target="_blank">一本久久a久久免费精品不卡</a>| <a href="http://www-67499.com" target="_blank">免费亚洲电影在线观看</a>| <a href="http://56x6.com" target="_blank">欧美成人一区二区三区</a>| <a href="http://456kp.com" target="_blank">亚洲黄色影院</a>| <a href="http://7ccdd.com" target="_blank">女生裸体视频一区二区三区</a>| <a href="http://8013sf.com" target="_blank">欧美电影在线播放</a>| <a href="http://gdvapar.com" target="_blank">亚洲理伦在线</a>| <a href="http://5566kan.com" target="_blank">欧美日韩在线一区二区</a>| <a href="http://javdb04.com" target="_blank">亚洲视频在线观看一区</a>| <a href="http://aqdav81.com" target="_blank">欧美一区二区视频在线观看2020</a>| <a href="http://www888x.com" target="_blank">国产精自产拍久久久久久</a>| <a href="http://aydsrmyy.com" target="_blank">午夜视频一区二区</a>| <a href="http://www-74987.com" target="_blank">久久久久久久999</a>| <a href="http://k68c.com" target="_blank">亚洲福利视频专区</a>| <a href="http://668527.com" target="_blank">欧美激情亚洲自拍</a>| <a href="http://jizz16.com" target="_blank">中文在线资源观看网站视频免费不卡</a>| <a href="http://gs-qintai.com" target="_blank">亚洲一区二区三区乱码aⅴ</a>| <a href="http://023nszz.com" target="_blank">国产精品国产自产拍高清av王其 </a>| <a href="http://jx963.com" target="_blank">久久久www成人免费毛片麻豆</a>| <a href="http://www-216678.com" target="_blank">欧美日韩在线视频一区二区</a>| <a href="http://jiajianpei.com" target="_blank">欧美在线一二三四区</a>| <a href="http://miaoxp.com" target="_blank">性欧美精品高清</a>| <a href="http://www151zh.com" target="_blank">国产亚洲一区精品</a>| <a href="http://papala4444.com" target="_blank">久色成人在线</a>| <a href="http://belerbb.com" target="_blank">亚洲精品小视频</a>| <a href="http://ez4444.com" target="_blank">久久爱www.</a>| <a href="http://by3259.com" target="_blank">亚洲高清三级视频</a>| <a href="http://www-kj777.com" target="_blank">欧美视频一区二区三区在线观看</a>| <a href="http://airsixth.com" target="_blank">亚洲一区二区三区成人在线视频精品 </a>| <a href="http://stt788.com" target="_blank">国产精品稀缺呦系列在线</a>| <a href="http://chuangke168.com" target="_blank">欧美在线|欧美</a>| <a href="http://b46n.com" target="_blank">91久久精品一区二区三区</a>| <a href="http://ooo789.com" target="_blank">亚洲欧美激情视频</a>| <a href="http://xissy.com" target="_blank">亚洲国产欧美在线人成</a>| <a href="http://kgg93.com" target="_blank">国产精品jvid在线观看蜜臀</a>| <a href="http://www35353.com" target="_blank">久久丁香综合五月国产三级网站</a>| <a href="http://yjsp8888.com" target="_blank">欧美高清在线</a>| <a href="http://epiegame.com" target="_blank">性伦欧美刺激片在线观看</a>| <a href="http://wwwhaodd116.com" target="_blank">在线日韩日本国产亚洲</a>| <a href="http://yeedeli.com" target="_blank">欧美日韩免费在线</a>| <a href="http://7213523.com" target="_blank">麻豆国产精品777777在线</a>| <a href="http://chunhuigk.com" target="_blank">亚洲视频在线观看</a>| <a href="http://www-e2222.com" target="_blank">亚洲国产99</a>| <a href="http://7770790.com" target="_blank">久久网站免费</a>| <a href="http://798814.com" target="_blank">亚洲综合二区</a>| <a href="http://xajtyd.com" target="_blank">亚洲人在线视频</a>| <a href="http://hwlxwp.com" target="_blank">国产主播一区二区</a>| <a href="http://b27227.com" target="_blank">国产精品xvideos88</a>| <a href="http://wwwnnnn.com" target="_blank">欧美jjzz</a>| <a href="http://jizzizz.com" target="_blank">久久久久国产精品一区三寸</a>| <a href="http://022291.com" target="_blank">亚洲一区二区三区国产</a>| <a href="http://haochen072.com" target="_blank">亚洲电影免费</a>| <a href="http://67idid.com" target="_blank">老司机成人网</a>| <a href="http://www33779.com" target="_blank">久久国产精品网站</a>| <a href="http://fdgkinetic.com" target="_blank">亚洲午夜精品福利</a>| <a href="http://www-34909.com" target="_blank">亚洲精品五月天</a>| <a href="http://www-878009.com" target="_blank">精品动漫3d一区二区三区</a>| <a href="http://csmdjs.com" target="_blank">国产精品视频第一区</a>| <a href="http://557523.com" target="_blank">欧美日韩国产综合新一区</a>| <a href="http://81plas.com" target="_blank">美女视频黄免费的久久</a>| <a href="http://caihongie.com" target="_blank">性做久久久久久久免费看</a>| <a href="http://www90aaa.com" target="_blank">夜夜嗨一区二区三区</a>| <a href="http://97aixxxx.com" target="_blank">亚洲国产二区</a>| <a href="http://wallypanel.com" target="_blank">亚洲国产成人久久综合</a>| <a href="http://342889.com" target="_blank">免费亚洲电影</a>| <a href="http://jiajianpei.com" target="_blank">另类成人小视频在线</a>| <a href="http://151545.com" target="_blank">久久久久9999亚洲精品</a>| <a href="http://194123.com" target="_blank">香港成人在线视频</a>| <a href="http://hbzbjxzz.com" target="_blank">午夜免费日韩视频</a>| <a href="http://www-57549.com" target="_blank">亚洲午夜一二三区视频</a>| <a href="http://www-222304.com" target="_blank">99精品黄色片免费大全</a>| <a href="http://p35cc.com" target="_blank">亚洲免费高清视频</a>| <a href="http://www-44442.com" target="_blank">亚洲精品在线二区</a>| <a href="http://miya2223.com" target="_blank">亚洲精品资源</a>| <a href="http://www524141.com" target="_blank">99精品国产高清一区二区</a>| <a href="http://www92y.com" target="_blank">日韩视频免费观看</a>| <a href="http://666043.com" target="_blank">一本综合精品</a>| <a href="http://mfgun.com" target="_blank">亚洲一区二区三区视频</a>| <a href="http://www-119049.com" target="_blank">一区二区三区欧美在线观看</a>| <a href="http://www47067.com" target="_blank">夜夜精品视频一区二区</a>| <a href="http://3531888.com" target="_blank">一本色道久久综合精品竹菊</a>| <a href="http://xtgoldsky.com" target="_blank">日韩一区二区精品视频</a>| <a href="http://maomi998.com" target="_blank">一区二区免费在线观看</a>| <a href="http://pourporn.com" target="_blank">制服丝袜激情欧洲亚洲</a>| <a href="http://ourskycity.com" target="_blank">亚洲午夜91</a>| <a href="http://hdsywang.com" target="_blank">久久www成人_看片免费不卡</a>| <a href="http://cao3e8c8.com" target="_blank">久久av一区二区三区漫画</a>| <a href="http://hg4958.com" target="_blank">久久精品最新地址</a>| <a href="http://maogo666.com" target="_blank">麻豆乱码国产一区二区三区</a>| <a href="http://608u.com" target="_blank">欧美国产日韩精品</a>| <a href="http://taoh228.com" target="_blank">亚洲卡通欧美制服中文</a>| <a href="http://dy123456.com" target="_blank">一区二区电影免费观看</a>| <a href="http://tubcup.com" target="_blank">亚洲与欧洲av电影</a>| <a href="http://868482.com" target="_blank">久久福利电影</a>| <a href="http://www92y.com" target="_blank">欧美高清一区</a>| <a href="http://1616mz.com" target="_blank">欧美日韩久久精品</a>| <a href="http://www492002.com" target="_blank">午夜亚洲视频</a>| <a href="http://www-44899.com" target="_blank">亚洲黄色免费网站</a>| <a href="http://sewuyueyue.com" target="_blank">99视频精品在线</a>| <a href="http://84172199.com" target="_blank">亚洲欧美偷拍卡通变态</a>| <a href="http://haomscq.com" target="_blank">久久男女视频</a>| <a href="http://ahhyez.com" target="_blank">欧美性jizz18性欧美</a>| <a href="http://339871.com" target="_blank">国产午夜精品一区理论片飘花</a>| <a href="http://9lunli.com" target="_blank">有坂深雪在线一区</a>| <a href="http://wwwbbb888999.com" target="_blank">一区二区三区精品国产</a>| <a href="http://123hiba.com" target="_blank">欧美一区二区啪啪</a>| <a href="http://wwwhhh396.com" target="_blank">欧美激情国产高清</a>| <a href="http://98tangav.com" target="_blank">亚洲一级一区</a>| <a href="http://tutu80.com" target="_blank">欧美va天堂va视频va在线</a>| <a href="http://62san.com" target="_blank">国产精品久久久久一区二区三区 </a>| <a href="http://6623555.com" target="_blank">国产精品久久久久久久久 </a>| <a href="http://s0247.com" target="_blank">欧美日韩精品一本二本三本</a>| <a href="http://www-137999.com" target="_blank">国产精品日韩欧美一区二区</a>| <a href="http://6168138.com" target="_blank">影音先锋亚洲精品</a>| <a href="http://vpay1314.com" target="_blank">这里只有精品丝袜</a>| <a href="http://japanjavbibi.com" target="_blank">久久久欧美精品sm网站</a>| <a href="http://wg246.com" target="_blank">亚洲精品欧美精品</a>| <a href="http://668756.com" target="_blank">久久精品午夜</a>| <a href="http://xuanxuan88.com" target="_blank">欧美午夜精品久久久久久超碰</a>| <a href="http://65kf.com" target="_blank">黄色成人av网</a>| <a href="http://227c7.com" target="_blank">午夜精品三级视频福利</a>| <a href="http://www-24333.com" target="_blank">欧美黑人一区二区三区</a>| <a href="http://gbandal.com" target="_blank">午夜精品免费</a>| <a href="http://www-ss777.com" target="_blank">欧美午夜三级</a>| <a href="http://626tw.com" target="_blank">亚洲青色在线</a>| <a href="http://f9494.com" target="_blank">开元免费观看欧美电视剧网站</a>| <a href="http://4545www.com" target="_blank">亚洲精品一区二区在线</a>| <a href="http://110488.com" target="_blank">久久亚洲精选</a>| <a href="http://f9494.com" target="_blank">国产在线精品自拍</a>| <a href="http://710195.com" target="_blank">午夜欧美大片免费观看</a>| <a href="http://www24822.com" target="_blank">亚洲精品久久久久久久久久久</a>| <a href="http://baoxiniao666.com" target="_blank">久久久www成人免费精品</a>| <a href="http://1000078.com" target="_blank">国产精品老牛</a>| <a href="http://montnove.com" target="_blank">亚洲一区二区三区四区中文</a>| <a href="http://jjy891.com" target="_blank">亚洲福利视频免费观看</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>