表領域のDDL文を取得した際のサイズ単位について
845221Mar 7 2011 — edited Mar 7 2011始めまして、久保田と申します。
初投稿となる為、内容の過不足や不適切な点がございましたらご容赦願います。
現在表領域のDDL文を取得したくOracle 9.2.0.1 のサーバーに対してSQL文を発行したのですが、取得・表示される
領域のサイズ単位が"バイト"になっているためか、桁あふれの様な物を起こして不適切な値になってしまいます。
SQL>set long 2000000000
SQL>set longchunksize 1024
SQL>SELECT DBMS_METADATA.GET_DDL('TABLESPACE', 'HOGEHOGE') FROM DUAL;
CREATE TABLESPACE "HOGEHOGE" DATAFILE
'C:\ORACLE\ORADATA\ORA9HOGE\HOGEHOGESPACE11.DBF' SIZE 1895825408.8589934592 REUS ← ここ
'C:\ORACLE\ORADATA\ORA9HOGE\HOGEHOGESPACE12.DBF' SIZE 1895825408.8589934592 REUS ← ここ
'C:\ORACLE\ORADATA\ORA9HOGE\HOGEHOGEPACE13.DBF' SIZE 943718400 REUSE
AUTOEXTEND ON NEXT -1927282688.-.2884901888 MAXSIZE UNLIMITED ← ここ
LOGGING ONLINE PERMANENT BLOCKSIZE 4096
EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT MANUAL;
EnterpriseManager よりオブジェクトDDL文の生成を行うと K や M などの単位が付与されて適切な値が表示される
のですが、これと同じ結果をSQL文で得られるように出来ない物でしょうか?
ご存知の方がいらっしゃいましたらご教授の程宜しくお願い致します。