欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oraclesysdba与sysoper的认证方式

程序员文章站 2022-05-25 18:35:03
...

1.ORACLE有两种方式可以认证sysdba/sysoper用户: 1).操作系统级认证:即登录到oracle数据库主机,使用如下用户登录后,可以直接使用sqlplus / as sysdba登录:在linux/unix下隶属于dba权限组(linux/unix)的用户,在windows下隶属于ORA_DBA组的用户; 2).

1.ORACLE有两种方式可以认证sysdba/sysoper用户:

1).操作系统级认证:即登录到oracle数据库主机,使用如下用户登录后,可以直接使用sqlplus / as sysdba登录:在linux/unix下隶属于dba权限组(linux/unix)的用户,在windows下隶属于ORA_DBA组的用户;

2).远程认证:口令文件认证,即在任何主机都可以使用sqlplus sys/xxx@sid登录。

2.两种方式有各自的开关:

1).操作系统级认证的开关:sqlnet.ora中AUTHENTICATION_SERVICES,当SQLNET.AUTHENTICATION_SERVICES=NTS,NTS代表NTSecurity时,即采用OS认证;如果为NONE则关闭操作系统级认证,必须采用usr/pwd as sysdba/sysoper 登陆。

2).口令文件认证的开关:spfile/pfile中remote_login_passwordfile参数:

remote_login_passwordfile = EXCLUSIVE,则一个实例专用;

remote_login_passwordfile = SHARE则可以多个实例共享(用于OPS/RAC环境);

remote_login_passwordfile = NONE则不启用口令文件,此时任何sysdba/sysoper都无法连接进来。

remote_login_passwordfile = shared:More than one database canuse a password file. However, the only user recognized by the password file isSYS.

OS级认证是优先于口令文件认证的。这两个认证方式可以同时打开、同时关闭或者只开一个,图示如下:

Oraclesysdba与sysoper的认证方式

3.口令文件:

1).口令文件的生成与重建

orapwd file=filename password=password entries=max_users

filename: Name of the password file(mandatory)

password: The password forSYSOPERand SYSDBA (mandatory)

entries: The maximum number ofdistinct users allowed to connect as SYSDBAor

SYSOPER. If you exceed this number,you must create a new password file. It is safer to have a larger number. Thereare no spaces around the equal-to (=) character.

windows下密码文件默认的位置是ora92/database目录,默认的文件名是pwdSID.ora,linux下oracle默认的位置是$ORACLE_HOME/dbs目录,默认的文件名是orapwSID,对于别的文件名是不认的。

2).密码文件用户的维护与查询

执行grant sysdba/sysoper to 用户 ,oracle会自动在口令文件中增加一个条目,并且把密码copy过来。

select * fromv$pwfile_users可以查看口令文件

例如:

SQL> grant sysdbato scott;

Grant succeeded

SQL> select * fromv$pwfile_users;

USERNAME SYSDBA SYSOPER SYSASM

------------------------------------ ------- ------

SYS TRUE TRUE FALSE

SCOTT TRUE FALSE FALSE