Oracleの一時表領域をどのように縮小できますか?なぜアプリケーションがデータベースに1つのスキーマしかなく、データ・テーブルのスペース・サイズが2 GBで、索引テーブルのスペース・サイズが使用される1 GBなので、最大25 GBまで増えています。Oracleでtemp表領域を縮小するにはどうすればよいですか?
答えて
Oh My Goodness!私の一時的なテーブルスペースのサイズを見てください! またはOracleで一時表領域を縮小する方法。
SQL> SELECT tablespace_name, file_name, bytes
2 FROM dba_temp_files WHERE tablespace_name like 'TEMP%';
TABLESPACE_NAME FILE_NAME BYTES
----------------- -------------------------------- --------------
TEMP /the/full/path/to/temp01.dbf 13,917,200,000
一時表領域が大きいので、なぜあなたが聞いている最初の質問は次のとおりです。
はい、私は私の一時表領域がどのように大きな参照するクエリを実行しました。 あなたの頭の上からこれに対する答えを知ることができます。 という大規模なクエリのため、誤った並べ替えで実行した可能性があります(私は を2回以上行っています)。それは他の例外的な状況が原因である可能性があります。その場合、 の場合は、一時的な 表スペースを縮小して人生を過ごすだけです。
しかし、わからない場合はどうすればいいですか?縮小する前に、大規模な表領域の原因を調査する必要があります( )。これが 定期的に発生した場合、データベースに必要なスペースが必要になる可能性があります。
V$TEMPSEG_USAGE
動的パフォーマンス・ビューは、原因を決定する上で非常に役立ちます。
多分あなたは原因を気にしないで、縮める必要があります。 これはあなたの仕事の3日目です。データベース内のデータは、データと一時表領域が13GiBの場合は、わずか200MiBの です。縮小して移動してください。 それが再び成長するなら、私たちは原因を調べます。その間、私は がそのディスクボリューム上にありません。スペースが必要です。
これを縮小してみましょう。実行中のOracleのバージョン と、一時表領域の設定方法は少し異なります。
オラクルは恐ろしい間違いを避けておくことをお勧めします コマンドを試してみましょう。もしうまくいかない場合は、 を新しい方法で縮小します。
まず、データファイルを縮小しようとします。もしそれができたら、 のスペースが戻ってきて、明日なぜそれが成長したのか心配することができます。
SQL>
SQL> alter database tempfile '/the/full/path/to/temp01.dbf' resize 256M;
alter database tempfile '/the/full/path/to/temp01.dbf' resize 256M
*
ERROR at line 1:
ORA-03297: file contains used data beyond requested RESIZE value
は、エラーメッセージによっては、ファイルの現在のサイトよりも小さいサイズの異なる でこれを試してみたいことがあります。私はこれで成功した を制限しました。一時表領域 がファイルの先頭にあり、サイズが より小さい場合、Oracleはファイルを圧縮します。いくつかの古いオラクルのドキュメント(これを修正したもの)は、 というコマンドを実行するとエラーメッセージが表示され、縮小することができるサイズが であると述べています。私がDBAとして働き始めた頃には、これは ではありませんでした。あなたはただコマンドを推測して再実行しなければならず、 のコマンドを実行してそれがうまく動作するかどうかを確認する必要があります。
いいえ。それはうまくいかなかった。これはどう。
SQL> alter tablespace YOUR_TEMP_TABLESPACE_NAME shrink space keep 256M;
11g(Maybeeは10gも)の場合はこれです!それが動作する場合は、 に前のコマンドに戻って、もう一度試してみるといいでしょう。
しかし、それが失敗したらどうしますか?一時表領域がデータベースのインストール時に設定されたデフォルトの一時的な である場合は、 の作業が必要になることがあります。この時点で、私は実際に スペースバックが本当に必要かどうか再評価します。すべてのディスク容量が$ X.XXのGiBしかかかりません。通常、私は生産時間中に をこのように変更したくありません。それは2AM にもう一度働いていることを意味します! (私は実際には2AMで働くことに を反対しています - それはちょうど...でも私は寝るのが好きです。そして、私の妻 は午前2時に自宅にいるのが好きです...午前4時にダウンタウンの街を歩いていません 私が3時間前に車を駐車した場所を覚えておいてください。私はその "在宅勤務"について のことを聞いたことがありますが、私はちょっと心配してインターネット接続 が失敗するでしょう - すべての人々がデータベースを使用するように 午前中に現れる前に。)
[OK]を...バック深刻なもの... にあなたが縮小したいの一時表領域がデフォルト 一時表領域の場合は、必要があります最初に作成する新しい一時的な 表スペースをデフォルトの一時表領域として設定し、次に古いデフォルトの一時表領域 をドロップして再作成します。後で 作成された2番目の一時テーブルを削除します。
SQL> CREATE TEMPORARY TABLESPACE temp2
2 TEMPFILE '/the/full/path/to/temp2_01.dbf' SIZE 5M REUSE
3 AUTOEXTEND ON NEXT 1M MAXSIZE unlimited
4 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
Tablespace created.
SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp2;
Database altered.
SQL> DROP TABLESPACE temp INCLUDING CONTENTS AND DATAFILES;
Tablespace dropped.
SQL> CREATE TEMPORARY TABLESPACE temp
2 TEMPFILE '/the/full/path/to/temp01.dbf' SIZE 256M REUSE
3 AUTOEXTEND ON NEXT 128M MAXSIZE unlimited
4 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
Tablespace created.
SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;
Database altered.
SQL> DROP TABLESPACE temp2 INCLUDING CONTENTS AND DATAFILES;
Tablespace dropped.
これらのうちの1つが役立ちます。
ちょうどメモ - 旋回スペースは11gで導入され、10gでは利用できません。すべてのオプションを本当に徹底的に書き留めてくれてありがとう! –
インターネット上の多くの記事や記事は、非常に複雑な手順を提案しています。これは私が見つけた最もシンプルなものでした! –
この明快で正確な説明と解決策をありがとうございました。それは今のところインターネット上で見つけられた最高のものです。 –
alter database datafile 'C:\ORA_SERVER\ORADATA\AXAPTA\AX_DATA.ORA' resize 40M;
それが解決しない場合:古い表領域が
- は、新しい一時表領域
- 待つこと
- スイッチ新しい表領域を作成します。
テーブルパを管理するためのオプション8iで始まるバージョンよりもcesの方がはるかに優れています。これは、一時表領域(つまり、ローカル管理の一時ファイル)に適切なタイプのファイルを使用している場合に特に当てはまります。
だから、それは
alter tablespace <your_temp_ts> shrink space keep 128M;
Oracleのオンラインドキュメント
はかなり良いです... 128メガに表領域を縮小します。このコマンドは、のように単純である可能性があります。 Find out more.編集
OPがデータベースの以前のバージョンを持っていると思われます。以前のバージョンでは、個々のデータファイルのサイズを変更する必要がありました。だから、まず、ファイル名を見つけてください。それを行う必要があり、これらのクエリのいずれかまたは他の...
select file_name from dba_data_files where tablespace_name = '<your_temp_ts>'
/
select file_name from dba_temp_files where tablespace_name = '<your_temp_ts>'
/
は、このコマンドでそのパスを使用します。
alter database datafile '/full/file/path/temp01.dbf' resize 128m
/
SQL> alter tablespace temp縮小スペースは128Mを維持します。 alter tablespace temp縮小スペース128Mを維持 * エラー1行目: ORA-02142:ALTER TABLESPACEオプションがないか無効です –
あなたは一時的な保管スペースを必要としているので、それはおそらく、増加されますデカルト演算または大分類演算に変換する。
動的パフォーマンスビューV$TEMPSEG_USAGE
は原因の診断に役立ちます。
使用後に表示されますか? –
そうは思わないはずです。 –
別の理由として、グローバル一時表の使用量が多すぎる可能性があります。 –
使用するOracleのバージョンを記述しておく必要があります。 Oracle 11g以外のものを使用する可能性が最も高いので、一時表領域を縮小できません。
代替:
1)alter database tempfile '[your_file]' resize 128M;
おそらく)
2失敗ドロップし、表領域を再作成します。縮小する一時表領域がデフォルトの一時表領域である場合は、最初に新しい一時表領域を作成し、それをデフォルトの一時表領域として設定し、古いデフォルトの一時表領域を削除してから再作成する必要があります。その後、作成された2番目の一時表をドロップします。 3)は、Oracle 9iおよび高いために、あなただけの一時ファイル(複数可)を削除して
すべては非常に詳細にhereに記載されている新しいもの(複数可)を追加することができます。ので、ここでそれが再び、それはすでにリンクされたhttp://databaseguide.blogspot.com/2008/06/resizing-temporary-tablespace.html
、多分あなたはそれを逃した:
は、このリンクを参照してください。
私は将来的に再びストレージを再利用する必要がある場合には、代替温度を落とすと気にしないでください...
- 一時グループセットのデフォルトのスタンドアローンする一時
- はしばらく待って、テンポラリグループのメンバのサイズを変更する
- デフォルトのテンポラリグループに戻す
- 一時的にスタンドアロンのサイズを変更する。最後のステップを実行するための急いではありません
- 1. Oracle:表領域の断片化を検出するにはどうすればよいですか?
- 2. 既存のd3領域をスタック領域に変換するにはどうすればよいですか?
- 3. WPFタブコントロールのタブ領域をコントロールよりも小さくするにはどうすればよいですか?
- 4. jscrollpane領域をスクロールするにはどうすればよいですか?
- 5. テキスト領域のインデントのサイズを小さくするにはどうすればよいですか?
- 6. ページの縮小に合わせてdivを縮小するにはどうすればよいですか?
- 7. モバイルWebページを縮小するにはどうすればよいですか?
- 8. contextMenuを縮小するにはどうすればよいですか?
- 9. divを縮小するにはどうすればよいですか?
- 10. Chromeがテキスト領域をオートコンプリートしないようにするにはどうすればよいですか?
- 11. Winforms ListViewコントロールのヘッダー領域のツールチップを表示するにはどうすればよいですか?
- 12. TextBlock(Font Size)をWPFの利用可能な領域に拡大/縮小するにはどうすればよいですか?
- 13. WPF RichTextBoxの表示可能領域を見つけるにはどうすればよいですか?
- 14. Railsで電子メールを圧縮/縮小するにはどうすればよいですか?
- 15. jqueryポップアップウィンドウにテキスト領域と複数のラジオボタンを表示するにはどうすればいいですか?
- 16. Google App Engineで使用する領域を定義するにはどうすればよいですか?
- 17. Javascriptで画面の領域から画像を作成するにはどうすればよいですか?
- 18. divに収まるようにコンテンツを縮小するにはどうすればよいですか?
- 19. OpenMPで並列領域を条件付きで終了するにはどうすればよいですか?
- 20. timeseriesデータでggplotに領域プロットを描画するにはどうすればよいですか?
- 21. vtkで関心領域をインタラクティブに選択するにはどうすればよいですか?
- 22. 表形式とテキスト領域を1ページにまとめるにはどうすればいいですか?
- 23. AppEngineマップの縮尺を縮小するにはどうすればよいですか?
- 24. 座標が現在表示されているマップ領域にあるかどうかを確認するにはどうすればよいですか?
- 25. フレックスコンテナの選択ボックスが縮小しないようにするにはどうすればよいですか?
- 26. イメージからすべての領域を抽出するにはどうすればよいですか?
- 27. デザインモードでフォームのクライアント領域サイズを指定するにはどうすればよいですか?
- 28. ScrollViewerでビュー領域をスクロールするにはどうすればよいですか?
- 29. Android WebView:コンテキストメニューをテキスト領域で使用するにはどうすればよいですか?
- 30. Androidで通知領域を設定するにはどうすればよいですか?
どのOracleのバージョンですか? – BradC
あなたは自分の答えを見たことがありますか?他に何が必要なのだろうか? –