![由于 SYSDBA 用户的权限不足,DSMTOP 启动时失败](https://linux22.com/image/1596502/%E7%94%B1%E4%BA%8E%20SYSDBA%20%E7%94%A8%E6%88%B7%E7%9A%84%E6%9D%83%E9%99%90%E4%B8%8D%E8%B6%B3%EF%BC%8CDSMTOP%20%E5%90%AF%E5%8A%A8%E6%97%B6%E5%A4%B1%E8%B4%A5.png)
最近我们将 DB2 v10.5.8 升级到了 v11.1.4。我们成功升级了所有实例(通过 db2 get dbm cfg 检查),然后运行命令db2updv111 -d 数据库名称升级数据库。不幸的是,它似乎没有完全成功。当我尝试运行 dsmtop 时,我看到以下错误。
当我尝试明确授予用户 EXECUTE 权限时,我收到错误消息,提示该对象不存在。
我尝试在用户 db2admin(具有 SYSADM 角色的实例用户)下运行它。当我创建新数据库时,我可以成功运行 dsmtop。此问题仅与升级的数据库有关。
有什么方法可以绑定一些包或运行任何可以修复权限的东西吗?比如将数据库重置为该数据库版本的默认值。
谢谢。
答案1
尝试这个
$ db2 "grant execute on function SYSPROC.ENV_GET_SYSTEM_RESOURCES() TO public"
DB20000I The SQL command completed successfully.