JDBCのパフォーマンスがあがらず困っています。

LinuxマシンでOracleを稼働しており、そこにJDBCで接続しています。単一でのアクセスでは全く問題のないパフォーマンスですが、同時接続数が2以上になると途端に悪くなります。

# スレッド1→スレッド10でレスポンスに5倍の時間がかかってしまう。。。

OracleでMTS設定なども行ってみましたが、変わりませんでした。コネクションプールも行っています。

JDBCを用いてマルチスレッドでアクセスするときにボトルネックとなるポイント、チェック項目等、アドバイスをいただければ助かります。

よろしくお願いいたします。

[環境]
Linux RedHat6.2J(カーネル2.2.14smp)
Oracle8.1.6
JDK1.3.0
JDBCドライバ Oracleで配布しているclasses12.zip

このQ&Aに関連する最新のQ&A

A 回答 (2件)

補足していただいた内容を読んだ限り、


SQL自体に問題があるようには見えないようです。

とすると、あとは Oracleへの接続部分か
Javaでのロジックをどうにかすることでしょうか。

念のため確認ですが、INSERT/UPDATE文はがんがん実行されているのでしょうか。その場合、Connectionクラスの setAutoCommitメソッドを実行した覚えはあるのでしょうか。

JDBCのデフォルトでは setAutoCommit(true)、すなわち一行文を実行する毎にコミットがかかります。INSERT/UPDATEがあり、トランザクション的に自動コミットがかかるとまずい場合があるので、まず、setAutoCommit(false); として、更にトランザクションの最後に(明示的に) commitメソッドを実行します。もし問題があれば、rollbackメソッドを使って、トランザクションをキャンセルするようにしましょう。ただし、複数のユーザが同一のConnectionクラスのインスタンスを共有している場合にはこの手法は使えないと思います。

この手の話は Oracleの Oracle8i JDBC Developer's Guide and Reference (Oracle8i JDBC開発者ガイドおよびリファレンス)の第6章 Coding Tips and Trouble Shootingに記述されています。
# 恐らく日本語化されて、紙ベースで存在すると思いますが、手元にあるのが US Oracle/technet のドキュメントしかないため、本当に日本語化されているか確認できません。ごめんなさい(^^;
    • good
    • 0

JDBCの問題か Oracleの問題かを切り離して考える必要が


あるのではないでしょうか。
例えば、アプリケーションプログラム中からSQLを取り出したのち、
SQL*Plusを複数起動してそのSQLを同時に実行した場合との
実行時間をまず比較してみてはどうでしょうか。

この回答への補足

アドバイスありがとうございます。

実行時間の比較の方ですが、JDBCとsqlplusの単一クエリーでの差はそれほどありませんでした。複数同時接続があった場合の比較は行っていません。

# sqlplusで複数同時接続の試験方法が思いつかなかったので。

JDBCで複数同時接続しているときに、sqlplusでクエリーを投げてみましたが、その時のレスポンスは問題ないものでした。

補足日時:2001/10/30 14:38
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q2階と3階への引越し費用の違い

引越しを考えております。
エレベータのない2・3階のメゾネットタイプの部屋へ引っ越します。

このとき、引越しの荷物を2階に入れていただく場合と2・3階に入れていただく場合では費用としてどれくらいちがうのでしょうか。

2人家族です。
3階に運ぶ荷物はダンボール15個と
解体した90X120のアルミラックと
3畳用のカーペットが2枚です。

だいたいどれくらい違うかわかる方教えていただけないでしょうか。

どうぞよろしくお願いいたします。

Aベストアンサー

引越し業者さんによって金額は色々違ってくると思うので、具体的な金額をアドバイスできる方は少ない気もします。

個人的には2階・3階ぐらいの違いで金額が違ったという経験はないですね^^
荷物の量(つまりはトラックの大きさ)、土日祝、繁忙期・閑散期の方が金額への影響は大きいようです。
ちなみに、2月中旬以降は倍ぐらい値段が違ってくると、お願いした業者さんは言ってました(大手でしたが。)

荷物の内容や形態(この場合、2階・3階のメゾネットへの引越し)を入力すれば、色んな業者から見積りが届くので、そこで比べてみるのはいかがでしょうか?
1回入力するだけで済むという仕組みです。

参考URL:http://www.hikkoshihikaku.com/

QSQL、oracleにて文字列操作(連結、切りだし)のパフォーマンス向上法

oracle7を使用しています。

#desc a
num  char(8)
code char(2)
seq char(2)
・・・

#desc b
bango char(12)
・・・

上記場合で aのnum,code,seq を結合したものと bのbangoが
同じかどうかの検索を外部結合付きで行いたいとします。

where
bango(+) = num || code || seq

で動作は正常に行われるのですが、検索速度がかなり重くなってしまいます。
文字列連結(||)は重くなるというのを聞いたことがあるのでできれば
(||)を使用したくないのです。

where
substr(bango,0,8) (+) = num
and substr(bango,9,2) (+) = code
and substr(bango,11,2) (+) = seq

とすると外部結合のところでおこられちゃいました。
文字列連結をつかわずに上記SQLの検索パフォーマンス向上法を
どなたか教えていただけませんか?

oracle7を使用しています。

#desc a
num  char(8)
code char(2)
seq char(2)
・・・

#desc b
bango char(12)
・・・

上記場合で aのnum,code,seq を結合したものと bのbangoが
同じかどうかの検索を外部結合付きで行いたいとします。

where
bango(+) = num || code || seq

で動作は正常に行われるのですが、検索速度がかなり重くなってしまいます。
文字列連結(||)は重くなるというのを聞いたことがあるのでできれば
(||)を使用したくないのです。

where
substr(ban...続きを読む

Aベストアンサー

再投稿です。CONCAT()関数は試してみましたか?
||演算子と同じです。
でも処理時間が早くなるか自信ないです。
うまくいかなかったらすみません。

where
bango(+) = CONCAT(num, code, seq)

Q初めての1人暮らし。2階と3階で迷っています。また、プロパンについてご存知の方

この度、初めて一人暮らしをすることになりました。
気に入った物件があったのですが
2階と3階が1部屋ずつ開いています。


2階

メリット
・角部屋
・大きい窓の他に小さい窓(西向き)があり、窓の前にグリーンを置いたりできるスペースあり
・専有面積20m2
・キッチンと部屋の間にアコーディオンのような仕切りつき

デメリット
・大きい窓の目の前が隣の豪邸の壁(それほど迫っているわけではない)
・洗濯機置き場の蛇口がナナメに曲がっている(ナゼ?)

3階
メリット
・専有面積18m2(2階より少しだけ小さい様子)
・大きい窓をあけると下に隣の豪邸の屋根が見える(日当たりよし)
・洗濯機置き場の蛇口はまっすぐ

デメリット
・角部屋ではない
・3階だけど、エレベータはない
・2階とは少し間取りが違い、冷蔵庫を置くと、部屋からキッチンへ行くのがちょっと狭い感じ
(歩く場所を塞ぐ)


私は、日中行った感じでは2階がいいかなと思いましたが、
どちらがいいか迷っています。

2階は、外の景色は見えませんが
日中行った感じでは、さほど暗くもなかったです。
夜どんな風なのかが分からないのですが
星や月、太陽が見えないのはやはり気分的に閉鎖する感じでしょうか?
夜はカーテンを閉めているからあまり気にならないでしょうか。

また、そこはプロパンガスなのです。
1人暮らしで、週に2、3度お湯をためて4000円ぐらいという人もいれば、自炊もせず、シャワーを浴びるだけで月8000円という人もいます。

この度、初めて一人暮らしをすることになりました。
気に入った物件があったのですが
2階と3階が1部屋ずつ開いています。


2階

メリット
・角部屋
・大きい窓の他に小さい窓(西向き)があり、窓の前にグリーンを置いたりできるスペースあり
・専有面積20m2
・キッチンと部屋の間にアコーディオンのような仕切りつき

デメリット
・大きい窓の目の前が隣の豪邸の壁(それほど迫っているわけではない)
・洗濯機置き場の蛇口がナナメに曲がっている(ナゼ?)

3階
メリット
・専有面積1...続きを読む

Aベストアンサー

こんにちは。私は3階をおすすめします。

私が住んでいる部屋も南側の窓の外に、隣の家の壁がありますが、
確かに、いまの時期は結構明るいです。
でも、11月位から3月ぐらいまでは太陽が低いので、
直接日が差し込まず、お日様がとっても恋しかったです。

質問者さまの2階の部屋も、もしかしたら明るいのは夏場だけって
可能性もあるのではないでしょうか。

日差しなんかあんまり気にしないって思っていても、
いざ暗い部屋に住むとテンション下がりっぱなしです(笑)

ちなみに、私の部屋のプロパン請求書を見てみたところ、
使用量5~6立方メートルくらいでした。
自炊もしっかり、毎日シャワーでこんなものかと。

QOracle8.1.6 for Linuxのインストール

LinuxにOracle8.1.6をインストールする予定なのですが、
X-Windowが必須であると聞いております。

専用データベースサーバとして使用するつもりなので、
できれば、Xのインストールは行いたくありません。

また、物理的な条件(サーバの設置場所)から、
別ホストのX-Serverを利用することも難しそうです。

そもそも、本当にXが必須なのでしょうか?
シェル上でのCUIベースのインストールはできないのでしょうか?
(典型的なサーバアプリなのだから、できても良いと思うのですが。。。)

Aベストアンサー

Oracle8.1.6(Linux)にはXが本当に必要なのか?

回答)絶対必要です。

Oracle Universal Installer(OUI)は、X Window Systemのロケールで起動するため、Oracle8iからはX Window SystemとJAVAを使用したこのOUIが利用されるようになりました。
その結果、ハード的には最低でも256Mのメモリーの実装が必要になり、ソフト的にはインストール必須のツールとなっています。

また、そのインストール時には、別のターミナルを使って別スクリプトをコールする場所があるため、一旦それを解除してから起動することは出来ないためです。

また、サイレントインストールを行う場合でも同様に、X-Windowが必要となるためX-Windowを使用せずにインストールすることは不可能であると思われます。

Qマンション3階建ての階による家賃が同じなのは変?

近々3階建てのマンションに引っ越そうとしている者です。
3階建てで階段がない物件で3階と1階が空いているみたいです。
3階と1階の中をみてきたのですが,ほぼ同じ作りでした。
しかし3階の方がベランダが広くて床とかが少しきれいな感じです。

総合的に見て,日当たり面とかでも,3階の方がいいような気がするのですが,家賃は1階も3階も同じらしいのです。1階は,何となく寒い気もしました。

家賃が階によっても同じこと,これって普通のことなんでしょうか。確かに3階は階段の上り下りが大変というデメリットはありそうですが。
階段なしのマンションで,家賃について詳しい方教えてください。
そして,これから私は赤ちゃんが生まれるんですが,やはりその場合1階の方が楽ですかね。
それも合わせてアドバイスをお願いします。

Aベストアンサー

 in_go-ing です。

 『補足』拝読いたしました。

 2階がどうかでしょう。2階が小学生くらいの男の子でしたらかなり下の階には響くでしょう。
 でも、3階だと、今度は質問者様が“気を付け”なければならない番です。でも、赤ちゃんじゃ泣き声くらいですよね。
 いずれにしても注意すべきは“住人の質”と“大家の質”です。

 『内見』の時に、共用部分の掃除の状態や、ゴミの集積所の状態、集合ポストの状態、掲示板の掲示内容などをお調べ下さい。集合ポストが溢れている部屋があったり、掲示に『騒音に気をつけて』とか『ゴミ出しはルールに従って』とかあれば“住民の質”を疑いましょう。

QRed Hat Linux7.3にOracle8i 8.1.7

Red Hat Linux7.3にOracle8i 8.1.7をインストールしようとしているのですが、どうしてもインストールが出来ません。
環境変数やJREのインストール後、KDEからoracleユーザーでログインし
./runInstallerを実行するのですが$ Initializing Java Virtual Machine.... pleas wait..と表示されたまま前に進みません。

Aベストアンサー

Oracleのインストール要件を確認してください。

Oracle 8.1.7 は RedHat 7.1.3 はサポートしていません。
どうしてもインストールしたかったら自己責任で
やるしかないでしょう。
でも変な動きをしてもオラクル社は何の責任も
取らないと思いますよ。
やめておいた方が無難です。

参考URL:http://www.oracle.co.jp/products/system/o8/linux817/

Q3階リビングについて

新築を計画していて、3階にリビングを考えています。
3階リビングのメリット・デメリットを教えてください。
また3階リビングにされた方、感想を教えてくださいませ^^
3階リビングの楽しみ方やいい例もあれば教えてくださいませ^^

ちなみに土地は間口の狭いウナギの寝床で
計画では中庭のあるコの字型を考えています。

Aベストアンサー

単純に「2階リビング」と同様のように思います。
基本的に「リビングが生活の中心になる」となる考えると...

デメリットとしては
(1)1階で必要になる用事(郵便物、来訪者の対応)の際、階下に
 降りるのが面倒になると思います。
(2)ダイニングが3階なら必要以上のライフライン(ガス、水道)を
 持ち上げる必要があります。(2階なら飲み物取りに行く?)
(3)1階にて応接がないと「ちょっとしたお客の対応」が玄関端に
 なってしまいます。(室内に上げたくない方の対応)
(4)部屋の配置に気をつけないと、子供部屋が独立します。
 (子供の様子が分からなくなる)

メリットとしては
(1)単純ですがお考えの通り、採光・通風に優れています。
(2)建売にはない、特別感が得られます。
(3)寝室が下となるので、防犯では良くなるような気がします。
 (気付くという意味ですね)

周囲の環境によっては「開放感」が得られますが、
これには注意が必要だと思います。見たくなくても見える環境
にもなるので、ご近所への配慮も必要かもしれませんね。
(リビングに居る時間も長いでしょうし、照明も点けますから)
それと、これは設計により大きく変化するので分かりませんが、
洗濯と物干しは2階になりそうですね...水周り?
リビングに人を通すなら、ちょっと配慮が必要かも知れませんね。

デメリットのほうが「問題」となるので具体的なようですね。
個人的には面白そうですが、いろいろと考えてしまいそうです。
気づいた内容としてはこんな感じですが...如何です?

単純に「2階リビング」と同様のように思います。
基本的に「リビングが生活の中心になる」となる考えると...

デメリットとしては
(1)1階で必要になる用事(郵便物、来訪者の対応)の際、階下に
 降りるのが面倒になると思います。
(2)ダイニングが3階なら必要以上のライフライン(ガス、水道)を
 持ち上げる必要があります。(2階なら飲み物取りに行く?)
(3)1階にて応接がないと「ちょっとしたお客の対応」が玄関端に
 なってしまいます。(室内に上げたくない方の対応)
(4)部屋の配置に気をつけ...続きを読む

QORACLE8 を Linux (REDHUT7.2)インストール

はじめまして ヤブと申します。

Oracle8 Workgroup Server for Linuxをマニュアル等を参考に環境変数も登録して
インストールしたのですが、最後の方で「
Relinking Error. The executables for Oracle8
Standard (RDBMS) were not made successfully.
Please check the log file (/u01/app/oracle/
product/8.0.5/orainst/install.log) and repeat
the installation procedure for Oracle8 Standard (RDBMS).
」のエラーが出て正常にインストールできません。
インストールログを見ても解決策がわかりません。
インストールログは「
--------------[ rdbms.ins 2640
Action: Relinking Error.
The executables for Oracle8 Standard (RDBMS) were not made successfully.
Please check the log file (/u01/oracle/product/8.0.5/orainst/install.log)
and repeat the installation procedure for Oracle8 Standard (RDBMS).
--------------[ rdbms.ins 2643
」です

どこのサイトを探しても 質問はあっても解決された方が
いないようです。

大変申し訳ないのですが 考えられる点を教えて下さい。
よろしくご教授願います。

はじめまして ヤブと申します。

Oracle8 Workgroup Server for Linuxをマニュアル等を参考に環境変数も登録して
インストールしたのですが、最後の方で「
Relinking Error. The executables for Oracle8
Standard (RDBMS) were not made successfully.
Please check the log file (/u01/app/oracle/
product/8.0.5/orainst/install.log) and repeat
the installation procedure for Oracle8 Standard (RDBMS).
」のエラーが出て正常にインストールできません。
インストールログを見ても解決策が...続きを読む

Aベストアンサー

Oracle8は、RedHatLinux7.2に対応していません。

該当するエラーとしては、カーネルが2.2ではないことと、glibc2.1ではないのが原因かと思われます。(7.2は、カーネル2.4.7、glibc2.2.4)

で、glibc2.1を入れれば動くかというと、これはやってみないと分からないところです。(恐らくは無理だと思います)

Q3階建てを検討しています

80m2程度の土地に一軒家を建てようと思っています。
4人家族でハウスメーカーからは3階建ての建築も提案されています。

3階建てのデメリットはどのようなものでしょうか?
・移動が面倒
・3階は暑い(一軒家の3階と、マンションの3階では暑さは違うのでしょうか?)
他、何かありますか?

またリビング、水回りを1階にしようか、2階にしようかも迷っています。
採光や外の目線などを考えると2階がいいのか、
郵便やゴミ出しの移動を考えると1階がいいのかと悩んでいます。
おすすめはありますか?

Aベストアンサー

 80平米の土地の建ぺい率が不明ですが、3階建てにしないと家族が必要とする部屋数が確保できないのでしょうか?もしそうなら、デメリットがあっても3階建てにせざるを得ないと思います。逆に2階建てで足りるなら3階建てにする意味がないです。建築費が高くなるし、維持費が掛かりますからね。

 自宅はハウスメーカーが建築条件付で数区画分譲したうちの一区画です。第一種低層地域なので2階建てしか建てられません。周りに2階水周り・リビングにされている家がありますが、自分は1階水周り・リビングにしました。2階水周り・リビングにしたときは洗濯物を干すのは楽ですが、布団を干す場合、布団を持って階段を上り下りしなければなりません。これ、結構、危険です。まぁ、布団乾燥機で済ますなら別ですけどね。また、お米など重い荷物を持って階段を上らなければなりません。若いときはいいでしょうけど、歳をとったらしんどいと思いますよ。

QOracle8とOracle8iについて

サーバーにOralce8(8.0.5 nt)とOracle8i(8.1.7nt)があり
Oracle8の方のプログラムを作りたいのですが
Oracle8iのpro*cしか持っていません
このような場合oracle8用のpro*cを購入しないとだめでしょうか?
(ライセンスとか・・・)

Oralce8に接続するクライアントは今のままのバージョン(oracle8)を使用したいのですがOracle8クライアントのプログラムを8i用のpro*c8.1.7で作成できますか?
(このときはやっぱりクライアントは8iじゃないとだめでしょうか?)

回答、よろしくお願いします

Aベストアンサー

下位互換は無いようですね。
pro*c8.1.7ではOracle8i用のプログラムになってしまうようです。

取り扱い店に相談されるのが確実だと思いますがいかがでしょうか。


人気Q&Aランキング