首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL代码推送、跟踪和审计

SQL代码推送、跟踪和审计
EN

Stack Overflow用户
提问于 2017-02-08 19:34:38
回答 1查看 202关注 0票数 0

关于我的问题来自何处的背景介绍:我的公司在全球拥有多个使用相同模式的数据库,我的部门的职责之一就是从模式SQL更改的角度监控和确保所有这些DB是同步的。

现在,我的问题是,是否有人知道任何具有前端UI的软件/工具能够执行以下操作(数字越低越重要):

  1. 能够跟踪应用于哪个数据库以及何时应用了哪些SQL代码更改。基本上,如果我们编写了一个SQL查询,它改变了一个表的结构,我们需要将它应用到80%或100%的DB中,无论是通过手动输入还是一些自动检查,工具都会告诉我,是的,这确实被应用了。
  2. 代码分发工具:我们为它提供一个查询或一个包含代码的文件,它能够推送到它需要的数据库(并为此创建审计日志)
  3. 代码/对象存储库:跟踪自定义开发和推送到数据库的内容。

我知道SSIS可能能够做一些这些事情,但是我们需要一个工具,它有一个简单的前端接口,可以被非IT人员访问。(*澄清:我们并不打算让非DBA人员获得更改的机会,只考虑上述工具的审计方面)。

我试过搜索互联网,但我有一种感觉,我没有使用正确的词汇表,以获得我正在寻找的结果。

因此,我想看看社会是否知道有这样的工具或类似的东西?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-24 05:12:34

尝试搜索以下两种类型的系统中的一种:

  1. 发布/构建/部署自动化复杂程序,比如Serena,它在任何地方都有推动、跟踪和审计任何类型软件的模块。这些将包括所有的GUI铃声和口哨声。但是您必须处理额外的数据库、配置、代理、工作流、顾问(?)等等。这些程序更适合于开发人员。
  2. 远程执行/配置管理更简单的程序,如Salt、Fabric和Ansible,它们允许您在任何地方运行操作系统命令。它们提供的功能不多,你必须自己做更多的工作,但在某些方面这是解放的。如果您确切地知道要运行哪些命令,则不需要其他程序来控制您的操作。这些程序更适合于管理员。

从数据库管理员的角度来看,这些程序类型的主要问题是它们都不是关系型的。是的,他们可以连接到数据库并运行脚本,但是他们中没有一个真正会说SQL。它们的本地语言是Java、XML、SSH等。这些技术没有什么问题,但是如果您只关心数据库,那么您就不想处理所有这些复杂的问题。

如果您对这两种类型的程序都不满意,我建议您查看我的开源程序Method5。它是作为Oracle SQL的扩展构建的远程执行程序。它完全在Oracle数据库中工作,所以您可以自己安装它,并且不需要任何额外的网站、代理、配置文件、GUI等等。

基于你对链接和我大概半年前对你的问题的回答陷入困境的评论,我认为这是你逐渐走向创建的那种程序。我的团队花了几千个小时的开发和测试才使它正确,所以您可能明智地放弃了自己的开发。

具体地回答您的要求:

  1. 跟踪更改存储在审计跟踪中。但是更重要的是,它有能力和预先建立的脚本来比较无限数量的模式,所有这些都在一个视图中。最后,您真正想知道的是“我的模式是否是相同的”,而不一定是“同一件事在任何地方运行吗?”
  2. 代码分发--如果您只有SQL或PL/SQL,那么通过Method5部署它是尽可能容易的。只需指定要运行的内容,以及要运行的位置,如下所示:select * from table(m5('create index ...', 'dev, qa, prodDB1, prodDB2'));程序尚未运行SQL*Plus脚本。但是,当您能够如此轻松地运行SQL和PL/SQL时,很少需要SQL*Plus。
  3. 代码库所有的执行都存储在一个简单的表M5_AUDIT中。它包含代码,谁运行它,在哪里运行它,以及他们如何运行它。它不是为像SVN这样的存储库而设计的,但是对于简单的审计和跟踪代码来说,它已经足够了。

Method5不包含GUI,但在某些方面我认为它是一个特性。因为每件事都是有关系的,所以每件事都在一个简单的桌子上。您可以使用现有的GUIs蟾蜍、PL/SQL开发人员、Excel、Apex等。这是一个健壮的后端解决方案,有望为轻松构建一个简单的前端奠定良好的基础。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42122087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档