天天看点

[Oracle概念]密码文件

Oracle概念这个主题对一些常见的概念进行说明.

如无特殊说明数据库版本为11.2.0.4

Oracle密码文件

Oracle密码文件用于用户远程管理数据库验证

我们可以通过将普通用户加入到密码文件中,使他们可以使用sysdba或sysoper的权限来管理数据库

使用ORAPWD命令创建

语法如下:

ORAPWD FILE=filename [ENTRIES=numusers]    [FORCE={Y|N}] [IGNORECASE={Y|N}] [NOSYSDBA={Y|N}]           

复制

参数解释

  1. FILE
    • 密码文件的文件名,需建立在$ORACLE_HOME/dbs中
    • 该参数是必选的
  2. ENTRIES
    • 指定该密码文件最多可加入多少sysdba或sysoper权限用户
    • ENTRIES可以通过添加和删除用户重用
    • 如需添加用户sysdba等权限,该参数必选
  3. FORCE
    • 指定为Y表示可以覆盖已存在的文件,默认为N
  4. IGNORECASE
    • 设定为Y表示不区分大小写,默认为N
  5. NOSYSDBA
    • 用于 Data Vault installations

例句:

orapwd FILE=orapworcl ENTRIES=30           

复制

设定REMOTE_LOGIN_ PASSWORDFILE参数

alter system set REMOTE_LOGIN_ PASSWORDFILE=exclusive scope=spfile;           

复制

具体可参见如下链接:

REMOTE_LOGIN_PASSWORDFILE

添加用户至密码文件

以下演示如何将普通用户添加至密码文件

  1. 新建密码文件
  2. 设置REMOTE_LOGIN_PASSWORDFILE参数为EXCLUSIVE
  3. 以sys用户登入数据库
CONNECT SYS AS SYSDBA           

复制

  1. 赋予或解除权限给普通用户

    注意这里是sysdba而不是dba

GRANT SYSDBA TO oe;GRANT SYSOPER TO oe;REVOKE SYSDBA FROM oe;REVOKE SYSOPER TO oe;           

复制

注意:

  1. 不可使用WITH ADMIN OPTION 语句来赋权
  2. 不能赋予sysdba/sysoper给角色

查看密码文件配置

select * from V$PWFILE_USERS;           

复制

[Oracle概念]密码文件

可以看到SYS用户默认是在密码文件中的

维护密码文件

如发现用户超过了限制,可删除密码文件重新添加

参考连接

https://docs.oracle.com/cd/B28359_01/server.111/b28310/dba007.htm#ADMIN1105