You want the user APP_DBA to administer the Oracle database from a remote machine. APP_DBA is granted the SYSDBA privilege to perform administrative tasks on the database. Which file is used by the Oracle database server to authenticate APP_DBA? A) control file B) password file C) listener controller file D) control file and password file
Answer: B Oracle特权用户认证有两种,一种是OS认证,一种是口令文件认证。Oracle数据库究竟使用OS认证 还是口令文件认证来进行管理取决于下面三个因素: 1.sqlnet.ora文件中的参数SQLNET.AUTHENTICATION_SERVICES设置 2.pfile(spfile)参数文件中的参数REMOTE_LOGIN_PASSWORDFILE设置 3.口令文件orapw$SID(Linux)|PWD$SID.ora(Windows) Oracle权限认证顺序是这样的,先由SQLNET.AUTHENTICATION_SERVICES的设置来决定是使用OS认证 还是口令文件认证,如果是口令文件认证就要看后两个条件了:如果REMOTE_LOGIN_PASSWORDFILE 参数设置为非NONE而且口令文件存在的恶化就能正常使用口令文件认证,否则将会失败。 SQLNET.AUTHENTICATION_SERVICES参数 1)SQLNET.AUTHENTICATION_SERVICES=(ALL) 对Linux支持OS认证和口令文件认证。 对Windows系统,不支持此参数。 2)SQLNET.AUTHENTICATION_SERVICES=(NTS) 此设置仅限于Windows NT系统,此设置同时支持OS认证和口令文件认证,只有在设置了(NTS)值之后运行在Windows操作系统上的Oracle才支持OS认证。 3)SQLNET.AUTHENTICATION_SERVICES=(NONE) 此设置在Windows和Linux下作用一样,指定Oracle只使用口令文件认证。 4)不设置此参数 对Linux操作系统,默认支持OS认证和口令文件认证。 对Windows操作系统,默认只支持口令文件认证,不支持OS认证。 REMOTE_LOGIN_PASSWORDFILE 1)NONE 不使用口令文件 2)EXCLUSIVE 使用口令文件,但只有一个数据库实例可以使用 3)SHARED 多个数据库实例共用一个口令文件,这种设置下是不能增加其他数据库用户作为特权用户到口令文件中的 远程以管理员身份登录数据库,只能使用口令文件。
|