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级