国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(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. 問:進程的數(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ù)器上每個用戶的最大進程數(shù)量被設(shè)置600 Oracle中的最大進程數(shù)量為600。進程最大的利用率是482,每個會話的最大利用率是490。會話的數(shù)量設(shè)置為840。 根據(jù)我所了解的,看起來進程的數(shù)量是沒有問題的。我們通過在這個機器上無法正確建立內(nèi)存分頁空間而對此進行了證實,然而,一些人仍然告訴我們要在起始的時候增加進程的數(shù)量。我不同意這個觀點。我遺漏了什么嗎? 答:TNS-510錯誤信息顯示了有太多的文件或者socket同時開放了(或者是其他一些資源耗盡了)。這是操作系統(tǒng)的限制,不是Oracle的限制。你需要確認你的AIX平臺可以處理你在服務(wù)器上開放的這么多的文件。這是“全部”文件,并不僅僅是Oracle數(shù)據(jù)庫文件。并且,你還需要確認你的AIX服務(wù)器可以正確處理全部數(shù)量的Oracle進程,而不僅僅是專用的服務(wù)器進程。Oracle的起始參數(shù)PROCESSES限制了專用的服務(wù)器進程數(shù)量。但是還有后臺的進程(SMON, PMON, LGWR等),以及支持并行語句的進程,更不用說你的監(jiān)聽器等了。我覺得你應(yīng)該配置AIX來答應(yīng)每個Unix用戶擁有更多的進程。 總結(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ù)達到一定的數(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達到760多個。 重啟oracle服務(wù)后,能連接新的用戶數(shù),但當(dāng)并發(fā)用戶數(shù)達到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ù)達到750個時,總分配內(nèi)存已達到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)整的主要目標為減小用戶的PGA大小。 ....構(gòu)成PGA的主要內(nèi)容有short_area_size, hash_area_size, open_cursone, 以及oracle 堆棧和TNS 堆棧。在本實例中,排序區(qū)為64K,hash區(qū)為128K(缺少值),打開的游標數(shù)與應(yīng)用有關(guān),不能隨便減小了,然而oracle堆棧和TNS堆棧都是1M,卻有較大的減小的余地。因此,調(dià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ù)達到更大,則應(yīng)使用MTS方式。


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

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

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

新聞熱點

疑難解答

圖片精選

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

主站蜘蛛池模板: 得荣县| 巴林右旗| 建始县| 申扎县| 公安县| 天气| 通辽市| 巴楚县| 双城市| 都江堰市| 安远县| 中西区| 鄂伦春自治旗| 蛟河市| 洪雅县| 砚山县| 牙克石市| 高台县| 晋江市| 民县| 鞍山市| 龙海市| 丹棱县| 太谷县| 图木舒克市| 丰都县| 伊金霍洛旗| 永泰县| 宁波市| 蕲春县| 永宁县| 玛纳斯县| 陕西省| 图木舒克市| 霍林郭勒市| 顺义区| 四会市| 安康市| 屏南县| 巫溪县| 武鸣县|