我在登录数据库中的某个帐户时遇到问题。情况就是这样。
用户已登录Linux上的帐户环境,例如从他的个人帐户登录
su - projectA
用户尝试使用
运行SQL * Plus[projectA@myDB2]$ sqlplus /
我们收到的消息是:
ORA-01017:用户名/密码无效:登录被拒绝
我在下面运行了这个命令,它的前缀丢失了。
SQL> SHOW PARAMETER os_authent_prefix
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
os_authent_prefix string
SQL>
如何在os_authent_prefix
上设置前缀?
答案 0 :(得分:1)
您被允许没有为OS_AUTHENT_PREFIX
设置值,但如果您这样做,则数据库帐户需要与操作系统帐户相同 - 即projectA
而不是OPS$projectA
}。
如果您确实希望帐户具有OPS$
前缀,则初始化参数必须匹配。您可以将其设置为@kfinity在评论中说:
alter system set OS_AUTHENT_PREFIX='OPS$' scope=spfile;
然后是数据库反弹。但由于这是默认值(我认为!),很可能有人故意将其清除,所以请谨慎行事。
最重要的是要保持一致。如果您有其他用户帐户OPS$
,那么您可能应该设置它(并且您可以检查您提到的旧数据库以查看用户和设置是否相同)。如果您没有其他人,则需要验证是否通过dba_users.authentication_type
列在外部标识了任何未加前缀的帐户名称。如果有,那么更改初始化参数会破坏那些。