a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

案例學(xué)習(xí)Oracle錯誤:TNS-00510

2024-08-29 13:50:29
字體:
供稿:網(wǎng)友
TNS-00510 Internal limit restriction exceeded Cause Too many files or sockets open simultaneously (or some other resource has been depleted). Action For further details, trace the Operation for PRotocol details. TNS-12500 TNS:listener failed to start a dedicated server process Cause The process of starting up a dedicated server process failed. The executable could not be found or the environment may be set up incorrectly. Action Turn on tracing at the ADMIN level and re-execute the operation. Verify that the Oracle Server executable is present and has execute permissions enabled. Ensure that the Oracle environment is specified correctly in LISTENER.ORA. The Oracle Protocol Adapter that is being called may not be installed on the local hard drive. Check that the correct Protocol Adapter are sUCcessfully linked. If the error persists, contact Oracle Customer Support. TNS-12540 TNS:internal limit restriction exceeded Cause Too many TNS connections open simultaneously. Action Wait for connections to close and retry. TNS-12560 TNS:protocol adapter error Cause A generic protocol adapter error occurred. Action Check addresses used for proper protocol specification. Before reporting this error, look at the error stack and check for lower level transport errors.For further details, turn on tracing and re-execute the operation. Turn off tracing when the operation is complete. 問:進(jìn)程的數(shù)量會引起監(jiān)聽器錯誤嗎? TNS-12500: TNS:listener failed to start a dedicated server process TNS-12540: TNS:internal limit restriction exceeded TNS-12560: TNS:protocol adapter error TNS-00510: Internal limit restriction exceeded IBM/AIX RISC System/6000 Error: 11: Resource temporarily unavailable 我們在監(jiān)聽器日志中發(fā)現(xiàn)如上的錯誤信息。服務(wù)器上每個用戶的最大進(jìn)程數(shù)量被設(shè)置600 Oracle中的最大進(jìn)程數(shù)量為600。進(jìn)程最大的利用率是482,每個會話的最大利用率是490。會話的數(shù)量設(shè)置為840。 根據(jù)我所了解的,看起來進(jìn)程的數(shù)量是沒有問題的。我們通過在這個機(jī)器上無法正確建立內(nèi)存分頁空間而對此進(jìn)行了證實,然而,一些人仍然告訴我們要在起始的時候增加進(jìn)程的數(shù)量。我不同意這個觀點。我遺漏了什么嗎? 答:TNS-510錯誤信息顯示了有太多的文件或者socket同時開放了(或者是其他一些資源耗盡了)。這是操作系統(tǒng)的限制,不是Oracle的限制。你需要確認(rèn)你的AIX平臺可以處理你在服務(wù)器上開放的這么多的文件。這是“全部”文件,并不僅僅是Oracle數(shù)據(jù)庫文件。并且,你還需要確認(rèn)你的AIX服務(wù)器可以正確處理全部數(shù)量的Oracle進(jìn)程,而不僅僅是專用的服務(wù)器進(jìn)程。Oracle的起始參數(shù)PROCESSES限制了專用的服務(wù)器進(jìn)程數(shù)量。但是還有后臺的進(jìn)程(SMON, PMON, LGWR等),以及支持并行語句的進(jìn)程,更不用說你的監(jiān)聽器等了。我覺得你應(yīng)該配置AIX來答應(yīng)每個Unix用戶擁有更多的進(jìn)程。 總結(jié):TNS-12500,TNS-12540,TNS-12560,TNS-00510解決過程 一 環(huán)境: 1 平臺: IBM AX360,4G內(nèi)存 windows 2k advServer sp3 + oracle 816 獨占模式 2 內(nèi)存分配相關(guān)參數(shù)
..processes................=.1000 ..shared_pool_size.........=.240000000 ..large_pool_size..........=.614400 ..java_pool_size...........=.32768 ..db_block_buffers.........=.90000 ..db_block_size............=.4096 ..log_buffer...............=.163840 ..log_checkpoint_interval..=.10000 ..sort_area_size...........=.65536 ..sort_area_retained_size..=.65536 ..open_cursors.............=.100 ..job_queue_processes......=.4 ..job_queue_interval.......=.10 ..max_dump_file_size.......=.10240
3 最大并發(fā)用戶數(shù):850個左右 二 故障現(xiàn)象: 當(dāng)用戶數(shù)達(dá)到一定的數(shù)量時(700多)客戶端連接服務(wù)器時報ora-12560錯誤,緊跟著報ora-03114錯誤,不能連接到服務(wù)器。此時已連接到服務(wù)器的用戶能正常訪問數(shù)據(jù)庫。 首先查看警告日志文件,未見到明顯錯誤信息。 查看listner.log文件,發(fā)現(xiàn)如下信息(很多個類似的錯誤記錄,摘兩個上來)
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
此時,原來已連接上服務(wù)器的用戶還能正常使用。查看此時session達(dá)到760多個。 重啟oracle服務(wù)后,能連接新的用戶數(shù),但當(dāng)并發(fā)用戶數(shù)達(dá)到750個以上時,再次報同樣的錯誤 三 原因分析: 系統(tǒng)資源耗竭,意味著系統(tǒng)分配給oracle的內(nèi)存用盡了。雖然我們有4G的物理內(nèi)存,但正常情況下系統(tǒng)只能給oracle分配2G的內(nèi)存,這2G的內(nèi)存中,包括了SGA、PGA等oracle需要使用的全部內(nèi)存。在獨占模式下,每一個session將單獨分配2M左右的內(nèi)存。在本例中,SGA分配了約600M,按每一個用戶分配2M內(nèi)存計算,連接數(shù)達(dá)到750個時,總分配內(nèi)存已達(dá)到2G,將不能再增加新的連接數(shù)。假如要解決這個問題,在不做大的調(diào)整的前提下,要么減小SGA大小,要么減小為每一個會話分配的內(nèi)存大小,以能連接更多的用戶。 四 解決過程: 查閱了oracle文檔,文檔里提出來了幾個解決的辦法: 1 重置init.ora參數(shù)文件,調(diào)小以下四個參數(shù)的值:
short_area_size hash_area_size bitmap_merge_area_size create_bitmap_area_seze open_cursone
2 調(diào)小SGA的大小 3 減小oracle Job隊列數(shù)量(job_queue_processes)和并發(fā)隊列數(shù)(parallel_max_servers) 4 重置并減小會話/線程使用的堆棧大小 5 將oracle改為mts模式 6 更換操作系統(tǒng)為windows NT 企業(yè)版 7 使用intel的ESMA硬件支持,即使用大內(nèi)存 1) 在intel系統(tǒng)上使用 /3G 開關(guān) 2) 使用PSE36內(nèi)存 結(jié)合本實例的具體情況,決定調(diào)整的主要目標(biāo)為減小用戶的PGA大小。 ....構(gòu)成PGA的主要內(nèi)容有short_area_size, hash_area_size, open_cursone, 以及oracle 堆棧和TNS 堆棧。在本實例中,排序區(qū)為64K,hash區(qū)為128K(缺少值),打開的游標(biāo)數(shù)與應(yīng)用有關(guān),不能隨便減小了,然而oracle堆棧和TNS堆棧都是1M,卻有較大的減小的余地。因此,調(diào)整的目標(biāo)定為減小這兩個堆棧的大小。 使用orastack 命令來減小這兩個堆棧的大小:
D:/oracle/ora81/bin>orastack oracle.exe 500000 Couldn't open file with CreateFile() GetLastError() == 32
停止oracle服務(wù)和TNS服務(wù),再運行以上命令
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
重新啟動oracle服務(wù)和TNS服務(wù),打開數(shù)據(jù)庫,用戶連接到服務(wù)器,經(jīng)測試,用戶數(shù)到1350以上時數(shù)據(jù)庫仍然運行正常,解決了本實例存在的問題。 五 小結(jié) 事實上,正如oracle文檔所指出的那樣,要增加用戶連接數(shù)的途徑很多,除了減小用戶堆棧之外,還可以減小SGA,或者是更改成MTS方式,或者是使用第三方工具增加oracle可用內(nèi)存。本人前面小結(jié)過如何讓oracle在32位的windows操作系統(tǒng)上使用超過2G內(nèi)存的方法( http://www.itpub.net/showthread.php...15&pagenumber=1 ),在本安全應(yīng)用中,宜將兩者(減小用戶堆棧與增加oracle可用內(nèi)存)結(jié)合起來使用,以提高數(shù)據(jù)庫性能。但是,這種方式下,同樣不可能無限制地增加用戶連接數(shù)。要想使用戶連接數(shù)達(dá)到更大,則應(yīng)使用MTS方式。


上一篇:Oracle的面試問題——技術(shù)知識篇

下一篇:案例學(xué)習(xí)Oracle錯誤:ORA-00235

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 男人的天堂va | 色综合欧美| 日韩在线视频一区二区三区 | 91中文在线观看 | 一区久久久 | 亚洲欧洲精品一区二区 | 一区二区三区视频在线观看 | 国产极品一区二区三区 | 狠狠爱www人成狠狠爱综合网 | 一区二区三区在线 | 欧 | 人操人人人 | 国产成人av一区二区 | 九色在线观看 | 91精品国产91久久综合桃花 | 久久人人爽人人爽人人片av不 | 亚洲精品一区国产精品 | a天堂在线 | 精品日韩视频 | 亚洲精品在线免费 | 乱xxxxx普通话对白 | 国产亚洲一区二区在线观看 | 在线看黄色片 | 欧美性18| 国产永久免费观看 | 超碰人人爽 | 在线欧美日韩 | 成人在线网站 | av看片网 | 国产精品亚洲精品日韩已方 | 亚洲好看站 | 忘忧草精品久久久久久久高清 | 国产成人精品久久 | 黄色电影网站在线观看 | 色老头av| 亚洲成人网络 | 亚洲精品欧美视频 | 日本中文在线观看 | 婷婷亚洲五月 | 日韩欧美色图 | 色婷婷综合久久久中文字幕 | hd国产人妖ts另类视频 |