我最近将Oracle数据库导出到了新环境。不幸的是,许多索引未能创建。我想知道是否有办法为各种这些生成sql。
例如,我知道如果您选择一个表并单击顶部列表中的“SQL”选项卡,它将自动生成sql输出。 (见截图)但是,我需要对大多数(如果不是全部)整个数据库执行此操作。这是我最感兴趣的索引。
答案 0 :(得分:2)
在源数据库上使用dbms_metadata,您可以为您感兴趣的所有索引生成DDL语句:
select dbms_metadata.get_ddl('INDEX', index_name) from user_indexes
这将为您提供当前连接用户的所有索引的DDL语句;如果你想要所有用户的索引,请使用all_indexes / dba_indexes(后者需要特殊权限)。