Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1120297
  • 博文数量: 159
  • 博客积分: 3063
  • 博客等级: 中校
  • 技术积分: 2703
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-01 01:51
文章分类

全部博文(159)

文章存档

2013年(48)

2012年(111)

分类: Oracle

2012-07-30 13:28:30

orapwd是oracle提供的创建口令文件的命令,如果口令文件不见了可以用这个命令重新创建。
下面是orapwd命令的一些解释。

D:\oracle\ora92\database>orapwd
Usage: orapwd file= password= entries=
  where
    file - name of password file (mand),
    password - password for SYS (mand),
    entries - maximum number of distinct DBA and OPERs (opt),
    There are no spaces around the equal-to (=) character.

例如:D:\oracle\ora92\database>orapwd file=pwdcjh.ora password=cjh entries=2

其中参数entries的含义是表示口令文件中可以存放的最大用户数,对应于允许以SYSDBA/SYSOPER权限登录数据库的最大用户数,如果用户数超过这个值只能重建口令文件,增大entries

file后面可以指定口令文件的全路径和文件名,否则创建在当前目录下

windows下oracle默认的位置是ora92/database目录,默认的文件名是pwdSID.ora,不认别的文件名。
linux下oracle默认的位置是$ORACLE_HOME/dbs目录,默认的文件名是orapwSID,不认别的文件名。

创建完后,数据库需要重启动,新的口令文件才能生效。

但是这个口令文件对于非操作系统认证例如网络连接的方式才有用。对于在本机登录,因为采用了操作系统认证,不管用什么口令都可以登录,实际上口令没起任何作用。如果在本机登陆不采用操作系统认证,把ora92/network/admin下的sqlnet.ora中的
SQLNET.AUTHENTICATION_SERVICES= (NTS)
改为
SQLNET.AUTHENTICATION_SERVICES= (NONE)
然后用
D:\oracle\ora92\database>sqlplus "sys/cjh@cjh as sysdba"
就可以登陆了。

口令文件的使用方式还受另外一个初始化参数控制:
SQL> show parameter pass
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------ remote_login_passwordfile            string      EXCLUSIVE
阅读(2220) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~