今天在看OGG的日志時,發現如下OGG-01224 Bad file number錯誤,查閱資料才知道端口不可用,看了一下mgr的參數,發現是設置的DYNAMICPORTLIST 動態端口,為什么還不可用。看看MOS上面咋說的: OGG GoldenGate Extract | Pump Abends with: TCP/IP Error 9 (B
今天在看OGG的日志時,發現如下OGG-01224 Bad file number錯誤,查閱資料才知道端口不可用,看了一下mgr的參數,發現是設置的DYNAMICPORTLIST 動態端口,為什么還不可用。看看MOS上面咋說的:
OGG GoldenGate Extract | Pump Abends with: "TCP/IP Error 9 (Bad File Number)" (文檔 ID 1359087.1) | ![]() |
![]() |
In this Document
APPLIES TO:Oracle GoldenGate – Version 11.1.1.1.0 and later SYMPTOMSExtract or pump abends with "TCP/IP error 9 (Bad file number)" when starting. e.g., ERROR OGG-01668 PROCESS ABENDING. 2. pre GA release version: v11_1_1_1_024 GGS ERROR 150 TCP/IP error 9 (Bad file number).GGS ERROR 190 PROCESS ABENDING. Let's say you only have 4 Extract pump processes communicating with this target system, and have specified 21 dynamic ports on the target system. Why can't your Extract connect to the remote system? CAUSEThe cause is that all the ports listed in DYNAMICPORTLIST in the manager parameter at downstream server are in use. This error message is usually due to port allocation failure or some orphan collector processes on target preventing the startup of new collectors. In the GoldenGate environment on the target system, check the ports that Manager is using with this command: GGSCI (ggdb1) 21> send mgr getportinfo detailSending GETPORTINFO, request to MANAGER … Dynamic Port List Entry Port Error Process Assigned Program It is reporting error 98 on the open ports from 7810-7828. The error 98 is "address in use". You can also check the Manager report file on the target system (dirrpt/MGR.rpt) for an error message. GGS INFO 301 Command received from EXTRACT on host 10.30.113.28 (START SERVER CPU -1 PRI -1 PARAMS ).GGS INFO 302 No Dynamic Ports Available. This confirms that the Manager cannot allocate anymore dynamic ports. Since there should be plenty of ports available, this indicates that there may be "orphaned" server collector processes. SOLUTIONThe workaround is to increase the port numbers in DYNAMICPORTLIST in mgr.prm. Bounce the manager afterwards.If the source Extract dies without communicating to the target server collector, that server will be orphaned and must be killed. Development plans to improve this behavior in a future release (tracked via enhancement Bug 10430342), but until that time, they must be handled manually in this manner. You can determine which processes are orphans by stopping the upstream pumps and then seeing what Server processes are still running, and killing them. Once these servers are killed, you should be able restart all the pumps. In ggsci on the target system: send mgr childstatus debugThis will retrieve status information about processes started by Manager, and the corresponding port numbers that have been allocated by Manager. GGSCI (ggdb1) 23> send mgr childstatus debugSending CHILDSTATUS, request to MANAGER … Child Process Status – 14 Entries ID Group Process Retry Retry Time Start Time Port You can also use this command to determine what server collector processes are running: ps -ef | grep server{ggate}sintegoradb1.aeso.ca:/usr/ggate/product/10.4.0/ggs >ps -ef | grep server In summary: 1) Stop the Manager on the target system, and all of the upstream GoldenGate pump Extract processes. REFERENCES |
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com