gpt4 book ai didi

oracle - 如何清除 Oracle 中的高级队列

转载 作者:行者123 更新时间:2023-12-02 06:34:19 28 4
gpt4 key购买 nike

文档清楚地说明了如何清除 Oracle AQ:

dbms_aqadm.purge_queue_table()

但是,存储会发生什么情况,特别是队列表、索引和 LOB 段的高水位标记?表格也需要缩小吗?

在生产中,队列几乎总是空的(正如它们应该的那样),但在我们的测试系统中,它们由于各种原因填充了数百万行,因此有时需要清空它们。

是否有必要查看基础表和索引,还是会自动处理?

非常感谢!

最佳答案

DBMS_AQADM.PURGE_QUEUE_TABLE 它相当于截断表。当您尝试截断队列表时,另请查看此错误消息

ORA-24005: Inappropriate utilities used to perform DDL on AQ table %s.%s
*Cause: An attempt was made to use the SQL command DROP TABLE or TRUNCATE
TABLE or ALTER TABLE on queue metadata or tables.
*Action: Use the DBMS_AQADM.DROP_QUEUE_TABLE to DROP TABLE,
DBMS_AQADM.PURGE_QUEUE_TABLE to TRUNCATE TABLE.
ALTER TABLE redefinition based on only ALTER_TABLE_PROPERTIES and
ALTER_TABLE_PARTITIONING clauses are allowed.

Tom Kyte 已经写过有关经常截断表的信息 https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:47911859692542

关于oracle - 如何清除 Oracle 中的高级队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38327055/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com