- ベストアンサー
ロールバックセグメントの使用率
どなたか教えてください。 私の環境はOracle8です。 ロールバックセグメントの使用領域(空き領域)を知りたいのですが、 どうしたらわかりますか。 SQLを教えてもらうと助かるのですが。 よろしくお願いします。
- hanikos2001
- お礼率38% (46/121)
- その他(データベース)
- 回答数2
- ありがとう数4
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ロールバックセグメントのサイズは、以下のSQLで取得可能です。 select v$rollstat.usn, name, rssize, status from v$rollstat, v$rollname where v$rollstat.usn = v$rollname.usn 正確なセグメントサイズを取得する場合、以下のSQLを発行します が、オンラインになっているロールバックセグメントとオフライン になっているロールバックセグメントの区別ができません。 select segment_name, tablespace_name, bytes from sys.dba_segments where segment_type = 'ROLLBACK'
その他の回答 (1)
- cse_ri
- ベストアンサー率29% (74/253)
OracleをインストールしているマシンのOSは何ですか? Windows NT/2000の場合、EnterPrise Managerか Storage Managerで確認できますが。 もしStorage Managerが無い場合はSQLで確認することも 可能ですが、会社に行かないと資料が無いので(今は自宅です) 明日コメントします。
補足
回答ありがとうございます。 マシンはUNIXです(SunOS) EnterPrise Manager等がないので SQLで知りたいのです。 よろしくお願いします。
関連するQ&A
- ロールバック セグメントの指定
バッチ処理にてCOMMIT間隔が大き過ぎてエクステントの拡張が発生しました。 エクステントを拡張は避けたく、COMMIT間隔を小さくしたのですが、 改善効果を、確認したいと思っております。 他のトランザクションもある試験環境なので、alter文?にてバッチ処理が 使用するロールバックセグメント番号を指定し、改善前/後で、V$ROLLSTATで確認 したいのですが、実施方法をご教授頂けないでしょうか? ※ロールバック・セグメント番号 = V$ROLLSTAT.USN
- ベストアンサー
- Oracle
- オラクルのロールバックセグメントって
教えて下さい。 oracleのロールバックセグメントって標準では RB1~RB5ですよね。 また、RB1からRB5までの振り分けっていうのは オラクルが自動的にしてくれてると認識してるのですが・・・ さておき、あるセグメント(例えばRB3)などが 集中的に使用されていて競合が発生し、レスポンス劣化に 繋がって困っています。私自身オラクル初心者なのですが 何か解決方法ってあるのでしょうか? ちなみにオラクルは7.3.4で言語はVB5で開発しています。
- ベストアンサー
- その他(データベース)
- データ削除、追加によるロールバックセグメントについて
環境:Oracle9i サーバ:Win2003 言語:VB6 テスト環境であるテーブルの200万件の削除、100万件の追加を行った後にVBアプリがすごく遅くなりました。 1.ロールバックセグメント(UNDOセグメント?)にデータがたまって遅くなったのでしょうか? またはテンポラリにデータがたまったのでしょうか? 2.削除や追加が行われた場合はどのオブジェクトにデータがたまったりするのでしょうか? 対応としてDBサーバのOSの再起動を行ったのですがまだ遅く、再起動後にDBの再起動を行ったらなぜか遅かったのが改善されました。 そもそも原因がデータの削除、追加で体感レベルで遅くなったりするのかも疑問です。 基礎知識が足りなくて申し訳ありませんが、アドバイスお願いいたします。
- ベストアンサー
- Oracle
- 一括更新の際のロールバックセグメント
ただいまOracleの勉強中でふと気になったので、暇なときにでもお答えくださいませんか。 A と B と二つのテーブルがあって、一方の値で他方を一括更新かけるのに、以下のような SQL を発行したとします。 UPDATE TABLE_A A SET ( A.COL_1 ) = (SELECT B.COL_2 FROM TABLE_B B, A WHERE B.COL_KEY = A.COL_KEY) この場合、A のデータがもし100万件あれば100万回、サブクエリーを実行して UPDATEをかけるといった処理が走ると思いますが、このとき、ロールバックセグメントも100万件分の大きさが必要になるのでしょうか? そして、もしロールバックセグメントが不足した場合は、全体がロールバックされて何もなかったことになるのでしょうか?
- ベストアンサー
- その他(データベース)
- MySQLでロールバックできない!
JDBCでMySQLに接続し、ロールバック/コミットしたいのですが、以下の例外が発生してロールバックできません。 java.sql.SQLException: General error: Warning: Some non-transactional changed tables couldn't be rolled back 同じコードで、PostgreSQLでは問題なく動作します。 MySQLはDBMSとして自動コミットになっているとのことですが、JDBCからロールバックしたいときはどうすれば良いのでしょうか? 有名な問題なのかもしれませんが、回避策が見つけられませんでした。 ご回答、よろしくお願いします。
- ベストアンサー
- Java
- ロールバック
早速ご教示ください。 DELETE FROM テーブル名 この構文を用いて、テーブルを削除したいと考えております。 参考書で調べたところ、TURNCATE TABLE文だとロールバックできないが、処理が高速と記述してあります。 DELETE FROM TABLE文だとロールバックできない状態での削除は注意してくださいとあります。 つまりは、DELETE FROM TABLE文だとロールバックできる状態での削除なら削除前に戻せると言うことなのでしょうか? (1)ロールバックってなんですか? (2)ロールバックできる状態、できない状態。その両方の状態をご教示く ださい。 またロールバックはどのように行うのでしょうか? 以上、ご教示の程宜しくお願い致します。
- ベストアンサー
- SQL Server
- SQLのロールバック
SQLで明示的にbegin trans - commit transを設定していない場合、テーブルに対して複数のレコードをupdateしようとして一部のレコードのみでエラーが発生するとロールバックの処理はどこまでしてくれるのでしょうか? 設定によっても違ってくるのでしょうか?
- ベストアンサー
- SQL Server
- ロールバックが動作しない。
ロールバックが動作しない。 以下の文をSQLクライアントで実行するとテーブルに登録されてないはずなのですが、 なぜか登録されています。解決方法を教えてください。 ---------------------------------------------- SET AUTOCOMMIT=0; begin; INSERT INTO テーブル (カラム)VALUES ('AAA'); rollback; -----------------------------------------------
- ベストアンサー
- MySQL
お礼
どうもありがとうございました。