首页 > 数据库技术 > 详细

关于SQLNET.AUTHENTICATION_SERVICES= (NTS) 的解释

时间:2018-06-07 12:30:20      阅读:192      评论:0      收藏:0      [点我收藏+]

原文转自:http://www.360doc.com/content/12/0207/12/3446769_184740592.shtml

 
 
 
标题所代表的意思为 使用操作系统本地验证,一般不用,有安全问题。通常需要改成下面的值:

SQLNET.AUTHENTICATION_SERVICES= (NONE)

 

1. 这样就不允许使用操作系统本地验证了,例如:

 C:\>sqlplus /nolog

 Sqlplus>connect / as sysdba

 error:ORA-01031:  insufficient   privileges

 

2. 如果如此设置:SQLNET.AUTHENTICATION_SERVICES= (NTS)

 则效果如下:

 C:\>sqlplus /nolog

 Sqlplus>connect / as sysdba

 Connected

 

 注:上面的前提要求当前登陆用户必须在ora_dba组里。如下图所示:  

 技术分享图片

 

 

3. Oracle Client中, SQLNET.ORA文件是在配置了本地命名方式后才产生的,注意不是配置网络服务名.

 Net configuration assistant-->第二个   本地命名方法--->本地

 

4. 如果当前系统存在多个实例,则连接时会连到哪一个实例呢?

 检查注册表:HKEY_LOCAL_MACHINE / SOFTWARE / ORACLE / HOMEO 的相关内容,发现缺少 ORALCE_SID 项
 经过试验:
    如果数据库有两个以上的实例,使用DBCA删除一个实例后,
   系统会将注册表的ORACLE_SID项也删除掉,从而导致了执行connenct / as sysdba失败.
    将相关的 ORALCE_SID 项添加入注册表后,执行
 SQL> conn /@orcldb as sysdba (同connect /@orcldb as sysdba)
 已连接。

 

5. 断开当前连接

 Sqlplus>disconn

 

6. 查询当前使用的数据库实例

 Sqlplus>select name from V$database;

 NAME

 -----------------------------------

 ORCLDB

 注意:

 v$xxxx都是‘动态性能视图‘的名字,或者称为Oracle数字字典视图。

 

 V$开头的一般都是DBA用户使用的,普通用户想使用,要用grant select any dictionary to来赋予查询数据字典的权限

关于SQLNET.AUTHENTICATION_SERVICES= (NTS) 的解释

原文:https://www.cnblogs.com/showonce/p/9149523.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!