在 Oracle 中,如何更改名称中具有特殊字符的用户?

In Oracle, How do I alter a user that have a special character in the name?

我正在使用 Oracle 11g,我需要解锁特定用户,但该用户在 name.For 中有一个点 假设我的用户名是 'foo.mock'。我知道在用户名中添加这种字符不是一个好习惯,但我不管理数据库。

所以我尝试了

Alter user foo.mock account unlock;

并与

Alter user 'foo.mock' account unlock;

还尝试将名称保存在变量中,然后在 alter query 中使用该变量,但没有任何效果。

知道怎么做吗?

你可以用双引号括起来,但你需要匹配 dba_users 中的大小写,它通常是大写的,但如果它是用引号创建的,则可能不是:

alter user "FOO.MOCK" account unlock;

Read more 关于带引号和不带引号的标识符。