1
oracleでdbms_metadata.get_ddl関数を使用して開発データベースの1つからテーブルを再作成しようとしています。例えば:無効な識別子以下dbms_metadata.get_ddl ... DDLプロデューサで構文エラーが発生する
は、DDLのsytaxです:
CREATE TABLE "XVIEWMGR"."ogaPatch2892_TAB" OF XMLTYPE
PCTFREE 10
PCTUSED 40
INITRANS 1
MAXTRANS 255
NOCOMPRESS
LOGGING
STORAGE (INITIAL 65536
NEXT 1048576
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT)
TABLESPACE "TBSDATA"
VARRAY "XMLEXTRA"."NAMESPACES"
STORE AS BASICFILE LOB "NAMESPACES2895_L" (
ENABLE STORAGE IN ROW
CHUNK 8192
RETENTION
CACHE
STORAGE (INITIAL 65536
NEXT 1048576
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT))
VARRAY "XMLEXTRA"."EXTRADATA"
STORE AS BASICFILE LOB "EXTRADATA2894_L" (
ENABLE STORAGE IN ROW
CHUNK 8192
RETENTION
CACHE
STORAGE (INITIAL 65536
NEXT 1048576
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT))
VARRAY "XMLDATA"."SYS_XDBPD$"
STORE AS BASICFILE LOB "SYS_XDBPD$2893_L" (
ENABLE STORAGE IN ROW
CHUNK 8192
RETENTION
CACHE
STORAGE (INITIAL 65536
NEXT 1048576
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT))
それは私がしかし、それは誤り
ORA-00904を生産する実行している必要があるDDLを生成し
SELECT dbms_metadata.get_ddl('TABLE','ogaPatch2892_TAB','XVIEWMGR')from dual;
ありがとうございます。対応するロブセグメントが二重引用符で囲まれた名前で作成されていることを確認したいだけです。 –
@ Mr.Eva dbms_metadata.get_ddl()の実行中にStorageパラメータをfalseに設定すると、ouputはストレージパラメータを除外する必要があります。このhttp://www.dba-oracle.com/t_1_dbms_metadata.htmをお読みください – XING