讲解Oracle数据库的sysdba权限登录问题
sysdba权限的登录测试:数据库用sysdba登录的验证有两种方式,一种是通过os认证,一种是通过密码文件验证;登录方式有两种,一种是在数据库主机直接登录(用os认证的方式),一种是通过网络远程登录;需要设置的参数有两个,一个是SQLNET.AUTHENTICATION_SERVICES,一个是REMOTE_LOGIN_PASSWORDFILE。 9dG5Wv1|A
os认证:假如启用了os认证,以sysdba登录,那么只需要使用oracle软件的安装用户就能登录:sqlplus “/ as sysdba”。如果我们要禁用os认证,只利用密码文件登录,我们首先要有一个密码文件: %^6`c:^d-Ren'S#G]
%n3L@4r6^
D:\oracle\ora92\database>orapwd file=PWDoralocal.ora password=mypassword entries=10;
b"d?6yPj
D:\oracle\ora92\database> /o_uRp&N#W
然后我们要把$ORACLE_HOME/network/admin/sqlnet.ora中设置: k"bk d T!ZaG
SQLNET.AUTHENTICATION_SERVICES= none &P$x f6Nd"U/mH#d
大家需要注意,密码文件只在数据库启动的时候加载进去,一旦加载进去,密码文件就脱离了oracle管理,所以在你使用orapwd新建密码文件后,里面指定的密码需要在数据重启后才能发生作用:
KO4iV1~ Px[`1q ~+B
D:\oracle\ora92\database>sqlplus "sys/mypassword as sysdba"
)H$nC[Oc4J*t
SQL*Plus: Release 9.2.0.1.0 - Production on Fri May 16 21:59:42 2008 ;{*F'v4o1@N:O+Q.j
j6@I-I(N2[
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. LH6MX%B b
ERROR:
,s7|#jm&Z(uf
ORA-01031: insufficient privileges
Enter user-name:
_u,\+d6ZJ)Sm
ERROR: