oracle oradim intpwd创建带空格的数据库口令时出现问题

oxf4rvwz  于 2023-02-18  发布在  Oracle
关注(0)|答案(2)|浏览(142)

bounty将在2天后过期。回答此问题可获得+100的声誉奖励。Lieven Cardoen正在寻找来自声誉良好的来源的答案

我正在使用oradim创建一个示例。尽管它可以工作,但当我在密码中使用空格时,命令会给我下一个警告或错误:

There must be no spaces around the equal-to (=) character.
Instance created.

我使用的命令是:

oradim -new -sid dbname -intpwd "S sypass123!" -startmode auto -srvcstart system -pfile C:\Oracle\19c_server\database\database\initdbname.ora

sys用户似乎确实是用那个密码创建的,但是我需要担心那个错误/警告消息吗?

ljo96ir5

ljo96ir51#

该消息来自orapwd命令,该命令在数据库创建过程中用于创建SYS身份验证的外部密码文件。我不确定它是否与您的实际密码有关,因为该命令中不包含该密码。我必须查看生成的特定命令,以及实际设置SYS口令的关联create database SQL命令。
也就是说,在Oracle密码中使用特殊字符总是有一点麻烦。成功(或失败)在很大程度上取决于所使用的特定工具,它们如何向Oracle提供连接请求,以及是否涉及使用命令行shell(与使用sqlplus或sqlcl时一样)。不同的操作系统对可能保留或具有特殊含义的特定字符的React不同(如“!"、“$"、“%"或“&”)这些年来,我使用过几十种不同的操作系统变体,唯一一个似乎在所有这些变体中都通用的特殊字符是下划线,而不管是什么工具或UI:“_".

izj3ouym

izj3ouym2#

它可能与DOS如何处理参数有关。

oradim -new -sid dbname -intpwd "\"S sypass123!\"" -startmode auto -srvcstart system -pfile C:\Oracle\19c_server\database\database\initdbname.ora

相关问题