ORACLE数据库通过sqlnet.ora文件中的参数sqlnet.authentication_services,参数文件中的remote_login_passwordfile和口令文件pwdsid.ora三者协同作用实现身份认证.
sqlnet.authentication_services=(NTS)|(NONE)
NTS:操作系统认证方式,不使用口令文件;
NONE:口令文件认证方式
remote_login_passwordfile=(NONE)|(EXCLUSIVE)|(SHARED)
NONE:不使用口令文件,操作系统认证;
EXCLUSIVE:口令文件认证方式,但只有一个数据库实例可以使用此文件;
SHARED:口令文件认证方式,可以有多个数据库实例可以使用此文件,但此设置下只有SYS帐号能被识别,即使文件中存在其他用户的信息,也不允许他们以SYSOPER/SYSDBA登录.
(1).sqlnet.authentication_services=(NTS)
同时Remote_login_passwordfile=(NONE),此时为操作系统认证方式.
当以oracle_dba组下的用户登录进入本地的操作系统后,进行以下操作:
sqlplus /nolog
SQL>conn /assysdba
可以以sysdba身份登录成功,进行数据库方面的操作.
当以远程进行登录时,执行:
sqlplus /nolog
SQL>conn /assysdba
则会显示:
ERROR:ORA-01031:insufficient privileges
即不允许以sysdba身份远程登录系统,这也是OS认证这所以称为本地认证方式的原因.
(2).Sqlnet.authentication_services=(NONE),同时
Remote_login_passwordfile=(EXCLUSIVE)|(SHARED),配合口令文件PWDsid.ora,此时为口令文件认证方式:
当在本地以oracle_dba组下的用户登录进入系统时,进行以下操作:
sqlplus /nolog
SQL>conn /assysdba
则会显示:
ERROR:ORA-01031:insufficient privileges
在本地或远程进行下边的操作:
sqlplus /nolog
SQL>conn sys/密码@服务名assysdba
可以进入系统,也就是说口令文件认证方式允许用户从本地或远程以sysdba身份登录,但必须提供口令字.
(3).Sqlnet.authentication_services=(NTS),同时
Remote_login_passwordfile=(EXCLUSIVE)|(SHARED),配合口令文件PWDsid.ora,此时为操作系统认证和口令文件认证同时起作用:
当在本地以oracle_dba组下的用户登录进入操作系统后,进行下边的操作:
sqlplus /nolog
SQL>conn /assysdba
可以进入系统.即操作系统认证方式登录成功.
当在远程执行:
sqlplus /nolog
SQL>conn sys/密码@服务名assysdba
同时可正常登录到数据库系统,即口令文件认证方式登录成功.
附:
要知道以下几种登陆方式不是一种概念
sqlplus /nolog
1: conn /assysdba 本机登陆,使用操作系统认证,有无监听都可以
2: conn sys/password assysdba 本机登陆,使用密码文件认证,有无监听都可以
3: conn sys/password@dbanote assysdba 可以本机可以远程,使用密码文件认证,必须有监听,必须有tnsnames.ora,remote_login_passwordfile必须是EXCLUSIVE
说明:
从oracle的解释可以知道,SQLNET.AUTHENTICATION_SERVICES=(NTS)是WINDOWS系统专用的,对linux/UNIX是不适用的。
最后做一个简单的总结:
1、在windows下,SQLNET.AUTHENTICATION_SERVICES必须设置为NTS或者ALL才能使用OS认证;不设置或者设置为其他任何值都不能使用OS认证。
2、在linux下,在SQLNET.AUTHENTICATION_SERVICES的值设置为ALL,或者不设置的情况下,OS验证才能成功;设置为其他任何值都不能使用OS认证。
分享到:
相关推荐
在Oracle环境中,主要的认证方式包括基于操作系统的认证和基于Oracle的认证,这两种方式可以通过配置sqlnet.ora文件中的SQLNET.AUTHENTICATION_SERVICES参数来切换。 1. **基于操作系统的认证(Operating System ...
1. **OCA** (Oracle Certified Associate):这是获得OCP认证的前提条件,需要通过两门考试才能获得。 2. **OCP** (Oracle Certified Professional):在获得OCA认证之后,需要进一步通过特定的考试和官方培训。 3. **...
- **Extract进程**:有两种类型,即Physical Extract(物理抽取)和Logical Extract(逻辑抽取)。物理抽取记录数据库的DML(插入、更新、删除)操作,逻辑抽取则转换为SQL语句再进行复制。 3. **轨迹文件**: - ...
在Oracle数据库中,远程连接主要有两种认证方式: 1. **操作系统认证**:这种方式适用于本地或同一网络内的系统,通过操作系统的用户账户进行验证。 2. **密码认证**:这种方式适用于跨网络或互联网环境下的远程...
- 主要有排他锁(Exclusive Locks)和共享锁(Shared Locks)两种类型。 **锁的类型:** - 排他锁不允许其他用户读取或修改数据,共享锁允许多个用户同时读取数据但不能修改。 **等待锁与死锁:** - 当两个或多...
根据提供的文件信息,我们可以归纳出以下关于Oracle GoldenGate考试的关键知识点: ...以上是基于题目描述总结的关键知识点,希望能够帮助考生更好地理解和准备Oracle GoldenGate相关的考试内容。
本篇文章将详细解析这两种安装方法。 一、图形化安装 1. 系统准备:首先确保你的Linux系统是Oracle认证的操作系统版本,例如Red Hat Enterprise Linux或Oracle Linux。更新系统到最新补丁,确保所有必要的库和依赖...
通过对Oracle和SQLServer的深入对比,我们可以看出这两种数据库管理系统各有优势,适用于不同的场景。Oracle因其广泛的平台支持和高度可定制性,在大型企业和关键任务系统中占有重要地位;而SQLServer则以其与...
2. **sqlnet.ora文件**:这个文件控制Oracle Net Services的行为,比如认证方式、超时设置等。关键的配置参数有: - **SQLNET.AUTHENTICATION_SERVICES**:定义了身份验证服务,如NTS(Windows集成身份验证)或NONE...
标题《AIX和Oracle DB 12C》和描述《IBM官方AIX操作系统支持Oracle 12C操作系统版本与补丁要求》揭示了两个重要的IT技术领域之间的紧密联系:AIX操作系统和Oracle数据库12C版本。 AIX是IBM开发的一种基于UNIX的商业...
这种方式主要用在那些需要直接调用Oracle数据库API(如Oracle Call Interface and Net8)的应用场景中。在使用该驱动时,Java应用程序需要安装Oracle客户端DLL,并通过这些DLL来提供OCI接口。 2. **JDBC Thin (Thin...
下面列举了两种常见的ODBC连接方式: 1. **使用Microsoft ODBC for Oracle驱动**: ```plaintext Driver={Microsoft ODBC for Oracle};Server=myServerAddress;Uid=myUsername;Pwd=myPassword; ``` - **Driver*...
总结来说,Oracle数据库驱动是Java应用程序与Oracle数据库交互的桥梁,而连接字符串则提供了连接数据库所需的信息。了解并正确配置这两个元素是成功连接和操作Oracle数据库的基础。在实际开发中,还需要关注驱动版本...