Oracle体系结构之密码文件管理
oracle密码文件主要用来控制sysdba和sysoper用户用于远程登录。通常,oracle用户登录database有两种方式,一种是通过本地操作系统验证登录,一种是通过密码文件验证登录。
操作系统验证方式:#sqlplus / as sysdba
#sqlplus "/as sysdba"
密码文件验证方式:#sqlplus user/password as sysdba
#sqlplus user/password@<sid> as sysdba
#sqlplus user/password@<ip address:1521/sid> as sysdba
oracle密码文件位置通常在:$ORACLE_HOME/dbs/orapw<sid>
oracle用于登录database方式决定于2个参数:
1. 位于$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora参数文件中
remote_login_passwordfile = none | exclusive |shared
none : 不使用密码文件认证
exclusive :要密码文件认证,自己独占使用(默认值)
shared :要密码文件认证,不同实例dba用户可以共享密码文件
2. $ORACLE_HOME/network/admin/sqlnet.ora下添加如下参数:
SQLNET.AUTHENTICATION_SERVICES = none | all | ntf(windows)
none : 表示关闭操作系统认证,只能密码认证
all : 用于linux或unix平台,关闭本机密码文件认证,采用操作系统认证,但远程<异机>可以使用密码文件认证
nts : 用于windows平台
以上两个参数的不同组合即可组成oracle数据库用户登录的不同验证方式。
密码文件损坏或者丢失,需要重建密码文件,重建密码文件语句如下:
SQL>orapwd file=<orapw<sid>> password=<password> entries=<max_user> force=<y/n>;
密码文件查找的顺序
--->orapw<sid>--->orapw--->Failure
导致密码文件内容修改的几种方式:
1.使用orapwd建立,修改密码文件,不建议使用
2.使用alter user sys identified by <password>;
3.使用grant sysdba to <user>或grant sysoper to <user>或revoke sysdba |sysoper from <user>
查看密码文件内容:
1、#strings orapworcl
2、SQL>ho strings orapworcl
sysdba与sysoper的区别*/
SQL> select* from system_privilege_mapwhere name like '%SYS%';
PRIVILEGE NAME PROPERTY
---------- ---------------------------------------- ----------
-3 ALTER SYSTEM 0
-4 AUDIT SYSTEM 0
-83 SYSDBA 0
-84 SYSOPER 0
查看密码文件视图,可以得到哪些用户为sysdba,哪些用户为sysoper
SQL> select* from v$pwfile_users;
USERNAME SYSDB SYSOP
------------------------------ ----- -----
SYS TRUE TRUE
SCOTT TRUE FALSE
USER1 FALSE TRUE
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了