日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

ORACLE技術(shù)中國(guó)用戶(hù)討論組 - Oracle開(kāi)發(fā)應(yīng)用 - TNS-12500解決過(guò)程(zt) - powered by ORACLE USER GROUP

 lancharl 2005-09-09
TNS-12500解決過(guò)程(zt)

TNS-12500解決過(guò)程


一 環(huán)境:
1 平臺(tái): HP,2G內(nèi)存 windows 2k advServer sp3 + oracle 817 獨(dú)占模式

2 內(nèi)存分配相關(guān)參數(shù)
..processes................=.350
..shared_pool_size.........=.314572800
..large_pool_size..........=.614400
..java_pool_size...........=.0
..db_block_buffers.........=.67372
..db_block_size............=.16384
..log_buffer...............=.163840
..log_checkpoint_interval..=.10000
..sort_area_size...........=.52428800
..sort_area_retained_size..=.52428800
..open_cursors.............=.300
..job_queue_processes......=.4
..job_queue_interval.......=.10
..max_dump_file_size.......=.10240

3 最大并發(fā)用戶(hù)數(shù):100個(gè)左右

二 故障現(xiàn)象:
....當(dāng)用戶(hù)數(shù)達(dá)到一定的數(shù)量時(shí)(30多)客戶(hù)端連接服務(wù)器時(shí)報(bào)TNS-12500錯(cuò)誤,此時(shí)已連接到服務(wù)器的用戶(hù)能正常訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。
....首先查看警告日志文件,未見(jiàn)到明顯錯(cuò)誤信息。
....查看listner.log文件,發(fā)現(xiàn)如下信息(很多個(gè)類(lèi)似的錯(cuò)誤記錄,摘兩個(gè)上來(lái))
.........................
02-JUL-2003 10:30:09 * (CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=***.EXE)(HOST=*******)(USER=*****))) * (ADDRESS=(PROTOCOL=tcp)(HOST=*******)(PORT=1136)) * establish * ORCL * 12500
TNS-12500: TNS:listener failed to start a dedicated server process
.TNS-12540: TNS:internal limit restriction exceeded
..TNS-12560: TNSrotocol adapter error
...TNS-00510: Internal limit restriction exceeded
....32-bit Windows Error: 8: Exec format error
02-JUL-2003 10:30:10 * (CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=***.EXE)(HOST=*****)(USER=***))) * (ADDRESS=(PROTOCOL=tcp)(HOST=******)(PORT=1203)) * establish * ORCL * 12500
TNS-12500: TNS:listener failed to start a dedicated server process
.TNS-12540: TNS:internal limit restriction exceeded
..TNS-12560: TNSrotocol adapter error
...TNS-00510: Internal limit restriction exceeded
....32-bit Windows Error: 8: Exec format error
.....................

此時(shí),原來(lái)已連接上服務(wù)器的用戶(hù)還能正常使用。查看此時(shí)session達(dá)到50多個(gè)。
....重啟oracle服務(wù)后,能連接新的用戶(hù)數(shù),但當(dāng)并發(fā)用戶(hù)數(shù)達(dá)到15個(gè)以上時(shí),再次報(bào)同樣的錯(cuò)誤

三 原因分析:
....系統(tǒng)資源耗竭,意味著系統(tǒng)分配給oracle的內(nèi)存用盡了。雖然我們有2G的物理內(nèi)存,但正常情況下系統(tǒng)只能給oracle分配1.3G的內(nèi)存,這1.3G的內(nèi)存中,包括了SGA、PGA等oracle需要使用的全部?jī)?nèi)存。在獨(dú)占模式下,每一個(gè)用戶(hù)將單獨(dú)分配50M(Sort_area_size)左右的內(nèi)存。在本例中,UGA分配了約2G,按每一個(gè)用戶(hù)分配50M內(nèi)存計(jì)算,連接數(shù)達(dá)到15個(gè)時(shí),總分配內(nèi)存已達(dá)到2G,將不能再增加新的連接數(shù)。如果要解決這個(gè)問(wèn)題,在不做大的調(diào)整的前提下,要么減小SGA大小,要么減小為每一個(gè)會(huì)話(huà)分配的內(nèi)存大小,以能連接更多的用戶(hù)。

四 解決過(guò)程:
....查閱了oracle文檔,文檔里提出來(lái)了幾個(gè)解決的辦法:
1 重置init.ora參數(shù)文件,調(diào)小以下四個(gè)參數(shù)的值:
....sort_area_size
....hash_area_size
....bitmap_merge_area_size
....create_bitmap_area_seze
....open_cursone

2 減小oracle Job隊(duì)列數(shù)量(job_queue_processes)和并發(fā)隊(duì)列數(shù)(parallel_max_servers)
3 重置并減小會(huì)話(huà)/線(xiàn)程使用的堆棧大小
4 將oracle改為mts模式


....結(jié)合本實(shí)例的具體情況,決定調(diào)整的主要目標(biāo)為減小用戶(hù)的PGA大小。
....構(gòu)成PGA的主要內(nèi)容有sort_area_size, hash_area_size, open_cursor, 以及oracle 堆棧和TNS 堆棧。在本實(shí)例中,排序區(qū)為64K,hash區(qū)為128K(缺少值),打開(kāi)的游標(biāo)數(shù)與應(yīng)用有關(guān),不能隨便減小了,然而oracle堆棧和TNS堆棧都是1M,卻有較大的減小的余地。因此,調(diào)整的目標(biāo)定為減小這兩個(gè)堆棧的大小。
....使用orastack 命令來(lái)減小這兩個(gè)堆棧的大?。?
D:\oracle\ora81\bin>orastack oracle.exe 500000
Couldn‘t open file with CreateFile()
GetLastError() == 32

....停止oracle服務(wù)和TNS服務(wù),再運(yùn)行以上命令
D:\oracle\ora81\bin>orastack oracle.exe 500000

Dump of file oracle.exe

Current Reserved Memory per Thread = 1048576
Current Committed Memory per Thread = 4096

New Reserved Memory per Thread = 500000

D:\oracle\ora81\bin>orastack tnslsnr.exe 500000

Dump of file tnslsnr.exe

Current Reserved Memory per Thread = 1048576
Current Committed Memory per Thread = 4096

New Reserved Memory per Thread = 500000

重新啟動(dòng)oracle服務(wù)和TNS服務(wù),打開(kāi)數(shù)據(jù)庫(kù),用戶(hù)連接到服務(wù)器,經(jīng)測(cè)試,用戶(hù)數(shù)到50以上時(shí)數(shù)據(jù)庫(kù)仍然運(yùn)行正常,解決了本實(shí)例存在的問(wèn)題。

五 小結(jié)
....事實(shí)上,正如oracle文檔所指出的那樣,要增加用戶(hù)連接數(shù)的途徑很多,除了減小用戶(hù)堆棧之外,還可以減小SGA,或者是更改成MTS方式,或者是使用第三方工具增加oracle可用內(nèi)存。在本安全應(yīng)用中,宜將兩者(減小用戶(hù)堆棧與增加oracle可用內(nèi)存)結(jié)合起來(lái)使用,以提高數(shù)據(jù)庫(kù)性能。但是,這種方式下,同樣不可能無(wú)限制地增加用戶(hù)連接數(shù)。要想使用戶(hù)連接數(shù)達(dá)到更大,則應(yīng)使用MTS方式。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多