我编写了对数据库执行简单/基本操作的Java/JDBC代码。我想添加代码,帮助我保持跟踪,当一个特定的数据库被访问,更新,修改等由这个程序。我正在考虑在我的DBMS中创建另一个数据库,其中将为每个涉及的数据库存储这些详细信息或日志。
这是最好的方法吗?有没有其他方法(最好是简单的)来做到这一点?
编辑-
For now, I am using MySQL. But, I also want my code to work with at least
Oracle SQL and MS-SQL as well.
这是一个关于记录失败的MySQL尝试的纯粹的SQL调整问题。我需要一个解决方案来将失败的SQL记录到MySQL数据库中。
MySQL 在这里不起作用,因为它只记录成功的查询。我需要在不同的日志文件中知道失败的日志。
我的场景是:我需要清理一大堆乱七八糟的SQL和PHP脚本(从字面上看,每页大约执行7,000个SQL)。由于错误在服务器上被抑制,即使SQL失败的查询也会继续,并在网站上显示良好的内容。但我可以肯定的是,有很多SQL错误。我找到2个链接,但无法重试。MySQL中的和插件。
以的身份使用作为答案。
我需要通过IBM上的syslog将Oracle DB version 12c中的审计日志发送到我的SIEM。问题是它不包括我需要的信息。用于exp:
<134>Mar 4 11:00:25来自abc:甲骨文Audit5374348: LENGTH:'494‘动作:344 '9'),chartorowid('AAAAJCAABAAAA+nABn'),chartorowid('AAAAJCAABAAAA+nABv'),chartorowid('AAAAJCAABAAAisBAAP'),chartorowid(
我有一个本地数据库,这是生产数据库,所有的操作都是实时完成的。我通过触发器将每个操作的日志存储在另一个数据库的审核日志表中。它基本上检查行的任何列是否有任何更改,它将删除该行并重新添加它(这不是一个好方法,因为它应该简单地更新它,但由于某些原因,我需要删除并再次添加它)。
有一些表的操作正在快速完成,比如在数据库中添加行的100s。这会减慢将数据保存到审核日志表的过程。现在,如果触发器不得不像delete、100、rows一样,再次添加100,这将对性能产生明显的影响,如果行数增加,则会进一步降低性能。
解决这个问题的最佳实践应该是什么,我一直在研究Read Replica和Foreign D