以下のスクリプトを使用して DDL を生成し、データベースにテーブルスペースを作成しています。
select 'create tablespace ' || df.tablespace_name || chr(10)
|| ' datafile ''' || df.file_name || ''' size ' || df.bytes
|| decode(autoextensible,'N',null, chr(10) || ' autoextend on maxsize '
|| maxbytes)
|| chr(10)
|| 'default storage ( initial ' || initial_extent
|| decode (next_extent, null, null, ' next ' || next_extent )
|| ' minextents ' || min_extents
|| ' maxextents ' || decode(max_extents,'2147483645','unlimited',max_extents)
|| ') ;' "Script To Recreate Tablespaces"
from dba_data_files df, dba_tablespaces t
where df.tablespace_name=t.tablespace_name;
それはうまくいきます。ただし、テーブルスペースに 2 つのデータファイルが含まれている場合は、create tablespace で別のコマンドも作成されます。表領域に 2 つのデータファイルが含まれている場合、単純に 2 つの create tablespace コマンドが作成されます。あなたの考えを共有してください。
乾杯、
スリニヴァサン・ティルナヴッカラス。