在CMD里输入命令如下:
C:\Documents and Settings\Administrator>orapwd

Usage: orapwd file=<fname> password=<password> entries=<users>

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=pwdORCL.ora password=rusky entries=2 其中参数entries的含义是表示口令文件中可以存放的最大用户数,对应于允许以SYSDBA/SYSOPER权限登录数据库的最大用户数,如果用户数 超过这个值只能重建口令文件,增大entries。

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

windows下oracle默认的位置是ora92/database目录,默认的文件名是 pwdSID.ora,对于别的文件名是不认的。linux下oracle默认的位置是$ORACLE_HOME/dbs目录,默认的文件名是 orapwSID,对于别的文件名是不认的。(特别注意windows和linux环境下的密码文件名是不一致的)

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

在数据库没有启动之前,数据库内建用户是无法通过数据库来验证身份的。口令文件中存放sysdba/sysoper 用户的用户名及口令,允许用户通过口令文件验证,在数据库未启动之前登陆,从而启动数据库。如果没有口令文件,在数据库未启动之前就只能通过操作系统认 证。 使用Rman,很多时候需要在nomount,mount等状态对数据库进行处理。所以通常要求sysdba权限如果属于本地DBA组,可以通过操作系统 认证登陆。如果是远程sysdba登陆,需要通过passwordfile认证。

2、口令文件损坏或者丢失怎么办?

口令文件就是sysdba/sysoper用户的唯一口令文件,丢了就进不来,不管数据库启动没有。连接报错...

SQL> connect sys/oracle@fzlgfm as sysdba
ERROR:
ORA-01031: insufficient privileges

在linux环境中只能su - oracke,切换到oracle用户,然后orapwd重建口令文件:
orapwd file=orapwORCL password=orclsys entries=2

Orapwd命令第二个参数是指定sys的密码,参数等于什么,sys密码以后就是什么。为什么要指定sys密码? 因为口令文件里面必须要有用户密码,否则怎么验证啊?但此时数据库如果没启动的话就根本取不到sys密码,所以只能强行指定了,启动后数据库里面sys的 密码会被改成此时指定的。另外重建口令文件的工作只能由系统验证用户完成,或者具有dba权限的用户也可以,其他用户执行orapwd命令都会失败。

3、如何把sysdba/sysoper用户加到口令文件中去?

再执行一遍grant sysdba/sysoper to 用户,oracle会自动在口令文件中增加一个条目,并且把密码copy过来。
察看口令文件内容的方法:
select * from v$pwfile_users;

SQL> grant sysdba to scott;
Grant succeeded

SQL> select * from v$pwfile_users;

USERNAME SYSDBA SYSOPER
--------------- ------- -------
SYS TRUE TRUE
SCOTT TRUE FALSE

4、没有口令文件是否可以启动数据库?
可以。9i及以下mount过程中会报错,然后手动open就可以了。因为只要用本地验证用户照样可以做sysdba的事情,没有理由让数据库启动不了。10g已经不会报错了。

5、没有口令文件为什么是mount阶段报错而不是nomount阶段报错?

因为只有到了alter mount阶段才验证各种文件,nomount只读spfile/pfile创建进程。

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

可以同步。Alter user xxx identified by yyy
所有密码忘记都没关系,但至少要记住sys用户密码。

7、spfile/pfile中remote_login_passwordfile是干嘛用的?

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

remote_login_passwordfile = EXCLUSIVE,则一个实例专用;

remote_login_passwordfile = SHARE则可以多个实例共享(用于OPS/RAC环境);

remote_login_passwordfile = NONE则不启用口令文件,此时任何sysdba/sysoper都无法连接进来。

remote_login_passwordfile = shared 我们看一下Oracle9i文档中的说明:
More than one database can use a password file. However, the only user recognized by the password file is SYS.
意思是说多个数据库可以共享一个口令文件,但是只可以识别一个用户:SYS。在用SPFILE的情况 下,remote_login_passwordfile参数怎么改呢?SPFILE是不可以强行编辑的,否则数据库不认的。用alter system set remote_login_passwordfile=none scope=spfile。

改成NONE以后怎么改回来呢?

用os级认证登陆,然后alter system set remote_login_passwordfile=none scope=spfile,或者直接create spfile from pfile;

remote_login_passwordfile='none'意味着禁用口令文件,有也不能用。等于可以 disable所有sysdba/sysoper,此时只能用oracle/oracle用户来启动和关闭数据库,也就是只有os认证,没有口令文件认 证,这就是此参数的意义-口令文件验证的开关。

8、sqlnet.ora中SQLNET.AUTHENTICATION_SERVICES=(NTS/NONE)有什么用?

NTS=NT Security 即采用OS优先认证登陆,NONE为不可以,必须采用usr/pwd as sysdba/sysoper 登陆。这里是操作系统级验证的开关。如果SQLNET.AUTHENTICATION_SERVICES=(NONE)并且 remote_login_passwordfile='none',即两个开关都关闭,那么神仙也进不了数据库,hoho我指的是 sysdba/sysoper用户,普通用户可以照常使用的。当然,有物理权限的人也除外,即你可以物理地打开这台计算机操作。

总结一下,ORACLE有两种方式可以认证sysdba/sysoper用户:操作系统级认证-dba权限组(linux /unix)和ORA_DBA组(win);口令文件认证。 两种方式有各自的开关:sqlnet.ora中AUTHENTICATION_SERVICES参数;spfile/pfile中 remote_login_passwordfile参数。并且这两个开关互不矛盾,可以同时打开同时关闭或者只开一个。

《FROM:http://www.cnblogs.com/51linux/archive/2013/06/08/3125788.html》

orapwd创建密码文件相关推荐

  1. Linux怎么创建date文件,Linux下手工创建oracle database

    首先需要安装oracle软件. [oracle@ora01 admin]$ uname -a Linux ora01 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:35 ...

  2. linux mysql 密码文件怎么打开文件,Oracle数据库密码文件创建与使用

    Oracle关系数据库系统以其卓越的性能获得了广泛的应用,而保证数据库安全性是数据库管理工作的重要内容.本文在总结Oracle数据库安全管理工作的基础上,对Oracle数据库系统密码文件的创建.使用和 ...

  3. oracle12c密码文件,【转】Oracle 12c 关于密码文件(password)的几个新特性

    oracle数据库软件是获得过最高级别的安全认证,完全超越其它所有数据库软件,并且在可维护性上基于大量的实践需要稳步前行,这里简单列举几个12c 关于password几个新特性. 1. 新的passw ...

  4. oracle asm密码是什么,ORACLE 12C ASM 新特性:共享密码文件

    在ORACLE 12C之前大家都知道密码文件是存放在?/dbs或者?/database中,如果要修改修改sysdba权限的用户密码时候,会去修改密码文件,而在rac数据库的sys密码文件是存在各个节点 ...

  5. oracle12c口令文件,学习笔记:Oracle 12C ASM 新特性 共享密码文件

    天萃荷净 测试试验ORACLE 12C ASM 新特性 共享密码文件的详细过程 在ORACLE 12C之前大家都知道密码文件是存放在?/dbs或者?/database中,如果要修改修改sysdba权限 ...

  6. oracle财务软件心得,Oracle密码文件学习心得

    下面总结了一些Oracle密码文件的学习心得,希望对大家有所帮助. (一)创建Oracle密码文件的命令 orapwd file= password= entries=最大数目 这里的file命名规则 ...

  7. apache htpasswd.exe创建密码

    一.使用apache htpasswd.exe创建密码文件,命令请看PHP推荐教程:apache htpasswd命令用法详解 apache htpasswd命令用法实例 1.如何利用htpasswd ...

  8. 设置密码命名是什么linux,orapwd 工具建立密码文件遵守的命名方法

    orapwd 工具建立建立的密码文件 一定要orapw+实例名吗 我在11g和10g 测试是必须要 orapw+实例名 才能登录成功 以下是验证过程 [oracle@asm dbs]$ rm orap ...

  9. oracle本地验证,Oracle 本地验证和密码文件

    实验: oracle服务器位于Linux操作系统,客户端位于windows操作系统. 首先,查看remote_login_passwordfile参数值: SYS@orcl 11-SEP-14> ...

最新文章

  1. 作为一个新人,怎样学习嵌入式Linux?
  2. java导出excel压缩包_java动态导出excel压缩成zip下载的方法
  3. mybatis使用foreach进行批量保存
  4. python3 collections模块_Python3之collections模块
  5. 网站推广——网站推广专员在优化网站中都有哪些技巧呢?
  6. Element-UI中Cascader 级联选择器使用
  7. tinyxml c语言,开源TinyXML 最简单的新手教程
  8. 基于模型协同过滤推荐离线召回:ALS
  9. HP1010和HP1020的区别
  10. 从0开始使用Git:Win10下使用Git配置并关联Gitbub远程仓库全教程与踩坑分析
  11. 高精度定位系统融合定位模式崭露头角
  12. 纯web端实现二维码识别
  13. C++把十进制转换为其他进制的方法
  14. flexbox的基本概念
  15. Java程序员情人节_关于程序员:一封来自Java程序员的情书
  16. 编译天嵌E8内核源码
  17. 全国计算机应用水平考试图像处理,全国计算机应用水平考试图像处理考试大纲(2019年版).PDF...
  18. Web安全工具—Sqlmap常用命令和参数(持续更新)
  19. xinetd的安装配置
  20. 苹果电脑mp3转gif_Mac视频怎样转换成Gif图片?

热门文章

  1. ipad无法充电怎么办_IPAD充电线破损无法保修,资深“果粉”吐槽:店大欺客!...
  2. 1075 链表元素分类 (25 分)
  3. 【Leetcode | 顺序刷题】杂项目录
  4. 资深Android开发带你入门Framework,架构师必备技能
  5. java----DBUtils知识点补充
  6. Java面向对象(二)
  7. Wait Event SQL*Net more data to client
  8. Pythonic---------详细讲解
  9. web前端【第十一篇】jQuery属性相关操作
  10. 解决阿里云服务器磁盘报警