sqlplus / as sysdba无法登陆

文章讨论了在Oracle数据库中遇到sysdba权限相关的问题,包括sqlnet.ora文件的认证服务配置、客户端版本影响、ORACLE_HOME环境变量的影响以及root用户使用sysdba权限时的障碍。解决方案涉及注释或修改sqlnet.ora文件,确保用户属于正确的操作系统组,以及在必要时调整root用户的主组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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级

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值