老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

sqlldr標準輸出未處理導致批處理掛起問題

1問題
    生產環境一個批量處理沒有完成。

 2分析
    批量處理邏輯:
    java->shell->sqlldr
    檢查數據庫會話,發現對應會話等待事件為SQL*Net message from client,對應v$session.program為sqlldr@xxx,v$session.seq#保持不變,持續超過5個小時(6:45-12:20)。
    查詢數據庫加載的表,發現已加載部分數據,但對應sqlldr日志為空。

     對應sqlldr命令如下:
     sqlldr user/pwd data=a.txt control=a.ctl log=a.log bad=a.bad discard=a.dis errors=9999999 rows=1000

     在測試環境驗證,sqlldr直接運行時,可以順利加載所有數據;通過java->shell->sqlldr方式運行時,在加載特定行數后停止,問題可以重現。

     在進行以上測試時,sqlldr直接運行時,當前窗口會輸出已加載了xx行。其實,問題正出在這里。通過java->shell->sqlldr方式運行時,標準輸出沒有程序讀取,在要加載的數據量達到一定程度時(超過缺省緩沖區大小),就會導致加載過程停止。

     驗證過程參考附錄。

3解決方案
處理sqlldr的標準輸出與錯誤輸出,可選方法:
方法一: sqlldr ...  silent=(ALL)
方法二: sqlldr .... 1>std.log 2>err.log


附,測試腳本
--RunShell.java
import java.util.Date;
import java.text.SimpleDateFormat;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class RunShell {
    public static void main(String[] args){
        try {
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String shpath="/home/oracle/java/test.sh";
            System.out.println("---1--" + df.format(new Date()));
            Process ps = Runtime.getRuntime().exec(shpath);
            System.out.println("---2--" + df.format(new Date()));
            //ps.waitFor();
            BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));
            String loop = args[0];
            System.out.println(loop);
            String line;
            while ("0".equals(loop) && (line = br.readLine()) != null) {
                System.out.println(line);
            }

            System.out.println("---3--" + df.format(new Date()));
            ps.waitFor();
            System.out.println("---4--" + df.format(new Date()));

            }
            catch (Exception e) {
                e.printStackTrace();
            }
        }
}


--test.sh
seq -w 1 100000|awk '{print $0"xxxxxxxxxxxxxx"}'


測試1--傳入參數0,主線程主動讀取shell的標準輸出
java RunShell 0
---1--2018-04-20 13:23:25
---2--2018-04-20 13:23:25
0
...
...
---3--2018-04-20 13:23:34
---4--2018-04-20 13:23:34

==〉可以順利完成


測試2--傳入參數1,主線程不讀取shell的標準輸出
java RunShell 1
---1--2018-04-20 13:28:30
---2--2018-04-20 13:28:30
1
---3--2018-04-20 13:28:30

==〉長時間掛起
Ctrl-C

^C---4--2018-04-20 16:37:08


分享題目:sqlldr標準輸出未處理導致批處理掛起問題
鏈接分享:http://www.xueling.net.cn/article/gceoeg.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 麻豆网站在线播放 | 韩国一级淫一片免费放 | 激情久久久久久久久 | 国产在线一 | 国产一卡二卡三卡免费 | 亚洲AV永久无码精品天堂动漫 | 国产超碰人人模人人爽人人喊 | 久久久国产精华液2024特点 | 女女女n女女女n女hd | 亚洲青涩在线 | 日韩成人在线免费观看 | 成人年无码AV片在线观看 | 午夜在线国产 | 少妇爆乳无码AV无码波霸 | 久久综合精品国产一区二区三区 | 亚a∨国av综av涩涩涩 | 免费a国产 | 日韩精品一区二区三区老鸭窝 | 免费乱理伦片在线观看2017 | 亚洲AV成人精品日韩一区 | 91蜜臀精品国产自偷在线 | 日本xxxx小便xxxx偷拍 | avav片在线看 | 中文字幕在线观看免费 | 日韩免费在线播放 | 精品午夜一区二区三区在线观看 | 亚洲卡一卡二新区永久时长 | 欧美性猛交xx | 久久久久久伊人高潮影院 | 欧美人一级淫片a免费播放 91久久国产综合久久 | 欧美一级二级三级视频 | av在线资源播放 | 最新视频-x88av | 欧美男男激情videos高清 | 一区二区三区产品乱码的解决方法 | 精品少妇3p | 亚洲色网址大全 | www.免费网站在线观看 | 多人调教到高潮失禁h重口视频 | 浪潮av色综合久久天堂 | 欧美高清在线一区二区 |