oracle何时需要orapwd,oracle orapwd命令使用说明

Oracle数据库的orapwd命令,主要用来建立密码(口令)文件。一.查看帮助信息

[oracle@oracle11g dbs]$ orapwd

Usage: orapwd file= entries= force= ignorecase= nosysdba=

where

file - name of password file (required),

password - password for SYS will be prompted if not specified at command line,

entries - maximum number of distinct DBA (optional),

force - whether to overwrite existing file (optional),

ignorecase - passwords are case-insensitive (optional),

nosysdba - whether to shut out the SYSDBA logon (optional Database Vault only).

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

二.密码文件的默认位置

1.windows操作系统下

默认的位置是$ORACLE_HOME\database目录,默认的文件名是 pwd.ora,其它的文件名,都是不认的。

2.Unix/linux操作系统下

默认的位置是$ORACLE_HOME/dbs目录,默认的文件名是 orapw,其它的文件名,都是不认的。三.参数说明

1. file

必选项,指生成的密码文件的名称。

2.password

必选项,指sys用户的密码。

以上这两个参数是必选项,

如果两个参数都缺失,或者缺失file参数,都会出现帮助信息,见上面。

如果缺失password,将会出现提示信息,提你输入SYS用户的密码,输入之后创建完成:

[oracle@oracle11g dbs]$orapwd file=/u01/oracle/product/11.2.0.1/db_home1/dbs/orapworcl

Enter password for SYS:

[oracle@oracle11g dbs]$

3.entries

可选项,entries是可以保存的记录个数,每个具有sysdba或sysoper权限的用户算一个记录。如果一个用户同时具有sysdba和sysoper的权限,则只占一个记录。

对应于允许以SYSDBA/SYSOPER权限登录数据库的最大用户数,如果用户数 超过这个值只能重建密码(口令)文件,增大entries

数据库启动后可以通过v$pwfile_users来查看密码文件中记录的情况。

SQL>  select * from v$pwfile_users;

USERNAME             SYSDBA     SYSOPER

-------------------- ---------- ----------

SYS                  TRUE       TRUE

SQL> conn /as sysdba

Connected.

SQL> grant sysdba to scott;

Grant succeeded.

SQL> select * from v$pwfile_users;

USERNAME             SYSDBA     SYSOPER

-------------------- ---------- ---------

SYS                  TRUE       TRUE

SCOTT                TRUE       FALSE

4. ignorecase

可选项,密码忽略大小写。

四.取消密码文件认证方式

1.删除密码文件

2.将初始化参数设置成NONE, REMOTE_LOGIN_PASSWORDFILE=NONE.

删除密码文件以后,只有能通过操作系统认证的那些sysdba/sysoper身份的用户才可以登录。

五.常见问题

1.为什么需要口令文件?

在数据库没有启动之前,数据库内建用户是无法通过数据库来验证身份的。口令文件中存放sysdba/sysoper 用户的用户名及口令,允许用户通过口令文件验证,在数据库未启动之前登陆,从而启动数据库。

如果没有口令文件,在数据库未启动之前就只能通过操作系统认证。 使用Rman,很多时候需要在nomount,mount等状态对数据库进行处理,所以通常要求sysdba权限. 如果属于本地DBA组,可以通过操作系统 认证登陆。如果是远程sysdba登陆,需要通过passwordfile认证。

2. 没有口令文件是否可以启动数据库?

可以启动,9i及以下mount过程中会报错,然后手动open就可以了。10g已经不会报错了。

5、没有口令文件在哪个阶段报错?

在mount阶段报错,因为只有到了mount阶段才验证各种文件,nomount只读spfile/pfile参数文件并且启动进程。

6、修改sysdba/sysoper用户密码时,能否同步到口令文件?

可以同步。Alter user xxx identified by yyy

所有密码忘记都没关系,但至少要记住sys用户密码。

7、spfile/pfile参数文件中的remote_login_passwordfile参数有什么用?

三种设定模式:(可以通过show parameter remote命令查看当前模式)

1) remote_login_passwordfile = EXCLUSIVE,一个实例专用;

2) remote_login_passwordfile = SHARE,可以多个实例共享(比如:RAC环境);

3) remote_login_passwordfile = NONE,不启用口令文件,只能通过操作系统认证的用户连进来。

remote_login_passwordfile是静态参数,修改后需要重启才能生效。

8、sqlnet.ora中的相关设置?

SQLNET.AUTHENTICATION_SERVICES=(NTS), NTS=NT Security 即采用OS优先认证登陆;

SQLNET.AUTHENTICATION_SERVICES=(NONE)为不可以,必须采用usr/pwd as sysdba/sysoper 登陆。

这里是操作系统级验证的开关。

如果SQLNET.AUTHENTICATION_SERVICES=(NONE),并且 remote_login_passwordfile='none',即两个开关都关闭,那么任何用户也进不来。

六.总结:

ORACLE有两种方式可以认证sysdba/sysoper用户:

1) 操作系统级认证-dba权限组(linux /unix)和ORA_DBA组(win)

2) 口令文件认证。

两种方式有各自的开关:

1) sqlnet.ora中AUTHENTICATION_SERVICES参数

2) spfile/pfile中 remote_login_passwordfile参数。

并且这两个开关互不矛盾,可以同时打开同时关闭或者只开一个。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值