锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 琛ㄧ粨鏋勶細 create table聽 MAIN_NODE ( MLA_ID聽聽聽聽聽 聽聽聽聽聽聽聽聽聽INTEGER聽聽聽聽 not null聽聽聽聽聽聽聽 ,聽聽 //鑺傜偣ID MLA_ROOTID聽聽聽聽聽聽聽聽聽 INTEGER,聽聽 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽//鏍硅妭鐐?font>ID MLA_PARENTID聽聽聽聽聽聽聽 INTEGER,聽聽聽 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽//鐖惰妭鐐?font>ID MLA_NAME聽聽聽聽聽聽聽聽聽聽聽 VARCHAR2(50), 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽//鑺傜偣鍚嶇О constraint P_mlaid primary key (MLA_ID) ); MLA_ID 聽聽MLA_PARENTID 聽MLA_ROOTID聽聽 MLA_NAME 1聽 聽聽聽聽聽聽聽聽 0聽聽聽 聽聽聽聽聽聽聽聽聽聽聽 聽聽聽0聽聽聽 聽聽聽聽聽聽聽聽聽鐖惰妭鐐?font>1聽聽聽聽聽 2聽 聽聽聽聽聽聽聽聽 1聽聽聽 聽聽聽聽聽聽聽聽聽聽聽 聽聽聽0聽聽聽 聽聽聽聽聽聽聽聽錛堢埗鑺傜偣1鐨?font>/錛夊瓙鑺傜偣1聽聽聽 3聽聽聽聽聽聽 聽聽聽 聽2聽聽聽 聽聽聽聽聽聽聽聽聽聽聽聽 聽聽0聽聽 聽聽聽聽聽聽聽聽聽錛堢埗鑺傜偣1鐨?font>/瀛愯妭鐐?font>1鐨?font>/錛夊瓩瀛愯妭鐐?font>1 4聽 聽聽聽聽聽聽聽聽 0聽聽聽 聽聽聽聽聽聽聽聽聽聽聽 聽聽聽0聽聽聽 聽聽聽聽聽聽聽聽聽鐖惰妭鐐?font>2聽聽聽聽聽 5聽 聽聽聽聽聽聽聽聽 4聽聽聽 聽聽聽聽聽聽聽聽聽聽 聽聽聽聽0聽聽聽聽 聽聽聽聽聽聽聽錛堢埗鑺傜偣2鐨?font>/錛夊瓙鑺傜偣1聽聽聽 鏍戠粨鏋勭洿瑙傚浘錛?/font> 鏍硅妭鐐癸紙0錛?br />聽聽聽聽 鐖惰妭鐐?font>1錛?font>1錛?br />聽聽聽聽聽聽聽聽聽聽 錛堢埗鑺傜偣1鐨?font>/錛夊瓙鑺傜偣1錛?font>2錛?font>聽 WITH 聽RPL (mla_parentid, mla_id, mla_name) AS ( SELECT ROOT.mla_parentid, ROOT.mla_id, ROOT.mla_name FROM main_node ROOT WHERE ROOT.mla_id = ? UNION 聽ALL SELECT
CHILD.mla_parentid, CHILD.mla_id, CHILD.mla_name FROM RPL PARENT,
main_node CHILD WHERE PARENT.mla_parentid = CHILD.mla_id 聽) SELECT DISTINCT mla_parentid, mla_id, mla_name FROM RPL ORDER BY mla_parentid, mla_id, mla_name Oracle鐨勬煡璇㈣鍙ワ細 聽聽 select mla_parentid, mla_id, mla_name from main_node start with mla_id=? connect by prior mla_id=mla_parentid 濡傛灉涓嶅笇鏈涘埆鐨剆ession lock/insert/update/delete琛ㄤ腑浠繪剰涓琛岋紝鍙厑璁告煡璇紝鍙互鐢╨ock table table_name in exclusive mode銆?X)榪欎釜閿佸畾妯″紡綰у埆鏈楂橈紝騫跺彂搴︽渶灝忋?br /> 鍦ㄦ棩蹇楁枃浠舵崯鍧忔垨鑰?span lang="EN-US">dump榪欎簺鎹熷潖鐨勬棩蹇楁枃浠剁殑鏃跺欙紝閫氬父鍥炴敹鍒扮被浼間笅闈㈢殑閿欒錛?span lang="EN-US"> ORA-00354: corrupt redo log block header ORA-00353: log corruption near block 3740 change 0 time 04/11/2006 13:49:56聽聽 ORA-00312: online log 1 thread 1: '/oracle/oradata/TSMISC02/redo01.log' 鎴栬咃細 sys@TSMISC02> ALTER SYSTEM DUMP LOGFILE '/oracle/oradata/TSMISC02/redo01.log'; ALTER SYSTEM DUMP LOGFILE '/oracle/oradata/TSMISC02/redo01.log' * ERROR at line 1: ORA-00354: corrupt redo log block header ORA-00353: log corruption near block 3740 change 6918597 time 04/10/2006 23:53:24 ORA-00334: archived log: '/oracle/oradata/TSMISC02/redo01.log' Elapsed: 00:00:03.36 sys@TSMISC02> 榪欓噷棣栧厛浠嬬粛涓涓?span lang="EN-US">oracle浣跨敤鏃ュ織鏂囦歡鐨勭瓥鐣ャ?/span>姣忎竴涓暟鎹簱鑷沖皯鏈変袱涓垨澶氫釜鏃ュ織鏂囦歡緇勶紙redo log group錛夛紝姣忎釜緇勪腑鑷沖皯鏈変竴涓棩蹇楁垚鍛橈紙redo log member錛夈傛棩蹇楁枃浠剁殑涓昏鍔熻兘鏄湡瀹炲畬鏁寸殑璁板綍瀵規(guī)暟鎹簱浣滅殑鍏ㄩ儴淇敼銆傚湪鍑虹幇鏁呴殰鏃訛紝濡傛灉涓嶈兘灝嗕慨鏀規(guī)暟鎹案涔呭湴鍐欏叆鏁版嵁鏂囦歡錛屽垯緋葷粺灝嗗埄鐢ㄦ棩蹇楀墠婊氭潵鎭㈠鏁版嵁搴撴暟鎹枃浠躲傛棩蹇楁枃浠朵富瑕佹槸淇濇姢鏁版嵁搴撲互闃叉鏁呴殰銆?/span> 濡傛灉LGWR 鑷沖皯鑳藉璁塊棶涓涓粍鍐呯殑鏌愪竴涓垚鍛橈紝閭d箞oracle灝變細瀵硅繖涓粍鍐呯殑鍙闂垚鍛樼戶緇収甯歌繘琛岃鍐欐搷浣滐紝涔熷氨鏄錛?/span>LGWR 灝嗗拷鐣ョ粍鍐呯殑涓嶅彲鐢ㄦ垚鍛樸傚鏋滃湪鏃ュ織鍒囨崲鏃?/span>LGWR 鏃犳硶璁塊棶涓嬩竴涓粍鐨勬墍鏈夋垚鍛樻垨鑰呮崯鍧忕殑鏃ュ織鏂囦歡鏃舵敼緇勪腑鏃ュ織鎴愬憳錛屾暟鎹簱鐨勬甯告搷浣滃氨鏃犳硶榪涜浜嗐傝繖涔熷氨鏄?/span>oracle甯歌鐨勶紝涓轟簡闃叉鏃ュ織鏂囦歡鐨勬晠闅滄垨涓㈠け錛屽己鐑堝緩璁暅璞℃棩蹇?/span>(mirrored redo log)錛屽嵆錛屽湪涓嶅悓紓佺洏涓婄淮鎶よ嚦灝戜袱涓垨澶氫釜鏃ュ織鏂囦歡錛?/span>redo log member錛夊壇鏈殑浣滅敤鈥斺斿彧瑕佺粍鍐呮湁涓涓彲鐢ㄧ殑鎴愬憳錛?/span>oracle灝變細緇х畫鈥滄甯糕濇搷浣溿?/span> 鍥炲埌榪欓噷錛屽鏋滄暟鎹簱鍙戠敓鏃ュ織鏂囦歡鐨勪笂榪版崯鍧忥紝涓嶇鏄摢縐嶅師鍥犻犳垚鐨勶紝瑙e喅鏂規(guī)硶鏃犲涔庢槸浣跨敤瀹屽ソ鐨勬枃浠舵仮澶嶅凡緇忔崯鍧忕殑鏂囦歡錛屾垨鑰呭垵濮嬪寲鎹熷潖鐨勬枃浠剁粍絳夌瓑錛堟棩蹇楁枃浠剁殑鏁呴殰澶勭悊涓嶅仛榪欓噷鐨勯噸鐐逛粙緇嶏紝鎴戝皢浼氬湪鍏朵粬鐨勬枃绔犱腑閫愪竴璇存槑鍜屼婦渚嬶級銆?span lang="PT-BR"> 鎴戜滑榪欓噷涓昏鏄嬌鐢ㄤ簡_disable_logging錛?span lang="EN-US">true榪欎釜闅愬惈鍙傛暟錛堝疄闄呮ц兘鏁呴殰璇婃柇鏃訛紝浣犲彲浠ラ氳繃alert.log鎵懼埌鐩稿叧淇℃伅錛夐犳垚浜嗗綊妗f暟鎹簱涓紝鎵鏈夋棩蹇椾笉鑳藉綊妗o紝鏈緇堟暟鎹簱涓嶈兘緇х畫鎿嶄綔鐨勯棶棰橈紝鍥犳瑙e喅鏂規(guī)硶灝辨槸錛?span lang="EN-US"> 錛?span lang="EN-US">a錛夊鏋滄槸浣跨敤浜嗛殣鍚弬鏁幫紝閭d箞鍘繪帀榪欎釜闅愬惈鍙傛暟錛?span lang="EN-US"> 聽聽聽 alter system set "_disable_logging"=false scope=both; 錛?span lang="EN-US">b錛夌劧鍚庯紝鍒濆鍖栨崯鍧忕殑redo log錛?span lang="EN-US"> alter database clear unarchived logfile '<logilename>';聽 渚嬪錛?span lang="EN-US"> sys@TSMISC02> alter system set "_disable_logging"=false scope=both; System altered. Elapsed: 00:00:00.01 sys@TSMISC02> sys@TSMISC02> alter database clear unarchived logfile '/oracle/oradata/TSMISC02/redo02.log';聽 Database altered. Elapsed: 00:00:00.18 sys@TSMISC02> alter database clear unarchived logfile '/oracle/oradata/TSMISC02/redo03.log';聽 Database altered. Elapsed: 00:00:00.17
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 錛堢埗鑺傜偣1鐨?font>/瀛愯妭鐐?font>1鐨?font>/錛夊瓩瀛愯妭鐐?font>1錛?font>3錛?br />聽聽聽聽 鐖惰妭鐐?font>2錛?font>4錛?br />聽聽聽聽聽聽聽聽聽聽 錛堢埗鑺傜偣2鐨?font>/錛夊瓙鑺傜偣1錛?font>5錛?/font>
鍒欒〃鏄庝粠鏍硅妭鐐規(guī)煡鍚戞湰鑺傜偣錛?/li>
]]>
濡傛灉鍏佽鍒殑session鏌ヨ鎴栫敤select for update閿佸畾璁板綍錛屼笉鍏佽insert/update/delete錛屽彲浠ョ敤lock table table_name in share row exclusive mode銆?SRX)
濡?
鏋滃厑璁稿埆鐨剆ession鏌ヨ鎴杝elect for update浠ュ強lock table table_name in share
mode錛屽彧鏄笉鍏佽insert/update/delete錛屽彲浠ョ敤lock table table_name in share
mode銆?share mode鍜宻hare row exclusive mode鐨勫尯鍒湪浜庝竴涓槸闈炴姠鍗犲紡鐨勮屽彟涓涓槸鎶㈠崰寮忕殑銆傝繘鍏hare
row exclusive mode鍚庡叾浠杝ession涓嶈兘闃繪浣爄nsert/update/delete錛岃岃繘鍏hare
mode鍚庡叾浠杝ession涔熷悓鏍峰彲浠ヨ繘鍏hare mode錛岃繘鑰岄樆姝綘瀵硅〃鐨勪慨鏀廣?S)
榪樻湁涓ょ閿佸畾妯″紡錛宺ow share(RS)鍜宺ow exclusive(RX)銆備粬浠厑璁哥殑騫跺彂鎿嶄綔鏇村錛屼竴鑸洿鎺ョ敤DML璇彞鑷姩鑾峰緱錛岃屼笉鐢╨ock璇彞銆?/p> 璇︾粏鍙傝僣oncepts鏂囨。涓殑"Type Of Locks"錛?a >http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96524/c21cnsis.htm#2937
]]>
]]>
姒傝堪錛?br />
銆銆Oracle鏁版嵁搴撴槸鐩墠涓氱晫鏈甯哥敤鐨勫ぇ鍨嬫暟鎹簱緋葷粺錛屾垜鍦ㄥ疄闄呴」鐩腑閬囧埌鍑虹幇ORA-00257閿欒錛堢┖闂翠笉瓚抽敊璇級錛岄氳繃鏌ユ壘璧勬枡錛岀粷澶ч儴鍒嗚榪欐槸鐢變簬褰掓。鏃ュ織澶錛屽崰鐢ㄤ簡鍏ㄩ儴鐨?a class="bluekey" target="_blank">紜洏鍓╀綑絀洪棿瀵艱嚧鐨勶紝閫氳繃綆鍗曞垹闄ゆ棩蹇楁垨鍔犲ぇ瀛樺偍絀洪棿灝辮兘澶熻В鍐熾備絾鏄垜鍦∣racle 10g涓婂彂鐜幫紝瀛樺偍絀洪棿榪樻湁寰堝ぇ錛屽嵈涔熸姤榪欎釜閿欒銆傚師鏉ユ槸Oracle 10g涓柊鐨勭壒鎬э紝瀵笷lash Recovery鐨勭鐞嗗鑷寸殑銆?
銆銆1銆佽蔣紜歡鐜
銆銆鏈嶅姟鍣?/a>HP Proliant DL580G4錛圛ntel Xeon 3.16GHz/4GB/ 72.8*4/RAID4)
銆銆鎿嶄綔緋葷粺Red Flag DC Server release 5.0 (Trinity) for x86-64 Linux
銆銆鏁版嵁搴揙racle 10.2.0.1.0
銆銆2銆侀棶棰樼幇璞?/b>
銆銆鏁版嵁搴撶郴緇熷凡緇忚瘯榪愯浜嗗崐涓鏈堬紝鍦?鏈?4鏃ユ櫄涓婅繛鎺ユ暟鎹簱鍚庡仛鏁版嵁鏇存柊鏃跺嚭鐜癘RA-00257閿欒錛屽涓嬪浘銆?br />
銆銆鎻愮ず褰掓。閿欒錛岄氳繃鏌ユ壘ORACLE閿欒浠g爜錛岃В閲婁負紜洏絀洪棿涓嶈凍錛岄渶瑕佸垹闄ゅ綊妗f棩蹇楀鍔犵┖闂達紝浣嗘槸鏈嶅姟鍣ㄥ彲鐢ㄧ┖闂?00GB錛岀洰鍓嶅彧鐢ㄤ簡10GB宸﹀彸錛岃繖鏄負浠涔堝憿錛?br />
銆銆3銆佽瘖鏂繃紼?/b>錛?br />
銆銆1錛夋煡鐪婳RACLE鏁版嵁搴撳綊妗f棩蹇楁儏鍐?br />[root@hrmsdb /]# cd /oracle/flash_recovery_area/HKCHR/archivelog
[root@hrmsdb archivelog]# ls
2006_07_04 2006_07_13 2006_07_17 2006_07_20 2006_07_23
2006_07_11 2006_07_14 2006_07_18 2006_07_21 2006_07_24
2006_07_12 2006_07_15 2006_07_19 2006_07_22 2006_07_25
[root@hrmsdb archivelog]# cd 2006_07_25
[root@hrmsdb 2006_07_25]# ls
[root@hrmsdb 2006_07_25]# cd ../2006_07_24
[root@hrmsdb 2006_07_24]# ls
o1_mf_1_92_2d933vgb_.arc o1_mf_1_96_2d954ns7_.arc o1_mf_1_98_2d969d5h_.arc
o1_mf_1_95_2d9537cs_.arc o1_mf_1_97_2d956km0_.arc
銆銆璇存槑鍦ㄥ嚭鐜伴棶棰樹箣鍓嶆暟鎹簱褰掓。澶勭悊涓鐩存槸姝e父鐨勩?br />
銆銆2錛夋煡鐪嬫暟鎹簱REDOLOG鎯呭喌[oracle@hrmsdb ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 鏄熸湡浜?7鏈?25 10:44:18 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> connect / as sysdba
宸茶繛鎺ャ?br />
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- --------------------------------------- --------------
1 1 101 52428800 1 NO CURRENT 3621973 24-7鏈?-06
2 1 99 52428800 1 NO INACTIVE 3600145 24-7鏈?-06
3 1 100 52428800 1 NO INACTIVE 3611932 24-7鏈?-06
銆銆鍙戠幇ARC鐘舵佷負NO錛岃〃紺虹郴緇熸病娉曡嚜鍔ㄥ仛褰掓。銆?br />
銆銆3錛夋墜宸ュ垏鎹㈡棩蹇?br />SQL> alter system switch logfile;
alter system switch logfile
*
絎?1 琛屽嚭鐜伴敊璇?
銆銆ORA-01013: 鐢ㄦ埛璇鋒眰鍙栨秷褰撳墠鐨勬搷浣?br />
銆銆鍦ㄧ瓑寰呴暱鏃墮棿娌″弽搴斿悗錛屼腑鏂搷浣滐紝鎵嬪伐鍒囨崲鏃ュ織娌℃湁鎴愬姛銆?br />
銆銆4錛夋煡鐪婳racle鏁版嵁搴撳悗鍙板綊妗f湇鍔¤繘紼?br />[oracle@hrmsdb ~]$ ps -ef|grep oracle
oracle 4601 1 0 Jul11 ? 00:00:04 /oracle/product/10.2.0/db_1/bin/
tnslsnr LISTENER -inherit
oracle 5025 1 0 Jul11 ? 00:00:00 /usr/bin/ssh-agent -s
oracle 20923 1 0 Jul24 ? 00:00:01 ora_pmon_hkchr
oracle 20925 1 0 Jul24 ? 00:00:00 ora_psp0_hkchr
oracle 20927 1 0 Jul24 ? 00:00:00 ora_mman_hkchr
oracle 20929 1 0 Jul24 ? 00:00:01 ora_dbw0_hkchr
oracle 20931 1 0 Jul24 ? 00:01:07 ora_lgwr_hkchr
oracle 20933 1 0 Jul24 ? 00:00:05 ora_ckpt_hkchr
oracle 20935 1 0 Jul24 ? 00:00:01 ora_smon_hkchr
oracle 20937 1 0 Jul24 ? 00:00:00 ora_reco_hkchr
oracle 20939 1 0 Jul24 ? 00:00:00 ora_cjq0_hkchr
oracle 20941 1 0 Jul24 ? 00:00:01 ora_mmon_hkchr
oracle 20943 1 0 Jul24 ? 00:00:05 ora_mmnl_hkchr
oracle 20945 1 0 Jul24 ? 00:00:00 ora_d000_hkchr
oracle 20947 1 0 Jul24 ? 00:00:00 ora_s000_hkchr
oracle 20953 1 0 Jul24 ? 00:09:41 ora_arc0_hkchr
oracle 20955 1 1 Jul24 ? 00:10:29 ora_arc1_hkchr
oracle 20959 1 0 Jul24 ? 00:00:00 ora_qmnc_hkchr
oracle 20967 1 0 Jul24 ? 00:00:00 ora_q000_hkchr
oracle 20969 1 0 Jul24 ? 00:00:00 ora_q001_hkchr
oracle 21715 1 0 Jul24 ? 00:00:19 oraclehkchr (LOCAL=NO)
oracle 21765 1 0 Jul24 ? 00:00:00 ora_j000_hkchr
oracle 21816 1 0 Jul24 ? 00:00:00 ora_j001_hkchr
oracle 21832 1 0 Jul24 ? 00:00:00 ora_j002_hkchr
oracle 21839 1 0 Jul24 ? 00:00:00 ora_j003_hkchr
oracle 21859 1 0 Jul24 ? 00:00:00 ora_j004_hkchr
oracle 21861 1 0 Jul24 ? 00:00:00 ora_j005_hkchr
oracle 21886 1 0 Jul24 ? 00:00:00 ora_j006_hkchr
oracle 21888 1 0 Jul24 ? 00:00:00 ora_j007_hkchr
root 23187 23186 0 10:39 ? 00:00:00 login -- oracle
oracle 23188 23187 0 10:39 pts/0 00:00:00 -bash
oracle 23216 23188 0 10:39 pts/0 00:00:00 sqlplus
oracle 23217 23216 0 10:39 ? 00:00:00 oraclehkchr (DESCRIPTION=(LOCAL=
YES)(ADDRESS=(PROTOCOL=beq)))
root 23224 23223 0 10:40 ? 00:00:00 login -- oracle
oracle 23225 23224 0 10:40 pts/1 00:00:00 -bash
oracle 23310 23225 0 10:46 pts/1 00:00:00 ps -ef
oracle 23311 23225 0 10:46 pts/1 00:00:00 grep oracle
[oracle@hrmsdb ~]$
鍚庡彴榪涚▼閮芥甯歌繍琛屻?/td>
銆銆5錛夋煡鐪婩LASH_RECOVERY_AREA絀洪棿浣跨敤鎯呭喌[root@hrmsdb /]# cd /oracle
[root@hrmsdb oracle]# ls
admin flash_recovery_area oraInventory product
[root@hrmsdb oracle]# du -a -k flash_recovery_area
4 flash_recovery_area/HKCHR/onlinelog
42456 flash_recovery_area/HKCHR/archivelog/2006_07_15/o1_mf_1_74_2cj1h1jz_.arc
鈥︹︹︹︹︹?
42448 flash_recovery_area/HKCHR/archivelog/2006_07_14/o1_mf_1_68_2cfzwwvt_.arc
512560 flash_recovery_area/HKCHR/archivelog/2006_07_14
1469224 flash_recovery_area/HKCHR/archivelog
6988 flash_recovery_area/HKCHR/backupset/2006_07_04/o1_mf_ncsnf_TAG20060704T1
74229_2bng1o0b_.bkp
876916 flash_recovery_area/HKCHR/backupset/2006_07_04/o1_mf_nnndf_TAG20060704T1
74229_2bng0cx4_.bkp
883908 flash_recovery_area/HKCHR/backupset/2006_07_04
883912 flash_recovery_area/HKCHR/backupset
2353144 flash_recovery_area/HKCHR
2353148 flash_recovery_area
[root@hrmsdb oracle]#
FLASH_RECOVERY_AREA絀洪棿浣跨敤浜?.35GB
銆銆6錛夋煡鐪婩LASH_RECOVERY_AREA絀洪棿涓悇閮ㄥ垎浣跨敤鎯呭喌SQL> select * from v$recovery_file_dest;
NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
------------------------------------------------------------------------------------------------------------------
/oracle/flash_recovery_area 2147483648 2134212608 0 35
SQL> select * from v$flash_recovery_area_usage;
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------- -------------- -------------- -------------
CONTROLFILE 0 0 0
ONLINELOG 0 0 0
ARCHIVELOG 69.97 0 40
BACKUPPIECE 30.01 0 2
IMAGECOPY 0 0 0
FLASHBACKLOG 0 0 0
宸查夋嫨6琛屻?/td>
銆銆鍙戠幇ARCHIVELOG鍗犺繎70錛咃紝BACKUPPIRCR鍗犱簡30錛咃紝榪欐牱FLASH_RECOVERY_AREA絀洪棿鐨勭┖闂村凡緇忚瀹屽叏鍗犳嵁浜嗐?br />4銆佽В鍐寵繃紼?/b>
銆銆鏍規(guī)嵁鏁版嵁搴撶洰鍓嶅彲鐢ㄥ瓨鍌ㄧ┖闂翠負200GB銆丗LASH_RECOVERY_AREA絀洪棿涓?GB鐨勫疄闄呮儏鍐碉紝鎶奆LASH_RECOVERY_AREA鐨勭┖闂翠慨鏀逛負20GB銆?br />SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=20g;
緋葷粺宸叉洿鏀廣?br />
SQL> select * from v$recovery_file_dest;
------------------------------------------------------- ---------- -----------------------------------
NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
----------- ---------- ----------------- ------------- -------------- ---------- ---------- ------------
/oracle/flash_recovery_area 2.1475E+10 2264587776 0 38
銆銆榪欐椂鍐嶆煡鐪嬫棩蹇楃殑鐘舵侊紝鍙戠幇REDO LOG澶勪簬姝e父鐨勫綊妗g姸鎬併?br />SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- -------------------------------------------- --------------
1 1 101 52428800 1 YES ACTIVE 3621973 24-7鏈?-06
2 1 102 52428800 1 NO CURRENT 3650399 25-7鏈?-06
3 1 100 52428800 1 YES INACTIVE 3611932 24-7鏈?-06
SQL> select * from v$flash_recovery_area_usage;
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
------------ ------------------ ------------------------- ---------------
CONTROLFILE 0 0 0
ONLINELOG 0 0 0
ARCHIVELOG 7.6 0 43
BACKUPPIECE 4.21 0 2
IMAGECOPY 0 0 0
FLASHBACKLOG 0 0 0
宸查夋嫨6琛屻?br />
SQL>
銆銆5銆佸皬緇?/strong>
銆銆閫犳垚鏈鏁呴殰鐨勫師鍥犵敱涓ゆ柟闈㈠悓鏃跺彂鐢熸墍閫犳垚鐨勶細
銆銆路鍏朵竴鏄疐lash_Recovery_Area絀洪棿緙虹渷瀹夎鏃舵瘮杈冨皬錛屽彧鏈?GB錛屽鏄撶敤瀹岋紱
銆銆路鍏朵簩鏄敱浜庨噰鐢ㄥ綊妗f柟寮忛氳繃Veritas澶囦喚錛岀敱浜庡浠借蔣浠舵病鏈夎繍琛岋紝閫犳垚褰掓。鏃ュ織娌℃湁鍙婃椂鍒犻櫎銆?br />
銆銆浠庢湰嬈℃晠闅滆В鍐沖鐞嗕腑錛屾垜浠彲浠ュ緱鍑虹粡楠屾暀璁細
銆銆路Oracle 10g鏁版嵁搴撶墿鐞嗙┖闂寸鐞嗘柟寮忎笌浠ュ墠Oracle鍙戠敓浜嗗彉鍖栵紝瀵瑰綊妗f棩蹇楁墍鍦ㄧ殑Flash_Recovery_Area絀洪棿榪涜浜嗗彟澶栭檺鍒訛紱
銆
銆銆路瀵規(guī)暟鎹簱緋葷粺綆$悊鍛樿瀵筄racle鏁版嵁搴撳綊妗f棩蹇椼佸浠借蔣浠惰繍琛岀姸鍐靛畾鏈熸鏌ワ紝鎻愬墠鍙戠幇銆佸鐞嗗彲鑳藉彂鐢熺殑鏁呴殰銆?br />
]]>
ORA-00312:聽鑱旀満鏃ュ織聽1聽綰跨▼聽1:聽
鐪嬫儏鍐墊槸鏃ュ織鏂囦歡鍑洪敊錛屽垢濂芥槸嫻嬭瘯鏈嶅姟鍣紝鎶婃垜榪欎釜瀵筼racle綆$悊涓紿嶄笉閫氱殑瀹朵紮鎬ュ潖浜嗐傞┈涓奲aidu浜嗕笅閿欒浠g爜錛屾壘鍒頒竴綃囨枃绔狅細
OK,椹笂鎵ц鍛戒護錛?br />
鎴戦渶瑕佸姞寮轟笅瀵筼racle鍩烘湰鏁呴殰澶勭悊鏂歸潰鐭ヨ瘑鐨勫涔犱簡銆?br />
]]>
oracle涓殑閫掑綊璇彞錛毬?
start聽聽聽with聽聽聽
聽聽connect聽聽聽by聽聽聽prior聽聽
.
渚嬪瓙錛?br />
聽pid聽 id
聽 a 聽 b 聽
聽 a 聽 c 聽 聽
聽 a 聽 e 聽
聽 b 聽 b1 聽
聽 b 聽 b2 聽
聽 c 聽 c1 聽
聽 e 聽 e1 聽
聽 e 聽 e3 聽
聽 d 聽 d1 聽
聽 聽
聽 鎸囧畾pid=a錛岄夊嚭 聽
聽 a 聽 b 聽
聽 a 聽 c 聽 聽
聽 a 聽 e 聽
聽 b 聽 b1 聽
聽 b 聽 b2 聽
聽 c 聽 c1 聽
聽 e 聽 e1 聽
聽 e 聽 e3聽
SQL璇彞錛?br />聽聽select聽聽聽parent,child聽聽聽from聽聽聽test聽聽聽start聽聽聽with聽聽聽pid='a'聽聽聽
聽聽connect聽聽聽by聽聽聽prior聽聽聽id=pid聽
]]>
聽
聽
浣跨敤闆嗗悎鎿嶄綔絎︽湁浠ヤ笅涓浜涢檺鍒?
.瀵逛簬LOB,VARRAY,宓屽琛ㄧ被鏉ヨ錛岄泦鍚堟搷浣滅鏃犳晥
.瀵逛簬LONG鍨?UNION ALL,INTERSECT鍜孧INUS鏃犳晥
.濡傛灉閫夋嫨鍒楄〃鍖呭惈浜嗚〃杈懼紡,蹇呴』鎸囧畾鍒悕
1銆俇NION錛岀敤浜庤幏鍙栦袱涓粨鏋滈泦鐨勫茍闆嗭紝浼氳嚜鍔ㄥ幓鎺夌粨鏋滈泦涓殑閲嶅琛岋紝騫朵細浠ョ涓鍒楃殑緇撴灉榪涜鎺掑簭錛屼緥錛?/p>
聽
聽
2銆俇NION ALL錛屼笌UNION鐩鎬技錛屼笉鍚岀殑鏄疷NION ALL涓嶄細鑷姩鍘誨閲嶅琛岋紝涔熶笉浼氫互浠諱綍鍒楁帓搴?/p>
聽
聽
3銆侷NTERSECT錛岀敤浜庤幏鍙栦袱涓粨鏋滈泦鐨勪氦闆嗭紝騫朵笖浠ョ涓鍒楁帓搴忥紝濡傦細
聽
聽
4銆侻INUS錛岀敤浜庤幏鍙栫粨鏋滈泦鐨勫樊闆嗭紙鎴栬呰琛ラ泦錛夛紝鏄劇ず絎竴涓粨鏋滈泦瀛樺湪鐨勶紝絎?涓粨鏋滈泦涓嶅瓨鍦ㄧ殑鏁版嵁錛?/p>
聽
聽
娉ㄦ剰浜嬮」錛?/p>
1銆備袱涓夋嫨鍒楄〃蹇呴』瀹屽叏涓鑷?/p>
2銆傚彲浠ヨ繛緇嬌鐢ㄩ泦鍚堟搷浣滅錛岃繖浜涙搷浣滅鎷ユ湁鐩稿悓浼樺厛綰э紝澶氫釜鎿嶄綔絎﹀瓨鍦ㄦ椂錛屼粠宸﹀悜鍙蟲墽琛岋紝濡傦細
聽
聽
緙栧啓鎺у埗緇撴瀯錛氶『搴忕粨鏋勶紝鏉′歡緇撴瀯錛屽驚鐜粨鏋?/p>
涓銆傛潯浠惰鍙ワ細
1銆備笌delphi鎴栬卝ava錛屾垨鑰呭叾浠栦換浣曡璦鐨勬潯浠惰鍙ュ熀鏈竴鏍峰挴錛?/p>
鍗曟潯浠訛細
IF condition THEN
聽 ......
END IF;
鍙屾潯浠訛細
IF condition THEN
聽 ......
ELSE
聽 ...
END IF;
澶氭潯浠訛細
IF condition THEN
聽聽 ...
ELSEIF conditon THEN
聽聽 ....
ELSEIF conditon THEN
聽聽 ....
ELSE
聽聽 ....
END IF;
聽
涓句緥錛?/p>
浜屻侰ASE璇彞錛?/p>
鍚勭璇█鐨剆witch ...case璇彞鐩稿悓錛屽彧涓嶈繃娌℃湁switch鍏抽敭瀛椼?/p>
1銆備嬌鐢ㄥ崟涓閫夋嫨絎﹁繘琛屾瘮杈冿細
聽
聽
END CASE;
2銆傚縐嶆潯浠舵瘮杈冿細
聽
聽
聽
錛堜笁錛夊驚鐜鍙ワ細
3縐嶅驚鐜細
1銆傚熀鏈驚鐜紝鑷沖皯鎵ц涓嬈★細
LOOP
聽聽 statement1;
聽聽聽...
聽聽 EXIT WHEN 閫鍑哄驚鐜潯浠?
END LOOP1;
渚嬪錛?/p>
聽
聽
2銆倃hile寰幆錛?/p>
WHILE conditon1 LOOP
聽聽 statement1;
聽聽 ...
END LOOP;
姣斿涓婇潰鐨勪緥瀛愭敼鍐欎負錛?/p>
聽
聽
3銆侳OR寰幆錛岀被浼間簬ruby鐨凢OR寰幆錛?/p>
FOR counter IN [REVERSE] 涓嬮檺..涓婇檺 LOOP
聽 statement1;
聽聽...
END LOOP;
REVERSE鍙傛暟鍙夛紝鏈夌殑璇濊〃紺轟粠涓婇檺寰涓嬮檺閫掑噺銆?/p>
聽
錛堝洓錛夐『搴忔帶鍒惰鍙?/p>
PL/SQL涔熸彁渚涗簡GOTO鍜孨ULL璇彞鐢ㄤ簬鎺у埗璇彞鎵ц欏哄簭錛孏OTO璇彞涓嶫AVA鐨勬満鍒剁浉浼鹼紝閫氳繃label鏉ュ疄鐜拌煩杞紝灝介噺涓嶈浣跨敤銆侼ULL璇彞涓嶄細鎵ц浠諱綍鎿嶄綔錛屽畠鐨勫瓨鍦ㄤ富瑕佹槸涓轟簡鎻愰珮紼嬪簭鐨勫彲璇繪с偮?/p>
(涓)媯绱㈠崟琛屾暟鎹?/p>
鍦≒L/SQL宓屽叆select璇彞,浣跨敤鏂規(guī)硶:
SELECT select_list INTO variable_name1,variable_name2,variable_name3... FROM TABLE WHRE condition
渚?
聽
聽
闇瑕佹敞鎰忎簨欏?
1.涓嶄粎鍙互浣跨敤鏅氭爣閲忔帴鍙楁暟鎹紝涔熷彲浠ヤ嬌鐢≧ecord鎺ュ彈鏁版嵁
2.浣跨敤鐨凷ELECT璇彞蹇呴』榪斿洖涓鏉¤褰?騫朵笖鍙兘榪斿洖涓鏉¤褰?鍚﹀垯浼氳Е鍙慞L/SQL寮傚父,鎴栬呮樉紺洪敊璇俊鎭?/p>
(1)NO_DATA_FOUND寮傚父,褰撴病鏈夋暟鎹繑鍥炴椂鎶涘嚭姝ゅ紓甯?/p>
(2)TOO_MANY_ROWS寮傚父,榪斿洖澶氭潯鏁版嵁鏃舵姏鍑烘寮傚父
(3)鍦╓HERE瀛愬彞涓嬌鐢ㄥ彉閲忔椂蹇呴』娉ㄦ剰,鍙橀噺鍚嶄笉鑳藉瓧孌靛悕鐩稿悓,鍚﹀垯浼氳Е鍙慣OO_MANY_ROWS寮傚父
(浜?浣跨敤DML璇彞
1.鍦≒L/SQL涓嬌鐢―ML璇彞(insert,update,delete)璇彞涓庣洿鎺ュ湪sqlplus浣跨敤娌′粈涔堜笉鍚?鍙笉榪囧彲浠ヤ嬌鐢ㄥ彉閲忎唬鏇垮叿浣撶殑鍊?涓嶅啀涓句緥
2.SQL娓告爣:
錛?錛夊湪鎵цSELECT,INSERT,UPDATE,DELETE璇彞鏃?Oracle Server浼氫負榪欎簺SQL璇彞鍒嗛厤鐩稿簲鐨凜ontext Area,騫朵笖Oracle浣跨敤姝ontext Area瑙f瀽騫舵墽琛岀浉搴旂殑SQL璇彞,鑰屾父鏍囧氨鏄寚鍚慍ontext Area鐨勬寚閽堛傚湪oracle涓紝娓告爣鍙堝垎涓烘樉寮忓拰闅愬紡涓ょ錛屽叾涓殣寮忔父鏍囧張琚垚涓篠QL娓告爣錛屼笓闂ㄧ敤浜庡鐞哠ELECT INTO錛孖NSERT錛孌ELETE錛孶PDATE璇彞銆傝屾樉寮忔父鏍囧鐢ㄤ簬澶勭悊澶氳鐨凷ELECT璇彞銆?/p>
錛?錛塖QL娓告爣鐨勫洓縐嶅睘鎬э細
(A) SQL%ISOPEN
鐢ㄤ簬紜畾SQL娓告爣鏄惁鎵撳紑銆傚洜涓簅racle鍦ㄦ墽琛孲ELECT INTO錛孖NSERT錛孶PDATE錛孌ELETE璇彞鏃朵細闅愬惈鐫鎵撳紑娓告爣錛屽茍鍦ㄦ墽琛岀粨鏉熷悗鍏抽棴銆傛墍浠ユ鍊煎浜庡紑鍙戜漢鍛樻潵璇翠竴鐩存槸false錛屽疄闄呭紑鍙戜腑涓嶉渶瑕佹灞炴?/p>
錛圔錛?SQL%FOUND
鐢ㄤ簬紜畾SQL璇彞鏄惁鎵ц鎴愬姛錛屽綋SQL璇彞鏈変綔鐢ㄨ鏃訛紝瀹冧負TRUE錛屽惁鍒欎負FALSE錛屽錛?/p>
錛圕錛変笌SQL%FOUND鐩稿弽鐨勫氨鏄疭QL%NOTFOUND
錛圖錛塖QL%ROWCOUNT 錛岀敤浜庤繑鍥濻QL璇彞浣滅敤鐨勮鏁?/p>
錛堜笁錛変簨鍔℃帶鍒惰鍙?/p>
鍦≒L/SQL涓悓鏍峰彲浠ヤ嬌鐢–OMMIT錛孯OLLBACK錛孲AVEPOINT絳変簨鍔℃帶鍒惰鍙ワ紝涓庣洿鎺ヤ嬌鐢ㄦ病鏈変粈涔堜笉鍚屻?/p>
鍏繪垚鑹ソ鐨勪唬鐮佺紪鍐欎範鎯?PL/SQL浠g爜緙栧啓瑙勫垯:
1.鏍囪瘑絎﹀懡鍚嶈鍒?/p>
1)瀹氫箟鍙橀噺鏃朵互v_浣滀負鍓嶇紑,濡倂_sal
2)瀹氫箟甯擱噺鏃朵互c_浣滀負鍓嶇紑,濡俢_rate
3)瀹氫箟娓告爣鏃?寤鴻浣跨敤_cursor浣滀負鍚庣紑,濡俥mp_cursor
4)瀹氫箟寮傚父鏃?浠_浣滀負鍓嶇紑錛屽e_integrity_error
5)瀹氫箟PL/SQL琛ㄧ被鍨嬫椂,浣跨敤_table_type浣滀負鍚庣紑,濡俿al_table_type.
6)瀹氫箟琛ㄥ彉閲忔椂,浠table浣滀負鍚庣紑,濡俿al_table
7)鍚屾牱錛屽畾涔塒L/SQL璁板綍鍨嬫椂浠record_type浣滀負鍚庣紑
8)瀹氫箟PL/SQL璁板綍鍙橀噺鏃朵互_record浣滀負鍚庣紑
聽
2.澶у皬鍐欒鍒?
1)SQL鍏抽敭瀛楅噰鐢ㄥぇ鍐欙紝姣斿SELECT,DELETE絳?/p>
2)PL/SQL鍏抽敭瀛椾篃鐢ㄥぇ鍐?姣斿DECLARE,BEGIN,END絳?/p>
3)鏁版嵁綾誨瀷涔熼噰鐢ㄥぇ鍐欙紝姣斿VARCHA2
4)鏍囪瘑絎﹀拰鍙傛暟閲囩敤灝忓啓錛屽v_sal
5)鏁版嵁搴撳璞″拰鍒椾互鍙婂埆鍚嶄篃鎵嶇敤灝忓啓
3.鍚堥傜殑浠g爜緙╄繘椋庢牸
PL/SQL鏈夊洓縐嶇被鍨?鏍囬噺綾誨瀷,澶嶅悎綾誨瀷,寮曠敤綾誨瀷(reference),LOB(Large Obejct)綾誨瀷
涓.鏍囬噺綾誨瀷
鏈甯哥敤鐨勫氨鏄爣閲忕被鍨嬶紝鏄寚鍙兘瀛樻斁鍗曚釜鏁板肩殑鍙橀噺,鍖呮嫭鏁板瓧綾誨瀷銆佸瓧絎︾被鍨嬨佹棩鏈熺被鍨嬪拰甯冨皵綾誨瀷錛屾瘡縐嶇被鍨嬪張鍖呭惈鐩稿簲鐨勫瓙綾誨瀷銆?/p>
甯擱噺鏍囬噺綾誨瀷濡備笅錛?/p>
聽
聽
瀹氫箟鏍囬噺錛?/p>
identifier [CONSTANT] datatype [NOT NULL] [:=| DEFAULT expr]
浣跨敤鏍囬噺闇瑕佹敞鎰忕殑鏄?鍙瘋:=鍙栦唬錛屼笌delphi涓鏍風殑璧嬪肩鍙稝_@
渚嬪瓙錛?/p>
聽
聽
涓轟簡闃叉瀹氫箟鐨勫彉閲忕被鍨嬩笌琛ㄤ腑鐨勫瓧孌電被鍨嬩笉涓鑷達紝鍙互浣跨敤%TYPE鏉ュ畾涔夛細
聽
聽
濡備笂闈㈡墍紺猴紝v_name鐨勭被鍨嬪氨涓庤〃employee涓殑name瀛楁綾誨瀷涓鏍鳳紒錛?/p>
浜屻傚鍚堝彉閲忥細
鐢ㄤ簬瀛樻斁澶氫釜鍊肩殑鍙橀噺縐頒負澶嶅悎鍙橀噺錛屽寘鎷琍L/SQL璁板綍錛孭L/SQL琛紝宓屽琛ㄥ拰VARRAY鍥涚綾誨瀷
1銆侾L/SQL璁板綍
綾諱技浜嶤/C++涓殑緇撴瀯姒傚康錛?/p>
聽
聽
2銆侾L/SQL琛紝綾諱技浜庢暟緇勬蹇碉紝涓嶅悓鐨勬槸PL/SQL琛ㄥ厑璁歌礋鍊間笅鏍囷紝鑰屼笖娌℃湁涓婁笅闄愶紝濡傦細
聽
聽
3銆傚祵濂楄〃錛屼笌PL/SQL琛ㄧ浉浼鹼紝涓嶅悓鐨勬槸宓屽琛ㄥ彲浠ュ仛琛ㄥ垪鐨勬暟鎹被鍨嬶紝鑰孭L/SQL琛ㄤ笉鑳斤紝浣跨敤宓屽琛ㄤ綔涓鴻〃鍒楁椂錛屽繀欏諱負鍏舵寚瀹氫笓闂ㄧ殑瀛樺偍琛紝濡傦細
聽
聽
4銆俈ARRAY(鍙橀暱鏁扮粍錛夛紝涓庡祵濂楄〃鐩鎬技錛屼篃鍙互鍋氫負琛ㄥ垪鐨勬暟鎹被鍨嬶紝浣嗘槸宓屽琛ㄦ病鏈変釜鏁伴檺鍒訛紝鑰孷ARRAY鏈変釜鏁伴檺鍒訛紝濡傦細
CREATE TYPE TEST_ARRAY IS VARRAY(20) OF emp_type;
涓夈傚紩鐢ㄥ彉閲忥紙reference錛?/p>
綾諱技浜嶤++涓殑鎸囬拡鎴栬匤AVA涓紩鐢ㄧ殑姒傚康錛岀敤浜庡瓨鏀炬暟鍊兼寚閽堢殑鍙橀噺錛屼嬌鐢ㄦ鍙橀噺錛屽彲浠ヤ嬌寰楀簲鐢ㄧ▼搴忓叡浜浉鍚屽璞★紝闄嶄綆鍗犵敤絀洪棿銆傛綾繪湁涓ょ綾誨瀷錛氭父鏍囷紙REF CURSOR錛夊拰瀵硅薄綾誨瀷錛圧EF OBJECT錛?/p>
1銆俁EF CURSOR錛屽畾涔夋椂鍚屾椂鎸囧畾SELECT璇彞鐨勬父鏍囩О涓烘樉寮忔垨鑰呴潤鎬佹父鏍囷紝鍦ㄦ墦寮鏃舵墠鎸囧畾SELECT璇彞鐨勬父鏍囩О涓哄姩鎬佹父鏍囷紝濡傦細
聽
聽聽
2銆俁EF OBJECT錛屼笌JAVA鐨勫紩鐢ㄦ蹇電浉鍚岋紝瀛樺偍鐨勬槸鎸囧悜瀵硅薄鐨勬寚閽?/p>
聽
鍥涖侺OB綾誨瀷
LOB綾誨瀷鏄寚鐢ㄤ簬瀛樺偍澶ф壒閲忔暟鎹殑鍙橀噺錛屽寘鎷唴閮ㄧ殑3縐嶏紙CLOB錛孊LOB錛孨CLOB錛夊拰澶栭儴LOB錛圔FILE錛夈?/p>
CLOB錛孨CLOB鐢ㄤ簬瀛樺偍澶ч噺鐨勫瓧絎︽暟鎹?/p>
BLOB鐢ㄤ簬瀛樺偍澶ф壒閲忎簩榪涘埗鏁版嵁錛堝鍥捐薄錛夈?/p>
BFILE鍒欏瓨鍌ㄦ寚鍚慜S鏂囦歡鐨勬寚閽堛?/p>
錛堜竴錛?/p>
PL/SQL鏄痮racle鍦ㄦ爣鍑哠QL璇█涓婄殑榪囩▼鎬ф墿灞?瀹冧笉浠呭厑璁稿祵鍏QL璇彞,鑰屼笖鍏佽瀹氫箟鍙橀噺鍜屽父閲?鍏佽榪囩▼璇█緇撴瀯(鏉′歡璇彞鍜屽驚鐜鍙?,鍏佽浣跨敤寮傚父澶勭悊oracle閿欒絳夈傞氳繃浣跨敤PL/SQL錛屽彲浠ュ湪涓涓狿L/SQL鍧椾腑鍖呭惈澶氭潯SQL璇彞鍜孭L/SQL璇彞銆侾L/SQL鍏鋒湁浠ヤ笅浼樼偣錛?/p>
1銆傛彁楂樺簲鐢ㄧ郴緇熺殑榪愯鎬ц兘銆?/p>
閫氳繃浣跨敤PL/SQL鍧楀寘鍚鏉QL璇彞錛屼粠鑰屽噺灝戜簡SQL璇彞鐨勫彂閫佹鏁幫紝闄嶄綆浜嗙綉緇滃紑閿錛屾彁楂樹簡搴旂敤紼嬪簭鎬ц兘
2銆傛彁渚涙ā鍧楀寲鐨勭▼搴忚璁″姛鑳姐?/p>
灝嗕紒涓氳鍒欏拰鍟嗕笟閫昏緫闆嗘垚鍒癙L/SQL瀛愮▼搴忓綋涓紝鎻愪緵緇欏鎴風璋冪敤錛岀畝鍖栦簡瀹㈡埛绔簲鐢ㄧ▼搴忕殑寮鍙戝拰緇存姢宸ヤ綔錛岄檷浣庝簡鑰﹀悎搴?/p>
3銆傚厑璁稿畾涔夋爣璇嗙錛屽厑璁稿畾涔夊彉閲忋佸父閲忋佹父鏍囧拰寮傚父絳夋爣璇嗙
4銆傚叿鏈夎繃紼嬭璦鎺у埗緇撴瀯錛屽厑璁鎬嬌鐢ㄦ潯浠跺垎鏀鍙ュ拰寰幆璇彞
5銆傚叿鏈夎壇濂界殑鍏煎鎬э紝鍦ㄥ厑璁歌繍琛宱racle鐨勪換浣曞鉤鍙頒笂鎵ц錛屼笉浠呭湪鏁版嵁搴撴湇鍔$鎵ц錛屼篃鍙互鍦╫racle鎻愪緵鐨勫伐鍏蜂腑寮鍙慞L/SQL
6銆傚鐞嗚繍琛岄敊璇紝浣跨敤PL/SQL鎻愪緵鐨凟XCEPTION錛屽紑鍙戜漢鍛樺彲浠ラ泦涓鐞嗗悇縐峯racle閿欒鍜孭L/SQL閿欒錛岀畝鍖栦簡閿欒澶勭悊銆?/p>
錛堜簩錛?/p>
PL/SQL鍧楃殑姒傚康錛?/p>
Block鏄疨L/SQL鐨勫熀鏈崟鍏冿紝緙栧啓PL/SQL鏈川涓婂氨鏄紪鍐橮L/SQL鍧楋紝鍧楃殑宓屽灞傛娌℃湁闄愬埗銆?/p>
1銆傚潡鐨勭粨鏋勶細鍧楃敱3閮ㄥ垎緇勬垚
聽
聽
鍏朵腑鍙湁鎵ц閮ㄥ垎鏄繀欏葷殑錛?/p>
2銆傚垎綾伙細
1錛夊尶鍚嶅潡錛屽尶鍚嶅潡鏄寚娌℃湁鍚嶇О鐨凱L/SQL鍧楋紝鍙互鍐呭祵鍒板簲鐢ㄧ▼搴忎腑錛屽錛?/p>
2錛夊懡鍚嶅潡錛氫笌鍖垮悕鍧楃浉浼鹼紝浣跨敤鍛藉悕鍧椾富瑕佹槸涓轟簡鍖哄垎澶氱駭宓屽鍏崇郴錛屽錛?/p>
3錛夊瓙紼嬪簭錛屽張鍙互鍒嗘垚3縐嶏細榪囩▼銆佸嚱鏁板拰鍖?/p>
A銆傝繃紼嬬敤浜庢墽琛岀壒瀹氭搷浣滐紝褰撳緩绔嬭繃紼嬫椂鏃㈠彲浠ユ寚瀹氳緭鍏ュ弬鏁幫紝涔熷彲浠ユ寚瀹氳緭鍑哄弬鏁幫紝浠庤屽湪搴旂敤鐜鍜岀▼搴忛棿浼犻掓暟鎹紝浣跨敤CREATE PROCEDURE璇彞錛屽錛?/p>
B錛夊嚱鏁幫紝涓庤繃紼嬩富瑕佷笉鍚屾槸鍑芥暟闇瑕佽繑鍥炴暟鎹紝鍦ㄥ嚱鏁板ご鍜屽嚱鏁頒綋閮藉繀欏繪湁RETURN璇彞錛屽錛?/p>
聽
聽
C錛夊寘錛岀被浼糐AVA鍖呯殑姒傚康錛屽寘鍚袱閮ㄥ垎錛屽寘瑙勮寖鍜屽寘浣擄紝鍖呰鑼冪浉褰撲簬C++涓殑澶存枃浠跺0鏄庡瓙紼嬪簭錛岃屽寘浣撳寘鍚繖浜涘瓙紼嬪簭鐨勫叿浣撳疄鐜般傝皟鐢ㄥ寘涓殑瀛愮▼搴忔椂錛岄渶瑕?鈥樺寘鍚?瀛愮▼搴忓悕鈥?榪欐牱鐨勫艦寮忚皟鐢?/p>
4銆傝Е鍙戝櫒鏄寚闅愬惈鎵ц鐨勫瓨鍌ㄨ繃紼嬶紝瀹氫箟瑙﹀彂鍣ㄩ渶瑕佹寚瀹氳Е鍙戜簨浠跺拰瑙﹀彂鎿嶄綔錛屽父瑙佽Е鍙戜簨浠跺insert,update,delete絳夛紝浣跨敤CREATE聽TRIGGER鍛戒護寤虹珛