当前位置: 首页 > news >正文

如何查看物化视图DDL_DBMS_METADATA.GET_DDL提取完整的视图与日志语句

DBMS_METADATA.GET_DDL默认只返回物化视图定义,不包含日志、主键、索引等依赖对象;需结合USER_MVIEW_LOGS、USER_CONSTRAINTS等视图及SESSION_TRANSFORM参数组合提取完整DDL。DBMS_METADATA.GET_DDL 返回的物化视图 DDL 为什么缺日志和主键?因为 dbms_metadata.get_ddl 默认只生成物化视图本身的 create materialized view 语句,不包含依赖对象(比如 mlog$ 日志表、主键约束、索引),也不展开 on commit 或 refresh fast 所需的底层结构。它只管“视图定义”,不管“刷新能力怎么来”。常见错误现象:DBMS_METADATA.GET_DDL('MATERIALIZED_VIEW', 'MV_EMP') 输出里没有 CREATE MATERIALIZED VIEW LOG,也没看到主键或唯一索引定义——这不是 bug,是设计如此。物化视图日志必须单独查 USER_MVIEW_LOGS 视图获取主键/唯一约束得从 USER_CONSTRAINTS + USER_CONS_COLUMNS 拼如果用了 INCLUDING NEW VALUES,日志语句还得额外补上该子句如何拼出带日志的完整刷新链 DDL?不能只靠一次 DBMS_METADATA.GET_DDL,得组合查三块:物化视图定义、对应日志、关键约束。核心是用物化视图名反向定位日志表名——Oracle 把日志表名藏在 USER_MVIEW_LOGS.LOG_TABLE 字段里,而它通常形如 MLOG$_EMP。实操建议:先查日志是否存在:SELECT LOG_TABLE, ROWIDS, PRIMARY_KEY FROM USER_MVIEW_LOGS WHERE MASTER = 'EMP'再用 DBMS_METADATA.GET_DDL('TABLE', '<LOG_TABLE>') 提取日志建表语句检查物化视图是否依赖主键:SELECT CONSTRAINT_TYPE FROM USER_CONSTRAINTS WHERE TABLE_NAME = 'EMP' AND CONSTRAINT_TYPE IN ('P', 'U')若无主键但用了 FAST 刷新,DDL 里必须显式加 WITH ROWID 或 WITH PRIMARY KEY,否则创建会报 ORA-12014DBMS_METADATA.GET_DDL 的参数陷阱:SCHEMA 和 OBJECT_NAME 大小写敏感吗?敏感,而且规则和你直觉可能相反:OBJECT_NAME 参数传进去的是什么大小写,就按什么大小写去查;但 Oracle 内部默认把未加双引号的对象名转成大写存。所以如果你建物化视图时写了 CREATE MATERIALIZED VIEW "mv_emp"(带引号小写),那 GET_DDL 就必须传 'mv_emp';如果建的时候没加引号(即 mv_emp → 实际存为 MV_EMP),就得传 'MV_EMP'。容易踩的坑: AI智研社 AI智研社是一个专注于人工智能领域的综合性平台

http://www.cnnetsun.cn/news/2041013.html

相关文章:

  • nli-MiniLM2-L6-H768效果展示:MiniLM vs RoBERTa-base零样本准确率对比
  • 从RPA到PlayWright:我用Java重写Boss直聘爬虫的完整心路与代码
  • FIFOAdvisor:FPGA数据流架构中的FIFO深度优化工具
  • 10分钟实现魔兽争霸3现代化改造:WarcraftHelper深度配置指南
  • 020、智能体框架初探:LangChain核心概念与链式调用
  • 【2026年最新600套毕设项目分享】微信小程序的公交信息在线查询系统(30136)
  • BitNet-b1.58-2B-4T部署教程:Logrotate配置防止logs目录无限增长
  • egergergeeert参数教学:为什么max_sequence_length超128易引发文本截断
  • 时空波动仪应用指南:电商销量预测、股票分析,5大场景实战解析
  • 基于MATLAB App Designer的信号卷积积分动态演示教学软件设计
  • 基于Coze工作流实现电商服饰内衣素材的AI模特替换与文案智能修改
  • 3.5 vss-performance 国标INVITE直播拉流防击穿与流状态去重源码实现
  • 从业务视角看SAP EC-PCA配置:利润中心会计如何为多部门绩效考核打好数据基础?
  • Phi-3.5-mini-instruct开发者案例:免写推理代码的轻量AI服务集成实践
  • Qwen3.5-2B效果惊艳:PPT演讲稿截图的要点提炼+听众QA预判生成
  • CSS如何用Flex实现贴底Footer
  • 给生物力学新手的OpenSim保姆级指南:从解剖小白到看懂Hill肌肉模型
  • Qwen3-4B-Instruct应用场景:生物医药专利全文关键信息结构化提取
  • Java的java.lang.Thread.Builder线程构建器与虚拟线程创建的现代API
  • egergergeeert效果展示:FLUX.1-dev驱动的高清概念图生成作品集
  • Suricata规则看不懂?从一条实战HTTP规则拆解,到用Lua脚本自定义检测逻辑
  • nli-MiniLM2-L6-H768行业落地:政务公文语义一致性自动审查系统案例
  • BitNet b1.58-2B-4T应用场景:制造业BOM表解析与技术文档生成
  • 微信私域运营神器OpenClaw部署指南
  • 在RK3399上,用Qt+FFmpeg+MPP+RGA硬解RTSP流,我踩过的那些坑和优化心得
  • AI人才荒!30k月薪抢不过对手,应届生竟成企业必争之地?背后原因令人深思!
  • 面试官:聊聊Redis为什么会有哨兵?
  • Beelink SEi12迷你主机评测:i7-12650H性能与Windows 11体验
  • FLUX.1-Krea-Extracted-LoRA入门必看:BFloat16与FP16精度损失对比测试
  • 7月三星停用消息应用!美国Android 12及以上用户可选这5款替代应用