为了安全起见,有些时候需要禁用sysdba远程登录,本地可以登录,搜了一下网上的资料,操作如下:

alter system set remote_login_passwordfile=none scope=spfile sid='*'; --需重启数据库

vi $ORACLE_HOME/network/admin/sqlnet.ora

#添加如下记录

SQLNET.AUTHENTICATION_SERVICES=(NTS)


然后lsnrctl reload


但是这样会有一个问题,数据库重启之后,本地登录,sys用户startup数据库,提示没有权限

SQL> startup

ORA-01031: insufficient privileges


解决方法:

将$ORACLE_HOME/network/admin/sqlnet.ora的SQLNET.AUTHENTICATION_SERVICES=(NTS)记录去掉,lsnrctl reload后就可以了。


所以要禁用sysdba远程登录,本地可以登录,且重启数据库后,不影响startup,只需要

alter system set remote_login_passwordfile=none scope=spfile sid='*';