oracle 版本 11.2.0.4.0
最近遇到报错,用plsql登录oracle数据库,总是报错ORA-12505 :TNS:监听程序当前无法识别连接描述符中所给出的SID,最初怀疑监听文件没配置好,检查了半天也没结果,用sqlplus也连接步上数据库。
最后用sqlplus / as sysdba,连接数据库,发现无法输入任何命令都报错,最后启动数据库,报错
ORA-01092
ORA-00704
ORA-00600 internal error code,arguments:[16703],[1403],[20],[],[]……
最后查到一篇文章,发现是下面文件中(oracle安装目录下)被注入如下代码:
这段代码是一个触发器,判断逻辑是等于300天,执行一次此代码。备份然后删除文件$tab,最后数据库无法启动,报如上错误。
解决办法可以恢复,但是本人不会,最终因为有备份的数据库dmp文件,所以就新建了一个数据库实例,然后创建用户,表空间,并授权。导入文件解决。
怎么新建实例各位可以百度了……
注:window系统数据库,监听的停止和启动最好在doc命令窗口操作,可以看到详细报错情况