如何在 Unix 和 Windows 平台下使用 orapwd 命令创建操作系统密码文件?
orapwd 命令的参数(值和描述)是什么?
以管理用户身份登录数据库。
关闭数据库。
在 Linux/UNIX 上:cd $ORACLE_HOME/dbs
Windows:cd %ORACLE_HOME%\database发出 orapwd 命令:
$ orapwd
Usage: orapwd file=[fname] password=[sys password] entries=[users] force=[y/n] ignorecase=[y/n] nosysdba=[y/n]
其中:
密码文件的文件名(必填),
如果在命令行中未指定,则会提示 SYS 的密码密码,
条目最大不同 DBA 数(可选),
强制是否覆盖现有文件(可选),
ignorecase 密码不区分大小写(可选),
nosysdba 是否关闭 SYSDBA 登录(仅限可选的 Database Vault,在 11.2 中已弃用),
等号 (=) 字符周围不能有空格。
注释:
I. 在 UNIX 上,文件名必须是 orapw[SID],[SID] 是实例的名称。
在 Windows 上,文件名必须是 pwd[SID].ORA 。
二、密码必须是 sys 的密码。
三、条目数是能够启动和停止数据库的最大用户数。
重要的是要记住,如果这个数字太低并且需要添加另外的用户,则必须重新创建密码文件。
四、如果旧的密码文件存在,那么我们可以使用 FORCE=Y 覆盖它,或者我们必须在重新创建密码文件之前将其从当前目录中删除。
五、IGNORECASE 是11g 中引入的新参数,控制密码文件中存储的密码是否区分大小写。
六、参数 NOSYSDBA 已作为 Database Vault 产品的一部分添加到 orapwd 实用程序中。
让我们看一个 orapwd 命令的例子来创建一个新的密码文件。
$ orapwd file=orapwTEST01 password=onitroad ignorecase=n
上面的代码将为 Unix 上名为 TEST01 的实例创建密码文件,并使用区分大小写的密码。
值得一提的是,密码文件名称中的实例名称区分大小写,并且应该与实际实例名称匹配。
- 在 TEST01 数据库实例的 pfile 中添加以下参数:
REMOTE_LOGIN_PASSWORDFILE=exclusive
- 完成上述所有操作后,运行以下语句:
SQL> STARTUP; SQL> select * from v$pwfile_users;
如果此语句返回任何记录,请尝试通过密码文件验证的 sysdba 连接。
如果连接正常,一切正常。
如果该语句没有返回任何记录,则必须重新启动数据库实例。