Tag Archives: cascade on delete

STATSPACK数据清除(三)

Oracle文档推荐的STATSPACK过期数据产生的方法是直接删除STATS$SNAPSHOT表中的记录。 这篇文章说明第一篇文章中没有描述清楚的数据清除问题。 STATSPACK数据清除(一):http://yangtingkun.itpub.net/post/468/466248 STATSPACK数据清除(二):http://yangtingkun.itpub.net/post/468/466514 之所以隔了3年才有这篇文章,完全是野花的缘故。野花前一段在折腾STATSPACK是发现了我的文章,并且对于我之前没有得出结论的数据清除问题做出了解答,之所以删除STATS$SNAPSHOT就会导致其他表的数据自动删除,并非是Oracle的什么内部机制,其实道理很简单,就是Oracle建立的是CASCADE ON DELETE约束条件。 看来自己在开发方面还是外行,一直没有想到这个问题,于是特意找到了一个9i上部署STATSPACK的数据库,验证一下: SQL> SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, STATUS, DELETE_RULE 2 FROM DBA_CONSTRAINTS 3 WHERE TABLE_NAME = ‘STATS$SNAPSHOT’ 4 AND OWNER = ‘PERFSTAT’ 5 AND CONSTRAINT_TYPE = ‘P’; CONSTRAINT_NAME C STATUS DELETE_RU —————————— – ——– ——— … Continue reading

Posted in ORACLE | Tagged , | Leave a comment