db2 import导入数据的时候怎么生产日志文件

db2 import导入数据的时候怎么生产日志文件,第1张

不太明白你的意思,是指import时的过程输出,还是数据库本身的事务日志

事务日志:import命令导入的数据是会记录日志的(SXXXX.LOG)

过程输出:import命令产生很少的过程输出,默认情况下,会在最后commit数据时显示提交的结果(当然,不建议这种默认方式,容易造成数据库事务日志满)。可以在import时增加选项commitcount,即每多少行数据提交一次,这样每次提交时也会输出提交的结果。

DB2 SQL Error: SQLCODE=-805, SQLSTATE=51002 解决方法

在 *** 作大量数据时如果发生这种错误,说明不是db2 使用的 package没有绑定,而是因为资源未释放,导致可以使用此package的资源不足,致使不能连接资源,这种情况有两种解决方法.

方法一:治标不治本,重新绑定package,然后为package的使用分配更多的资源

方法二:标本兼治,在程序中,对PreparedStatement ,Statement,CallableStatement,ResultSet,Connection这些对象使用完毕后一定要调用close()方法进行资源的释放,若不进行释放,在 *** 作大量数据的时候,会出现一些问题,DB2 SQL Error: SQLCODE=-805, SQLSTATE=51002 错误就是其中的一种.这种错误只要在代码中将使用完毕的PreparedStatement ,Statement,CallableStatement,ResultSet,Connection对象全部关闭即可[即调用close()方法即可],关闭顺序最好是:1>ResultSet 2>PreparedStatement ,Statement,CallableStatement 3>Connection

db2diag.log没有两天前的记录了,应该是被删除了,默认DB2数据库不会自动清理db2diag.log日志。

清理后没办法找回了,不过与db2diag.log一起的还有一个文件 <instance_name>.nfy也记录了一些日志

db2diag.log文件权限在unix上是666,好像有权登录系统的用户都可以修改,要查谁清理了比较麻烦,因为只有 *** 作系统会记录用户这种行为。

如果只是定期发生的行为,可以看看是不是有定时任务进行了备份清理

如果是偶然发生的,你可以这么做(假如是unix系统):

cat /etc/passwd|awk -F: '{print $1,$6}'|while read user home

do

cd $home

echo $user history include db2diag

cat .sh_history |grep -i db2diag

done

如果有人进行了清理,就会有类似 rm db2diag.log 或 >db2diag.log这样的命令,但具体是什么时候清理的,用户的history文件不会记录。

为了安全审计,一般借助第三方工具,记录用户在 *** 作系统上的所有行为(包括时间)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6671631.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存