接到同事求助之后,我第一时间登陆了数据库。用普通用户登陆没有问题,但是查询的时候很慢。查询一张2000条左右的数据表用时4秒。然后我用sysdba登陆时发现系统验证通不过。仔细的问了一下,同事说就只改了时效之后数据库就变慢了。之前都是好好的。先一个个的解决问题吧!
服务器输入:sqlplus / as sysdba 或者 sqlplus sys/****@benji as sysdba时报错,协议适配器错误。
此时内心十分纳闷。据同事说,这个数据库是有个用户过了180天失效期,改完之后发现登陆不上此用户。最糟糕的是sys跟system的密码都忘记了。接到此电话时,我觉得肯定是小菜一碟...谁知确耗费了近两个小时才解决这个问题。且听我细细道来。
cmd中输入set oracle_id=orcl,sqlplus / as sysdba;报错协议适配器错误 本机登陆验证失败?肯定是sqlnet.ora的问题。进入一下路径找到sqlnet.ora
看到 sqlnet.authentication_service= (TNS)
这时候自己内心十分奇怪,仔细思考问题。
sysdba本地系统验证失败两种情况:
sqlnet.ora中sqlnet.authentication_service设置的不对
权限不足
经查证:
权限没有问题。
然后认真看的时候发现装了一个10g的客户端,一个11g的服务器端。且登陆时提示版本号为10.2.01 ,找到问题了。
环境变量的问题,设置一下计算机的环境变量。
给位置调换一下之后即可。cmd中直接输入sqlplus / as sysdba;即能登陆上。
alter user sys identified by oracle;
alter user system identified by oracle;
alter user ccense identified by oracle;
alter profile default limit password_life_time unlimited;
注:生产环境是不建议这么设置的,为安全数据库的密码是需要不定时的更改的,时效是不建议设置为永久的。----数据库默认的密码时效为180天 。可以改时效时间:alter profile default limit password_life_time 360;将数据库时效时间改为360天。
喜欢斌斌的文章可关注一下:
领取专属 10元无门槛券
私享最新 技术干货