我们正在尝试确定存储在整个企业中的某些信息的位置,以便使其符合我们的数据策略。在文件端,我们使用Nessus来搜索不同的文件,但我想知道在数据库端。
使用Nessus似乎在很大程度上没有意义,因为它会输出原始数据,而不会告诉我们它在哪个表或行中,也不会给我们提供很多有用的信息,特别是考虑到这些数据库非常大(数百of )。
同样值得注意的是,该系统需要能够进行基于模式的匹配(例如使用正则表达式)。不仅仅是一个“哑巴搜索”引擎。
为了找到这些数据,我研究了数据挖掘和数据仓库的使用,但它们似乎更多的是用于数据分析,而不仅仅是查找数据。
有没有更好的方法来搜索数据库中的大量数据来尝试找到这些信息?我们同时使用Oracle 11g和SQL Server 2008,并且需要在这两个数据库上执行搜索,因此我希望避免使用特定于服务器的范例(尽管如果我必须重写一些代码以将T-SQL转换为PL/SQL,反之亦然,我并不介意)
发布于 2009-12-02 05:07:52
在用于搜索大量文本的SQL Server上,您可以查看全文搜索。
点击此处了解更多信息http://msdn.microsoft.com/en-us/library/ms142559.aspx
但是如果我没看错的话,你想用类似于网络搜索引擎如何抓取网站和网页的方式来抓取你的数据库。
您可以使用一组全文查询来返回跨越多个表的结果。
发布于 2009-12-07 02:47:03
Oracle通过RegExp_Like()函数支持正则表达式,并且基于系统元数据自动生成所需的代码应该相当简单(例如,查找超过特定长度的所有文本列,并将它们包含在针对该表的谓词中,以查找与您的regexp匹配的行和值)。听起来真的不是很有挑战性。从理论上讲,您可以检查约束列以防止插入与regexp匹配的值,但这样做可能有些过分了。
发布于 2009-12-02 11:30:40
Oracle Text适用于在数据库中保存的大量文本(如PDF、HTML、TXT或文档)中搜索单词/短语。有一些有限的模糊搜索,但没有正则表达式本身。
实际上,您并不需要深入了解您要查找的数据类型或数据库中的内容。Nessus表明您正在寻找安全问题,但“数据相关性”的标题表明了完全不同的东西。
实际上,数据结构应该提供关于查找什么以及在哪里查找的信息。这就是数据库的意义所在--为了可访问性而结构化数据。支持CMS、论坛软件或类似软件的数据库将是另一回事。
https://stackoverflow.com/questions/1828916
复制相似问题