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

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

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

数据库默认以独占(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;

(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

Oracle数据库故障处理方法的更多相关文章

  1. [C#.Net]C#连接Oracle数据库的方法

    首先介绍下开发环境:WIn10 64bit+Visual Studio 2015+Oracle10ClientWin32(只是客户端,如果安装整个数据库也是可以的) 目前了解C#中连接Oracle数据 ...

  2. C#连接Oracle数据库的方法(Oracle.DataAccess.Client也叫ODP.net)

    官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ...

  3. LOADRUNNER连接ORACLE数据库的方法

    LOADRUNNER连接ORACLE数据库的方法     最近正在做一个测试数据库性能的项目,直接写出来的连接数据库并且进行数据库查询和插入的脚本在VUSER_INIT中(连接数据库)#include ...

  4. 用ASP.Net(C#)连接Oracle数据库的方法及实例

    今天看了一下asp.net连接oracle数据库的方法,得到了如下代码.这段代码打开了MyTable表,并把操作员的名字列出.字段类型是OracleString.读取的时候用的是字段编号,我不知道怎么 ...

  5. phalcon: 解决php7/phalcon3.2以上版本,不支持oracle数据库的方法

    解决php7/phalcon3.2以上版本,不支持oracle数据库的方法 phalcon3.2(3.0以上)版本不支持oracle的方法. https://github.com/phalcon/in ...

  6. C#连接Oracle数据库的方法(System.Data.OracleClient、Oracle.DataAccess.Client也叫ODP.net、Oracle.ManagedDataAccess.dll)

    官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ...

  7. C#连接Oracle数据库的方法

    目前了解C#中连接Oracle数据库的方法有3种,分布是微软的System.Data.OracleClient,Oracle的Oracle.DataAccess.Client和Oracle的Oracl ...

  8. VS2010下连接Oracle数据库的方法

    在vs2010下使用OleDB连接Oracle数据库 ——此方法不需要配置数据源. 1. 在“服务器资源管理器”中,选择“数据库连接”,右击,选择“添加连接”. 2. 出现下面的界面,并按图中选择“用 ...

  9. 从服务器将Oracle数据库导出到本地Oracle数据库的方法

     1.将服务器上的Oracle数据库导入到本地 在CMD模式下执行以下命令:   exp username1/password@服务器端数据库 file=本地硬盘:/文件名.dmp   例如: exp ...

随机推荐

  1. 用kubeadm+dashboard部署一个k8s集群

    kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具. 这个工具能通过两条指令完成一个kubernetes集群的部署: 1. 安装要求 在开始之前,部署Kubernetes集群 ...

  2. java虚拟机入门(二)-探索内存世界

    上节简单介绍了一下jvm的内存布局以及简单概念,那么对于虚拟机来说,它是怎么一步步的让我们能执行方法的呢: 1.首先,jvm启动时,跟个小领导一样会根据配置参数(没有配置的话jvm会有默认值)向大领导 ...

  3. C#高级编程第11版 - 第八章 索引

    [1]8.1 引用方法 1.委托是指向方法的.NET地址变量. 2.委托是类型安全的类,定义了返回类型和参数类型.委托类不单单只包含一个方法引用,它也可以保存多个方法的引用. 3.Lambda表达式直 ...

  4. (012)每日SQL学习:TO_CHAR(DATE,FORMAT)

    SYSDATE 2009-6-16 15:25:10 TRUNC(SYSDATE) 2009-6-16 TO_CHAR(SYSDATE,'YYYYMMDD') 20090616 到日 TO_CHAR( ...

  5. Kubernetes TensorFlow 默认 特定 集群管理器 虚拟化技术

    Our goal is to foster an ecosystem of components and tools that relieve the burden of running applic ...

  6. BIO,NIO,AIO 总结

    BIO,NIO,AIO 总结 Java 中的 BIO.NIO和 AIO 理解为是 Java 语言对操作系统的各种 IO 模型的封装.程序员在使用这些 API 的时候,不需要关心操作系统层面的知识,也不 ...

  7. 详解Go中内存分配

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 本文使用的go的源码15.7 介绍 Go 语言的内存分配器就借鉴了 TCMalloc 的 ...

  8. 「THP3考前信心赛」题解

    目录 写在前面 A 未来宇宙 B 空海澄澈 C 旧约酒馆 算法一 算法二 D 博物之志 算法一 算法二 算法三 写在前面 比赛地址:THP3 考前信心赛. 感谢原出题人的贡献:第一题 CF1422C, ...

  9. HDU3062 PARTY

    Party Problem Description 有n对夫妻被邀请参加一个聚会,因为场地的问题,每对夫妻中只有1人可以列席.在2n 个人中,某些人之间有着很大的矛盾(当然夫妻之间是没有矛盾的),有矛 ...

  10. Mysql 不能使用逗号的情况

    不存在逗号的情况: 联合查询: 1.UNION SELECT * FROM ((SELECT 1)a JOIN (SELECT 2)b JOIN (SELECT 3)c JOIN (SELECT 4) ...