锘??xml version="1.0" encoding="utf-8" standalone="yes"?> select * from test 姹備釜浜哄伐璧勫崰閮ㄩ棬宸ヨ祫鐨勭櫨鍒嗘瘮 SQL> select * from salary;
Oracle浠?.1.6寮濮嬫彁渚涘垎鏋愬嚱鏁幫紝鍒嗘瀽鍑芥暟鐢ㄤ簬璁$畻鍩轟簬緇勭殑鏌愮鑱氬悎鍊鹼紝瀹冨拰鑱氬悎鍑芥暟鐨勪笉鍚屼箣澶勬槸
瀵逛簬姣忎釜緇勮繑鍥炲琛岋紝鑰岃仛鍚堝嚱鏁板浜庢瘡涓粍鍙繑鍥炰竴琛屻?
涓嬮潰閫氳繃鍑犱釜渚嬪瓙鏉ヨ鏄庡叾搴旂敤銆?nbsp;
1 20
2 15
3 14
4 18
5 30
瑙勫垯錛氭寜澶╃粺璁★細姣忓ぉ閮界粺璁″墠闈㈠嚑澶╃殑鎬婚
寰楀埌鐨勭粨鏋滐細
DATE SALE SUM
----- -------- ------
1 20 20 --1澶?nbsp;
2 15 35 --1澶╋紜2澶?nbsp;
3 14 49 --1澶╋紜2澶╋紜3澶?nbsp;
4 18 67 .
5 30 97 .
2:緇熻鍚勭彮鎴愮嘩絎竴鍚嶇殑鍚屽淇℃伅
----- ----- ----------------------
fda 1 80
ffd 1 78
dss 1 95
cfe 2 74
gds 2 92
gf 3 99
ddd 3 99
adf 3 45
asdf 3 55
3dd 3 78
閫氳繃錛?nbsp;
--
select * from
(
select name,class,s,rank()over(partition by class order by s desc) mm from t2
)
where mm=1
--
寰楀埌緇撴灉錛?br />
NAME CLASS S MM
----- ----- ---------------------- ----------------------
dss 1 95 1
gds 2 92 1
gf 3 99 1
ddd 3 99 1
娉ㄦ剰錛?br />
1.鍦ㄦ眰絎竴鍚嶆垚緇╃殑鏃跺欙紝涓嶈兘鐢╮ow_number()錛屽洜涓哄鏋滃悓鐝湁涓や釜騫跺垪絎竴錛宺ow_number()鍙繑鍥炰竴涓粨鏋?nbsp;
2.rank()鍜宒ense_rank()鐨勫尯鍒槸錛?br />
--rank()鏄煩璺冩帓搴忥紝鏈変袱涓浜屽悕鏃舵帴涓嬫潵灝辨槸絎洓鍚?br />
--dense_rank()l鏄繛緇帓搴忥紝鏈変袱涓浜屽悕鏃朵粛鐒惰窡鐫絎笁鍚?br />
3.鍒嗙被緇熻 (騫舵樉紺轟俊鎭?
-- -- ----------------------
m a 2
n a 3
m a 2
n b 2
n b 1
x b 3
x b 2
x b 4
h b 3
寰楀埌緇撴灉錛?br />
A B C SUM(C)OVER(PARTITIONBYA)
-- -- ------- ------------------------
h b 3 3
m a 2 4
m a 2 4
n a 3 6
n b 2 6
n b 1 6
x b 3 9
x b 2 9
x b 4 9
濡傛灉鐢╯um錛実roup by 鍒欏彧鑳藉緱鍒?br />
A SUM(C)
-- ----------------------
h 3
m 4
n 6
x 9
鏃犳硶寰楀埌B鍒楀?nbsp;
錛濓紳錛濓紳錛?/font>
鏁版嵁:
A B C
1 1 1
1 2 2
1 3 3
2 2 5
3 4 6
---灝咮鏍忎綅鍊肩浉鍚岀殑瀵瑰簲鐨凜 鏍忎綅鍊煎姞鎬?br />
select a,b,c, SUM(C) OVER (PARTITION BY B) C_Sum
from test
A B C C_SUM
1 1 1 1
1 2 2 7
2 2 5 7
1 3 3 3
3 4 6 6
---濡傛灉涓嶉渶瑕佸凡鏌愪釜鏍忎綅鐨勫煎垎鍓?閭e氨瑕佺敤 null
eg: 灝辨槸灝咰鐨勬爮浣嶅約ummary 鏀懼湪姣忚鍚庨潰
select a,b,c, SUM(C) OVER (PARTITION BY null) C_Sum
from test
A B C C_SUM
1 1 1 17
1 2 2 17
1 3 3 17
2 2 5 17
3 4 6 17
NAME DEPT SAL
---------- ---- -----
a 10 2000
b 10 3000
c 10 5000
d 20 4000
SQL> select name,dept,sal,sal*100/sum(sal) over(partition by dept) percent from salary;
NAME DEPT SAL PERCENT
---------- ---- ----- ----------
a 10 2000 20
b 10 3000 30
c 10 5000 50
d 20 4000 100
寮紿楀嚱鏁版寚瀹氫簡鍒嗘瀽鍑芥暟宸ヤ綔鐨勬暟鎹獥鍙eぇ灝忥紝榪欎釜鏁版嵁紿楀彛澶у皬鍙兘浼氶殢鐫琛岀殑鍙樺寲鑰屽彉鍖栵紝涓句緥濡備笅錛?
1錛?nbsp;
over錛坥rder by salary錛?鎸夌収salary鎺掑簭榪涜绱錛宱rder by鏄釜榛樿鐨勫紑紿楀嚱鏁?br />
over錛坧artition by deptno錛夋寜鐓ч儴闂ㄥ垎鍖?br />
2錛?br />
over錛坥rder by salary range between 5 preceding and 5 following錛?br />
姣忚瀵瑰簲鐨勬暟鎹獥鍙f槸涔嬪墠琛屽箙搴﹀間笉瓚呰繃5錛屼箣鍚庤騫呭害鍊間笉瓚呰繃5
渚嬪:瀵逛簬浠ヤ笅鍒?br />
aa
1
2
2
2
3
4
5
6
7
9
sum(aa)over錛坥rder by aa range between 2 preceding and 2 following錛?br />
寰楀嚭鐨勭粨鏋滄槸
AA SUM
---------------------- -------------------------------------------------------
1 10
2 14
2 14
2 14
3 18
4 18
5 22
6 18
7 22
9 9
灝辨槸璇達紝瀵逛簬aa=5鐨勪竴琛?錛宻um涓?nbsp; 5-1<=aa<=5+2 鐨勫拰
瀵逛簬aa=2鏉ヨ 錛宻um=1+2+2+2+3+4=14 錛?br />
鍙堝 瀵逛簬aa=9 錛?-1<=aa<=9+2 鍙湁9涓涓暟錛屾墍浠um=9 錛?br />
3錛氬叾瀹冿細
over錛坥rder by salary rows between 2 preceding and 4 following錛?br />
姣忚瀵瑰簲鐨勬暟鎹獥鍙f槸涔嬪墠2琛岋紝涔嬪悗4琛?
4錛氫笅闈笁鏉¤鍙ョ瓑鏁堬細
over錛坥rder by salary rows between unbounded preceding and unbounded following錛?br />
姣忚瀵瑰簲鐨勬暟鎹獥鍙f槸浠庣涓琛屽埌鏈鍚庝竴琛岋紝絳夋晥錛?br />
over錛坥rder by salary range between unbounded preceding and unbounded following錛?br />
絳夋晥
over(partition by null)
]]>
RS: row share RX: row exclusive S: share SRX: share row exclusive X: exclusive聽聽
錛?1 錛?RS 鍙互閫氳繃涓涓嬪0鏄庢柟寮忔潵閿佸畾琛ㄧ殑琛?
DML Statement Row Locks? Mode of Table Lock SELECT ... FROM table 聽 聽 INSERT INTO table ... X RX UPDATE table ... X RX DELETE FROM table ... X RX SELECT ... FROM table ... 聽聽聽FOR聽UPDATE OF ... X RS- LOCK TABLE table IN ... 聽 聽 ROW SHARE MODE 聽 RS ROW EXCLUSIVE MODE 聽 RX SHARE MODE 聽 S SHARE EXCLUSIVE MODE 聽 SRX EXCLUSIVE MODE 聽 X
榪欎釜琛ㄤ笂寰堟竻妤?
]]>
]]>
(2):
鐢變簬
ubuntu
鏄?/span>
debian
鐨勫唴鏍革紝鎵浠ヨ鍦?/span>
oracle
瀹樻柟涓婁笅杞?/span>
oracle-xe-universal_
寮濮嬪畨瑁?鍏堢湅涓嬮潰瑕佹敞鎰忕殑闂錛岀鍥涢」)
1:dpkg 鈥揑 oracle-xe-universal_
鍑虹幇涓涓嬮棶棰?/span>
姝e湪瑙e帇緙╁皢鐢ㄤ簬鏇存浛鐨勫寘鏂囦歡 oracle-xe-universal ...
dpkg
錛氫緷璧栧叧緋婚棶棰樹嬌寰?span lang="EN-US"> oracle-xe-universal 鐨勯厤緗伐浣滀笉鑳界戶緇細
聽oracle-xe-universal
渚濊禆浜?span lang="EN-US"> libaio (>= 0.3.96) | libaio1 (>= 0.3.96)錛涚劧鑰岋細
聽
杞歡鍖?span lang="EN-US"> libaio榪樻病鏈夎瀹夎銆?span lang="EN-US">
聽
杞歡鍖?span lang="EN-US"> libaio1榪樻病鏈夎瀹夎銆?span lang="EN-US">
dpkg
錛氬鐞?span lang="EN-US"> oracle-xe-universal (--install)鏃跺嚭閿欙細
聽
渚濊禆鍏崇郴闂 - 浠嶆湭琚厤緗?span lang="EN-US">
鍦ㄥ鐞嗘椂鏈夐敊璇彂鐢燂細
聽oracle-xe-universal
鍘熸潵鏄?span lang="EN-US">libaio緙哄皯錛屾病鏈夊畨瑁咃紝鎴戝氨涓嬭澆涓嬫潵錛屾槸涓?span lang="EN-US">rpm錛岀劧鍚庡畨瑁呰繖涓?span lang="EN-US">rpm錛?span lang="EN-US">
sudo apt-get libaio-0.3.96-7.i386.rpm
姝e湪璇誨彇杞歡鍖呭垪琛?span lang="EN-US">... 瀹屾垚
姝e湪鍒嗘瀽杞歡鍖呯殑渚濊禆鍏崇郴鏍?span lang="EN-US">... 瀹屾垚
E:
鏃犳硶鎵懼埌杞歡鍖?span lang="EN-US"> libaio-0.3.96-7.i386.rpm
鐪熸槸閮侀椃鍙嶅璇曢獙閮戒笉琛?span lang="EN-US">
鏀懼純榪欐牱瀹夎錛屽埌緗戜笂鏌ユ壘鍏朵粬鏂規(guī)瀹夎libaio
緗戜笂璇撮噰鐢?span lang="EN-US">apt-get -f install瀹夎鏂瑰紡鍙兘鑷姩鑾峰彇鍖?span lang="EN-US">
apt-get -f聽 install
鏋滅劧鍙互鏃ュ織濡備笅
root@ubuntu:/home/oem# apt-get -f聽 install
姝e湪璇誨彇杞歡鍖呭垪琛?span lang="EN-US">... 瀹屾垚
姝e湪鍒嗘瀽杞歡鍖呯殑渚濊禆鍏崇郴鏍?span lang="EN-US">... 瀹屾垚
姝e湪鏇存渚濊禆鍏崇郴... 瀹屾垚
灝嗕細瀹夎涓嬪垪棰濆鐨勮蔣浠跺寘錛?span lang="EN-US">
聽 libaio1
涓嬪垪銆愭柊銆戣蔣浠跺寘灝嗚瀹夎錛?span lang="EN-US">
聽 libaio1
鍏卞崌綰т簡 0 涓蔣浠跺寘錛屾柊瀹夎浜?span lang="EN-US"> 1 涓蔣浠跺寘錛岃鍗歌澆 0 涓蔣浠跺寘錛屾湁 7 涓蔣浠舵湭琚崌綰с?span lang="EN-US">
鏈?span lang="EN-US"> 1 涓蔣浠跺寘娌℃湁琚畬鍏ㄥ畨瑁呮垨鍗歌澆銆?span lang="EN-US">
闇瑕佷笅杞?span lang="EN-US"> 5182B 鐨勮蔣浠跺寘銆?span lang="EN-US">
瑙e帇緙╁悗浼氭秷鑰楁帀 61.4kB 鐨勯澶栫┖闂淬?span lang="EN-US">
鎮(zhèn)ㄥ笇鏈涚戶緇墽琛屽悧錛?span lang="EN-US">[Y/n]y
鑾峰彇錛?span lang="EN-US">1 http://mirror.lupaworld.com dapper/main libaio1 0.3.104-1ubuntu6 [5182B]涓嬭澆 5182B錛岃楁椂 2s (2346B/s)
閫変腑浜嗘浘琚彇娑堥夋嫨鐨勮蔣浠跺寘 libaio1銆?span lang="EN-US">
(
姝e湪璇誨彇鏁版嵁搴?span lang="EN-US"> ... 緋葷粺褰撳墠鎬誨叡瀹夎鏈?span lang="EN-US"> 76207 涓枃浠跺拰鐩綍銆?span lang="EN-US">)
姝e湪瑙e帇緙?span lang="EN-US"> libaio1 (浠?span lang="EN-US"> .../libaio1_0.3.104-1ubuntu6_i386.deb) ...
姝e湪璁劇疆 libaio1 (0.3.104-1ubuntu6) ...
姝e湪璁劇疆 oracle-xe-universal (
Executing Post-install steps...
You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.
2
錛?span lang="EN-US">
聽
root@ubuntu:/home/oem#聽 /etc/init.d/oracle-xe configure
Oracle Database
-------------------------------------------------
This will configure on-boot properties of Oracle Database
Edition.聽 The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts.聽 Press <Enter> to accept the defaults.
Ctrl-C will abort.
Specify the HTTP port that will be used for Oracle Application Express [8080]:8080
Specify a port that will be used for the database listener [1521]:1521
Specify a password to be used for database accounts.聽 Note that the same
password will be used for SYS and SYSTEM.聽 Oracle recommends the use of
different passwords for each database account.聽 This can be done after
initial configuration:
Confirm the password:
Do you want Oracle Database
Starting Oracle Net Listener...Done
Configuring Database...
Starting Oracle Database
Installation Completed Successfully.
To access the Database Home Page go to "http://127.0.0.1:8080/apex"
聽
榪欏氨瀹夎瀹屼簡錛熺湡鏄笉鍙濅互錛屾瘮9I蹇緢澶氬晩錛屾誨叡鑺變簡10鍑犲垎閽燂紝涓棿鐨勯厤緗皯浜嗗ソ澶氬晩銆?span lang="EN-US">
3
錛氳闂暟鎹?span lang="EN-US">
鏍規(guī)嵁璁劇疆鐨勫瘑鐮佹病鏈夐棶棰橈紝鑳藉姝g‘璁塊棶
4:
闇瑕佹敞鎰忕殑闂錛?span lang="EN-US">
鍦ㄥ垰寮濮嬪畨瑁呯殑鏃跺欏彲鑳藉嚭鐜頒竴涓嬮棶棰?span lang="EN-US">
root@ubuntu:/home/oem# dpkg -i oracle-xe-universal_
閫変腑浜嗘浘琚彇娑堥夋嫨鐨勮蔣浠跺寘 oracle-xe-universal銆?span lang="EN-US">
(
姝e湪璇誨彇鏁版嵁搴?span lang="EN-US"> ... 緋葷粺褰撳墠鎬誨叡瀹夎鏈?span lang="EN-US"> 73613 涓枃浠跺拰鐩綍銆?span lang="EN-US">)
姝e湪瑙e帇緙?span lang="EN-US"> oracle-xe-universal (浠?span lang="EN-US"> oracle-xe-universal_
This system does not meet the minimum requirements for swap space.聽 Based on
the amount of physical memory available on the system, Oracle Database
Express Edition requires 750 MB of swap space. This system has 711 MB
of swap space.聽 Configure more swap space on the system and retry the installation.
dpkg
錛氬鐞?span lang="EN-US"> oracle-xe-universal_
聽
瀛愯繘紼?span lang="EN-US">路pre-installation script路榪斿洖浜嗛敊璇彿路1
鍦ㄥ鐞嗘椂鏈夐敊璇彂鐢燂細
聽oracle-xe-universal_
榪欎釜闂鏄敱浜?span lang="EN-US">SWAP鍒嗗尯涓嶅鐨勫師鍥犻犳垚鐨勶紝閭e氨澧炲姞涓涓?span lang="EN-US">SWAP鍒嗗尯
1
錛氶噰鐢ㄦ枃浠剁殑鏂瑰紡澧炲姞swap鍒嗗尯
Dd if=/dev/zero of=/tmp/tmp.swap bs=
mkswap /tmp/tmp.swap(
鏍囪瘑swap鏂囦歡)
swapon /tmp/tmp.swap(
嬋媧?span lang="EN-US">swap)
淇敼/etc/fstab鏂囦歡澧炲姞涓琛?span lang="EN-US">
/tmp/tmp.swap swap swap defaluts 0 0
Swapon 鈥搒
鏌ョ湅褰撳墠鐨?span lang="EN-US">swap鍒嗗尯鎯呭喌
鍙戠幇宸茬粡鏈?span lang="EN-US">2涓?span lang="EN-US">SWAP鍒嗗尯浜嗭紝絀洪棿榪欎笅瀛愬浜嗭紝鍙互緇х畫瀹夎浜?span lang="EN-US">
2
錛氫篃鍙凡閲囩敤鐩存帴澧炲姞SWAP鏂瑰紡錛堟垜娌℃湁閲囩敤榪欐牱鐨勫姙娉曪級
媯鏌ョ偣鏄竴涓暟鎹簱浜嬩歡錛屽畠鎶婁慨鏀規(guī)暟鎹粠楂橀熺紦瀛樺啓鍏ョ鐩橈紝騫舵洿鏂版帶鍒舵枃浠跺拰鏁版嵁鏂囦歡銆?/p>
媯鏌ョ偣鍒嗕負涓夌被錛?br />1錛夊眬閮ㄦ鏌ョ偣錛氬崟涓疄渚嬫墽琛屾暟鎹簱鎵鏈夋暟鎹枃浠剁殑涓涓鏌ョ偣鎿嶄綔錛屽睘浜庢瀹炰緥鐨勫叏閮ㄨ剰緙撳瓨鍖哄啓鍏ユ暟鎹枃浠躲?br />瑙﹀彂鍛戒護錛?br />svmrgrl>alter system checkpoint local;
榪欐潯鍛戒護鏄劇ず鐨勮Е鍙戜竴涓眬閮ㄦ鏌ョ偣銆?br />2錛夊叏灞媯鏌ョ偣錛氭墍鏈夊疄渚嬶紙瀵瑰簲騫惰鏁版嵁鏈嶅姟鍣級鎵ц鏁版嵁搴撴墍鏈夋墍鏈夋暟鎹枃浠剁殑涓涓鏌ョ偣鎿嶄綔錛屽睘浜庢瀹炰緥鐨勫叏閮ㄨ剰緙撳瓨鍖哄啓鍏ユ暟鎹枃浠躲?br />瑙﹀彂鍛戒護
svrmgrl>alter system checkpoint global;
榪欐潯鍛戒護鏄劇ず鐨勮Е鍙戜竴涓叏灞媯鏌ョ偣銆?br />3錛夋枃浠舵鏌ョ偣錛氭墍鏈夊疄渚嬮渶瑕佹墽琛屾暟鎹枃浠墮泦鐨勪竴涓鏌ョ偣鎿嶄綔錛屽浣跨敤鐑浠藉懡浠lter tablespace USERS begin backup錛屾垨琛ㄧ┖闂磋劚鏈哄懡浠lter tablespace USERS offline錛屽皢鎵ц灞炰簬USERS琛ㄧ┖闂寸殑鎵鏈夋暟鎹枃浠剁殑涓涓鏌ョ偣鎿嶄綔銆?/p>
媯鏌ョ偣澶勭悊姝ラ錛?br />1錛夎幏鍙栧疄渚嬬姸鎬侀槦鍒楋細瀹炰緥鐘舵侀槦鍒楁槸鍦ㄥ疄渚嬬姸鎬佽漿鍙樻椂鑾峰緱錛孫RACLE鑾峰緱姝ら槦鍒椾互淇濊瘉媯鏌ョ偣鎵ц鏈熼棿錛屾暟鎹簱澶勪簬鎵撳紑鐘舵侊紱
2錛夎幏鍙栧綋鍓嶆鏌ョ偣淇℃伅錛氳幏鍙栨鏌ョ偣璁板綍淇℃伅鐨勭粨鏋勶紝姝ょ粨鏋勫寘鎷綋鍓嶆鏌ョ偣鏃墮棿銆佹椿鍔ㄧ嚎紼嬨佽繘琛屾鏌ョ偣澶勭悊鐨勫綋鍓嶇嚎紼嬨佹棩蹇楁枃浠朵腑鎭㈠鎴鐐圭殑鍦板潃淇℃伅錛?br />3錛夌紦瀛樺尯鏍囪瘑錛氭爣璇嗘墍鏈夎剰緙撳瓨鍖猴紝褰撴鏌ョ偣鎵懼埌涓涓剰緙撳瓨鍖哄氨灝嗗叾鏍囪瘑涓洪渶榪涜鍒鋒柊錛屾爣璇嗙殑鑴忕紦瀛樺尯鐢辯郴緇熻繘紼婦BWR榪涜鍐欐搷浣滐紝灝嗚剰緙撳瓨鍖虹殑鍐呭鍐欏叆鏁版嵁鏂囦歡錛?br />4錛夎剰緙撳瓨鍖哄埛鏂幫細DBWR榪涚▼灝嗘墍鏈夎剰緙撳瓨鍖哄啓鍏ョ鐩樺悗錛岃緗竴鏍囧織錛屾爣璇嗗凡瀹屾垚鑴忕紦瀛樺尯鑷崇鐩樼殑鍐欏叆鎿嶄綔銆傜郴緇熻繘紼婰GWR涓嶤KPT榪涚▼灝嗙戶緇繘琛屾鏌ワ紝鐩磋嚦DBWR榪涚▼緇撴潫涓烘錛?br />5錛夋洿鏂版帶鍒舵枃浠朵笌鏁版嵁鏂囦歡銆?br />娉細鎺у埗鏂囦歡涓庢暟鎹枃浠跺ご鍖呭惈媯鏌ョ偣緇撴瀯淇℃伅銆?br />鍦ㄤ袱縐嶆儏鍐典笅錛屾枃浠跺ご涓殑媯鏌ョ偣淇℃伅錛堣幏鍙栧綋鍓嶆鏌ョ偣淇℃伅鏃訛級灝嗕笉鍋氭洿鏂幫細
1錛夋暟鎹枃浠朵笉澶勪簬鐑浠芥柟寮忥紝姝ゆ椂ORACLE灝嗕笉鐭ラ亾鎿嶄綔緋葷粺灝嗕綍鏃惰鏂囦歡澶達紝鑰屽浠芥嫹璐濆湪鎷瘋礉寮濮嬫椂蹇呴』鍏鋒湁媯鏌ョ偣SCN錛?br />ORACLE鍦ㄦ暟鎹枃浠跺ご涓繚鐣欎竴涓鏌ョ偣鐨勮鏁板櫒錛屽湪姝e父鎿嶄綔涓繚璇佷嬌鐢ㄦ暟鎹枃浠剁殑褰撳墠鐗堟湰錛屽湪鎭㈠鏃墮槻姝㈡仮澶嶆暟鎹枃浠剁殑閿欒鐗堟湰錛涘嵆浣垮湪鐑浠芥柟寮忎笅錛岃鏁板櫒渚濈劧鏄掑鐨勶紱姣忎釜鏁版嵁鏂囦歡鐨勬鏌ョ偣璁℃暟鍣紝涔熶繚鐣欏湪鎺у埗鏂囦歡鐩稿搴旀暟鎹枃浠墮」涓?br />2錛夋鏌CN灝忎簬鏂囦歡澶翠腑鐨勬鏌ョ偣SCN鐨勬椂鍊欙紝榪欒〃鏄庣敱媯鏌ョ偣浜х敓鐨勬敼鍔ㄥ凡緇忓啓鍒扮鐩樹笂錛屽湪鎵ц鍏ㄥ眬媯鏌ョ偣鐨勫鐞嗚繃紼嬩腑錛屽鏋滀竴涓儹澶囦喚蹇熸鏌ョ偣鍦ㄦ洿鏂版枃浠跺ご鏃訛紝鍒欏彲鑳藉彂鐢熸縐嶆儏鍐點傚簲璇ユ敞鎰忕殑鏄紝ORACLE鏄湪瀹為檯榪涜媯鏌ョ偣澶勭悊鐨勫ぇ閲忓伐浣滀箣鍓嶆崟鑾鋒鏌CN鐨勶紝騫朵笖寰堟湁鍙兘琚竴鏉¤薄鐑浠藉懡浠?alter tablespace USERS begin backup榪涜蹇熸鏌ョ偣澶勭悊鏃剁殑鍛戒護鎵撴柇銆?br />ORACLE鍦ㄨ繘琛屾暟鎹枃浠舵洿鏂頒箣鍓嶏紝灝嗛獙璇佸叾鏁版嵁涓鑷存э紝褰撻獙璇佸畬鎴愶紝鍗蟲洿鏂版暟鎹枃浠跺ご浠ュ弽鏄犲綋鍓嶆鏌ョ偣鐨勬儏鍐碉紱鏈粡楠岃瘉鐨勬暟鎹枃浠朵笌鍐欏叆鏃跺嚭鐜伴敊璇殑鏁版嵁鏂囦歡閮借蹇界暐錛涘鏋滄棩蹇楁枃浠惰瑕嗙洊錛屽垯榪欎釜鏂囦歡鍙兘闇瑕佽繘琛屼粙璐ㄦ仮澶嶏紝鍦ㄨ繖縐嶆儏鍐典笅錛孫RACLE緋葷粺榪涚▼DBWR灝嗘鏁版嵁鏂囦歡鑴辨満銆?/p>
媯鏌ョ偣綆楁硶鎻忚堪錛?br />鑴忕紦瀛樺尯鐢ㄤ竴涓柊闃熷垪閾炬帴錛岀О涓烘鏌ョ偣闃熷垪銆傚緙撳瓨鍖虹殑姣忎竴涓敼鍔紝閮芥湁涓涓笌鍏剁浉鍏崇殑閲嶅仛鍊箋傛鏌ョ偣闃熷垪鍖呭惈鑴忕殑鏃ュ織緙撳瓨鍖猴紝榪欎簺緙撳瓨鍖烘寜鐓у畠浠湪鏃ュ織鏂囦歡涓殑浣嶇疆鎺掑簭錛屽嵆鍦ㄦ鏌ョ偣闃熷垪涓紝緙撳瓨鍖烘寜鐓у畠浠殑浣庨噸鍋氬艱繘琛屾帓搴忋傞渶瑕佹敞鎰忕殑鏄紝鐢變簬緙撳瓨鍖烘槸渚濈収絎竴嬈″彉鑴忕殑嬈″簭閾炬帴鍒伴槦鍒椾腑鐨勶紝鎵浠ワ紝濡傛灉鍦ㄧ紦瀛樺尯鍐欏嚭涔嬪墠瀵瑰畠鏈夊彟澶栫殑鏀瑰姩錛岄摼鎺ヤ笉鑳借繘琛岀浉搴斿彉鏇達紝緙撳瓨鍖轟竴鏃﹁閾炬帴鍒版鏌ョ偣闃熷垪錛屽畠?yōu)鍋滅暀鍦ㄦ浣嵕|紝鐩村埌灝嗗畠琚啓鍑轟負姝€?/p>
ORACLE緋葷粺榪涚▼DBWR鍦ㄥ搷搴旀鏌ョ偣璇鋒眰鏃訛紝鎸夌収榪欎釜闃熷垪鐨勪綆閲嶅仛鍊肩殑鍗囧簭鍐欏嚭緙撳瓨鍖恒傛瘡涓鏌ョ偣璇鋒眰鎸囧畾涓涓噸鍋氬鹼紝涓鏃BWR鍐欏嚭鐨勭紦瀛樺尯閲嶅仛鍊肩瓑浜庢垨澶ч洦媯鏌ョ偣鐨勯噸鍋氬鹼紝媯鏌ョ偣澶勭悊鍗沖畬鎴愶紝騫跺皢璁板綍鍒版帶鍒舵枃浠朵笌鏁版嵁鏂囦歡銆?br />鐢變簬媯鏌ョ偣闃熷垪涓婄殑緙撳瓨鍖烘寜鐓т綆閲嶅仛鍊艱繘琛屾帓搴忥紝鑰孌BWR涔熸寜鐓т綆閲嶅仛鍊奸『搴忓啓鍑烘鏌ョ偣緙撳瓨鍖猴紝鏁呭彲鑳芥湁澶氫釜媯鏌ョ偣璇鋒眰澶勪簬媧誨姩鐘舵侊紝褰揇BWR鍐欏嚭緙撳瓨鍖烘椂錛屾鏌ヤ綅浜庢鏌ョ偣闃熷垪鍓嶇鐨勭紦瀛樺尯閲嶅仛鍊間笌媯鏌ョ偣閲嶅仛鍊肩殑涓鑷存э紝濡傛灉閲嶅仛鍊煎皬浜庢鏌ョ偣闃熷垪鍓嶇紦瀛樺尯鐨勪綆閲嶅仛鍊肩殑鎵鏈夋鏌ョ偣璇鋒眰錛屽嵆鍙〃紺哄鐞嗗畬鎴愩傚綋瀛樺湪鏈畬鎴愮殑媧誨姩媯鏌ョ偣璇鋒眰鏃訛紝DBWR緇х畫鍐欏嚭媯鏌ョ偣緙撳瓨鍖恒?/p>
綆楁硶鐗圭偣錛?br />1錛塂BWR鑳界‘鍒囩殑鐭ラ亾涓烘弧瓚蟲鏌ョ偣璇鋒眰闇瑕佸啓閭d簺緙撳瓨鍖猴紱
2錛夊湪姣忔榪涜媯鏌ョ偣鍐欐椂淇濊瘉鎸囧悜瀹屾垚鏈鏃╃殑錛堝叿鏈夋渶浣庨噸鍋氬肩殑錛夋鏌ョ偣錛?br />3錛夋牴鎹鏌ョ偣閲嶅仛鍊煎彲浠ュ尯鍒涓鏌ョ偣璇鋒眰錛岀劧鍚庢寜鐓у畠浠殑欏哄簭瀹屾垚澶勭悊銆?/p>
SQL> show parameter log_check;
NAME聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TYPE聽聽聽聽聽聽聽 VALUE
------------------------------------ ----------- ------------------------------
log_checkpoint_interval聽聽聽聽聽聽聽聽聽聽聽聽聽 integer聽聽聽聽 0
log_checkpoint_timeout聽聽聽聽聽聽聽聽聽聽聽聽聽聽 integer聽聽聽聽 1800
log_checkpoints_to_alert聽聽聽聽聽聽聽聽聽聽聽聽 boolean聽聽聽聽 FALSE
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
聽聽聽聽聽聽聽聽聽聽聽 928767
聽
錛冿純錛冿純錛冿純錛冿純錛冿純錛冿純錛冿純錛冿純錛冿純錛冿純錛冿純錛冿純錛冿純
浠婂ぉ瀛︿範榪囩▼涓亣鍒頒竴涓嬮棶棰?/p>
SQL> alter database open;
alter database open
*
ERROR 浣嶄簬絎?1 琛?
ORA-01113: 鏂囦歡 1 闇瑕佷粙璐ㄦ仮澶?br />ORA-01110: 鏁版嵁鏂囦歡 1: 'E:\ORACLE\ORADATA\TESTABC\SYSTEM01.DBF'
#################################
鏀逛負闈炲綊妗fā寮?br />archive log stop;
#################################
SQL> recover database;
瀹屾垚浠嬭川鎭㈠銆?br />SQL> alter database open;
鏁版嵁搴撳凡鏇存敼銆?/p>
鍙互OPERN浜嗭紝
#################################
鏌ョ湅鏁版嵁鏂囦歡鐨勭姸鎬?/p>
SQL> select name,status from v$datafile;聽聽聽聽聽
##################################
聽
1 錛?/span> agent,tnslistener 閮藉惎鍔ㄨ搗鏉ワ紝 OracleServiceTESTDB 瀹炰緥涔熷湪鏈嶅姟閲岄潰鍚姩璧鋒潵浜?/span>
2 錛?/span> oem 妗f搴撲篃寤虹珛濂戒簡錛屽氨寤虹珛鍦?/span> OracleServiceTESTDB 鏁版嵁搴撲笂
3 錛氫竾浜嬪叿澶囦簡錛屽惎鍔?/span> OracleOraHome92ManagementServer, 鎶ュ紓甯稿嚭鏉?/span>
鏈嶅姟鍣ㄥ悗鍙堝仠姝簡錛屼竴浜涙湇鍔¤嚜鍔ㄥ仠姝紝濡傛灉浠栦滑娌′粈涔堝彲鍋氬緱錛屼緥濡傛ц兘鏃ュ織鍜岃鎶ユ湇鍔?/span>
閮侀椃鍟?/span>
聽 鎺ヤ笅鏉ユ垜鍋氫簡涓涓嬩簨鎯?/span>
聽1 錛氶噸鏂板緩绔嬩簡妗f搴擄紝鐒跺悗鍚姩 OracleOraHome92ManagementServer 浠嶇劧娌℃湁鎴愬姛
聽2 錛?/span> ,TNSLISTNER 錛?/span> OracleOraHome92ManagementServer 錛?/span> OracleServiceTESTDB 錛?/span> AGENT 閮借緗垚鑷姩鍚姩錛岄噸鏂板惎鍔ㄤ簡鏈哄櫒鍚?浠嶇劧娌℃湁鎴愬姛
3 錛氶噸鏂板畨瑁呬簡 ORACLE 鐒跺悗閲嶆柊鍋氫簡浠ヤ笂浜嬫儏錛屼粛鐒舵病鏈夋垚鍔?/span>
鏍規(guī)嵁緗戜笂寰楄祫鏂欏拰鑷繁寰楀疄璺靛彂鐜頒竴涓嬮棶棰?/span>
1 錛?br />鎴戣嚜宸卞緱鏈哄櫒鏄礬鐢卞櫒緇欏緱 IP 錛屼笉鏄嚜宸辨満鍣ㄨ瀹氬緱鍥哄畾 IP 錛屽湪 XP 涓嬮潰鎼滅儲浜?/span> C:
Hosts 鏂囦歡錛岃礬寰?/span> C:\WINDOWS\system32\drivers\etc\hosts
127.0.0.1聽聽聽聽聽聽 localhost
10.200.7.71聽聽聽聽 USER-3286972EF7
鎶婂垎閰嶇粰鑷繁寰?/span> IP 錛屽拰鑷繁寰椾富鏈哄悕瀵瑰簲涓涓嬶紝灝辨槸璇村姞涓婄浜岃錛岀劧鍚庨噸鏂板惎鍔ㄦ満鍣紝
OMS
灝卞惎鍔ㄨ搗鏉ヤ簡錛?br />2:
鎴戞悳绱簡娉ㄥ唽琛ㄩ噷闈?/span>
OracleOraHome92ManagementServer
寰?/span>
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\OracleOraHome92ManagementServer聽聽 DependOnService 鏁板兼暟鎹搴斿埌 OracleServiceTESTDB, 瑕佹槸涓嶅搴斾竴瀹氳淇敼娉ㄥ唽琛ㄨ浠栧搴旇搗鏉ワ紝灝辨槸璇翠竴瀹氳鍙堜緷璧栧叧緋伙紒錛侊紒錛佸惁鍒欐垚鍔熶笉浜?/span>
鎬諱箣 2 鏉★細
聽 1 錛氬姩鎬?/span> IP 涓瀹氳瀵瑰簲涓繪満鍚?/span>
聽 2 錛氭敞鍐岃〃閲岄潰寰椾緷璧栧叧緋諱竴瀹氳渚濊禆褰撳墠妗f搴撴墍鍦ㄥ緱鏈嶅姟涓婂氨鏄?/span> OracleServiceTESTDB 涓婇潰錛侊紒錛侊紒
鍚姩 Oracle Management Server 鏃跺嚭閿欍俲ava.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.stopServices(VxaAppServer.java:1406)
聽at oracle.sysman.vxa.VxaAppServer.exit(VxaAppServer.java:2533)
聽at oracle.sysman.vxa.VxaAppServer.main(VxaAppServer.java:3166)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.connectionLost(VxaAppServer.java:1474)
聽at oracle.sysman.vdg.VdgAgentGatewayImpl.initiateExitAndRestart(VdgAgentGatewayImpl.java:689)
聽at oracle.sysman.vdg.vdgConn.VdgConnection.pollForConnectionEvents(VdgConnection.java:2087)
聽at oracle.sysman.vdg.vdgConn.VdgListenThread.inConnPollLoop_(VdgListenThread.java:427)
聽at oracle.sysman.vdg.vdgConn.VdgListenThread.run(VdgListenThread.java:362)
聽at oracle.sysman.vtaGallery.threadPoolManager.WorkerThread.run(Worker.java:271)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.connectionLost(VxaAppServer.java:1474)
聽at oracle.sysman.vdg.VdgAgentGatewayImpl.initiateExitAndRestart(VdgAgentGatewayImpl.java:689)
聽at oracle.sysman.vdg.vdgConn.VdgConnection.pollForConnectionEvents(VdgConnection.java:2087)
聽at oracle.sysman.vdg.vdgConn.VdgListenThread.inConnPollLoop_(VdgListenThread.java:427)
聽at oracle.sysman.vdg.vdgConn.VdgListenThread.run(VdgListenThread.java:362)
聽at oracle.sysman.vtaGallery.threadPoolManager.WorkerThread.run(Worker.java:271)
java.lang.NullPointerException:
聽at java.util.Hashtable.get(Hashtable.java:259)
聽at oracle.sysman.vxa.VxaAppServer.connectionLost(VxaAppServer.java:1474)
聽at oracle.sysman.vdg.VdgAgentGatewayImpl.initiateExitAndRestart(VdgAgentGatewayImpl.java:689)
聽at oracle.sysman.vdg.vdgConn.VdgConnection.pollForConnectionEvents(VdgConnection.java:2087)
聽at oracle.sysman.vdg.vdgConn.VdgListenThread.inConnPollLoop_(VdgListenThread.java:427)
聽at oracle.sysman.vdg.vdgConn.VdgListenThread.run(VdgListenThread.java:362)
聽at oracle.sysman.vtaGallery.threadPoolManager.WorkerThread.run(Worker.java:271)
"Could not start management server. Initialization failure"
璇ュ浣曡В鍐?/p>
聽鎴戝畨瑁呯殑鏄?銆?銆?銆?銆?鐗堟湰錛岀郴緇焁P
聽聽聽
聽聽聽
2
錛?/span>
read-only
涓嶆槸sql92鏍囧噯錛?span lang="EN-US">readonly鐨勫ソ澶勬槸鎻愰珮浜嗘暟鎹簱鐨勬晥鐜囷紝readonly鐨勫悓鏃跺張鍏佽DML鎿嶄綔錛屾垜鍘熸潵浠ヤ負readonly灝變笉鍏佽DML鎿嶄綔鏁版嵁搴撲簡鍛?span lang="EN-US">
3 錛?span lang="EN-US">read committed 鍜?span lang="EN-US">serializable
鐨勪竴浜涘尯鍒笌鑱旂郴 聽
聽1
錛氶兘鐪嬩笉鍒拌剰鏁版嵁
聽2
錛?span lang="EN-US">read committed 涓嶈兘澶熼噸澶嶈錛岃?span lang="EN-US">serializable鑳藉閲嶅璇伙紝錛堥噸澶嶈鐨勬剰鎬濆氨鏄紝鍦ㄤ竴涓簨鍔′腑澶氭璇誨彇涓鏉¤琚殑浜嬪姟鎻愰珮鐨勬暟鎹紙COMMITE錛?span lang="EN-US">serializable鐪嬩笉鍒幫紒錛侊級
聽3
錛氶殧紱葷▼搴﹁秺楂橈紝鏁版嵁搴撶殑騫跺彂鎬ц秺宸紱闅旂紼嬪害瓚婁綆錛屾暟鎹簱鐨勫茍鍙戞ц秺濂姐備篃灝辨槸璇翠綘瑕佺殑鏁版嵁鍑嗙‘涓鑷存уソ錛屽氨瑕佺壓鐗蹭竴浜涙暟鎹殑鏁堢巼鑳冧唬浠風殑
聽4
錛?/span>
聽
濡傛灉鏈夊湪serializable浜嬪姟寮濮嬫椂鏈彁浜ょ殑浜嬪姟鍦?span lang="EN-US">serializable浜嬪姟緇撴潫涔嬪墠淇敼浜?span lang="EN-US">serializable浜嬪姟灝嗚淇敼鐨勮騫惰繘琛屼簡鎻愪氦錛屽垯serializable浜嬪姟鎻愪氦鐨勬椂鍊欏洖娉曞満鍙戠敓鏃犳硶搴忓垪鍖栬闂殑閿欒
脴聽聽聽聽聽聽 Exit TOAD Launch TOAD On the Login screen their should be an option to
> use 'SQL Net compatible Net8' Please check this
聽
闂灝辮В鍐充簡鍛靛懙錛屽彲鑳芥槸瑕佹眰鍏煎浠ュ墠鐨凮RACLE鐨勭敤娉曪紝鐜板湪鍘繪帀浜嗗氨濂戒簡錛屾病鏈夐棶棰樹簡