【问题标题】:Oracle Data Dictionary best practices and guidelinesOracle 数据字典最佳实践和指南
【发布时间】:2018-05-29 11:29:03
【问题描述】:

在我的应用程序中包含查询 Oracle 数据字典视图(all_tab_columns 等)的 PL/SQL 代码是最佳实践吗? 此视图是否应该仅用于 DBA 和开发人员的日常工作?

示例:我需要验证变量是否适合表列大小。这将在任何应用程序用户调用的进程中被询问。

【问题讨论】:

  • 不要去那里。我建议,根据您使用的网络技术/框架,当值“太长”时捕获标准 oracle 异常并显示用户处理的错误消息(自定义或标准)。

标签: sql oracle privileges data-dictionary


【解决方案1】:

您的示例可能不是最好的,因为还有其他方法可以做到这一点。例如,将 PL/SQL 变量定义为 table.column%type,然后在尝试将用户数据放入其中时捕获出现的任何异常(例如由于长度问题)。

一般来说,我发现生产代码必须从数据字典中查询是非常不寻常的。但是,我偶尔做过,不记得有任何特殊问题,除了记住 PL/SQL 对象所有者必须对字典有直接权限并且不能通过角色访问它们,因为角色在具有定义者权限的命名 PL/SQL 块中被禁用。

【讨论】:

  • 这是我的意见。捕捉异常是我建议做的。但是,我很难向我的团队解释在生产环境中从数据字典进行查询不是最佳实践。
猜你喜欢
  • 2011-06-09
  • 1970-01-01
  • 2011-11-05
  • 2011-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多