Oracle密码文件
Oracle密码文件用于用户远程管理数据库验证
我们可以通过将普通用户加入到密码文件中,使他们可以使用sysdba或sysoper的权限来管理数据库
使用ORAPWD命令创建
语法如下:
ORAPWD FILE=filename [ENTRIES=numusers] [FORCE={Y|N}] [IGNORECASE={Y|N}] [NOSYSDBA={Y|N}]
参数解释
FILE :密码文件的文件名,需建立在$ORACLE_HOME/dbs中
该参数是必选的
ENTRIES:
指定该密码文件最多可加入多少sysdba或sysoper权限用户
ENTRIES可以通过添加和删除用户重用
如需添加用户sysdba等权限,该参数必选
FORCE:指定为Y表示可以覆盖已存在的文件,默认为N
IGNORECASE:设定为Y表示不区分大小写,默认为N
NOSYSDBA:用于 Data Vault installations
例句:
orapwd FILE=orapworcl ENTRIES=30
设定REMOTE_LOGIN_ PASSWORDFILE参数
alter system set REMOTE_LOGIN_ PASSWORDFILE=exclusive scope=spfile;
添加用户至密码文件
以下演示如何将普通用户添加至密码文件
新建密码文件
设置REMOTE_LOGIN_PASSWORDFILE参数为EXCLUSIVE
以sys用户登入数据库
CONNECT SYS AS SYSDBA
赋予或解除权限给普通用户
注意这里是sysdba而不是dba
GRANT SYSDBA TO fly;
GRANT SYSOPER TO fly;REVOKE SYSDBA FROM fly;
REVOKE SYSOPER TO fly;
注意:
不可使用WITH ADMIN OPTION 语句来赋权
不能赋予sysdba/sysoper给角色
查看密码文件配置
select * from V$PWFILE_USERS;
可以看到SYS用户默认是在密码文件中的
维护密码文件
如发现用户超过了限制,可删除密码文件重新添加