如何在ORACLE SQL上查看来自.GZ文件格式的数据? 解释我的状况和我正在思考的问题
我觉得这有点太复杂了,可能是因为我对这次活动和LINUX世界还不熟悉如何在ORACLE SQL上查看来自.GZ文件格式的数据? 解释我的状况和我正在思考的问题,sql,linux,oracle,unix,Sql,Linux,Oracle,Unix,我觉得这有点太复杂了,可能是因为我对这次活动和LINUX世界还不熟悉 所以我现在在我的PC(Windows7)上,然后我需要创建一个基于sql的报告站点,但我需要的数据还不在oracle中 我需要在oracle sql中查看来自另一个控制器->另一台PC(UNIX)的许多文件的数据 该文件的格式最初是.gz,但实际上它的文件格式类似于machinedump.log.gz0505012(它的still.gz->inside是一个.log,但仍然是一个.txt内容) 注意:我连接的控制器/个人计算机
20120806_161944: 08.06 16:17:29.574 t_cm_03 C3011099140000 at_sts = 0
20120806_161944: 08.06 16:17:29.574 t_cm_03 C3011099140000 at_sts = 1
20120806_161944: 08.06 16:17:29.574 t_cm_03 C3011099140000 at_sts = 2
20120806_161944: 08.06 16:17:29.574 t_cm_03 C3011099140000 at_sts = 3
20120806_161944: 08.06 16:17:29.574 t_cm_03 C3011099140000 at_sts = 4
20120806_161944: 08.06 16:17:29.574 t_cm_03 C3011099140000 at_sts = 5
20120806_161944: 08.06 16:17:29.574 t_cm_03 C3011099140000 at_sts = 6
20120806_161944: 08.06 16:17:29.574 t_cm_03 C3011099140000 at_sts = 7
但我也看到了一个更大的问题:
MACHINEDUMP.LOG.GZ文件类似于:
machinedump.log.gz05052012
machinedump.log.gz05062012
machinedump.log.gz05072012
machinedump.log.gz05082012
etc.
下面是我的问题需要的问题和帮助:
是否可以删除我以前失败的问题?谢谢…您没有说您正在使用哪个版本的Oracle。这一点很重要,因为Oracle在每个版本中都会为其武库添加新功能。以下解决方案将适用于11.0.1.7(即11gR1的最后一个补丁版本)或更高版本;早期版本需要更多的争论 但首先: 你需要把这些信息放在表格里吗?读一次就够了吗?因为像Oracle这样的关系数据库并不最适合存储机器日志。有很多免费的(或免费的)文档数据库可能更适合MongoDB、Cassandra等,也有Splunk专门用于此目的 无论如何,读取数据库中文件的第一种方法是在文件上构建一个外部表。这与常规表类似,只是数据位于操作系统文件而不是表空间中。在11gR2中,Oracle引入了
预处理器
子句,它允许我们将shell脚本与表相关联,该表在SELECT语句执行之前运行。这在您的情况下尤其重要,因为您可以使用预处理器脚本解压缩文件
因此,基本工作流程是:
阅读Adrian Billington关于预处理器脚本和的优秀文章。为什么要重复这个已经结束的问题?我修好了。这是一个混乱的问题,最后被关闭。好吧,这个问题有着完全相同的无意义的内容。我还是不明白你的问题是什么。我甚至修正了上一个问题。它是经过编辑的。但是关闭了,所以我做了一个新的。通常,日志以压缩的形式存档以节省空间,并使用正则表达式模式或其他文本匹配条件的工具进行扫描。然后,可以将此类扫描的汇总结果存储在数据库中。