
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>DB処理の遅延に繋がったりという事は考えられますか?
つまりそういうことですね。DBを優先させるならあらかじめDBのメモリを確保しておく。でも残りをバッチとOSに割り当てることを考えれば、バッチは常に起動しているわけではないですから、バッチのメモリをあらかじめ確保するようなことは返って無駄になります。
サーバーはDBだけで動かしたいという理由になります。
バッチ処理の遅延どころか最悪は処理がちょん切れますよ。
IDii24さん
ご回答ありがとうございます。
バッチ処理がちょん切れるというのは、実行中なのに異常終了するということですか?
たびたびすみませんが、よろしくお願いします。
No.2
- 回答日時:
通常バッチはJAVAなどによる外部プログラムを、バッチスケジューラーソフトで管理します。
SQLServerなどはストアドプロシージャーをエージェント管理してもある程度のことは出来てしまいますが、OracleなどUnix系の大きなシステムではスケジューラーを導入している会社が殆どでしょう。このバッチスケジューラーはバッチを監視していますので、実行ログをエージェントで採取しています。エラーについても何処で問題が起きたかをチェックし、回避するようにバッチが書かれることが多いです。
このような複雑なプロセスで監視しているわけですし、ここがバッチの要なので、最悪でも状況を知れるとこまでは処理してもらわないとこまるのですが、データーベースの処理でサーバーが一杯一杯になれば、大事なログ採取、状況把握部分まで動かなくなる可能性があります。ロールバックはいわばバッチを戻しているわけですからフル稼働しますよね。REDOログ領域も書き込む処理ではなく読み取りになります。その為にバッチスケジューラーに伝えるべき情報がうまく伝わらず制御不能に陥ることもあります。
つまり正確な原因確認が出来なくなる恐れがあると云う事です。
メモリとはSGAとPGAの合計です。今のOracleはそれぞれの割合は自動管理されていると思いますが全体が使うメモリはMEMORY_TARGETで指定してやればよいと思われます。
つまりサーバーの中でDBが利用するメモリの量を確保することになります。それによって他のアプリケーションがDBの処理を邪魔しないようになります。SQLServerでも同じことが出来ます。
これをうまく設定すれば、他のアプリと共有することも出来るとは思います。ただ間違えれば帰ってパフォーマンスが悪くなるので注意です。Oracleは良く理解してパラメータをいじらないとさし引きで悪くなる場合もあるので注意です。
ちなみに全データそのものを常にメモリに読み込んでおくインメモリーDBとは違います。
IDii24さん
ご回答ありがとうございます。
【バッチがうまく制御できるか不安】について、理解できました。
また、追加で質問させてください。
>DBサーバーもバッチもメモリを多く使用しますし、どちらがネックになっているか判明できなくなります。
上記の点について、どちらがネックになっているかの部分なのですが、
例えば、処理の遅延だったり、問題が発生した場合の切り分け等が難しくなるという
意味合いでしょうか?バッチが起動している時に、CPUの割当がバッチに取られてしまい、
DB処理の遅延に繋がったりという事は考えられますか?
ちなみに、サーバ環境についてです。
OS:Linux
DB:Oracle 10g
バッチ:java
※バッチはジョブスケジューラソフトではなく、cronにて起動しています。
たびたびの質問になり、すみません。
よろしくお願いします。
No.1
- 回答日時:
単にパフォーマンスの問題です。
DBサーバーもバッチもメモリを多く使用しますし、どちらがネックになっているか判明できなくなります。とくに大量のトランザクションをロールバックした場合バッチがうまく制御できるかも不安です。ログも取れなくなる可能性もありますね。ちなみにDBサーバーは起動時に使うメモリを予約指定すべきです。
IDii24さん
回答ありがとうございます。
なるほど、パフォーマンスの問題なんですね。
ちなみに追加で質問しても良いですか。
>バッチがうまく制御できるか不安
具体的にはどんな事になりますか?
バッチ処理の速度に影響が出たりとかですか?
>ログも取れなくなる可能性もありますね。
ログとはREDOログですか?
>起動時に使うメモリを予約指定すべき
SGAの事ですか?
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- サーバー ログオンユーザーがいない場合に自動再起動 1 2022/09/28 09:53
- サーバー Windows Server 2019 CALについて 3 2022/04/02 16:40
- その他(コンピューター・テクノロジー) 以下の用語がわかんないので教えてください!!! ①プロトコルの変換をする装置。トランスポート層からア 1 2023/07/05 09:10
- その他(メールソフト・メールサービス) メールが送信できない 発信側でできる対策 3 2023/05/11 10:22
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- JavaScript インスタグラムのapiを利用して ID情報を持ってきて 自前のサーバでゲームサービスとか できますか 1 2023/05/12 16:10
- WordPress(ワードプレス) WordPressの編集画面がいつもと違うのですがこれは何でしょう? 1 2023/03/29 10:26
- Windows 10 だいたいの能力はどのくらいでしょうか 3 2023/03/05 17:18
- サーバー ファイルサーバのデータのバックアップ 1 2023/03/15 10:30
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10のタスクスケジューラ...
-
DHCP設定バッチnetshコマンドに...
-
バッチでEnterを認識させ...
-
batファイルで、call使っても戻...
-
バッチファイルを実行後、終了...
-
リモートデスクトップの取り合...
-
batファイルを実行してコマンド...
-
バッチファイルでPC情報を取得する
-
コマンドの結果を変数に入れたい
-
バッチファイルを常に管理者権...
-
Windowsコマンドプロンプトで環...
-
quoteコマンドとは
-
DBサーバとバッチサーバ
-
バッチプログラムについて(編...
-
DOSコマンドのforで空白行をス...
-
WMICでリモートでバッチが実行...
-
Windowsのバッチ処理のループカ...
-
バッチ実行時にバッチのファイ...
-
バッチ実行を意図的に失敗させ...
-
DOS窓を閉じないようにするには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10のタスクスケジューラ...
-
バッチファイルを実行後、終了...
-
リモートデスクトップの取り合...
-
batファイルで、call使っても戻...
-
バッチ実行を意図的に失敗させ...
-
DOSコマンドのforで空白行をス...
-
コマンドの結果を変数に入れたい
-
DHCP設定バッチnetshコマンドに...
-
oracleのimp-00002エラーについて
-
batファイルを実行してコマンド...
-
バッチファイルでPC情報を取得する
-
バッチでEnterを認識させ...
-
WindowsのRANDOM関数を用いたバ...
-
実行結果を戻り値で取得したい
-
バッチファイルを常に管理者権...
-
バッチ実行時にバッチのファイ...
-
WMICでリモートでバッチが実行...
-
コマンドプロンプトで最新のフ...
-
bat実行中に引数1の内容を変更...
-
ホスト名をファイル名として保...
おすすめ情報