Oracle 数据库修复一例
Oracle 数据库修复一例:
(系统装有两个实例,分别是:bhorcl,orcl)
今天一台生产服务器的Oracle不能正常登录,用plSql登录,提示:TNS:listernet does noet curently know of sid given in connect descriptor.
初步判断是监听不能启动。
第一步,查监听程序。
C:\Users\Administrator>lsnrctl status
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 22-OCT-2019 20:29
:39
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=WIN-HQE6MJ8PJ5O)(PORT=15
21)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ
ction
Start Date 22-OCT-2019 18:12:37
Uptime 0 days 2 hr. 17 min. 2 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File E:\app\Administrator\product\11.2.0\dbhome_1\network\a
dmin\listener.ora
Listener Log File e:\app\administrator\diag\tnslsnr\WIN-HQE6MJ8PJ5O\list
ener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WIN-HQE6MJ8PJ5O)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
C:\Users\Administrator>
少了BHORCL实例的监听,但另一个实现是正常的。(正常的监听状态应该是这样的:
C:\Users\Administrator>lsnrctl status
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 22-OCT-2019 20:29
:39
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=WIN-HQE6MJ8PJ5O)(PORT=15
21)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ
ction
Start Date 22-OCT-2019 18:12:37
Uptime 0 days 2 hr. 17 min. 2 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File E:\app\Administrator\product\11.2.0\dbhome_1\network\a
dmin\listener.ora
Listener Log File e:\app\administrator\diag\tnslsnr\WIN-HQE6MJ8PJ5O\list
ener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WIN-HQE6MJ8PJ5O)(PORT=1521)))
Services Summary...
Service "BHORCLXDB" has 1 instance(s).
Instance "bhorcl", status READY, has 1 handler(s) for this service...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "bhorcl" has 1 instance(s).
Instance "bhorcl", status READY, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
C:\Users\Administrator>
测试一下,果然没错,orcl是能正常使用的。
第二步:查看数据库日志:
找到安装目录下的:\app\Administrator\diag文件夹,顺便说一下,这个文件夹很重要,很多日志都在里面。
这个文件夹下的:rdbms\bhorcl\bhorcl\trace\alert_bhorcl.log就是数据库日志。我不是很专业,分析不出原因,
(顺便提一下:大牛看了我发给他的这个日志,可以分析出很多问题,大牛就是大牛,与众不同)。
还有其它的文件也可以分析一下。但我看了所有的日志,没看出问题。只能再找其它原因。
第三步:进去命令行,运行sqlplus看看启动错误。
于是进入命令行,输入:sqlplus / as sysdba ,
无论无保也都报错:ORA-12560: TNS:protocol adapter error
以为是没有配置sid.于是:set ORACLE_SID=bhorcl
还是报错。
最后,大牛一看就知道原因:因为这台服务器不但安装了oracle服务端,同时也安装了客户端,在命令行输入sqlplus定位到了客户端文件夹执行了,所以找不到相关的配置
文件,所以会报错。解决方法,在命令前加上全路径。
Oracle 安装路径:E:\app\Administrator\product\11.2.0下有两个文件夹:
client_开头的是客户端(我这里是:client_2)
dbhome_开头的是服务端(我这里是:dbhome_1)
于是:再次进入命令行输入:
set ORACLE_SID=bhorcl
E:\app\Administrator\product\11.2.0\dbhome_1\BIN\sqlplus / as sysdba
可以进行了,但报错。不是正常的connected.
试一下能不能mount数据库:
命令:
startup mount;
提示:specified value of memory_target is too small,needs to ba at least 365344M.
终于找到真正的原因了:memeory_target配置太小。
怎么修改呢?
三步:一从spfile生成可修改的pfile,二,修改配置,测试正常,用pfile生成spfile.
以下命令在用sqlplus连接到数据库后执行:
create pfile='e:\spfile_bhorcl.ora' from spfile //一、生成e:\spfile_bhorcl.ora,二,用文本编编辑器打开,修改相关的值。
startup pfile='e:\spfile_bhorcl.ora' //二、测试,如果能正常启动,就说明修改成功。我的就是一修改就成功。
//停止数据库。
shutdown immediate ;
//生成spfile
create spfile from pfile='e:\spfile_bhorcl.ora';
退出sqlplus ,重启oralce服务,一切正常。终于又可以正常打开系统了。
Oracle 数据库修复一例的更多相关文章
- SQL2008R2下数据库修复一例
某天访问某个数据库的时候,系统报错.连上去看了一下,服务器是SQL2008R2.由于有上次修复的经验,先使用DBCC查看数据库情况. DBCC的返回: XXXXXXXXXXX发生异常数据库 ID 7, ...
- 13 oracle数据库坏块-逻辑坏块(模拟/修复)
13 oracle数据库坏块-逻辑坏块 逻辑数据坏块的场景1)oracle bug也可能导致逻辑坏块的产生. 特别是parallel dml. 例如:Bug 5621677 Logical corru ...
- [Oracle]数据库的Control File 取Dump后的样例
[Oracle]数据库的Control File 取Dump后的样例: 片段截取-------------------------------(size = 40, compat size = 40, ...
- Navicat无法连接Oracle数据库问题处理一例
需要通过Navicat连接Oracle数据库进行数据迁移,发现无法连接,报如下错误信息: 按照百度中的说明配置了正确的oci. 此时又报如下错误: 问题解决: 经测试发现与软件的版本有关系,本机的Or ...
- MySQL/Oracle数据库优化总结
MySQL数据库优化的八种方式 1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能 ...
- oracle数据库体系结构
一.oracle数据库体系结构 基本组成: Oracle server:一般情况下是一个instance和一个database组成 一般:1个instance只能对应一个数据库. 特殊:1个数据库可以 ...
- Oracle数据库提权
一.执行java代码 简介 oracle提权漏洞集中存在于PL/SQL编写的函数.存储过程.包.触发器中.oracle存在提权漏洞的一个重要原因是PL/SQL定义的两种调用权限导致(定义者权限和调用者 ...
- Oracle 数据库知识汇总篇
Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...
- Oracle数据库该如何着手优化一个SQL
这是个终极问题,因为优化本身的复杂性实在是难以总结的,很多时候优化的方法并不是用到了什么高深莫测的技术,而只是一个思想意识层面的差异,而这些都很可能连带导致性能表现上的巨大差异. 所以有时候我们应该先 ...
随机推荐
- VIJOS-P1064 迎春舞会之数字舞蹈
洛谷 P1538 迎春舞会之数字舞蹈 洛谷传送门 JDOJ 1245: VIJOS-P1064 迎春舞会之数字舞蹈 JDOJ传送门 Description 在越来越讲究合作的时代,人们注意的更多的 ...
- LG2893/POJ3666 「USACO2008FEB」Making the Grade 线性DP+决策集优化
问题描述 LG2893 POJ3666 题解 对于\(A\)中的每一个元素,都将存在于\(B\)中. 对\(A\)离散化. 设\(opt_{i,j}\)代表\([1,i]\),结尾为\(j\)的最小代 ...
- ABP 下载源码报错
ASP.NET Boilerplate 下载地址应该是这个:https://github.com/aspnetboilerplate/aspnetboilerplate/tree/v1.5.2 下载的 ...
- requests--发送请求
前戏 使用python做接口自动化,必须用到requests这个库,功能非常的强大,能满足我们大部分的需求. 官网:https://2.python-requests.org//zh_CN/lates ...
- CSP2019 Emiya 家今天的饭 题解
这题在考场上只会O(n^3 m),拿了84分.. 先讲84分,考虑容斥,用总方案减去不合法方案,也就是枚举每一种食材,求用它做超过\(\lfloor \frac{k}{2} \rfloor\) 道菜的 ...
- MySQL实战45讲学习笔记:第十一讲
一.如何在邮箱这样的字段上建立合理的索引 现在,几乎所有的系统都支持邮箱登录,如何在邮箱这样的字段上建立合理的索引,是我们今天要讨论的问题. 假设,你现在维护一个支持邮箱登录的系统,用户表是这么定义的 ...
- MySQL实战45讲学习笔记:第二十六讲
一.引子 在上一篇文章中,我和你介绍了几种可能导致备库延迟的原因.你会发现,这些场景里,不论是偶发性的查询压力,还是备份,对备库延迟的影响一般是分钟级的,而且在备库恢复正常以后都能够追上来. 但是,如 ...
- [LeetCode] 28. Implement strStr() 实现strStr()函数
Implement strStr(). Return the index of the first occurrence of needle in haystack, or -1 if needle ...
- java web开发入门八(ssm整合)基于intellig idea
ssm整合 一.导入相关包 二.开发流程 1.写entity package com.eggtwo.euq.entity; import java.io.Serializable; import ja ...
- jmeter和ab的对比
压测比较常用的工具:ab,webbench,jmeter ab和webbench作为shell模式下轻量级的测试工具,ab比webbench功能更多一些 jmeter作为有GUI界面的更高级测试工具 ...