我正在使用以下腳本來生成DDL以在數據庫中創建表空間。在Oracle 10g中創建表空間腳本
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;
它的效果很好。但是,當一個表空間包含兩個數據文件時,它也會創建與創建表空間的單獨命令。簡單地說,如果表空間包含兩個數據文件,則創建兩個創建表空間命令。請分享你的想法。
乾杯,
斯里尼瓦桑Thirunavukkarasu。
嗨, 我覺得DBMS_METADATA僅可在10g中。我的是9i數據庫。 乾杯, Srinivasan Thirunavukkarasu。 – 2010-01-20 15:18:52
我很確定9i的安裝包含DBMS_METADATA - 也許你對這個包沒有權限? – dpbradley 2010-01-20 15:33:51
是的。謝啦。 – 2010-01-20 16:05:42