【Oracle】密码文件相关
Oracle数据库的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用户的密码,输入之后创建完成:
Enter password for SYS:
[oracle@oracle11g dbs]$
3.entries
可选项,entries是可以保存的记录个数,每个具有sysdba或sysoper权限的用户算一个记录。如果一个用户同时具有sysdba和sysoper的权限,则只占一个记录。
对应于允许以SYSDBA/SYSOPER权限登录数据库的最大用户数,如果用户数 超过这个值只能重建密码(口令)文件,增大entries
数据库启动后可以通过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】密码文件相关的更多相关文章
- Oracle 密码文件
一.密码文件 作用:主要进行DBA权限的身份认证 DBA用户:具有sysdba,sysoper权限的用户被称为dba用户.默认情况下sysdba角色中存在sys用户,sysoper角色中存在syste ...
- oracle 密码文件文件
密码文件作用: 密码文件用于dba用户的登录认证. dba用户:具备sysdba和sysoper权限的用户,即oracle的sys和system用户. 本地登录: 1)操作系统认证: [oracle@ ...
- 创建oracle 密码文件
orapwd file='$ORACLE_HOME/dbs/oratest' password=oracle entries=5 force=y; 说明:●FILE参数指定口令文件存放的全路径及文件名 ...
- Oracle 口令文件:即 oracle密码文件
一:文件路径位置 [oracle@localhost db_1]$ cd $ORACLE_HOME/dbs [oracle@localhost dbs]$ ls dbsorapwPROD1 hc_or ...
- oracle ORA-01991错误--重建密码文件问题
问题现象描述: 统计服务器测试没问题,刚好上次配置系统的时候有点问题,故重装一次,配置好安全策略(最近在研究如何新配置一台服务器的时候,第一时间配置好相关的安全设置,有空再写下来). 为了省事,直接冷 ...
- Oracle 无备份情况下的恢复--密码文件/参数文件
13.1 恢复密码文件 密码文件(linux 为例)在$ORACLE_HOME/dbs目录下,文件名的前缀是orapw,后接数据库实例名. [oracle@DSI backup]$ cd /u01/a ...
- Oracle 参数文件及相关操作介绍
Oracle 参数文件及相关操作介绍 by:授客 QQ:1033553122 1.服务器参数文件 服务器参数文件是一个二进制文件,作为初始化参数的存储仓库.实例运行时,可用ALTER SYSTEM来改 ...
- Oracle登录操作系统验证和密码文件验证
1.确认数据库版本 2.查看当前配置文件 ORALCE数据库不同的登录验证方式是和SQLNET.ORA配置文件有关系的,在配置文件中有一个参数sqlnet.authentication_service ...
- Linux用户密码文件/etc/shadow相关
(1).密码文件 [root@xuexi ~]# head -3 /etc/shadow root:$6$kcgcu794R0VP3fDL$aYN8XUbtWvZ4QQtT2xVW.N2CgE3YLP ...
随机推荐
- Pytest 系列(27)- allure 命令行参数
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 先看看 allure 命令的帮助文 ...
- jmeter接口测试笔记
1.接口测试基础 API:Application Programming Interface,即调用应用程序的通道. 接口测试遵循点 接口的功能性实现:检查接口返回的数据与预期结果的一致性. 测试接口 ...
- mini-web框架-WSGI-mini-web框架-多进程,面向对象的服务器(5.1.1)
@ 目录 1.说明 2.代码 关于作者 1.说明 使用多进程 积极主动python多进程是复制资源,线程是共享变量 所以这个的socket要关两次,因为复制文件的时候,是把文件的fd给复制过去(fil ...
- Spring笔记(9) - IOC实现方式详解
IOC概念 控制反转(Inversion of Control,IOC),是面向对象编程中的一种设计原则,它建议将不需要的职责移出类,让类专注于核心职责,从而提供松散耦合,提高优化软件程序设计.它把传 ...
- 高端面试必备:一个Java对象占用多大内存
这个问题一般会出现在稍微高端一点的 Java 面试环节.要求面试者不仅对 Java 基础知识熟悉,更重要的是要了解内存模型. Java 对象模型 HotSpot JVM 使用名为 oops (Ordi ...
- Spring源码深度解析之Spring MVC
Spring源码深度解析之Spring MVC Spring框架提供了构建Web应用程序的全功能MVC模块.通过策略接口,Spring框架是高度可配置的,而且支持多种视图技术,例如JavaServer ...
- ArrayList哪种循环效率更好你真的清楚吗
ArrayList简介 声明:以下内容都是基于jdk1.8的 ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了 ...
- 前端网页打印插件print.js(可导出pdf)
在前端开发中,想打印当前网页的指定区域内容,或将网页导出为多页的PDF,可以借助print.js实现,该插件轻量.简单.手动引入.不依赖其他库.示范项目github:https://github.co ...
- 给2021年的我立几个FLAG
看多了大牛的年终总结,我也懒得写了,反正写出来也没人看. 其实上面都是借口,我只是完全没有写年终总结的习惯. 为啥呢?因为这些年过的平平无奇,并没有什么特别出彩的事情. 如果有,嗯,2020年,我结婚 ...
- python在线练习
不管学习那门语言都希望能做出实际的东西来,这个实际的东西当然就是项目啦,不用多说大家都知道学编程语言一定要做项目才行. 这里整理了70个Python实战项目列表,都有完整且详细的教程,你可以从中选择自 ...