zoukankan      html  css  js  c++  java
  • Oracle数据库故障处理方法

    1.启动数据库报错:ORA-01102:cannot mount database in EXCLUSIVE mode

    给客户处理oracle故障,遇到如下报错:

    以sys登录至数据库,执行shutdown immediate; startup;命令报错如下:

    image-20200625084021495

    数据库默认以独占(EXCLUSIVE)方式启动,发生ORA-01102错误可能有如下因素

    (1)在"ORACLE_HOME/dbs"的目录下是否存在sgadef.dbf文件

    (2)在"ORACLE_HOME/dbs"的目录下是否存在文件lk<实体名>

    解决方法

    (1)以oracle用户的身份登录至系统或使用其它身份登录至系统切换至oracle用户

    #xshell方法登录:ssh oracle@IP地址
    #如果是已经使用其它用户登录,请切换至oracle
    [admin@maple ~]$ su - oracle   #如是普通用户登录切换,需要输入oracle的密码
    

    (2)查看数据库有几个实例

    [oracle@maple ~]$ ps -ef|grep lgwr
    

    (3)使用sys登录至数据库

    [oracle@maple ~]$ sqlplus / as sysdba
    SQL> show parameter name;
    SQL> select open_mode from v$database;
    

    image-20200625084534407

    (4)如果"ORACLE_HOME/dbs"的目录下存在sgadef.dbf文件,请先备份,再将此文件删除。待问题解决后,再建议将此文件的备份给删除

    #ORACLE_HOME=/ora/oracle/produce/11.2.0/db_1
    [oracle@maple ~]$ ls /ora/oracle/produce/11.2.0/db_1/dbs/sgadef*    #查看是否有sgadef<sid>.dbf文件
    #如果查询到有此文件,请先备份,再删除,或者直接使用mv命令改名
    [oracle@maple ~]$ cd /ora/oracle/produce/11.2.0/db_1/dbs
    [oracle@maple ~]$ mv sgadef<sid>.dbf sgadef<sid>.dbf.bak
    

    (5)如果"ORACLE_HOME/dbs"的目录下存在文件lk<实体名>,则需要如下操作

    #ORACLE_HOME=/ora/oracle/produce/11.2.0/db_1
    [oracle@maple ~]$ ls /ora/oracle/produce/11.2.0/db_1/dbs/lk*    #查看是否有lk<实体名>文件
    #如果存在此文件,则使用如下方法
    [oracle@maple ~]$ fuser -u lk<实体名>    #查看lk<实体名>文件是否是oracle用户启动
    [oracle@maple ~]$ fuser -k lk<实体名>    #结束掉lk<实体名>
    

    (6)在oracle用户下,启动监听,再使用sysplus登录,启动数据库服务

    [oracle@maple ~]$ lsnrctl start
    [oracle@maple ~]$ sqlplus / as sysdba
    SQL>startup
    

    image-20200625084803579

    image-20200625085027128

  • 相关阅读:
    jquery之实例应用
    jquery之文档操作
    jquery之css操作
    jquery属性的操作
    jquery筛选器
    jquery选择器之表单选择表单对象属性
    jquery选择器之属性选择器
    jquery选择器之子元素
    数位dp基础
    Leetcode 5195. 最长快乐字符串(贪心)
  • 原文地址:https://www.cnblogs.com/Heroge/p/13197305.html
Copyright © 2011-2022 走看看