首先查看 $ORACLE_HOME/network/admin/sqlnet.ora文件
确认SQLNET.AUTHENTICATION_SERVICES = (NTS)或者SQLNET. AUTHENTICATION_SERVICES没设置

SQLNET. AUTHENTICATION_SERVICES=ALL会报错
ORA-12641: Authentication service failed to initialize

2.确认oracle密码文件是否存在

注意区分大小写 ,密码文件格式为 orapw+SID ,linux系统下没有后缀
如果不存在则创建密码文件
orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracle force=y
3.查看静态监听注册的SID是否正确 (sid区分大小写)

sid_name=orcl (注意这里区分大小写,我就是卡在这,疏忽了.折腾一天)
4.进入数据库验证

如果密码文件有问题则会报错
ORA-01994: GRANT failed: password file missing or disabled
重新检查下密码文件格式是否正确
查询密码文件权限是否正确

总结 : 注意 所有用到sid的参数配置都需要注意区分大小写
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31440090/viewspace-2715667/ ,如需转载,请注明出处,否则将追究法律责任。