使用 Microsoft SQL Server 时,有一个方便的东西,称为专用管理员连接。您可以告诉数据库删除所有连接并且不打开任何新连接,但保留您现在使用的连接以用于管理目的。
IBM 的 DB2 UDB 是否有类似的功能可用?
使用 Microsoft SQL Server 时,有一个方便的东西,称为专用管理员连接。您可以告诉数据库删除所有连接并且不打开任何新连接,但保留您现在使用的连接以用于管理目的。
IBM 的 DB2 UDB 是否有类似的功能可用?
我刚刚升级到 Ubuntu 9.10,现在我的 db2 不再启动。错误信息如下:
db2start:加载共享库时出错:libstdc++.so.5:无法打开共享对象文件:没有这样的文件或目录
我想,这是因为 Ubuntu 现在使用版本 6,正如我在 Synaptic 中看到的那样。有没有办法告诉 DB2 使用更新的版本或者我必须安装 5er 版本?这会以某种方式与6er冲突吗?
我有以下 openldap 服务器配置:
access to attrs=userPassword
by self write
by anonymous auth
by set="[cn=users,ou=Group,dc=my-company,dc=de]/memberUid & user/uid" write
by * none
# Allow everybody adding and changing Contacts
access to dn.subtree="ou=Contacts,dc=my-company,dc=de"
by set="[cn=users,ou=Group,dc=my-company,dc=de]/memberUid & user/uid" write
by * read
access to *
by self write
by dn.base="cn=admin,dc=my-company,dc=de" write
by set="[cn=sysadm,ou=Group,dc=my-company,dc=de]/memberUid & user/uid" write
by * read
它应该做的是:
问题是,sysadms 不能更改任何用户密码。有什么提示吗?
我知道,有一个数据库配置参数“数据库排序顺序”用于在 db2 中设置排序规则。但由于这会影响整个数据库并且只能在创建它时设置,我正在寻找为单个表或列设置它的可能性。或者,在 SQL 语句中设置排序规则,就像在 Microsoft SQL Server 上一样:
SELECT * FROM table ORDER BY col1 COLLATE Latin1_General_CI_AS
这在 DB2 中可能吗?如何?
其次,更改整个数据库、表或查询内的排序规则将如何影响性能?
我在使用 IBM DB2 的自动增量列时遇到了一些麻烦。起初,我的所有列都被定义为GENERATED ALWAYS,但由于我在使用“db2 import ...”命令时遇到了这个问题,我将它们更改为GENERATED BY DEFAULT。这是必要的,因为我需要 ID 保持一致,因为其他表引用它们。因此,不能使用“db2 import ... modified by identityignore ...”。
当我现在导入数据时,ID 被正确插入,但每次我这样做时,我必须记住通过获取最高的 Id+1 为自动增量列设置一个新的开始,并像这样更改列:
SELECT MAX(mycolumn)+ 1 FROM mytable;
ALTER TABLE mytable ALTER COLUMN mycolumn RESTART WITH <above_result>;
如果我忘记了这一点,插入语句将因重复 PK 错误而失败,因为自动增量列是主键。
所以我的问题是:有没有办法找到自动增量列的下一个值,所以我可以编写语句来检查,如果这个值小于 SELECT MAX 并且需要设置?
或者:这整个事情不是像我想象的那么复杂吗?我可以以某种方式导入数据,保留 ID 并让自动增量列仍然按预期工作吗?