■SI Object Browser 掲示板


ユーザの皆様、開発者、サポート担当者の交流のための掲示板です!

ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。
なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。

discussion
※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。
大量データ表示のシステム的制限の可否について 2007/08/06 22:21 OB 5
現在開発中のシステムでは、Oracleデータベースに格納された業務データを業務アプリケーションから操作するだけでなく、OB9のReadOnly Editionを使って自由に参照できるようにしたいと考えています。

ただ、システムで扱うデータが大量で、約6,000万件のデータが格納されるテーブルも存在します。OBを使った検索では当然6,000万件のテーブルの「SELECT *」などは想定していませんが、エンドユーザが操作を誤って実行してしまう可能性もあります。
また、そのようにして抽出されたデータが大量である場合、検索結果をスクロールさせようとするとメモリを大量に消費し、OBがハングアップしてしまう可能性もあります。

そこで、なんらかのシステム的な制限をかけられないかと検討しているのですが、以下のようなことはできませんでしょうか?

①検索結果がある一定件数を超えるSQLを実行しても結果を表示させないようにする。
②①ができず、結果が表示されてしまう場合、結果をスクロールさせないようにする。
③その他、システムに与える影響を減らすことができる手段

よろしくお願い致します。
こんにちは
後迫@SIです。

お問い合わせいただきました件についてですが、
大変申し訳ございませんがReadOnlyEditionにて
対象のレコードを絞り込む機能、
また、スクロールを制限する機能はありませんので、、
テーブルにSELECT権限を与えないなどの
権限管理での運用をお願いできますでしょうか。
(テーブルのデータを参照する必要があるのであれば、
そのテーブルに対するビューを作成し、
ビューのWHERE条件にROWNUMなどを使用してレコードを絞り込み、
そのビューにのみSELECT権限を与えるなどの対応を
検討していただけますでしょうか。)

お手数をおかけいたしますが、何卒よろしくお願いいたします。
ご回答ありがとうございました。
追加で質問させてください。

1.OB Ver.10で本件周辺でなんらかの機能が追加されているか。
2.OB Ver.10 ReadOnly Edition の発売予定はあるか。
3.先の書き込みの①②等の機能追加を依頼できないか。(②については、抽出されたレコードの件数をステータスバー等に表示する機能だけでもあれば、スクロールをさせなくする抑止力にはなると考えています。)

以上、よろしくお願い致します。
こんにちは
後迫@SIです。

このたびは返信が遅くなってしまい誠に申し訳ございません。
Ver.10に関しましては、本日リリースいたしました。
(ReadOnlyEditionも同時にリリースいたしました。)

>3.先の書き込みの①②等の機能追加を依頼できないか。(②については、抽出された>レコードの件数をステータスバー等に表示する機能だけでもあれば、スクロールをさせ>なくする抑止力にはなると考えています。)

 こちらの件ですが、②につきましては、
 以下のVer.10新機能にて件数を調べることが可能ですので、
 トライアル版で試していただいてもよろしいでしょうか。

 1.データタブにて、列名を右クリックします。
 2.「集計情報を表示」にあります、「件数」をクリックします。

 ①につきましての機能はございませんので、
 こちらにつきましては要望として承り、
 今後のバージョンアップで修正を検討させていただきますので、
 何卒、よろしくお願いいたします。


ご回答ありがとうございます。
そしてVer.10のリリースおめでとうございます。

②の件数確認機能について、早速Ver.10を触ってみましたが、表やビューのデータ件数は確認できたものの、クエリの実行結果の件数については確認できないでしょうか?

SQL実行ウインドウでSQLを実行し、表示された「結果」タブの列名を右クリックして件数を表示させようとしたところ、「ORA-00942:表またはビューが存在しません。」が表示されました。

ユーザに対して、クエリを実行する際は予めcountで結果の件数を確認してからデータ取得するように運用対処してもらうという方法もありますが、OBの機能として、SQLを実行する際、内部的にcountのSQLも発行し、検索結果(初期表示は最初の20件になっているようですね)と結果の総件数が表示されるようにオプション設定ができると面白いかもしれません。(もちろん実行時間については言及しません。)

御一考願います。
こんにちは
後迫@SIです。

早速ご利用いただきありがとうございます。

誠に申し訳ございませんが、
現状では、SQL実行画面のSELECT結果に関しましては、
右クリックメニューにて統計情報を取得することは出来ません。
(現状ではテーブルの「データ」タブでのご利用のみ可能となっております。)

この問題につきましては、
次回バージョンアップにて修正を検討させていただきますので、
何卒よろしくお願いいたします。