浅论oracle登录方式

一、Oracle登陆认证管理有两种方式:

1、  操作系统认证方式

2、  口令认证

二、操作系统认证概述及实现方式

1、热身小实验

SQL> --首先我们关闭数据库

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> --下面我们使用sys看看能否登录

SQL> conn /as sysdba

已连接到空闲例程。

SQL> show user

USER "SYS"

SQL> --其实目前我们就是在操作系统登录模式下实现的登录,后面我们在详细论述操作系统登录模式的实现方法

SQL> --我们再来试验一下,我们随便使用一个oracle不存在的用户登录

SQL> conn xiaoming /as sysdba

已连接到空闲例程。

SQL> show user

USER "SYS"

SQL> --通过上面的例子我们可以看出,在操作系统验证登录模式下,任何一个用户都可以使用sysdba的身份登录Oracle,但实际用户还是sys

 

2Windows操作系统下如何实现使用操作系统登录模式

首先在Windows环境下安装Oracle数据库的时候,请使用administrator用户登录操作系统进行操作;

我们需要在$oracle_homeoracle安装主目录下)的\NETWORK\ADMIN目录下找到sqlnet.ora的文件,例如我本机的路径是:

E:\app\neusoft\product\11.2.0\dbhome_1\NETWORK\ADMIN\sqlnet.ora

 

该文件的内容摘要如下:

# sqlnet.oraNetwork Configuration File:E:\app\neusoft\product\11.2.0\dbhome_1\network\admin\sqlnet.ora

#Generated by Oracle configuration tools.

 

# Thisfile is actually generated by netca. But if customers choose to

# install"Software Only", this file wont exist and without the native

#authentication, they will not be able to connect to the database on NT.

 

  1. AUTHENTICATION_SERVICES= (NTS)

 

  1. DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

内容中#代表注释的含义,注释的翻译是

Sqlnet.ora的配置路径是:E:\app\neusoft\product\11.2.0\dbhome_1\network\admin\sqlnet.ora

这个文件是由配置工具自动生成的

这个文件实际是由netcaNetConfiguration Assistant)生成。但用户在安装时如果选择“仅安装数据库软件”,则这个文件就不会产生

如果想用操作系统验证方式实现登录oracle,则需要做如下设置:SQLNET.AUTHENTICATION_SERVICES= (NTS)

REMOTE_LOGIN_PASSWORDFILE=NONEremote_login_passwordfile翻译就是远程登录密码文件,这个参数默认值是exclusive,即排他、独占;

设置语句:SQL> alter system set remote_login_passwordfile=none scope=spfile

需要制定范围是spfile,语句提交完成后需要重启数据库实例才能生效。

 

3unix操作系统下如何实现使用操作系统登录模式

首先sqlnet.ora文件中将SQLNET.AUTHENTICATION_SERVICES=(beq),说明如果这个文件不存在,可以手工创建。

                                其次和windows操作系统一样,使用SQL>alter system set remote_login_passwordfile=none scope=spfile;语句,将remote_login_passwordfile设置成none

三、口令认证概述及实现方式

1、首先sqlnet.ora文件中修改SQLNET.AUTHENTICATION_SERVICES=(none)

2sqlplus中执行showparameter remote_login_passwordfile,查看值是否是EXCLUSIVESHARED

3、如果参数remote_login_passwordfile的值为空或NONE,则需要使用语句SQL>alter system set remote_login_passwordfile=EXCLUSIVE scope=spfile; 重启实例生效;

4、使用owdpwd命令语句生成密码文件,其中file要求为安装数据库主目录($oracle_home)下的database文件夹,文件名如果实在unix操作系统环境下则必须以orapw开头+数据库实例名,

如果操作系统为windows环境下,则应该为PWD+数据库实例名.orapasswordsys用户指定的登录密码,entries为选填项,指拥有sysdba/sysoper权限的用户的最大数量;

格式举例如下:

 orapwd file=E:\app\neusoft\product\11.2.0\dbhome_1\database\orapworclpassword=neusoft entries=5;

5、检查v$pwfile_users视图查看数据库中拥有SYSDBA/SYSOPER权限的用户列表;

6、我们可以使用授权语句将sysdbasysoper权限赋给任意指定用户:

       GRANT sysdba,sysoper TO system;

     SELECT* FROM V$PWFILE_USERS;

 


本文出自 “oralce学习之路” 博客,请务必保留此出处http://dushuai.blog.51cto.com/9461011/1599022

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。