为何Oracle SQL Developer导出的DDL脚本缺少CREATE TABLE语句?
导出仅含GRANT语句的原因及解决办法
可能的原因:
- 权限限制:当前登录Oracle的用户没有访问目标表的建表元数据权限,只能获取到该用户对这些表拥有的权限信息(也就是GRANT语句)。需要确保登录用户具备
SELECT_CATALOG_ROLE角色,或者对目标表拥有元数据查询的权限。 - Quick DDL默认配置未勾选建表语句:Oracle SQL Developer的Quick DDL工具默认可能只导出权限相关内容。你需要在导出时调整选项:选中目标表后右键 → Quick DDL → Save to File,点击弹出窗口里的Advanced按钮,在选项列表中勾选
CREATE TABLE,同时可以取消不需要的权限选项,再完成导出。 - 对象选择错误:确认你在对象浏览器中选中的是表对象,而非权限节点下的条目。如果误选了权限相关的内容,导出结果自然只有GRANT语句。
你导出的示例内容:
GRANT INSERT ON "OPSR"."BOOTH" TO "OPSWEB"; GRANT UPDATE ON "OPSR"."BOOTH" TO "OPSWEB"; GRANT SELECT ON "OPSR"."BOOTH" TO "OPSWEB"; GRANT DELETE ON "OPSR"."CAAR_BOOTH" TO "OPSWEB"; GRANT INSERT ON "OPSR"."CAAR_BOOTH" TO "OPSWEB"; GRANT SELECT ON "OPSR"."CAAR_BOOTH" TO "OPSWEB"; GRANT UPDATE ON "OPSR"."CAAR_BOOTH" TO "OPSWEB";
内容的提问来源于stack exchange,提问作者jj243
相关产品推荐
相关产品推荐

