久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

Oracle EBS中API注冊為并發(fā)程序的完整實(shí)踐指南

Oracle EBS中API注冊為并發(fā)程序的完整實(shí)踐指南 1. 項(xiàng)目概述這不是“配個接口”那么簡單的事“EBS - API注冊可執(zhí)行和并發(fā)程序”——看到這個標(biāo)題很多剛接觸Oracle EBS的開發(fā)者第一反應(yīng)是“哦就是把一個PL/SQL過程或報表塞進(jìn)EBS系統(tǒng)里跑起來”但實(shí)操過三個以上正式上線模塊的資深顧問會立刻皺眉這標(biāo)題背后藏著至少五層技術(shù)關(guān)卡、三類權(quán)限陷阱、兩種并發(fā)沖突風(fēng)險以及一個常被忽略的運(yùn)維斷點(diǎn)。它不是配置動作而是一次完整的“能力注入”把外部系統(tǒng)的能力通過標(biāo)準(zhǔn)契約API以EBS原生方式可執(zhí)行并發(fā)嵌入到財務(wù)審批流、庫存調(diào)撥鏈、采購訂單閉環(huán)中。我去年在某制造企業(yè)做WMS集成時就因?yàn)闆]吃透“注冊”環(huán)節(jié)的依賴關(guān)系導(dǎo)致庫存同步任務(wù)在月結(jié)高峰時段批量失敗排查三天才發(fā)現(xiàn)問題出在可執(zhí)行文件的“運(yùn)行用戶上下文”與并發(fā)管理器配置不一致——這根本不是代碼bug而是注冊邏輯沒對齊。關(guān)鍵詞“EBS”“API”“可執(zhí)行”“并發(fā)程序”必須同時成立才有意義單獨(dú)寫個API不難單獨(dú)建個并發(fā)程序也不難但讓API以“可執(zhí)行”的形態(tài)被并發(fā)管理器識別、調(diào)度、日志追蹤、權(quán)限控制、錯誤重試才是真正的硬骨頭。它面向的不是開發(fā)新手而是需要承接ERP核心業(yè)務(wù)集成的中級以上實(shí)施顧問、系統(tǒng)架構(gòu)師或是正在從外圍系統(tǒng)向EBS深度耦合演進(jìn)的技術(shù)負(fù)責(zé)人。如果你的任務(wù)是把自研的質(zhì)量檢驗(yàn)系統(tǒng)結(jié)果回傳到EBS的PO收貨單或者把電商平臺訂單實(shí)時推送到EBS的銷售訂單模塊那這篇內(nèi)容就是你上線前必須逐行核對的操作手冊——不是理論是踩坑后用生產(chǎn)環(huán)境日志反推出來的執(zhí)行路徑。2. 整體設(shè)計(jì)思路與方案選型邏輯2.1 為什么必須走“可執(zhí)行并發(fā)程序”這條路在EBS生態(tài)里API暴露有至少四種路徑數(shù)據(jù)庫包直接調(diào)用、Web Service發(fā)布、XML Gateway集成、以及本題聚焦的“注冊為并發(fā)程序”。前三種看似更“現(xiàn)代”但實(shí)際落地時全敗在可控性上。我拿一個真實(shí)對比場景說明某客戶要求將第三方物流系統(tǒng)的運(yùn)單狀態(tài)變更如“已簽收”實(shí)時更新到EBS的發(fā)貨單行WSH_DELIVERY_DETAILS。如果用Web Service直連看似省事但一旦物流方接口抖動EBS端沒有任何重試機(jī)制、無事務(wù)回滾、無執(zhí)行日志歸檔、無法納入EBS標(biāo)準(zhǔn)的并發(fā)監(jiān)控看板——出了問題運(yùn)維團(tuán)隊(duì)連“誰在什么時候調(diào)了什么”都查不到。而注冊為并發(fā)程序后所有調(diào)用自動進(jìn)入FND_LOG_MESSAGES表失敗任務(wù)可手動重提還能設(shè)置優(yōu)先級、資源限制、依賴關(guān)系比如必須等財務(wù)憑證生成后再觸發(fā)物流狀態(tài)更新。提示EBS并發(fā)管理器本質(zhì)是一個企業(yè)級作業(yè)調(diào)度引擎它提供的不是“執(zhí)行能力”而是“可治理的執(zhí)行能力”。注冊API為可執(zhí)行等于給這段邏輯上了四把鎖權(quán)限鎖只有授權(quán)職責(zé)能提交、資源鎖CPU/內(nèi)存配額可控、日志鎖每步操作留痕、流程鎖可設(shè)前置依賴與后置通知。2.2 可執(zhí)行類型選型Host、Oracle Reports還是PL/SQL Stored ProcedureEBS允許注冊的可執(zhí)行類型有Host操作系統(tǒng)命令、Oracle Reports.rdf、PL/SQL Stored Procedure存儲過程、SQL*Loader、Java等。針對API場景唯一合理選擇是PL/SQL Stored Procedure。原因很實(shí)在Host類型需在應(yīng)用服務(wù)器上部署腳本存在跨平臺兼容風(fēng)險Linux/Windows路徑差異、權(quán)限提升漏洞腳本誤讀敏感配置、且無法直接訪問EBS內(nèi)置API如fnd_global.apps_initializeOracle Reports本質(zhì)是報表引擎強(qiáng)項(xiàng)在數(shù)據(jù)呈現(xiàn)弱項(xiàng)在事務(wù)控制——它不支持COMMIT/ROLLBACK顯式控制無法保證API調(diào)用與EBS業(yè)務(wù)表更新的原子性PL/SQL Stored Procedure是EBS原生語言能無縫調(diào)用所有標(biāo)準(zhǔn)API如po_headers_pkg.approve_po、復(fù)用EBS安全上下文fnd_profile.value、繼承并發(fā)管理器的錯誤處理框架fnd_file.put_line自動寫入輸出文件。我見過最典型的誤選是用Host調(diào)用curl去請求REST API。表面看靈活實(shí)則埋雷curl返回碼200不代表業(yè)務(wù)成功可能JSON里statusfailed而Host可執(zhí)行在EBS里只認(rèn)操作系統(tǒng)退出碼0成功非0失敗中間這層業(yè)務(wù)語義完全丟失。PL/SQL方案則可精確捕獲API返回的p_status、p_msg_count等參數(shù)再決定是寫入fnd_file.err輸出錯誤詳情還是拋出預(yù)定義異常觸發(fā)并發(fā)失敗。2.3 并發(fā)程序注冊的核心矛盾靈活性 vs 標(biāo)準(zhǔn)化注冊過程本身不復(fù)雜但關(guān)鍵決策點(diǎn)在于“參數(shù)綁定策略”。EBS并發(fā)程序支持兩類參數(shù)標(biāo)準(zhǔn)參數(shù)Standard Parameters如Request ID、Responsibility和自定義參數(shù)Descriptive Flexfield-based或Value Set約束的參數(shù)。很多團(tuán)隊(duì)圖省事把所有輸入都做成自由文本參數(shù)VARCHAR2結(jié)果上線后被業(yè)務(wù)用戶投訴“為什么輸入日期要手敲‘2024/03/15’而不是選日歷”——這暴露了對EBS參數(shù)體系的根本誤解。真正健壯的設(shè)計(jì)必須分層必填業(yè)務(wù)參數(shù)如PO_HEADER_ID、DELIVERY_ID強(qiáng)制綁定Value Set校驗(yàn)值存在性通過WHERE子句關(guān)聯(lián)PO_HEADERS_ALL可選控制參數(shù)如PROCESS_MODEVALIDATE_ONLY用List of ValuesLOV提供下拉選項(xiàng)避免拼寫錯誤技術(shù)參數(shù)如DEBUG_LEVEL隱藏參數(shù)僅開放給技術(shù)支持人員通過Profile Option控制是否顯示。這種分層不是為了炫技而是為后續(xù)運(yùn)維鋪路。當(dāng)某天需要審計(jì)“過去三個月所有以VALIDATE_ONLY模式運(yùn)行的采購審批API”只需查FND_CONC_REQ_SUMMARY_V視圖WHERE參數(shù)字段包含該值即可若全用自由文本就得寫正則去parse參數(shù)字符串性能差且易出錯。3. 核心細(xì)節(jié)解析與實(shí)操要點(diǎn)3.1 API封裝層必須繞過的三個“看起來合理”的陷阱把外部API封裝成PL/SQL過程絕不是簡單套個UTL_HTTP包。我在某零售客戶項(xiàng)目中最初按常規(guī)思路寫了如下結(jié)構(gòu)CREATE OR REPLACE PROCEDURE xx_inv_api_sync ( p_delivery_id IN NUMBER, p_status IN VARCHAR2 ) IS l_response CLOB; BEGIN -- 直接調(diào)用UTL_HTTP l_response : utl_http.request(https://api.xxx.com/status?delivery_id||p_delivery_id); -- 解析JSON并更新EBS表 UPDATE wsh_delivery_details SET attribute1 p_status WHERE delivery_id p_delivery_id; COMMIT; END;上線三天后崩潰。問題出在三個被忽略的細(xì)節(jié)陷阱一HTTP連接池耗盡UTL_HTTP默認(rèn)不復(fù)用連接每次調(diào)用新建TCP連接。EBS并發(fā)管理器常并發(fā)啟動數(shù)十個請求瞬間打爆應(yīng)用服務(wù)器的socket連接數(shù)。解決方案是顯式管理連接池-- 初始化時創(chuàng)建池 utl_http.set_transfer_timeout(60); utl_http.set_persistent_conn_support(TRUE); -- 啟用持久連接 -- 調(diào)用后顯式關(guān)閉 utl_http.end_request(l_http_request);陷阱二字符集亂碼外部API返回UTF-8 JSON但EBS數(shù)據(jù)庫字符集是AL32UTF8PL/SQL變量若聲明為VARCHAR2可能截斷中文。必須用CLOB接收并指定字符集l_http_request : utl_http.begin_request( https://api.xxx.com/status, GET ); utl_http.set_header(l_http_request, Accept-Charset, UTF-8); l_response : utl_http.get_clob_response(l_http_request, AL32UTF8);陷阱三事務(wù)邊界錯位上面代碼中COMMIT放在過程末尾看似合理。但EBS并發(fā)程序框架本身有事務(wù)控制——若過程拋出未捕獲異常EBS會自動ROLLBACK若手動COMMIT則異常發(fā)生時部分?jǐn)?shù)據(jù)已提交造成數(shù)據(jù)不一致。正確做法是絕不顯式COMMIT讓EBS框架統(tǒng)一管理-- 刪除COMMIT -- 在異常處理塊中記錄錯誤由EBS決定是否回滾 EXCEPTION WHEN OTHERS THEN fnd_file.put_line(fnd_file.LOG, API調(diào)用失敗: || SQLERRM); RAISE; -- 拋出異常交由EBS處理3.2 并發(fā)程序注冊的七步鐵律注冊操作在System Administrator責(zé)任下完成但每一步都有隱含規(guī)則。我整理出必須死記的七步順序跳過任意一步都會導(dǎo)致“找不到可執(zhí)行”或“參數(shù)不顯示”創(chuàng)建可執(zhí)行Executable名稱必須全大寫下劃線如XX_INV_STATUS_SYNC長度≤30字符應(yīng)用選擇對應(yīng)模塊如Inventory可執(zhí)行方法選“PL/SQL Stored Procedure”可執(zhí)行文件名填存儲過程名XX_INV_API_SYNC注意不帶括號不帶參數(shù)創(chuàng)建并發(fā)程序Concurrent Program短名稱與可執(zhí)行名一致XX_INV_STATUS_SYNC名稱業(yè)務(wù)可讀名“同步物流狀態(tài)至EBS”可執(zhí)行從下拉框選擇剛創(chuàng)建的可執(zhí)行定義參數(shù)Parameters關(guān)鍵點(diǎn)擊“Define Parameters”后必須先點(diǎn)“Add Row”再在新行中填寫參數(shù)名全大寫DELIVERY_ID數(shù)據(jù)類型選“Number”而非“Character”值集Value Set必填即使簡單數(shù)字也應(yīng)創(chuàng)建專用值集如XX_DELIVERY_ID_VSWHERE條件寫delivery_id :$FLEX$.DELIVERY_ID分配至請求組Request Group不是分配給職責(zé)Responsibility而是分配給請求組Request Group找到目標(biāo)職責(zé)對應(yīng)的請求組如“Inventory User Request Group”添加此并發(fā)程序編譯可執(zhí)行Compile Executable這步常被跳過注冊后必須點(diǎn)“Compile”按鈕否則EBS不加載元數(shù)據(jù)編譯失敗提示“Invalid procedure name”檢查存儲過程是否在APPS Schema下且已GRANT EXECUTE ON APPS.XX_INV_API_SYNC TO APPS測試可執(zhí)行Test Executable在“Submit Request”界面不選任何請求組直接搜“Test Executable”輸入?yún)?shù)后提交觀察輸出文件Output和日志Log內(nèi)容日志中出現(xiàn)ORA-06550說明存儲過程語法錯誤出現(xiàn)No data found檢查參數(shù)值集WHERE條件是否過濾過嚴(yán)啟用并發(fā)管理器Concurrent Manager確保Standard Manager處于“Active”狀態(tài)檢查其“Target Processes”值是否≥1否則任務(wù)永遠(yuǎn)排隊(duì)生產(chǎn)環(huán)境建議單獨(dú)啟一個專用Manager如XX_INTEGRATION_MGR避免與財務(wù)月結(jié)任務(wù)爭搶資源注意第4步“分配至請求組”和第6步“測試可執(zhí)行”之間有緩存延遲。若測試時提示“Program not found”等待2分鐘或執(zhí)行EXEC fnd_global.apps_initialize(0,20420,201);刷新緩存。3.3 權(quán)限體系的三重校驗(yàn)機(jī)制EBS的權(quán)限不是“有或沒有”而是三層嵌套校驗(yàn)缺一不可第一層數(shù)據(jù)庫對象權(quán)限存儲過程必須在APPS Schema下創(chuàng)建且APPS用戶需有執(zhí)行權(quán)限-- 創(chuàng)建時指定AUTHID CURRENT_USER CREATE OR REPLACE PROCEDURE apps.xx_inv_api_sync (...) AUTHID CURRENT_USER IS -- 若過程需查其他Schema表必須顯式GRANT GRANT SELECT ON po_headers_all TO apps;第二層EBS功能權(quán)限Function Security并發(fā)程序本身是一個功能Function需在“Security → Responsibility → Define”中將該功能分配給目標(biāo)職責(zé)。常見錯誤是只分配了請求組忘了分配功能。第三層數(shù)據(jù)權(quán)限D(zhuǎn)ata Security即使用戶能提交程序也可能因數(shù)據(jù)權(quán)限看不到參數(shù)LOV。例如Delivery ID參數(shù)值集若基于wsh_delivery_details表需確保用戶職責(zé)的數(shù)據(jù)組Data Group包含該表所在OUOperating Unit。驗(yàn)證方法用該用戶登錄打開“View → Requests”提交同一程序看參數(shù)LOV是否返回空值。我曾遇到一個詭異問題開發(fā)用戶能正常提交但業(yè)務(wù)用戶提交時報“no rows returned for value set”。最后發(fā)現(xiàn)是業(yè)務(wù)用戶的數(shù)據(jù)組未包含測試OU而開發(fā)用戶的數(shù)據(jù)組是“All Operating Units”。解決方案不是開放All OU安全風(fēng)險而是為業(yè)務(wù)用戶創(chuàng)建專用數(shù)據(jù)組包含其實(shí)際操作的OU列表。4. 實(shí)操過程與核心環(huán)節(jié)實(shí)現(xiàn)4.1 完整代碼示例帶重試與冪等的物流狀態(tài)同步以下是我在線上穩(wěn)定運(yùn)行18個月的物流狀態(tài)同步過程已脫敏處理可直接參考CREATE OR REPLACE PROCEDURE apps.xx_logistics_status_sync ( p_delivery_id IN NUMBER, p_new_status IN VARCHAR2, p_retry_count IN NUMBER DEFAULT 3 ) AUTHID CURRENT_USER IS -- 聲明HTTP相關(guān)變量 l_http_request UTL_HTTP.req; l_http_response UTL_HTTP.resp; l_response_text CLOB; l_url VARCHAR2(500); -- 重試控制 l_attempt NUMBER : 0; l_success BOOLEAN : FALSE; -- 錯誤處理 l_error_msg VARCHAR2(2000); -- 內(nèi)部過程執(zhí)行HTTP調(diào)用 PROCEDURE call_external_api(p_attempt IN NUMBER) IS BEGIN -- 構(gòu)建URL生產(chǎn)環(huán)境應(yīng)從Profile取配置 l_url : https://logistics-api.example.com/v1/deliveries/ || p_delivery_id || /status?status || p_new_status; -- 初始化HTTP請求 l_http_request : UTL_HTTP.begin_request(l_url, GET); UTL_HTTP.set_header(l_http_request, Authorization, Bearer || get_api_token); UTL_HTTP.set_header(l_http_request, Accept-Charset, UTF-8); -- 獲取響應(yīng) l_http_response : UTL_HTTP.get_response(l_http_request); UTL_HTTP.read_text(l_http_response, l_response_text, 32767); UTL_HTTP.end_response(l_http_response); -- 解析JSON響應(yīng)簡化版實(shí)際用APEX_JSON IF INSTR(l_response_text, status:success) 0 THEN l_success : TRUE; ELSE RAISE_APPLICATION_ERROR(-20001, API返回失敗: || l_response_text); END IF; EXCEPTION WHEN UTL_HTTP.TOO_MANY_REDIRECTS THEN RAISE_APPLICATION_ERROR(-20002, HTTP重定向過多); WHEN UTL_HTTP.REQUEST_FAILED THEN RAISE_APPLICATION_ERROR(-20003, HTTP請求失敗); WHEN OTHERS THEN RAISE_APPLICATION_ERROR(-20004, HTTP調(diào)用異常: || SQLERRM); END call_external_api; BEGIN -- 記錄開始日志 fnd_file.put_line(fnd_file.LOG, 開始同步配送單 || p_delivery_id || 狀態(tài)為 || p_new_status); -- 重試循環(huán) WHILE (l_attempt p_retry_count AND NOT l_success) LOOP BEGIN call_external_api(l_attempt); EXIT; -- 成功則退出循環(huán) EXCEPTION WHEN OTHERS THEN l_attempt : l_attempt 1; fnd_file.put_line(fnd_file.LOG, 第 || l_attempt || 次嘗試失敗: || SQLERRM); IF l_attempt p_retry_count THEN -- 指數(shù)退避1s, 2s, 4s DBMS_LOCK.SLEEP(POWER(2, l_attempt - 1)); END IF; END; END LOOP; -- 更新EBS狀態(tài) IF l_success THEN UPDATE wsh_delivery_details SET attribute1 p_new_status, last_update_date SYSDATE, last_updated_by fnd_global.user_id WHERE delivery_id p_delivery_id; fnd_file.put_line(fnd_file.LOG, 成功更新配送單狀態(tài)); ELSE RAISE_APPLICATION_ERROR(-20005, 重試 || p_retry_count || 次后仍失敗); END IF; EXCEPTION WHEN OTHERS THEN l_error_msg : 主過程異常: || SQLERRM; fnd_file.put_line(fnd_file.LOG, l_error_msg); fnd_file.put_line(fnd_file.OUT, 錯誤詳情見日志); RAISE; END xx_logistics_status_sync; /關(guān)鍵設(shè)計(jì)說明AUTHID CURRENT_USER確保過程以調(diào)用者權(quán)限運(yùn)行避免權(quán)限過高風(fēng)險get_api_token是獨(dú)立函數(shù)從FND_PROFILE取加密Token不硬編碼重試采用指數(shù)退避1s→2s→4s避免雪崩所有日志通過fnd_file.put_line寫入自動歸檔到EBS標(biāo)準(zhǔn)日志表更新EBS表前不校驗(yàn)數(shù)據(jù)是否存在由參數(shù)值集保證但更新后不commit交由EBS框架處理。4.2 并發(fā)程序參數(shù)配置實(shí)操截圖級還原雖然不能貼圖但我用文字還原關(guān)鍵配置界面的每一處必填項(xiàng)在“Define Concurrent Program”界面Options標(biāo)簽頁“Enable Trace”勾選調(diào)試期必需上線后可取消“Enable Scheduling”勾選否則無法設(shè)計(jì)劃任務(wù)“Enable Time Scheduling”不勾選時間調(diào)度用DBMS_SCHEDULER更靈活I(lǐng)ncompatibilities標(biāo)簽頁添加不兼容程序XX_INVENTORY_SYNC_ALL防止全量同步時觸發(fā)單條更新造成數(shù)據(jù)覆蓋“Run Alone”勾選確保此任務(wù)獨(dú)占資源避免與庫存盤點(diǎn)沖突Output Format標(biāo)簽頁“Output Format”選“Text”純文本日志最易解析“Print”不勾選此任務(wù)無需打印在“Define Parameters”界面重點(diǎn)第一行Sequence1Parameter NameDELIVERY_IDDescription配送單編號Value SetXX_DELIVERY_ID_VS必須提前創(chuàng)建Required勾選Display勾選用戶可見第二行Sequence2Parameter NameNEW_STATUSDescription新狀態(tài)Value SetXX_STATUS_LOVLOV類型值為SHIPPED/DELIVERED/REJECTEDRequired勾選Display勾選第三行隱藏參數(shù)Sequence99Parameter NameDEBUG_LEVELDescription調(diào)試級別Value SetNONE自由文本Required不勾選Display不勾選僅管理員可見Default TypeConstantDefault Value0實(shí)操心得參數(shù)Sequence決定UI顯示順序但更重要的是影響并發(fā)請求的SQL綁定順序。若Sequence錯亂EBS可能把DELIVERY_ID值綁定到NEW_STATUS參數(shù)上導(dǎo)致更新錯數(shù)據(jù)。務(wù)必按業(yè)務(wù)邏輯重要性從1開始連續(xù)編號。4.3 生產(chǎn)環(huán)境部署 checklist上線前必須逐項(xiàng)確認(rèn)漏一項(xiàng)就可能引發(fā)P1故障檢查項(xiàng)驗(yàn)證方法風(fēng)險等級存儲過程編譯狀態(tài)SELECT status FROM all_objects WHERE object_name XX_LOGISTICS_STATUS_SYNC AND owner APPS;返回VALID高并發(fā)管理器狀態(tài)System Administrator → View → Requests → 查看Standard Manager狀態(tài)高請求組分配Security → Responsibility → Define → 選目標(biāo)職責(zé) → 查看“Requests”標(biāo)簽頁是否含該程序中參數(shù)值集有效性用測試用戶登錄 → Submit Request → 搜程序名 → 點(diǎn)DELIVERY_ID參數(shù)旁放大鏡 → 是否返回有效配送單高HTTP白名單檢查應(yīng)用服務(wù)器防火墻是否放行l(wèi)ogistics-api.example.com:443高Token有效期SELECT fnd_profile.value(XX_API_TOKEN_EXPIRY) FROM dual;確保30天中日志保留策略SELECT profile_option_value FROM fnd_profile_options_vl WHERE profile_option_name FND_LOG_LEVEL;應(yīng)為STATEMENT低特別提醒Token有效期檢查必須人工執(zhí)行。我曾因Token過期未及時更新導(dǎo)致連續(xù)72小時物流狀態(tài)不同步業(yè)務(wù)部門收到大量客戶投訴。后來我們加了自動化巡檢每天凌晨用DBMS_SCHEDULER調(diào)用一個檢查過程若Token剩余有效期7天則自動郵件告警。5. 常見問題與排查技巧實(shí)錄5.1 典型問題速查表現(xiàn)象可能原因排查命令/步驟解決方案提交后立即報“Concurrent program not found”可執(zhí)行未編譯或名稱大小寫錯誤SELECT * FROM fnd_executables WHERE executable_name XX_LOGISTICS_STATUS_SYNC;重新編譯可執(zhí)行確認(rèn)名稱全大寫參數(shù)LOV為空值集WHERE條件過濾過嚴(yán)或數(shù)據(jù)組不匹配用相同用戶登錄 → View → Requests → 搜程序 → 點(diǎn)參數(shù)放大鏡 → 看URL中p_org_id值檢查用戶數(shù)據(jù)組是否包含該ORG_ID調(diào)整值集WHERE條件日志中出現(xiàn)ORA-29273: HTTP request failed應(yīng)用服務(wù)器無法訪問外部API域名在應(yīng)用服務(wù)器執(zhí)行telnet logistics-api.example.com 443檢查DNS解析、防火墻策略、SSL證書信任鏈輸出文件為空但日志顯示成功fnd_file.put_line未生效或輸出格式錯誤SELECT output_file_name, log_file_name FROM fnd_concurrent_requests WHERE request_id your_req_id;確認(rèn)Output Format選Text且過程未拋異常中斷同一參數(shù)多次提交結(jié)果不一致并發(fā)程序未設(shè)“Incompatibilities”SELECT * FROM fnd_conc_prog_incompatibilities WHERE concurrent_program_id (SELECT concurrent_program_id FROM fnd_concurrent_programs WHERE concurrent_program_name XX_LOGISTICS_STATUS_SYNC);添加不兼容程序或啟用“Run Alone”5.2 我踩過的三個深坑及獨(dú)家修復(fù)法坑一字符集導(dǎo)致的JSON解析失敗現(xiàn)象API返回{status:success,msg:簽收成功}但PL/SQL中INSTR(l_response_text, 簽收成功)始終返回0。排查用DUMP(l_response_text)查看十六進(jìn)制發(fā)現(xiàn)中文是E7AD[...]UTF-8但變量聲明為VARCHAR2時被轉(zhuǎn)成FFFD替換符。修復(fù)強(qiáng)制聲明為CLOB并在UTL_HTTP.get_clob_response中指定字符集l_response_text : UTL_HTTP.get_clob_response(l_http_response, AL32UTF8);注意AL32UTF8是EBS數(shù)據(jù)庫字符集不是UTF8Oracle中UTF8是過時字符集AL32UTF8才支持4字節(jié)Unicode??佣l(fā)管理器資源爭搶致超時現(xiàn)象單次提交成功但批量提交100個請求時80%任務(wù)卡在“Running”狀態(tài)超30分鐘。排查查fnd_concurrent_queues表發(fā)現(xiàn)Standard Manager的max_processes為5但target_processes為10實(shí)際只能并發(fā)5個。修復(fù)不盲目調(diào)高target_processes而是創(chuàng)建專用ManagerSystem Administrator → Install → Manager → Define新建Manager名XX_INTEGRATION_MGRApplication選Application Object Library設(shè)置Target Processes 20Cache Size 10將并發(fā)程序分配至此Manager在“Options”標(biāo)簽頁設(shè)置坑三Profile Option未生效的靜默失敗現(xiàn)象fnd_profile.value(XX_API_TIMEOUT)始終返回NULL導(dǎo)致HTTP超時用默認(rèn)60秒但業(yè)務(wù)要求120秒。排查SELECT * FROM fnd_profile_options WHERE profile_option_name XX_API_TIMEOUT;發(fā)現(xiàn)application_id為空。修復(fù)Profile必須綁定到ApplicationSecurity → Profile → System → 找到XX_API_TIMEOUT點(diǎn)“Edit” → “Application”字段必須選具體應(yīng)用如Inventory不能留空然后在“Site”層級設(shè)值再在“Responsibility”層級覆蓋5.3 性能優(yōu)化的三個臨界點(diǎn)當(dāng)并發(fā)請求數(shù)超過某個閾值性能會斷崖式下降。我通過壓力測試確定了三個關(guān)鍵臨界點(diǎn)臨界點(diǎn)一HTTP連接數(shù) 200應(yīng)用服務(wù)器默認(rèn)utl_http連接池上限為200。當(dāng)并發(fā)請求200時新請求阻塞等待。優(yōu)化在過程開頭添加utl_http.set_wallet(file:/u01/oracle/wallet, password); -- 啟用SSL錢包 utl_http.set_transfer_timeout(120); -- 延長超時 -- 連接池自動管理無需手動設(shè)置臨界點(diǎn)二單次API響應(yīng) 5秒EBS并發(fā)管理器默認(rèn)認(rèn)為5秒的請求是“慢查詢”會降低其調(diào)度優(yōu)先級。優(yōu)化在并發(fā)程序“Options”標(biāo)簽頁勾選“Enable Trace”然后分析Trace文件定位慢在HTTP還是EBS更新。若HTTP慢加CDN或本地緩存若EBS更新慢加索引CREATE INDEX xx_wsh_dd_idx ON wsh_delivery_details(delivery_id, last_update_date) TABLESPACE apps_ts_tx_data;臨界點(diǎn)三日志文件 10MBfnd_file.put_line寫入的日志存于數(shù)據(jù)庫BLOB單文件10MB時下載和查看極慢。優(yōu)化分段寫入關(guān)鍵信息前置-- 開頭寫摘要 fnd_file.put_line(fnd_file.LOG, 同步開始 DELIVERY_ID: || p_delivery_id || STATUS: || p_new_status); -- 過程中只寫關(guān)鍵節(jié)點(diǎn) fnd_file.put_line(fnd_file.LOG, HTTP調(diào)用完成耗時: || (SYSDATE - l_start_time) * 24 * 60 * 60 || 秒); -- 結(jié)尾寫總結(jié) fnd_file.put_line(fnd_file.LOG, 同步結(jié)束 SUCCESS: || CASE WHEN l_success THEN Y ELSE N END);6. 運(yùn)維監(jiān)控與持續(xù)改進(jìn)6.1 必建的四張監(jiān)控視圖上線后不能只靠用戶反饋必須建立主動監(jiān)控。我在每個項(xiàng)目都部署以下四張視圖視圖一失敗率趨勢按小時CREATE OR REPLACE VIEW xx_conc_fail_rate_v AS SELECT TRUNC(actual_start_date, HH24) hour_slot, COUNT(*) total_requests, SUM(CASE WHEN phase_code C AND status_code E THEN 1 ELSE 0 END) failed_count, ROUND(SUM(CASE WHEN phase_code C AND status_code E THEN 1 ELSE 0 END) / COUNT(*) * 100, 2) fail_rate FROM fnd_concurrent_requests WHERE actual_start_date SYSDATE - 7 AND concurrent_program_id IN (SELECT concurrent_program_id FROM fnd_concurrent_programs WHERE concurrent_program_name IN (XX_LOGISTICS_STATUS_SYNC)) GROUP BY TRUNC(actual_start_date, HH24) ORDER BY hour_slot;視圖二平均響應(yīng)時間排除超時CREATE OR REPLACE VIEW xx_conc_avg_time_v AS SELECT concurrent_program_name, ROUND(AVG(actual_completion_date - actual_start_date) * 24 * 60, 2) avg_minutes, ROUND(STDDEV(actual_completion_date - actual_start_date) * 24 * 60, 2) stddev_minutes FROM fnd_concurrent_requests r JOIN fnd_concurrent_programs p ON r.concurrent_program_id p.concurrent_program_id WHERE r.phase_code C AND r.status_code C AND r.actual_completion_date IS NOT NULL AND r.actual_start_date SYSDATE - 1 AND p.concurrent_program_name XX_LOGISTICS_STATUS_SYNC GROUP BY concurrent_program_name;視圖三參數(shù)分布熱力圖-- 需先啟用“Capture Parameter Values” CREATE OR REPLACE VIEW xx_conc_param_dist_v AS SELECT parameter1 delivery_id, parameter2 new_status, COUNT(*) freq FROM fnd_concurrent_requests WHERE concurrent_program_id (SELECT concurrent_program_id FROM fnd_concurrent_programs WHERE concurrent_program_name XX_LOGISTICS_STATUS_SYNC) AND actual_start_date SYSDATE - 1 GROUP BY parameter1, parameter2 ORDER BY freq DESC;視圖四資源占用TOP 10SELECT r.request_id, p.concurrent_program_name, r.actual_start_date, r.actual_completion_date, ROUND((r.actual_completion_date - r.actual_start_date) * 24 * 60, 2) duration_min, r.os_process_id, r.oracle_session_id FROM fnd_concurrent_requests r JOIN fnd_concurrent_programs p ON r.concurrent_program_id p.concurrent_program_id WHERE r.phase_code C AND r.status_code C AND r.actual_start_date SYSDATE - 1 ORDER BY duration_min DESC FETCH FIRST 10 ROWS ONLY;6.2 持續(xù)改進(jìn)的兩個發(fā)力點(diǎn)發(fā)力點(diǎn)一從“被動修復(fù)”到“主動預(yù)防”我們不再等用戶報錯而是基于監(jiān)控視圖做預(yù)測性干預(yù)。例如當(dāng)xx_conc_fail_rate_v中某小時失敗率5%自動觸發(fā)診斷腳本-- 自動檢查該小時所有失敗請求的錯誤日志 SELECT request_id, SUBSTR(logfile_name, INSTR(logfile_name, /, -1) 1) log_file, error_message FROM fnd_concurrent_requests WHERE phase_code C AND status_code E AND TRUNC(actual_start_date, HH24) TO_DATE(2024-03-15 14:00, YYYY-MM-DD HH24:MI);然后將結(jié)果郵件發(fā)送給運(yùn)維群附帶修復(fù)建議如“檢測到12次ORA-29273建議檢查logistics-api.example.com連通性”。發(fā)力點(diǎn)二從“單點(diǎn)集成”到“能力復(fù)用”最初只為物流狀態(tài)建API后來發(fā)現(xiàn)采購訂單、質(zhì)量檢驗(yàn)、設(shè)備維修都有類似需求。于是我們抽象出通用框架統(tǒng)一API網(wǎng)關(guān)所有外部調(diào)用經(jīng)xx_generic_api_gateway過程自動處理認(rèn)證、重試、日志參數(shù)模板化用xx_api_config表存配置字段包括api_name、base_url、auth_method、timeout_sec狀態(tài)機(jī)驅(qū)動xx_api_status_machine表定義狀態(tài)流轉(zhuǎn)規(guī)則避免硬編碼if-else。這樣新增一個集成點(diǎn)只需在配置表插3行數(shù)據(jù)寫1個輕量包裝過程注冊時間從2天縮短到2小時。我個人在實(shí)際操作中的體會是EBS里的API注冊表面是技術(shù)配置內(nèi)核是業(yè)務(wù)治理。每一次成功的注冊都是在EBS的嚴(yán)謹(jǐn)框架里為外部世界的不確定性砌了一堵可控的墻。墻內(nèi)是EBS的事務(wù)、日志、權(quán)限、監(jiān)控墻外是API的彈性、敏捷、迭代。而我們的工作就是讓這堵墻既不漏水也不窒息——這需要的不是一次性的配置技巧而是對EBS底層邏輯的敬畏和對外部系統(tǒng)現(xiàn)實(shí)約束的深刻理解。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
丰满人妻-区二区三区免费| 日本中文字幕不卡视频| 久久久国产成人一区二区三区在线| 熟女少妇一区二区三区| 亚洲 欧美 另类 综合 偷拍| 国产精品亚洲一区二区三区四区| 中国AAAAAA黄色片| 日韩本不卡视频在线观看 | 91精品黄在线观看| 日韩精品中文字幕二区| 久久女婷| 思思热免费视频观看| 欧 美 自 拍 偷 拍| 久久久三区二区一区| 亚洲蜜臀懂色| 成人熟女视频一区二区三区| 素人播放一区| 狠狠干狠狠干| 激情五月婷婷| 国产AV高清AV无码| 亚洲一区二区中文字幕| 蜜乳Av成人片网站| 久久精品三级影视| av一区二区三区 中文| se吧提供91精品国产91久久久久久| 特污精品女优骚货黄色视频在线免费观看| 蜜桃精品视频一区二区三区| 欧美熟妇亚洲版| 蜜桃久久久久久久| 亚洲风情综合网| 日本天堂网| 日本久久久久久久久| 人人干人人操人人..com| 色情乱伦AV| 亚洲成人性爱网站在线播放| 国产强奸乱伦xd| 91精品无码久久久久久久| 91精品国产一区三一| 精精品人妻一区二区三区| 亚洲九九视频| 美女啊啊啊啊啊啊| 精品亚洲| 久久免费99精品久久久久久| 亚洲欧美日韩综合在线尤物| 99婷婷| 最新国产精品久久精品| 丁香六月综合激情| 91亚洲影院综合| 无码视频一区二区| 日本加勒比无码专区一二三| 综合少妇网| 中文字幕青青草| rion磁力链接| 久久精品国产亚洲AV高清演员表| 成人av影院在线观看| 日韩国产乱子伦App| 岛国黄| 超碰99在线观看| 97电影院超碰| 久久免费看高潮毛片韩国| 北京美女一区二区| 欧美色图亚洲色,麻豆| 精品免费一区| 日韩人妻一二三区视频| 亚洲激情网一二三四区| 精品久久大胆人体| julia国产在线 | www.激情| 东北女人性交| 草莓精品视频在线免费观看| 人人操人人狠狠操| 久久99手机免费视频| 国产久久男人天堂| 亚洲毛片基地专区| 国产精品色片一区二区| 日韩有码免费视频| 秋霞一区二区三区四区五区六区七区| 97爱爱官网| 亚洲?V高清一区二区三区尤物| 国产精品黑人一区二区三区| 欧美日不卡| 国产精品熟妇一区二区三| 国产精品69久久久久孕妇欧美 | 丁香五月色情| 天天天天天天天天综合| 亚洲色图欧美色18直播在线| 久久精品福利影院| 综合网欧美在线| 欧美乱妇狂野欧美在线视频| 久久啊啊| 婷婷五月天色色| 少妇三P| 三及片网站| 超碰色男人操熟女| 久草精品国产蜜臀| 国产精品久久妻无码网站| 久久久久婷婷| 欧美综合 站| 国产精品国产精品国产| av资源在线播放天堂| 日韩精品第3页| 加勒比aⅴ| 亚洲天堂一区二区久久| 天堂伊人久久| 桃花色综合影院| 五月丁香| 亚洲一区二区中文字幕| 九九久久九九久久| 超碰97伊人| 久久亚洲AV无码专区首页| 中文字幕高清20页视频| 亚洲色图欧美| 人妻丝袜无 码视频专区| 日韩久草| 黑人精品成人一区二区三区| 欧美在线|亚洲| 91精品伊人久久久大香线蕉91 | 亚洲综合一区二区| 99在线视频播放| 一区二区三区美女超清| 嗯嗯啊在线视频| 亚洲骚逼少妇| 少妇一区二区三区| 一级久久性爱视频| 91美女视频。| 激情99| 97伊人超碰| 你懂得91| 五月情色天| 久久久无码国精品无码三区三区| 99re这里只有精品2| 久久久久9999| 精品九九九九九九| 久久久∴| 韩日无码在线观看| 黄色成年| 91在线视频免费中出| 中文乱码字字幕在线第5页| 嗯嗯啊在线视频| www.av家庭乱伦| 麻豆性爱视频在线播放| 天天看综合网| 粉嫩在线一区二区懂色| 加勒比综合| 精品国产99| av日韩在线观看电影| 日韩精品人妻中文字幕久久久| 秋霞成人做爱| 欧洲精品欧洲精品| 久久怡红院| 四虎精品永久在线播放| 九九九九九精品十六| 亚洲欧综合另类无码一区| 亚洲图片欧美另类综合免费视频大大香| 91三级理论片播放器| 青女偷拍网| 日本天天吊| 一级毛片久久久久久久女人18| 国产乱人妻精品入口| 999国产精品999| 久久无码精品| 久久亚洲一区女同性恋中文字幕| 刺激精品视频| 天天综合色| 久久丁香久草综合网| 91少妇香蕉久久精品| 激情五月天综合网| 欧美丰满少妇xx高潮| 国产91丝袜 在线播放| 精品176精品2| 偷窥自拍亚洲色图| 91free福利| 香蕉黄色一级视频| 99在线免费公开视频| 啊啊啊啊免费视频| 极品久久久久久久久久久久久久| 按摩中文字幕| 97色色网| 日韩成人精品中文字幕| 九九激情网| www.伪伪| 国产精品午夜福利亚洲综合网| 国产97在线播放| 美腿丝袜偷拍亚洲欧美| 九九九九九九九精品视频| 亚洲欧洲综合av在线| 超碰人妻久久| 婷婷探花久久精品一区| 99只有精品| 日本特黄f c2| www.夜夜操| 久久熟女人| 人妻在线视频| 精品亚洲国产成人av网站| 日韩无码人妻| 九九九九热| 久久精品电影在线| 在线视频资源| 啊啊啊好舒服视频| 97国产精品一区| 92大香蕉| 99热线麻豆| 蜜桃臀久久| 91精品免费| 欧美韩国你懂得在线 | 1000午夜黄色| 超碰到97情色| 欧美色亚洲色| 玖玖久久久| 中文不卡视频| 中文字幕在线观看网址| 亚洲无码国产探花在线观看| 视频国产成人精品日本亚洲18| 国产精品乱码久久久久| 91国产操逼视频| 一级做a爰片性色毛片久久| 亚洲欧美国产va在线播放频| 综合伊人激情| 久久久久9999妇女| 91 刺激在线| 色婷婷综合网站| 动漫爆乳3D奶水一区在线观看| 久久直播国产| 99久久99九九99九九九| 99热色精品| 深夜啪啪啪视频免费| 床上啊啊啊一区二区三区| 97亚洲国产影视| 免費人妻夜夜爽天天爽爽一区| 色嘟嘟人妻天堂网| 无码人妻丰满熟妇奶水区毛片| 最新亚洲风情电影| 欧美性Fer办公室秘书| 91老妇女| 午夜福利1区2区3区| 国产蜜臀精品一区二区尤物| 91女优在线观看 | 2011国产精品| 日韩欧美丝袜诱惑| 欧美成人一级免费电影| 国产精品自产拍在线观看社区| 色综合色欲色综合色综合色综合| 欧美中文字幕男人天堂久久精品 | 97欧美日韩精品| 好属操| 久操网视频| av一区二区三区 中文| 日本久久久久久久久| 美女毛片999| 欧美综色欧| 色婷婷国产精品一区在线观看| 日本αv| 久久久久久AⅤ无码免费肉站 | 四虎影视永久在线观看精品免费网站| 97超碰中文在线| 中文字幕乱在线伦视频中文字幕乱码在线| 亚洲AV无码成人精品久久| 韩国久久97| 亚洲色图 图片| 久久青青草在线视频| 免费啪啪一级视频| 97大色网| 2020久久免费视频| 色综合中文字幕不卡| 嫩草黄页| 国产日产精品久久快鸭的功能介绍| 日本午夜久久电影| 我爱搞逼综合网| 亲子敌伦对白在线播放| 男人兔费天堂| 精品少妇一区二区| 欧美强奸乱| 观看免费区二区三区二| 亚洲高清综合网| 国产69精品久久久久99尤物| 91美女色视频亚洲| 成人自拍三级在线观看| 人人妻人人操人人乐| 日韩综合97p| 日韩精品中文字幕一| 第二页中文字幕| 久久久久国产精品久久久| 欧美网站免费| 人妻蜜桃臀| 99热只有这里有精品| 秋霞一区二区三区四区五区六区七区| 久久伊人最新网址视频| 超碰97人妻在线| 免费视频a级毛片免费视频| 欧美日韩另类字幕中文| 欧美大香蕉同搞| 国产a级精品| 天天噜| 夜夜嗨AV一区天天| 97久久久| 久久亚州高清| xxxx网站亚洲精品| 日日嗨AV一区二区夜夜| 蜜乳性色无码专日粉嫩骚逼AV| 麻豆伊人网| 免费?级毛片无码?∨蜜芽试看| 麻豆天美传媒在线视频天堂| 国产一级不卡在线观看| 最新9久久久9免费视频| 五月丁香六月婷综合成人综合| 99久在线精品99re8| 91丨九色丨43老版熟女| 久久人妻| 亚州高清色综合| 国产操逼逼网| 久久久久久网址| 99re这里| 综合久久欧美| 国产久久天堂资源| 欧美天堂日韩三级国产传媒| 国产探花精品在线| 精品人妻一区二区蜜桃视频| 中文字幕五区| 亚洲精品欧洲精品| J?P?NESEHD熟女熟妇伦| 天天综合网~91入口| 精品国产久热在线观看| 国产青一二三| 免费精品人妻一区二区三| 国产传媒av天美传媒在线| 人妻熟女一区在| 综合影院永久入口国产| 久久久禁| 欧美九九爱| 上海一级黄片| 精品国产无码中文| 国产性爱欧美性爱在线| 国产性爱强奸乱伦大全| 精品人妻一区二区三区视频| 欧美国产伊人久久久久| 高清孕妇孕交 交| 午夜福利区| 人、人、摸,人、人、草| 欧美色宗合| 青草影院内射高潮| 偷拍亚洲高清图片| 国产精品免费视频不卡| 亚洲国产精品无码AV久久久| 亚洲精品电影| 91n免费处女| 韩日精品四区| 成人美女av| 国产精品免费久久久久久久久久| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 99视频精品| 久综合国内精品自在自线| 一区二区三区四区五区久久久久久| 久久精品一区二区三区不卡| 91丨九色丨大屁股| 激情久久av一区av二区av| av亚欧| 亚洲第二页| 国产青青美女玩逼视频| 欧美熟妇视频| 开心激情站| 深田咏美亚洲精品福利社| 干b在线性社区| 激情综合色| 一起草日韩| 欧美精品23| 日本成人在线不卡一区二区三区 | 日韩欧美传媒一区国产| 26uuu偷拍亚洲欧洲综合| 久久久国产成人一区二区三区在线| 91丝袜在线观看| 中文字幕一区二区三区四五区| 神马久久中文字幕| 蜜乳中文字幕a在线| 91夜夜蜜桃臀1区2区3区| 少妇超碰在线| 五月天婷婷色| 黄色大片一区二区密桃丝袜| 五月天婷婷欧美三区| 中文字幕jul-617人妻熟女| 乱伦1色页| 操操逼操操逼操操逼逼| 国产精品久久久久久久毛片1| 欧美性生活男人的天堂| 国产视频一区二区三区在线免费观看 | 成人三级片一区二区三区视频| 国产AV线| 99精品综合久久久久五月天| 青青操日韩| 一二三区视频在线观看| 丰满人妻-区二区三区免费看| 麻豆天美AV传媒第一页| 日本道人妻久久久在线不卡色视频| 操逼短片| 精品国产乱码久久久久久久久久毛片| 久久久青青草| 国内偷拍精品一区二区| 精品人妻1区| 26uuu国产成人综合| 亚洲欧美综合色| 久久做97| 日韩美女高潮喷水视频| 精品久久久不卡一区二区| 欧美激情色婷婷花野真衣一区二区| 亚洲一本色码中文字幕| 天操天操夜操夜月月年年操操 | 97综合在线| 国产婷婷综合在线观看| 做爱A级亚欧| 国产精品三级视频网站| 亚洲综合网电影91| 欧美色一二三| 超碰97.com| 亚洲欧美日韩中文播放| 日韩av不卡在线看| 中文字幕黄色片| 欧美熟妇视频 | 少妇高潮流水av免费| 福利视频一区二区微拍| 丁香五月AV| 久婷婷一区| 9I1性色影院| 欧美欲色| 大香蕉免费3| 操操操日本的逼| 日韩中文欧美| 内射黑丝袜| 不卡在线观看视频| 大香网站| 日韩伦理视频| 99久久久| a v网站在线播放| 色妺妺在线视频| 中字一区| 国产中文字幕在线点播| 大香蕉碰| 揉揉揉夜夜| www.av在线视频| 久久国产精品91| 亚洲双插| 国产 无码 一区二区| 啊啊啊啊视频免费| 欧美宗合网| 伊欧美综合视频| 色老汉色| 97在线视频免费| 国产福利影视| 69久久久久久久久久久久久| 伦激情人妻另类人妻| 日韩啪啪啪啪啪| 后入式999| 亚洲囯产精品女人久久久| 精品免费1| 亚洲三级。日韩三级| 国产综合网站在线播放| 国产精品网站免费| 欧美性爱免费短视频| 加勒比在线视频| 亚洲成成熟女人综合一区二区| 午夜120视频在线观看| 丝袜性亚洲| 天天干天天操天天操夜夜操天天操 | 亚洲欧美日韩制服另类| 久久大香蕉手机高清| 天天欲望网| 91欧美美女日韩国产婷婷| 久久永久无码人妻视频| 久久久久日本视| 亚洲一区二区在线观看91| 秋霞久久亚洲精品成人| 天天做天天爱天天爽AV| 午夜男女爽爽大片免费观看| 亚洲棕合电彰| 日韩无码三级影院| 国产一区二区三区久久精品太古里| 在线视频 亚洲精品| 欧美日韩国产中文超碰| 大JI巴好深好爽又大又粗视频| 91色女| 天堂v无码免费视频| 久久国产精品91| 国内偷拍精品一区二区| 久久111| 久久五十路熟女人妻| 亚洲色图欧美另类在线| 久久久精品视频免费观看| 怡红院亚洲怡春院av| 久久老子无码午夜伦不卡| 日韩欧视频| 亚码激情| 日韩无码a片| 中文字幕第95页| 五月丁香啪啪网| 国产美女高潮| 传媒免费一区二区三区| 亚洲中文字母在线播放| 农村女一级毛卡片| 美女AV一区二区| 国产亚洲精品玖玖玖在线观看| 一本色道久久综合狠狠操| av九九| A一区片| 日本最新1区2区3区| 成人小说另类在线| 亚洲天堂日本| 激情综合五月婷婷| 91精品亚洲内射孕妇| 亚洲欧美日韩中文久久自慰| 五月天精品| 日韩欧美福利视频看看| 久久久精| 91色黑人少妇| 无码抄逼网| 中国人高清www色视频免费| 亚洲天堂人人妻| 色五月丁香五月| 欧美成熟性爱精品| 96精品在线| 在线不欧美| 男人精品天堂一区| 精品国产乱码久久久久久影片| 日日插夜夜| 超碰97中文| 久久久熟女一区| 日本97久久久精品| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 999亚洲国产视频| 蜜臀中文字幕| 熟妇女伦乱视频视频| 校园春色综合色| 婷婷九月色| 啪啪免费| 国产美女自拍AV| 97 色综合| 中文字幕一二三av| 四虎在线免费视频| caopeng97人妻| 青青草中文-久久青草精品一区二区三| 在线免费观看日韩一区| 国产内射爽爽大片| 超碰九7| 青青草在线视频美女| 国产美女激情| 黑人综合网| 欧美爱国产综合、| 国产亚洲人妻综合日韩 久久| 中英熟女操女| 香蕉视频精品亚洲一区二区三区在线播| 青青草成人视频在线观看二区| 婷婷香蕉欧美在线一区二区三区| 欧美日韩99| 久久草在线综合视频| 老熟女乱子伦中文字幕一区二区| 老司机天天操| 亚洲好看强奸乱伦| 亚洲无码国产精品久久| 色黄污美女啪啪啪免费网站| 影音先锋每日最新资源在线观看| 91综合在线| 久久久蜜桃臀无码视频| 97视频免费在线观看| 91精片| 又大又大又大又粗爽高潮观看| 免费在线视频97| 欧美性91| 国产综合色精品在线观看| 久久亚洲AV无码白度| 97在线视频观看| 日韩成人私密一级精品av| 五月丁香黄色网| 日韩熟女操逼| 韩国一级AAA| 曰韩成人免费视频| 中文字幕 码 自拍 视频 区| 99国产精品人妻人伦| 国产性感骚丝袜在线| 日韩99神马视频播放| 天堂伊人久久| 国产伊人精品在线| 秋霞网无码| 精品无码不卡视频| 日本三级日本三级99| 熟女精品一区二区三区| 爱干爱射网啊啊啊| 97电影院超碰| 嗯嗯啊在线视频| 中文有码第五页| 97bbn| 婷婷国产精品一区二区| 国产综合日韩伦理| 日韩av在线免费网站| 91精品综合久久久久久五月丁香| 按摩中文字幕| 久久一区二区加油站| 蜜屁av| 在线毛片片免费观看| 少妇3P性爱自拍| 一本久道久久综合狠狠爱| 美女的肌被草喷水视频| 精品无人区麻豆乱码1区2区图片| 国产高清亚洲日韩一区| 日本国产欧美高清在线| 精品国产网站| 国产三级中文字幕粉嫩| 日本韩国国产精品一区| 欧美日韩操逼嗦吊| 色综合加勒比四四季| 国产蜜臀精品一区二区尤物| 日B操| 婷婷五月天久久久| 中文字幕精品乱码| 国产在线播放成人免费| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 熟妇乱伦一区二区| 国产版a级片直播在线| 丝袜综合色图| 校园春色 欧美| 囯产乱伦一区二区三女| 日韩激情视频| 国产高清自拍| 九九热精品视频在线观看| 日产成人久久| 日韩在线97| 97在线免费看视频| 探花激情视频| 亚洲欧美日韩电影网站一区| 日韩三级伦理中文字幕| 桃色五月天| 死我十八禁| 99久久婷婷丁香| 日本 免费 一区二区三区 久久香蕉| 91情色在线| 欧美精品自慰系列寂寞少妇 | 欧美日韩人妻精品系列一区二区三区| 日韩A优精品在线观看| 欧美内射少妇| 91精品久久久久久77777| 日本 免费 一区二区三区 久久香蕉| 啊啊啊好舒服视频| 色色无码| 夜色综合| 翘臀vidoes| 色逼综合| 日本熟妇熟色97一本在线观看| 日日躁夜夜躁狠狠躁超爽| 999国产精品999| 中文字幕免费看| 最近的最新的中文字幕视频| 久久久96精品| 亚洲综合成人网| 亚洲图片91| 天天爽爽爽爽| 国产日韩精品suv| 欧美图片色综合| 五十路六十路素人熟女| 99只有精品| 一线黄色免费性爱片| 欧美综合 站| 性爱av在线免费观看| 久久9免费视频| 国产成人网| 97超碰人妻| 国产福利夜| 一级片在线观看高清无码| 久久久不卡区一区二区三区久久久| 欧美一区二区一级岛国大片| 97精品国产手机| 亚洲最大网站av| 97色综合中文网| 欧美色图片91| 操逼操网| 97亚洲在线| 九热大香蕉| 自拍偷拍 日韩无码| 黄片www.| 日韩有码回春沙龙第一页| 久操精品网| 国产精品人妻无码久久久互動交流 | 亚洲最新a在线观看| 9久9久| 97爱爱爱综合| 操逼国产免费| 天天操妹子| 97视频620| 亚洲精品日韩国产欧美| av亚欧| 超碰碰小说97| 久久这里都是精品| 乱欲一区二区| 成·人免费午夜在线观看| 91老熟女老女人国产老太| 91精品久久久久久综合五月天| 亚洲天堂久久久久久粉红视频| 亚洲激情天堂网| a网站免费观看| AV天堂国产| 婷婷去俺也去六月色| 国产一区二区成人av在线播放| 亚洲和欧美裸体美女双飞视频| 亚洲操人| 人人做天天爱| 欧美偷拍| 欧美一品道| 欧美综合加勒比在线| 人妻精品视频一区二区| 精品国产三级av韩国在线| 1204人成网站色www| 欧美日韩淫加| 日本在线一二 | 免费观看啪视频| 少妇人妻好深太紧了vr91| 狠狠爱夜夜| 国产精品久久久久久9999| 亚洲一本色道中文无码aV天美| 青青草久久一区网| 亚洲激情网| 操高情无码| 100啪啪视频大全| 天天看片青娱乐| 夜夜嗨免费视频| 日日夜夜青青草母狗| 大香蕉伊人色偷偷在线| 日韩性爱高清免费视频| 欧美精品99久久久**| A级在线视频| 精品久久久久久久| 欧美九九九| 四虎免费在线播放| 91欧美丝袜| 天天舔天天日天天射| 亚欧美综合网| 91中文字幕在线观看| 久操av在线| 欧美亚洲综合999| 超碰98综合网| 香蕉免费一区二区三区不读 | 国产精品密臀网在线观看| 男人的天堂.com| 内射日韩大臀美女| 日本三级日本三级三级人妇四虎| 久久精品欧美一区蜜桃| 欧美综合天堂| 99国内熟女露脸视频| 亚洲精品欧洲精品| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 天天草夜夜草高潮片| se吧提供91精品国产91久久久久久| 三上悠亚在线毛片91| 黑人猛交| 久久久久久久九九九九九九| 亚洲日本激情| 国产精品久久99日日| 色狠狠 - 百度| 亚洲古典另类欧美在线| 秋霞一级视频在线观看免费| 女人被添高潮免费视频| 尹人大香蕉视频在线| 亚洲欧美精品一区天堂久久| 日韩97超碰中文字幕| 99色悠悠| 四虎AV影视国产精品亚洲精品| 97在线观看免费视频l| 99re在线精品78| 中文字幕一品色图| 精品一区二区三区18| 亚洲在线欧美| 性暴力欧美猛交在线直播| av无码av无码专区| 99久久久| 性色国产东北露脸精品视频| 色欧洲97| 热99re69精品8在线播放| 操逼啊啊啊91| 国产亚洲精品美女久久久久久2021| 可以免费观看的日韩av毛片| 五月综合激情| 精品十三区| 欧美在线综合| 另类天堂| 精品人妻av在线播放| 久热9| 加勒比五月天| 操逼日批| 日韩中文字幕在线视频观看| 99无码视频| 2019AV天堂| 亚洲97资源| 国产亚洲日韩欧| 夜夜草网站| 亚洲精品骚逼| 1024精品在线| 日日噜噜夜夜狠狠视频无| 激情综合网五月婷婷| 在线视频一区二区传媒| 成人草草视频| 色黄污美女啪啪啪免费网站| 综合激情五月天| 牛牛久久国产精品视频一二三| 亚洲一区中文字幕| 久久久久人妻二区精品叶可怜| 丁香五月自拍| 91天天c| 亚洲精品少妇| 色伊人91| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 人妻少妇精品无码专区二区密桃| 日韩免费三级黄片电影| 一区二区蜜臀| 日韩激情啪啪| 97天天操| 国产午夜视频| av资源在线播放天堂| 午夜毛片亚洲精品片国产久久久| 丝袜综合色图| 粉嫩av在线一区二区| 搡老女人老91二区| 中文字幕人妻色偷偷久久皮| 思思热免费视频观看| 麻豆精品一区二区三区四区免费观看| 91精品成人| 国模少妇一区二区三区| 呦呦一区| 蜜臀无码一区二区| 欧美久久九九| 午夜福利精品| 九九九精品| 九一国产精品| 久久99国产综合精品女同| 国产精品久久久无码AV网站| 777超碰| 日日干男人的天堂| 吻戏激情性巴克| 亚洲精品xxx| 91天堂网| 呻吟 欧美 日本 中出| 欧美专利1区2区3区4区5区免费| 久久亚洲AV无码专区国产精品 | 一区二区三| 天天上日日上日韩精品| 伊人在线大香蕉二。| 亚洲s在线观看| 爱我干综合| 久久黄色视频一区二区三区| 亚洲天堂2020| 久久久熟女一区| 人妻无码后入| 67914亚洲精品| 草莓精品视频| 高潮的A片激情扒开一区| 九九九九精| 欧洲站一级二级三级h| 国产精品网站www| 久久天堂婷婷网| 全球成人中文在线| 亚洲天堂中文字| 91国产操逼视频| 一区二区影视| 深爱伊人影院| 欧洲一区二区三区四区在线观看| 青青草日本中文字幕 | 国产女人与拘做受视频免费| 91社区伊人| 国产传媒日韩欧美| 久久这里只| 99少妇| 午夜视频久久久| 无卡一区=区| 亚洲精品不卡一二三区| 国产丰满熟夫69mpp| 日韩欧美麻豆大片| 裸体美女国产免费久久久网站| 婷婷天堂站| 无遮挡猛进视频免费无限观看| 91人妻素女| 天堂中文日本在线观看| 狠狠操夜夜| 青娱乐亚洲自拍| 欧美一级久久久丰满| 日韩综合成人免费视频| 亚洲春色欧美激情自拍| 日韩AV无码网站| 91视频伊人| 伊人操你| 家庭乱伦国产| 久久东京伊人一本到鬼色| 一本精品日本在线视频精品| 人妻无一区二区三区| 五月天婷婷在线看| 人人操人人插 - 百度 - 百度| 国产精品久久久啊| 襙一襙| 免费av在线播放二区| 看免费的黄片| 手机在线播放国产福利| 久操网无码在线| 日韩不卡在线一区二区| 美国日韩黄色片| 麻豆国产免费影片| 色爱综合网| 久久极品一区二区| xxx亚洲午夜天堂| 大香蕉国产中文自拍| 目产99999久久999| 久久综合av| 亚洲熟女少妇免费视频| 伊人宅男大香蕉| 啪啪自拍九九综合| 99久久亚洲精品无码毛片潘甜甜 | 91精品婷婷国产综合久久| 就去色综合| 大香蕉中文| www.99色| 无码聚合| 嗯嗯啊在线视频| 欧美亚洲丝袜美女电影| 欧美亚洲成人在线一区二区三区| 黄久在线| 综合 亚洲 欧美| 91av熟女人妻| 婷婷丁香五月综合| 中文字幕一区二区三区蜜臀| 欧美aⅴ99久久黑人专区| 国产精品久久久久久9999| 男人的天堂1024| 中文字幕高清精品一区| 91足交| 国产剧情一区在线观看| 国产精品视频播放| 日日日日做夜夜夜夜做无码97| 中文字幕视频在线观看| 亚洲欧洲av影音| 国产三级中文有码在线视频| 亚洲综合小说另类图欧美视频激情小说色五月天 | 69精品久久久久中文字幕| 长长久久免费视频| 麻豆伊人网| 伊色久人大在线| 精品成人亚洲午夜电影| 色播五月婷婷| 久久99精品九九久久久婷婷| 日韩大香蕉AV影片| 国产女人和拘做爰视频| 成人婷婷丁香| 亚洲人久久久网| 精品91| 亚洲五码一区二区三区| 无码99| 日韩BBN| 日韩熟女操逼| 婷婷五月天基地| A男人的天堂| 免费国产视频| 亚欧国产无码精品在线| 亚州人妻| 男人在线天堂| 国产亚洲在线| 91国产丝袜美女| 91视频精品| 92福利社视频| 夜夜嗨一区二区三区三州加勒比| 国产精品一区二区久久精品| 久久99网站| 男女性扦B| 午夜操逼不卡| 亚洲 中文 女同| 精品少妇99| 久久久久久久唑| 约操熟妇| 国产超碰人人操| 欧美一区二区三区黄色影视| 人人性爱视频免费| 95精品在线| 欧美日韩小说| 亚洲精品aa久久伊人| 亚av顶级裸体一区二区三区四区五区 | 大屁股熟女一区二区三区| 无码直播久久久| 色一射色一射| 国内伊人久久久久久网站视频| 国产热RE99久久6国产精品首| 欧美一级专区免费大片| 国产Av超碰| 色爱综合网欧美| 啊啊啊啊啊啊在线观看| 色噜噜狠狠色综无码久久合欧美| 九九九国产精品| 国产一区二区三区免费视频在性观看| 日韩丰满熟妇| 精品美女久久一二三| 翔田千里AⅤHD无码| 日韩99神马视频片| 天天做天天爱夜夜爽毛片试看| 国产精品天美传媒| 色五月AV| 国产精品对白内射| 色波多| 佐山爱中文字幕| 无码 黑人一区二区三区| 欧美精品久久96人妻无码| 欧美中文字幕日韩在线| 91久久久视| 亚洲精品人妻在线| 97欧美久久久久久久| 国产成人bd在线观看| com 首页 18岁 禁区 女优 免费 精选 同城| 日韩一区二区高清在线观看的| 日韩大香蕉精品在线视频| 综合 欧美 亚洲 日本| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 亚洲中文字幕一区二区| h在线看免费版在线看| 99999国产精品| 精品.99999| 伦激情人妻另类人妻| 色综合久久夜色精品国产天堂| 成年人黄色小视频网站| 超碰碰小说97| 激情色播| 精品人妻中文字幕高清| 色噜噜人妻丝袜AV资源| 亚洲精品天堂久久A∨51成人漫| 精品精品精品| 亚洲日韩精品久久久久一区壹牛| 爽爽淫人网| 亚洲欧美国产va在线播放频| 97公开久久| 国产自偷自拍一区| 国产日韩久久| 亚洲中文字幕日产无码久久| 精品亚洲国产成人精品| 青青草原av| 久久久久密| 欧美亚洲尤物久久| 粉嫩AV一区二区夜夜| 宅男91视频在线播放| 天天操天天射天天日| 久久熟女精品不卡一区| 久久婷婷一区二| 九月激情婷婷| 欲色综合| 天天日日日射| 国产一区二区三区导航| 熟女人妻一区二区三区免费看 | 色人久久| 精品无码一区二区三区| 热久久无毒不卡| 成人影 天天操 亚洲| 加勒比久久综合网高清| 一起草视频在线| 精品人妻一区二区三区夜夜| 丁香婷婷久久| 偷拍亚洲熟女视频播放| 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 欧美精品91| 超碰在线香蕉| 午夜超碰| 亚洲极品| 中文字幕日韩精品一区二区三区| 天堂种子在线www网资源| 日韩精品字幕| 9 1果冻精品视频| 国产精品第二页| 99re9在线| 国产亚洲色婷婷久久99精品91葵花宝典| 久久久一区二区三区四区五区| 蘋果手機免費看成人Av| 啊啊啊用力在线观看| 国产一区二区视频在线播放| 以及麻豆国产入口在线观看免费| 国语精品av| 亚洲综合射| 九九热超碰97亚洲最新香蕉| 少妇二级| 国产欧美成人精品| 久久最新免费视频23| 精品亚洲国产成人AV制服丝袜| 91视频伊人| 97色色色| 久久日韩肥臀| 亚洲欧洲激情| 欧美亚洲美少妇一区二区| 97超碰碰碰| 九九色色| 久操不卡视频| 亚洲中文日韩欧美大香蕉视频| 日产欧美电影一区二区三区| 9久久久久| 国产精品一区二区三区在线| 精品美女人人干| 伊人久久亚洲中文字幕不卡| 人妻出轨一区二区三区| 日本熟妇一区二区三区| 99碰碰| 免费久久精品麻豆一区二区av| 一区操逼日比视频| 操迟操逼在巾线Fre看| 妇女性内射冈站HDWWWCOM| 中文字幕精品探花视频| 91东北熟女| 国产精品乱码久久| 97色色色| 欧洲久久一二线| 久草午夜| 狠狠操狠狠操操| 激情综合网激情综合| 97天堂| 中文字幕精品探花视频| A级片一区| 亚洲欧美高清无码| 精品国模无码| 黄色操人| 黑人白女精品一区| 91丨豆花丨熟女| 亚洲一区二区三区播放在线| 国产又黄又爽又刺激久久久久久| 在线人成亚洲视频免费观看| 国产极品粉嫩馒头一线天av| 国产精品不卡一区二区三区av| 日韩免费av片高清无码| 成人无遮挡毛片免费看| 99国产精品视频尤物| 国产网站在线播放| 91精品伊人久久久大香线蕉91| 日本在线视频导航| 色综合色综合网| 蜜臀久久一区二区| 嗯……啊…嗯嗯…啊…好舒服| 性欧美体内射精| 日影院久久婷婷夜夜网| 尤物视频网 刘玥| 美女十八禁| 后入式免费视频| 亚洲av综合伊人久久| 人人摸人人干| 青青草精玖玖69精品| 日韩不卡网操逼中文字幕日韩| 中国黄色特级精品一区二区三区片| 在线播放中文字幕| 91精品人妻一品二品三品| av网站免费看| 婷婷丁香九月| 日韩精品永久在线观看| 精品免费视频国产一区| 一区二区不卡免费| 玖玖草久草99蜜月一区二区三区| 图色综合网| 国产乱弄免费在线视频。| 色婷婷婷五月天激情四射| 中文幕97| 揉揉揉夜夜| 九九九热| 国产精品久久久久久久久久梁医生| 欧美精品23| www亚洲免费| 热99这里有精品综合久久 | 欧美最大综合网| 精品人妻一区二区三区四区| 3PAV乱伦视频| 夜间福利片1000无码| 亚洲国产精品久久久久久久久久| 麻豆九九九|