テーブルスペースを作成すると「ORA-01537」というエラーが発生します。
create tablespace "VOLUMT" datafile 'VOLUMT.dbf' size 250M autoextend on;
すると、次のようになります。
1行目のエラー:ORA-01537:ファイル「VOLUMT.dbf」を追加できません-ファイルはすでにデータベースの一部です
VOLUMTのテーブルスペース名をTEST01に変更するだけで機能します。
テーブルスペースが作成されました。
それで、私はdbのディレクトリに入り、関連するテーブルスペースを検索しました。
${HOME}/Oracle/db/oradata/ORAC12
しかし、私は何も見つけることができません。また、テーブルスペースの作成に「VOLUMT」を使用する必要があります。
-追加-
DBA_DATA_FILESからTABLESPACE_NAMEを選択します; TABLESPACE ---------- SYSTEM SYSAUX ユーザー TEST01
TEST01テーブルスペースは表示されますが、ディレクトリにデータファイルが見つかりません。また、その中にVOLLMTテーブルスペースが見つかりません。
ありがとうございました。
問題の解決策は次のとおりです。
VOLUMT
という名前のテーブルスペースを作成しますが、ファイル名をVOLUMT1.dbf
のように少し変更するか、ファイルを保存する別のディレクトリパスを指定します。
create tablespace "VOLUMT" datafile 'VOLUMT1.dbf' size 250M autoextend on;
それがうまくいったかどうかを確認して教えてください。
みんな….
まず、返信してくださってありがとうございます。
以下を入力すると
select file_name、 file_id、 tablespace_name、 status、online_status from dba_data_files order by tablespace_name;
出力は
ファイル名 - - - - - - - - - - - - - - - - - - - - ----------------------------------------- FILE_ID TABLESPACE STATUS ONLINE_ ---------- ---------- --------- ------- /home/Oracle /db/oradata/ORAC12/ID/sysaux01.dbf 28 SYSAUX AVAILABLE ONLINE /home/Oracle/db/oradata/ORAC12/ID/system01.dbf 27 SYSTEM AVAILABLE SYSTEM /home/Oracle/db/oradata/ORAC12/ID/ID_user01.dbf 29 USERS AVAILABLE ONLINE
「VOLUMT」などのテーブルスペースはありません。 「TEST01」テーブルスペースの作成を再試行すると、すでに削除されていますが、「ファイルはすでに存在します」と表示されます。
ディレクトリに移動すると、他のSIDもあります。そしてそのうちのひとつは「VOLUMT」。ただし、「SID」が異なるため、同じ名前のテーブルスペースを使用できます。
表示されるエラーは、同じ名前の既存のデータファイルがあることを示していますVOLUMT.dbf
。
同じ名前の既存のファイルがあるかどうかを確認してください。
SELECT FILE_NAME, TABLESPACE_NAME FROM DBA_DATA_FILES WHERE LOWER(FILE_NAME) LIKE '%volumt.dbf';
TEST01のデータファイルパスを見つけるには、次のステートメントを使用して簡単にクエリできます。
SELECT FILE_NAME, TABLESPACE_NAME FROM DBA_DATA_FILES WHERE TABLESPACE_NAME LIKE 'TEST01';
あなたはテーブルスペースを見ているだけで、データベースファイルを見ているわけではありません。 dba_data_files
データディクショナリビューをクエリしてみてください。
コマンド例:
set pages 50
set lines 230
column file_name format a60
select file_name, file_id, tablespace_name, status,online_status
from dba_data_files order by tablespace_name;
これにより、すべてのデータベースファイルが一覧表示され、それらが属するテーブルスペースが表示されます。
あなたのコメントへの応答:
既に使用されているデータベースファイル名を確認するために、SIDを切り替えて各SIDに対してクエリを実行する必要がある場合があります。
同じディレクトリ内の異なるSIDと異なるテーブルスペースに同じデータベースファイル(名前)を使用することはできません。
`VOLUMT.dbfデータベースファイルでテーブルスペースVOLUMT
を再作成できるようにするには、現在アタッチされているテーブルスペースからデータベースファイルVOLUMT.dbf
を削除する必要があります。
別のディレクトリにデータベースファイルVOLUMT.dbf
を使用して、テーブルスペースVOLUMT
を作成する必要があります。
問題はテーブルスペースVOLUMT
ではなく、別のSIDと別のテーブルスペースにすでに存在するデータベースファイルVOLUMT.dbf
です。