我最近开始负责管理一个应用程序,它本质上是 Sybase SQL Anywhere 9 数据库的前端,包括数据库本身。我想用它unload table
来高效地导出数据进行备份,如果有几张表,则进行 ETL 以将其放入报告数据库/小型数据仓库中。
问题在于客户端应用程序经常崩溃并留下死连接和共享锁,这似乎阻止了unload table
它获取所需的(短暂的)独占锁。目前,我使用 Sybase Central 来验证这些连接是否确实是僵尸连接,并在一天/一周结束时自行删除它们。
是否有命令或脚本可以断开所有连接?如果能够在确认不需要后立即断开所有连接,这将非常有帮助,但我还没有找到方法。
答案1
透过手册您可能需要dbstop
命令。我认为这将断开所有用户的连接-y
。您可能还想确保您的数据库和日志文件已同步。我的印象是 dbstop 会这样做,但我以前从未做过这样的事情。