Oracle数据库的orapwd命令,主要用来建立密码(口令)文件。


一.查看帮助信息

[oracle@oracle11g dbs]$ orapwd
Usage: orapwd file=<fname> entries=<users> force=<y/n> ignorecase=<y/n> nosysdba=<y/n>

  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<ORACLE_SID>.ora,其它的文件名,都是不认的。

2.Unix/linux操作系统下
       默认的位置是$ORACLE_HOME/dbs目录,默认的文件名是 orapw<ORACLE_SID>,其它的文件名,都是不认的。


三.参数说明
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参数。

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

转自:http://blog.csdn.net/holly2008/article/details/22939509

【Oracle】密码文件相关的更多相关文章

  1. Oracle 密码文件

    一.密码文件 作用:主要进行DBA权限的身份认证 DBA用户:具有sysdba,sysoper权限的用户被称为dba用户.默认情况下sysdba角色中存在sys用户,sysoper角色中存在syste ...

  2. oracle 密码文件文件

    密码文件作用: 密码文件用于dba用户的登录认证. dba用户:具备sysdba和sysoper权限的用户,即oracle的sys和system用户. 本地登录: 1)操作系统认证: [oracle@ ...

  3. 创建oracle 密码文件

    orapwd file='$ORACLE_HOME/dbs/oratest' password=oracle entries=5 force=y; 说明:●FILE参数指定口令文件存放的全路径及文件名 ...

  4. Oracle 口令文件:即 oracle密码文件

    一:文件路径位置 [oracle@localhost db_1]$ cd $ORACLE_HOME/dbs [oracle@localhost dbs]$ ls dbsorapwPROD1 hc_or ...

  5. oracle ORA-01991错误--重建密码文件问题

    问题现象描述: 统计服务器测试没问题,刚好上次配置系统的时候有点问题,故重装一次,配置好安全策略(最近在研究如何新配置一台服务器的时候,第一时间配置好相关的安全设置,有空再写下来). 为了省事,直接冷 ...

  6. Oracle 无备份情况下的恢复--密码文件/参数文件

    13.1 恢复密码文件 密码文件(linux 为例)在$ORACLE_HOME/dbs目录下,文件名的前缀是orapw,后接数据库实例名. [oracle@DSI backup]$ cd /u01/a ...

  7. Oracle 参数文件及相关操作介绍

    Oracle 参数文件及相关操作介绍 by:授客 QQ:1033553122 1.服务器参数文件 服务器参数文件是一个二进制文件,作为初始化参数的存储仓库.实例运行时,可用ALTER SYSTEM来改 ...

  8. Oracle登录操作系统验证和密码文件验证

    1.确认数据库版本 2.查看当前配置文件 ORALCE数据库不同的登录验证方式是和SQLNET.ORA配置文件有关系的,在配置文件中有一个参数sqlnet.authentication_service ...

  9. Linux用户密码文件/etc/shadow相关

    (1).密码文件 [root@xuexi ~]# head -3 /etc/shadow root:$6$kcgcu794R0VP3fDL$aYN8XUbtWvZ4QQtT2xVW.N2CgE3YLP ...

随机推荐

  1. VS2015配置海康威视工业相机SDK二次开发

    1.概述:工业相机SDK是用于控制相机的一个独立组件,支持获取实时图像数据.配置参数.对图像进行后续处理等功能.工业相机SDK兼容GigE Vision协议.USB3 Vision协议.Camera ...

  2. 短视频去水印v1.0(还支持74个平台)

    软件介绍: 一款很好用的短视频去水印软件,支持74个平台无水印解析,还支持批量视频解析只需要输入账号主页链接就可以了哦,快来下载试试吧!   软件版本:1.0   支持系统:安卓   软件大小:22. ...

  3. Hive通过Jdbc获取表的字段信息

    参考代码如下: /** * 按顺序返回字段 * desc table的返回结果形式如下: hive> describe ind01acoM; OK acq_ins_id_cd string cu ...

  4. react第五单元(事件系统-原生事件-react中的合成事件-详解事件的冒泡和捕获机制)

    第五单元(事件系统-原生事件-react中的合成事件-详解事件的冒泡和捕获机制) 课程目标 深入理解和掌握事件的冒泡及捕获机制 理解react中的合成事件的本质 在react组件中合理的使用原生事件 ...

  5. python去除文件中重复的行

    去除文件中重复的行 import os with open('db.txt','r',encoding='utf-8') as read_f,\ open('.db.txt.swap','w',enc ...

  6. 嵌入式开发笔记——调试组件SEGGER_RTT

    一.前言 在嵌入式开发过程中,经常会通过打印输出一些调试信息来调试参数.查找问题等,通常我的做法都是使用芯片的串口硬件设备配合串口助手软件来进行调试.但是这次项目的PCB硬件设计并未预留串口调试接口, ...

  7. VuePress教程之深入理解插件API

    VuePress教程之深入理解插件API 本文目录 1 VuePress教程之深入理解插件API 2 插件 ??? 2.1 暖暖身 2.2 插件如何运作 3 准备 3.1 Markdown 3.2 P ...

  8. Python字符串常用的一些东西

    字符串的常用方法dir(str).查看某一方法的用法help(str.xxx). 1,索引和切片: 2,len():查看字符串的总长度. 3,+,拼接一个或多个字符串. 4,in,判定字符是否在字符串 ...

  9. 毕业三年,如何达到月薪30K?我想跟你聊聊!!

    写在前面 很多读者私信问我,自己工作三多年了,随着工作年限的不断增长,感觉自己的技术水平与自己的工作年限严重不符.想跳槽出去换个新环境吧,又感觉自己的能力达不到心仪公司的标准,即使投了简历也没人来通知 ...

  10. 实验2 C语言表达式编程应用及输入输出函数( 后附炫彩小人:) )

    实验任务一 #include <stdio.h> int main (){ int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; prin ...