sqlplus / as sysdba无法登陆

dba你快用你无敌sysdba登陆数据库!

导言:as sysdba属于特殊的数据库权限,使用的是系统认证,sqlplus sys/pass@tns as sysdba用的才是你的密码文件中的设置

#认证设置问题

配置在sqlnet.ora文件

在linux下

#sqlnet.authentication_services=(beq, kerberos5)

需要注释该行

在windows

sqlnet.authentication_services=(NTS)

需要设置为NTS,受windows的系统用户、域用户影响,改密码会失效,重启恢复

#使用的client问题

在windows上很常见,装了一个server,一个client。sqlplus默认使用client导致无法登陆

#ORACLE_HOME来自拷贝的情况

cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/lib

cat config.c

config.s

[oracle@NZXPVL-JGBX-D01 lib]$ cat config.c 

/*  SS_DBA_GRP defines the UNIX group ID for sqldba adminstrative access.  */
/*  Refer to the Installation and User's Guide for further information.  */

/* IMPORTANT: this file needs to be in sync with
              rdbms/src/server/osds/config.c, specifically regarding the
              number of elements in the ss_dba_grp array.
 */

#define SS_DBA_GRP "dba"
#define SS_OPER_GRP "oinstall"
#define SS_ASM_GRP ""


char *ss_dba_grp[] = {SS_DBA_GRP, SS_OPER_GRP, SS_ASM_GRP};  

系统认证的组为SS_OPER_GRP,你要保证oracle用户有该组

修改组的话,需要做relink

#root无法是用sysdba的情况

root用户的默认组影响了本地认证的免密识别登陆
deamon组会影响getuid错误,可以使用strace来确认,关注函数getuid

另可以使用
newgrp dba
临时修改root的主组,然后登陆,该修改session级

sqlplus / as sysdba无法登陆_第1张图片

 

你可能感兴趣的:(数据库,oracle)