`

oracle连锁反应

阅读更多
    1、 客户Oracle服务器进入PL/SQL Developer时报ora-01033:oracle initializationg or shutdown in progress 错误提示,应用系统无法连接Oracle服务。

    解决方案:

      a、 sqlplus "/as sysdba";

     b、   shutdown

    c、     startup

当进行到b步骤时又出现了新的问题:

   ORA-00313: 无法打开日志组 1 (线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: 'C:\ORACLE\ORADATA\ORCL\REDO01.LOG'

——————解决方案:

   首先,执行下面的语句看看group1是不是current日志组
select group#,sequence#,archived,status from v$log;

如果被删除的日志不是当前日志组的成员,比较简单
alter database clear logfile group 1;
如果你的库是非归档的,或许要用下面的语句
alter database clear unarchived logfile group 1;

如果是当前日志组损坏,但是数据库是正常关闭的,上面的办法也可以使用

如果日志组中有活动的事务,那么可能需要利用备份来恢复了,否则只有通过隐含参数强制打开库(不推荐,如果是生产库,最好请求技术支持)


此处引发一个新的问题:

    SQL> alter database clear logfile group 1;
*
ERROR 位于第 1 行:
ORA-01624: 线程1的紧急恢复需要日志1
ORA-00312: 联机日志 1 线程 1: 'D:\ORACLE\ORADATA\REDO01.LOG'


——————再次解决:

1、准备
startup mount;
create pfile='d:\init.ora' from spfile; //路径随选
shutdown immediate;
编辑init.ora,加入该参数_allow_resetlogs_corruption=true //allow_resetlogs_corruption=true   这个参数 让ORACLE不验证数据一致性的情况下强行打开数据库


startup mount pfile='d:\init.ora';

2、重新启动数据库,利用until cancel恢复
SQL>recover database until cancel;
Cancel
如果出错,不再理会,发出
SQL>alter database open resetlogs;  //

3、数据库被打开后,马上执行一个full export

4、shutdown数据库,去掉_all_resetlogs_corrupt参数

5、重建库


    ^_^     ^_^  2010年1月6日按照上述方法成功解决了问题。

   而导致我犯ora-01033的原因为自定义优化工具Lj.bat将一些日志重做文件给删除了!!!



当遇到Oracle出现下面提示时:

ora-01034:oracle not available

ora-27101:shared mermory realm does not exist

看网上说是:  ORACLE_HOME或者ORACLE_SID设置不正确。

在以前的版本中,如果ORACLE_SID不正确,一般都只提示ORA-01034。Oracle 8.1.7 给出一个额外的信息:ORA-27101。

参考解决方案:

  如果是Windows,一般都是因为系统中有多个实例造成的。

 可以在命令行下 C:\>set ORACLE_SID=DEMO

 把这里的DEMO换为你相应的实例名。

 如果还不行的话,检查注册表中的ORACLE_HOME。


 此外,在Windows环境下有的时候连接不上远程的数据库,会报告如此的错误。

 解决办法是把sqlnet.ora文件中的
 SQLNET.AUTHENTICATION_SERVICES = (NTS) NTS换为NONE.

————————————非常遗憾, 还是没有解决 ...  ...



————————ORA-03113: 通信通道的文件结束

        这个多半是由于网络问题引起的 ,本身不是oracle的错误,检查一下网络状况和系统核心参数的设定
---------------------------------------------------------------

“通信文道结束”是个含义甚宽泛的错误,它仅仅是oracle的客户端前台进程((svrmgrl, sqlplus,

RMAN, Oracle Forms etc.) 与其后台进程丢失了连接。
错误的原因很多。在oracle开发者提到这个词的时候,总以为是网络故障,但是据报告,任何造成后台进

程crash的事情都是出现这个错误的原因。

该信息或许和其他的错误信息一同出现。如果被损坏的后台进程是oracle的关键进程(PMON, SMON, DBWR

etc.),你会得到“oracle不可用”的错误信息。查看你的日志或者查看任何跟踪文件可以帮助你对问题

进行诊断。

下面是一些造成该错误的原因总结:
(1)Invalid value for processes parameter in init.ora when starting database
  当然,要解决它,就是把那些参数值调整为有效范围内的值。
(2)setuid bit needs setting on the oracle executable(Unix only).
The oracle executable in the $ORACLE_HOME/bin directory should have the permissions: 
   -rwsr-sr-x   1 oracle   dba
(3)shared_pool_size too small.
  你可以把它设置在200M以上。
(4)timed_statistics=true.
   你可以把它设置为false。
(5)An insert into a table which grew into an additional extent allocated in a datafile

which was over 2Gb in size.
  这是在你的操作系统文件不允许超过2G的时候才会发生的,而且如果发生了错误,数据库就完蛋了。
(6)Create table as select .... where there was an invalid procedure or function called

from a trigger defined on the table we were selecting from.
那就是把你所有的过程、函数和包全部编译一遍。
(7)Make use of Oracle Support / Metalink
  寻求oracle技术支持吧!



^_^  ^_^  总之被这个问题困扰了好久, 最终还是重装了数据库才解决的。 记录一下过程以备以后用到时快速定位。



   补充:

卸载Oracle :
    1、停止所有Oracle服务,点Universal Installer卸载
    2、删除注册表中的所有关于Oracle项
    (1)在HKEY_LOCAL_MACHINE\SOFTWARE下,删除Oracle目录
    (2)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services下,删除所有Oracle项
    (3)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services下,删除所有Oracle项
    (4)在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下,删除所有Oracle项
    (5)在HKEY_CLASSES_ROOT下,删除所有Oracle项
    3、删除硬盘上所有Oracle文件
    (1)Oracle安装文件
    (2)系统目录下,在Program files文件夹中的Oracle文件
    4、重启,完成卸载。



附: 我装的Oracle数据库也包含两个,db_1 和db_2?

         只有一个DB_1,db_1主要是数据库系统性质的文件 比如密码文件 SPFILE参数文件等等。出现db_1 和db_2通常是不通过规范的方法将oracle卸载掉,实际没有卸载完全,而继续安装oracle导致的。应该是先通过uninstall程序进行卸载再通过删除注册表中oracle部分,然后从硬盘上删除相关文件

分享到:
评论

相关推荐

    oracle性能诊断

    在现代企业环境中,Oracle数据库承载着大量的数据处理任务,任何性能瓶颈都可能引发连锁反应,导致整个系统的响应时间增加,用户体验下降。因此,及时准确地诊断并解决Oracle性能问题显得尤为重要。 #### 二、性能...

    解决oracle占用80端口导致web应用用不了80(localhost)的问题

    这个问题不仅会影响Web应用的正常运行,还可能引发一系列连锁反应,比如影响测试环境的搭建、导致开发进度延误等。 #### 二、Oracle与80端口的关系 Oracle数据库产品线包括多种工具和服务,其中一种是Oracle自带的...

    Oracle收购Sun后的蝴蝶效应.pdf

    综上所述,Oracle收购Sun引发了一系列连锁反应,涉及数据库市场、技术发展、安全趋势等多个方面,这些变化将持续影响IT行业的未来走向。对于企业和开发者来说,适应这些变化,抓住机遇,将是保持竞争力的关键。

    PGConf.CN2019大会资料 培训PPT--8-樊文凯--Oracle数据库和应用迁移pg最佳实践

    - 应用程序与数据库之间的耦合度高,任何变更都可能引发连锁反应。 2. **数据库异构的原因**: - 集中式架构限制了系统的扩展能力。 - 对硬件的高度依赖导致稳定性问题。 - 技术上的过度依赖使得企业在技术创新...

    使用Java编写Oracle触发器的实现.pdf

    5. **多动作触发**:单个数据修改语句可以触发多个触发器,因此一个操作可以引发一系列的连锁反应。 6. **业务规则强化**:对于那些不能通过常规数据库对象(如约束、索引等)实现的业务规则,触发器是理想的解决...

    Oracle数据库优化之二叉优化法探讨.pdf

    此外,二叉优化法强调的是整体优化,意味着不仅要关注单个组件的优化,还需考虑改动对系统其他部分的连锁反应。比如,改变一个实例的缓冲区大小可能会影响到其他实例,或者对操作系统的内存分配产生影响。因此,优化...

    PL_SQL在ORACLE数据库应用程序中的应用.pdf

    此外,存储过程的维护和调试通常比普通的应用程序更复杂,因为错误的逻辑可能在整个数据库系统中造成连锁反应。 在进行性能调优时,程序开发人员和数据库管理员(DBA)需要密切合作。DBA负责监控系统性能,并与开发...

    Oracle面试题

    此外,触发器可以执行联级运算,即在一个表上的触发器中包含对另一个表的数据操作,这可能导致该操作再次触发其他触发器,形成连锁反应,以此来实现复杂的业务逻辑和数据处理流程。 #### 2. 存储过程的概念与应用 ...

    基于分布式数据库的连锁超市管理系统设计与实现.pdf

    2. 改善决策过程:实时、准确的数据支持使得管理层能迅速作出反应,减少决策滞后,提高决策质量。 3. 加强供应链协同:统一的数据管理使得商品的采购、配送、销售等环节更加协调,避免了资源浪费,提高了整体运营...

    Oracle BULK COLLECT批量取数据解决方法

    使用这些级联操作可以简化数据库维护,但需要注意它们可能会引发的连锁反应,因此在设计数据库时应谨慎考虑。 在处理大数据时,理解并合理利用BULK COLLECT和级联操作等技术是优化Oracle数据库性能的关键。通过这种...

    PLSQLDevel

    7. **数据库对象依赖关系**:显示数据库对象之间的依赖关系,有助于理解对象间的逻辑关系,避免在修改时引发意外的连锁反应。 8. **数据库作业调度**:可以设置定时任务执行存储过程或脚本,实现自动化运维。 9. *...

    需求跟踪矩阵

    通过RTM,可以快速识别出变更对其他部分可能产生的连锁反应,避免因为遗漏而导致的问题,降低项目风险。 #### 1.2 需求验证 RTM用于跟踪需求在整个项目生命周期中的状态,包括是否已经设计、实现和测试。这有助于...

    Trigger 笔记

    使用DELETE触发器时,需要谨慎处理,因为它可能会导致连锁反应,如删除引发的其他表的数据更新。在删除操作之前,触发器可以检查相关条件,如果不符合要求,可以阻止删除操作。 触发器的使用虽然提供了强大的功能,...

    对象关系数据库

    对基础数据结构的任何改动都可能引发连锁反应,导致整个系统的重构。然而,关系数据库的出现极大地简化了这些流程,使得报表生成和数据结构调整变得更为简便。 #### 六、Oracle8i:新时代的里程碑 随着技术的进步...

    Linux引发蝴蝶效应.pdf

    当Linux开始影响到更多的商业决策,如Oracle等公司纷纷选择与Linux进行合作时,我们可以看到这个“蝴蝶”扇动的翅膀正在引起一系列连锁反应。 Linux的成功不仅在于其技术的优越性,还在于它激发了创新和协作的文化...

    数据库完整性.zip

    例如,通过参照完整性,可以避免因误删关键记录而导致的连锁反应,确保数据的一致性。 在实际操作中,数据库管理系统(如MySQL、Oracle、SQL Server等)提供了内置机制来支持这些完整性类型。例如,通过设置NOT ...

    三层架构及设计模式(数据库实现采用抽象工厂 )DALFactory

    在实际开发中,这种结构能够帮助团队更有效地协同工作,每个成员可以专注于自己负责的那一层,减少因为改动某一层次而引发的连锁反应。同时,它也使得系统能够更好地适应需求变化,因为各层之间的职责划分明确,更改...

    测试Web应用程序PPT学习教案.pptx

    再者,对象编程引入了复杂的依赖和继承关系,错误修改可能引发连锁反应。此外,对第三方组件的依赖可能导致质量问题和技术风险。文档问题也是一个难点,系统复杂性、快速开发方式和多系统都使得文档管理和一致性成为...

    数据库的存储过程和触发器

    2. **业务逻辑的扩展**:当简单的约束不足以实现复杂业务逻辑时,触发器可以补充这一不足,执行多步骤的操作或连锁反应。 3. **审计和追踪**:触发器可以记录数据库内的变更,帮助跟踪和监控数据操作,对于合规性和...

    IT信息系统运维服务实施方案.docx

    - 平衡安装补丁可能带来的系统连锁反应。 - **突发事件应急策略**: - 对系统进行性能监控,及时发现并解决问题。 - 监控主机的硬件状态。 - 监控主机HA运行状况。 - 监控备份服务进程。 - 监控存储硬件的故障...

Global site tag (gtag.js) - Google Analytics