在 OceanBase 中,当使用 ALTER SYSTEM KILL SESSION 命令终止一个用户会话时,该会话中未提交的事务会自动回滚,但已分配给该会话的临时表数据不会被自动清理,需要用户手动执行 DROP TEMPORARY TABLE 进行清理。

在 OceanBase 中,当使用 ALTER SYSTEM KILL SESSION 命令终止一个用户会话时,该会话中未提交的事务会自动回滚,但已分配给该会话的临时表数据不会被自动清理,需要用户手动执行 DROP TEMPORARY TABLE 进行清理。

解析
OceanBase 中,临时表(Temporary Table)分为事务级临时表会话级临时表 。当用户会话被 KILL SESSION 强制终止时:

  • 事务级临时表 :表中的数据会随着会话断开自动清理,无需手动干预。
  • 会话级临时表 :表中的数据在会话断开后依然会保留(但无法访问,因为会话已不存在),数据库后台会有异步清理机制逐步回收这些数据所占用的存储空间,不需要用户手动执行 DROP TEMPORARY TABLE 。实际上,由于会话已不存在,用户也无法再通过该会话执行任何 SQL 来手动清理。

因此,题目中“需要用户手动执行 DROP TEMPORARY TABLE 清理”的说法是错误的。OceanBase 会自动处理终止会话后临时表数据的资源回收,无需人工介入。

正确答案:错误