• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:表と表領域とデータファイルについて)

表と表領域とデータファイルの関係を一発で導く方法を教えてください。

このQ&Aのポイント
  • データベースの表と表領域、データファイルの関係を理解する方法を教えてください。
  • Oracle9i(9.2.0.8.0)を使用して、特定の表の表領域とデータファイルを取得するSQL文を教えてください。
  • 特定の表領域のデータファイルを取得するSQL文を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • 3rd_001
  • ベストアンサー率66% (115/174)
回答No.1

ジョインすればよいでしょう。 SELECT a.owner, a.table_name, a.tablespace_name, b.file_name FROM dba_tables a, dba_data_files b WHERE a.tablespace_name = b.tablespace_name AND a.table_name = 'EMP' ; OWNER TABLE_NAME TABLESPACE_NAME FILE_NAME ----- ---------- --------------- ----------------------------------------------- SCOTT EMP USERS C:\ORACLE\APP\ORADATA\TEST\DATA\USERS01.DBF 注意点 (1)dba_xxxはDBA権限を持つユーザーかViewに対して個別に  権限を与えたユーザしか参照できません。 (2)表領域は複数のデータファイルで構成することも可能なので、  SELECTの結果が複数件返ってくる場合もあります。 (3)別のユーザが同名テーブルを所有している可能性もあるので  ownerまで指定、表示させたほうが良いでしょう。

nao-k
質問者

お礼

3rd_001さん、ご回答ありがとうございます。 ジョイン(結合)を調べてみました。 方法がわかり非常に助かりました。 注意書きまでありがとうございます。

関連するQ&A