oracle 虚拟机复制之后 数据库无法启动

处理ORA-01102错误
现在简单写一下处理过程:

   1、我登陆操作系统

   2、首先我查看数据库状态

      select  * from v$instanc;

   3、查看数据库日志文件

       tail -400 $ORACLE_BASE/admin/orcl/bdump/alert_orcl.log

   4、关闭数据库

        shutdown immediate

   5、启动数据库报错ORA-01102 cannot mount database in EXCLUSIVE mode,找了一下ORA-01102资料

           A、在HA系统中,已经有其他节点启动了实例,将双机共享的资源(如磁盘阵列上的裸设备)占用了;

           B、说明Oracle被异常关闭时,有资源没有被释放,一般有以下几种可能,

                        a、 Oracle的共享内存段或信号量没有被释放;

                        b、 Oracle的后台进程(如SMON、PMON、DBWn等)没有被关闭;

                        c、 用于锁内存的文件lk<sid>和sgadef<sid>.dbf文件没有被删除。

     遇到c的情况,我删除了$ORACLE_HOME/dbs/下的lk开头文件(其实b种情况也出现了。后来才意识到)

   6、关闭数据库

   7、启动数据库报ORA-00202 控制文件被占用

   8、关闭数据库

   9、再次删除了$ORACLE_HOME/dbs/下的lk开头文件

   10、切换到root用户下查看oracle的后台进程都再运行,ORA-01102 错误的b中情况也出现了,强行kill -9  (ora_lgwr_orcl的进程号)

   11、启动数据,正常

   12、做个一个数据库全备

   13、检查数据库用户状态,切换数据库用户   conn  用户/密码,提示用户已经被锁定。

   解锁 : alter user 用户名 account unlock;

至此问题处理完毕。应用正常运行。

总结:

   反复使用错误的密码尝试连接数据库,超过了数据库默认的10次的尝试次数,用户被锁定,加上数据库异常关闭,不排除有人恶意操作数据库。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章