总有初学者问这个问题为什么Oracle 不要密码也可以进入。

  其实这就是Oracle设计的精巧之处。

 一.直接通过 sqlplus / as sysdba  方式登录。

  当我们安装了Oracle 之后,直接通过sql / as sysdba,就直接可以登录Oracle,即使设置了SYS用户的密码,完全没有效果。请注意该中情况只有在

  用户已经登入OS ,完成了OS认证的情况下有效,如果通过 i sqlplus 是无法登录。而且以

  

View Code

1  sqlplus  sys123/123 as sysdba; --sys123这个用户,123这个密码都不存在。2 sqlplus  / as sysdba;  --

  这两种可以正常登录。是不是由于Oracle 的认证失效了?不是。

  此时oracle 采用的默认 认证方式。即OS认证方式。

  我们如果是NT,平台,可以在用户组中找到,oracle_dba这个用户组,而且当前用户正在这个这个组中。 说明用户通过OS的认证方式,即也通过Orcle默认的认证方式。

  问题:一般OS管理人员,和 Oracle DBA 是由不同的团队组成的。这样如果OS 管理人员如果 对Oracle稍有了解的话,就可直接登录Oracle,而且是最高权限。存在很大的安全隐患。

  解决办法:

  1.从OS中将 oracle_dba这个用户组删除掉,或者将当前用户从改组中删除。这样Oracle 的OS认证无法通过。

  2.取消Oracle 的 OS 认证方式。

  在sqlnet.ora文件中有一个设置选项

  SQLNET.AUTHENTICATION_SERVIES  其有两个值

  SQLNET.AUTHENTICATION_SERVIES=(NTS)  --启用OS 认证模式

  SQLNET.AUTHENTICATION_SERVIES=(NONE)-- 关闭OS 认证模式

关闭之后,通过 sqlplus / as sysdba;再也无法登录进系统。

  二. 通过  sqlplus sys/oracle 方式登录可以通过,。而通过sqlplus sysdba/oracle 无法通过

  首先区别DBA和 SYSDBA角色

  dba是一种role角色,对应的是对Oracle实例里系统的操作权限的集合,是实实在在存在在Oracle里的物理对象而

  sysdba是概念上的role,是一种登录认证时的身份标识而已,在OS认证时用到。

  

系统中只有dba权限。Sysdba权限是没有的。

--DBA具有的权限

select * from DBA_ROLES where role like 'DBA';

得到结果是具有DBA角色的用户,刚安装的会有sys用户,sys用户是数据库的拥有者,可以授予其他用户DBA角色。

--sysdba的权限

select * from DBA_ROLES where role like ‘SYSDBA';

得到结果为空,因为SYSDBA这个角色根本不存在。

--查看那些对象有dba权限

Select * from dba_role_privs where granted_role like 'DBA';

Select * from dba_role_privs where granted_role like 'SYSDBA';

--查看那些用户有sysdba权限是通过 v$pwfile_users

Select * from v$pwfile_users;

 得到的结果是具有DBA角色的用户。

  所有,具有DBA角色的用户,通过口令文件认证的。是将密码通过加密后存入密码文件中。

  问题: 如果密码忘记了怎么办?

  先将口令文件删除,然后重建。

  

转载于:https://www.cnblogs.com/jerryxing/archive/2012/04/08/2437986.html

一个初学者困惑的Oracle的认证问题相关推荐

  1. 怎样才能把一个代码变成软件成品?一个初学者的困惑,我们写的代码都只能是解决一些数学问题而已。怎么把它变成一个软件。

    小弟疑惑... 怎样才能把一个代码变成软件成品?一个初学者的困惑,我们写的代码都只能是解决一些数学问题而已.怎么把它变成一个软件. 大神月... 对于您这个问题,当初也是我的好奇之处啊!其实你学好一门 ...

  2. oce专项认证 oracle_官方解密Oracle 数据库认证

    原标题:官方解密Oracle 数据库认证 您最近是否曾被困在Oracle认证的重重迷宫中? 如果是的话,您一定也曾对此感到头昏脑胀.因为各个技术层面上都有太多的产品面向广泛并且多样化的用户,您很难知道 ...

  3. oracle密码文件认证,Oracle OS认证与口令文件认证详解

    特殊权限与Oracle登陆认证管理 在开始学Oracle的时候有件事一直让我感觉很奇怪,就是为什么在数据没有起来的时候只要登录到安装Oracle的操作系统中直接用sqlplus / as sysdba ...

  4. oracle java认证_如何通过Oracle的Java认证-开发人员实用指南

    oracle java认证 by javinpaul 由javinpaul 如何通过Oracle的Java认证-开发人员实用指南 (How to Pass Oracle's Java Certific ...

  5. Oracle OCM 认证指南

    OCM考试全称为Oracle Certified Master(Oracle认证大师),是在OCA(Oracle认证专员Oracle Certified Associate).OCP(Oracle认证 ...

  6. oracle认证都需要考哪几个方面,Oracle OCP认证要通过哪些考试

    Oracle OCP认证要通过哪些考试 Oracle OCP DBA认证是所有Oracle认证中最普及的一种认证,这一认证过程是专为那些想要从事Oracle管理的专业数据库管理人员设计的,适用于Ora ...

  7. 有oracle操作系统,Oracle操作系统认证方式

    oracle操作系统认证方式 linux下只需要在sqlnet.ora文件中添加: SQLNET.AUTHENTICATION_SERVICES = (NTS) 就禁止了操作系统认证的登陆方式.如果使 ...

  8. oracle OCP认证

    暨南大学Oracle培训中心长期以来从甲骨文(Oracle)教学中不断探索Oracle先进技术,并成立甲骨文(Oracle)北京中心研究室专门研究Oracle数据库,重金OCM大师级金牌讲师,已经培训 ...

  9. oracle SQL认证考试,sql认证(sql server认证考试)

    1.Windows 身份复验证模式 当用户通过 Microsoft Windows 用户帐户进行连接时,SQL Server 使用 Windows 操作系统中的信息验证帐户名和密码.这是默认的身份验证 ...

最新文章

  1. 使用JAX-RS创建RESTful Web Service
  2. (JAVA学习笔记) 关于类的封装
  3. 关于系统用户数,并发用户数,在线用户数,吞吐量
  4. POJ 1904 King's Quest(强连通图)题解
  5. C# new和override的区别和用途
  6. 利用xlwt写excel并进行单元格的合并
  7. MySQL分区表概述
  8. Kafka中的配置项参数unclean.leader.election.enable
  9. IE9相比IE8丢失了什么?
  10. leetcode —— 字符串相关(28、344)
  11. Ansible详解(十六)——Ansible配合Redis
  12. hadoop streaming 按字段排序与输出分割详解
  13. 互联网晚报 | 12月5日 星期日 | 饿了么启用AI技术研发新菜品;搜狐将布局知识直播;《英雄联盟手游》获选苹果年度游戏...
  14. 计算机上word如何批量打印,两种批量打印多个word文档的方式
  15. oracle返回工作日的函数,oracle计算一个日期加上指定工作日(排除周六周日和一系列节假日)时间...
  16. btrfs和ntfs linux5,如何选择文件系统EXT4、Btrfs 和 XFS
  17. python爬取微信好友头像_使用python itchat包爬取微信好友头像形成矩形头像集的方法...
  18. oracle 物料属性批次过期,系列之五:ORACLE EBS 系统主数据管理(C)
  19. electron-builder打包过程中报错——网络下载篇
  20. php 生成8位数唯一的激活码

热门文章

  1. tomcat向weblogic移植需要注意的问题
  2. 使用vbscript脚本调用web服务
  3. 当你真的去买菜的时候,你就知道为什么奶奶姥姥对于价格那么敏感,为什么喜欢打折?
  4. Spring Boot(04)——创建自己的自动配置
  5. maven中spring-boot-dependencies变量名冲突
  6. 多线程经典问题之多窗口卖票
  7. SubSonic3.0.0.4.3源码包与调用Dll
  8. 服务注册发现consul之五:Consul移除失效服务的正确姿势
  9. Step by Step Setup Git Server on Windows with CopSSH + msysGit and Integrate Git with Visual Studio
  10. 【开发技术】java中代码检查checkStyle结果分析