Oracle概念这个主题对一些常见的概念进行说明.
如无特殊说明数据库版本为11.2.0.4
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
添加用户至密码文件
以下演示如何将普通用户添加至密码文件
- 新建密码文件
- 设置REMOTE_LOGIN_PASSWORDFILE参数为EXCLUSIVE
- 以sys用户登入数据库
CONNECT SYS AS SYSDBA
复制
-
赋予或解除权限给普通用户
注意这里是sysdba而不是dba
GRANT SYSDBA TO oe;GRANT SYSOPER TO oe;REVOKE SYSDBA FROM oe;REVOKE SYSOPER TO oe;
复制
注意:
- 不可使用WITH ADMIN OPTION 语句来赋权
- 不能赋予sysdba/sysoper给角色
查看密码文件配置
select * from V$PWFILE_USERS;
复制

可以看到SYS用户默认是在密码文件中的
维护密码文件
如发现用户超过了限制,可删除密码文件重新添加
参考连接
https://docs.oracle.com/cd/B28359_01/server.111/b28310/dba007.htm#ADMIN1105