Skip to main content
Enterprise applications
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

Oracleデータファイルの移行

共同作成者

1つのコマンドで個 々 のOracleデータファイルを移動できます。

たとえば、次のコマンドはデータファイルIOPST.dbfをファイルシステムから移動します。 /oradata2 ファイルシステムへ /oradata3

SQL> alter database move datafile  '/oradata2/NTAP/IOPS002.dbf' to '/oradata3/NTAP/IOPS002.dbf';
Database altered.

この方法でデータファイルを移動すると時間がかかることがありますが、通常はI/Oが十分に発生しないため、日常のデータベースワークロードを妨げることはありません。一方、ASMのリバランシングを使用した移行ははるかに高速ですが、データの移動中にデータベース全体の処理速度が低下するという代償があります。

データファイルの移動に要する時間は、テストデータファイルを作成して移動することで簡単に測定できます。操作の経過時間は、V$セッションデータに記録されます。

SQL> set linesize 300;
SQL> select elapsed_seconds||':'||message from v$session_longops;
ELAPSED_SECONDS||':'||MESSAGE
-----------------------------------------------------------------------------------------
351:Online data file move: data file 8: 22548578304 out of 22548578304 bytes done
SQL> select bytes / 1024 / 1024 /1024 as GB from dba_data_files where FILE_ID = 8;
        GB
----------
        21

この例では、移動したファイルはデータファイル8です。データファイルのサイズは21GBで、移行に約6分かかりました。必要な時間は、ストレージシステムの機能、ストレージネットワーク、および移行時に発生する全体的なデータベースアクティビティによって異なります。