标题所代表的意思为 使用操作系统本地验证,一般不用,有安全问题。通常需要改成下面的值:
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
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来赋予查询数据字典的权限