Oracle的连接和验证方式

来源:互联网 发布:软件系统的定义 编辑:程序博客网 时间:2024/05/16 11:47

Oracle的连接和验证方式

连接权限
要连接oracle数据库的用户必须有create session系统权限或CONNECT角色。

连接方式
1. 本地连接
$ sqlplus user/password

2. 远程连接,service即tnsnames.ora中配置的服务
$ sqlplus user/password@service

SQL*PLUS连接方法
1. $ sqlplus "user/password[@service] [as sysdba]"
2. $ sqlplus /nolog
SQL> conn user/password[@service] [as sysdba]

连接oracle实例时的验证方式

对于sysdba和sysoper来说,验证方式为:
1. 口令文件验证,必须要有口令文件
2. 操作系统验证,用户必须为dba组

对于普通数据库用户(口令文件中没有的用户)来说,验证方式为:
1. 数据字典验证,数据库为open状态
2. 操作系统验证,操作系统用户为对应的数据库externally认证用户。由于不能将sysdba或sysoper权限赋予使用externally认证的oracle数据库用户,所以也要求数据库为open状态。

验证相关配置和参数
1. sqlnet.ora的配置
参数SQLNET.AUTHENTICATION_SERVICES,设置为none时为口令文件验证,设置为all支持所有验证方式,设置为nts支持Windows NT操作系统认证。
删除这个参数时,Windows下为口令文件认证,Unix/Linux下为操作系统认证。

2. 参数remote_login_passwordfile
remote_login_passwordfile设置为none时,为操作系统验证,设置为shared或exclusive时为口令文件验证。在oracle 10g中,设置为shared或exclusive时,都会按照orapwSID、orapw的顺序查找口令文件,即优先使用orapwSID文件。但设置为shared时无法修改口令文件中的密码,会报错。
ORA-01999: password file cannot be updated in SHARED mode

口令文件与sysdba
1. 口令文件默认路径为$ORACLE_HOME/dbs,文件名为orapwSID,二进制文件,修改将导致文件无效。
2. 若口令文件丢失,可以使用orapwd命令新建,参数指定口令文件的路径,密码,允许作为sysdba或sysoper连接的不同用户的最大数目。如果超过该值,则必须创建一个新的口令文件。口令文件默认只有一个用户SYS。
3. 使用SYS用户赋予其他oracle数据库用户sysdba或sysoper权限,其实是将该数据库用户的用户名和密码添加到口令文件中。
5. DBA角色不拥有sysdba和sysoper权限。
4. 不能将sysdba或sysoper权限赋予角色,也不能赋予使用externally认证的oracle数据库用户。
6. SYS用户只能以sysdba或sysoper登陆。
7. 默认情况下SYSTEM用户拥有DBA角色,但是没有sysdba和sysoper权限。