密码文件的版本以及密码文件是否包含以前版本的帐户会影响管理身份验证的区分大小写。
先前版本中只有10G验证者的任何密码文件帐户都只能执行不区分大小写的管理身份验证。
创建密码文件(使用orapwd实用程序)后,当授予用户管理权限或从用户撤消管理权限时,或者更新具有管理权限的用户的密码时,Oracle数据库将对其进行更新。
密码文件位于数据库外部,即使数据库处于状态,也允许Oracle数据库对管理连接进行身份验证(例如,使用子句)。 AS administrative_privilege_nameAS SYSKMCLOSED
尝试进行管理连接时,Oracle数据库将在密码文件中搜索该用户以验证其密码并确保已向该用户授予所请求的管理特权。即使数据库处于CLOSED状态,Oracle数据库也可以使用密码文件来验证管理连接。
密码文件的版本及其包含的用于管理用户的验证程序的类型会影响是否可以区分大小写的方式对该管理用户进行身份验证。
但是,默认情况下,早期Oracle数据库版本中的密码文件将保留其原始的不区分大小写的验证程序。Oracle建议您10G使用以下语法,通过将密码文件从一种格式迁移到另一种格式,并更改仅具有验证者的任何帐户的密码,来强制这些旧密码文件区分大小写:
orapwd FILE = new_pwd_file_name INPUT_FILE = old_pwd_file_name [FORMAT = 12.2]
复制
在FORMAT和FORCE选项是不是强制性的,可以省略。如果省略FORMAT,则默认为12.2。如果FILE和INPUT_FILE选项设置为相同的文件,则将需要该FORCE选项。
例如:
orapwd FILE='/u01/oracle/dbs/old_pwd_file_name' INPUT_FILE='/u01/oracle/dbs/new_pwd_file_name' FORMAT=12.2 FORCE=y Enter password for SYS: password
复制
假设密码文件中的用户帐户具有较新的验证程序(11G和12C),此命令将创建一个区分大小写的密码文件new_pwd_file_name,该文件将以区分大小写的方式对管理连接进行身份验证。如果密码文件中的任何用户帐户仅使用较旧的10G验证程序,则必须更改该帐户的密码以启用对该帐户的管理连接的区分大小写的身份验证。此后,如果使用此密码进行连接,则密码会成功-只要使用创建密码的确切大小写输入密码即可。如果您输入相同的密码但大小写不同,则使用该密码的身份验证尝试将失败。
如果您是从以前的版本导入的用户帐户,并且这些帐户是使用SYSDBA或具有SYSOPER管理权限创建的,则这些帐户将包含在密码文件中。这些帐户的密码不区分大小写。这些用户下次更改密码时,密码将区分大小写。为了提高安全性,请这些用户更改其密码。您可以使用该ALTER USER PASSWORD EXPIRE语句使用户密码失效。之后,要求用户再次登录,以便提示用户更改其密码。