zoukankan      html  css  js  c++  java
  • oracle中所有存在不存在的用户都可以使用dba连接到数据库

    oracle中所有存在不存在的用户都可以使用dba连接到数据库及解决方式

    以前一直使用conn /as sysdba连接数据库,不明白里面的意思。今天无意中使用其他的用户名密码连接到dba竟然也可以(例如conn aaa/bbb sysdba).oracle只要是sysdba没有验证你的账户名和密码。是因为oracle设置了使用操作系统本地验证。也就是说你只要设置当前的用户隶属于ora_dba组,那么该用户则可以连接到dba,不验证其用户密码。

    解决方案:

    1.设置用户不属于ora_dba这个用户组

    2.修改oracle目录下的sqlnet.ora文件

      SQLNET.AUTHENTICATION_SERVICES= (NTS)          基于操作系统验证,
      SQLNET.AUTHENTICATION_SERVICES= (NONE)        基于Oracle密码文件验证
      SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)  二者并存

      window:

      设置oracle中的sqlnet.ora文件的SQLNET.AUTHENTICATION_SERVICES值为NONE即可

      linux

      在linux下的oracle是没有这个SQLNET.AUTHENTICATION_SERVICES参数设置的,默认为操作系统验证和Oracle密码验证并存,加上SQLNET.AUTHENTICATION_SERVICES这个参数后,不管是设置为NONE还是NTS还是(NONE,NTS),都是基于Oracle密码验证。

  • 相关阅读:
    数据预处理 --Sklearn preprocessing的理解
    平衡二叉树的插入旋转
    二叉树
    malloc/free 与 new/delete的区别
    C/C++ const总结
    C/C++ static总结
    C++未定义行为
    c++虚函数表
    visual studio mfc中 cout 输出
    ERROR C4996 UNSAFE
  • 原文地址:https://www.cnblogs.com/gavinYang/p/3780163.html
Copyright © 2011-2022 走看看