联机日志文件丢失解决方法(二)

本文详细介绍了在非归档模式下,当当前联机日志文件丢失时,如何使用隐含参数_ALLOW_READ_ONLY_CORRUPTION或_ALLOW_RESETLOGS_CORRUPTION来打开数据库,并提供了具体的步骤来最小化数据损失。
上一篇介绍了非归档模式的非当前联机日志文件的丢失的解决方法
这篇介绍非归档模式的当前联机日志文件的丢失。

    由于丢失的当前的联机日志文件,所以可能会丢失部分数据,破坏数据库的完整性,而且普通的重建
日志文件的方式是不可行的,这个时候我们需要借助隐含参数_ALLOW_READ_ONLY_CORRUPTION或者
_ALLOW_RESETLOGS_CORRUPTION打开数据库。打开完数据库后立即用EXP/EXPDP导出数据,然后重建数据库。如果 有备份,我们可以考虑借助备份恢复,但是由于数据库处于非归档模式,即使是备份也是数据库某
一个时间点的快照,所以会丢失从备份时间点到现在的数据。当然用隐含参数打开数据库,会破坏数据库的完整性。
SQL> SELECT NAME,OPEN_MODE,LOG_MODE FROM V$DATABASE;
NAME      OPEN_MODE  LOG_MODE
--------- ---------- ------------
TOMSYAN   READ WRITE NOARCHIVELOG
SQL> SELECT GROUP#,SEQUENCE#,STATUS FROM V$LOG;
    GROUP#  SEQUENCE# STATUS
---------- ---------- ----------------
         1        106 INACTIVE
         2        104 INACTIVE
         3        107 CURRENT
SQL> SELECT MEMBER FROM V$LOGFILE WHERE GROUP#=3;
MEMBER
--------------------------------------------------------------------------------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\TOMSYAN\REDO03.LOG
SQL> SHUTDOWN IMMEDIATE
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> HOST DEL C:\ORACLE\PRODUCT\10.2.0\ORADATA\TOMSYAN\REDO03.LOG
SQL> STARTUP
ORACLE 例程已经启动。
Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             239078276 bytes
Database Buffers          364904448 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
ORA-00313: 无法打开日志组 3 (用于线程 1) 的成员
ORA-00312: 联机日志 3 线程 1:
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TOMSYAN\REDO03.LOG'

SQL> SELECT GROUP#,SEQUENCE#,STATUS FROM V$LOG;
    GROUP#  SEQUENCE# STATUS
---------- ---------- ----------------
         1        106 INACTIVE
         3        107 CURRENT
         2        104 INACTIVE
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 3;
ALTER DATABASE CLEAR LOGFILE GROUP 3
*
第 1 行出现错误:
ORA-00313: 无法打开日志组 3 (用于线程 1) 的成员
ORA-00312: 联机日志 3 线程 1:
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TOMSYAN\REDO03.LOG'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
 
即使日志文件存在,如果日志文件损坏,重建当前的日志文件也不可行。

利用隐含参数_ALLOW_READ_ONLY_CORRUPTION打开数据库

SQL> ALTER SYSTEM SET "_ALLOW_READ_ONLY_CORRUPTION"=TRUE SCOPE=SPFILE;
系统已更改。
SQL> SHUTDOWN IMMEDIATE;
ORA-01109: 数据库未打开

已经卸载数据库。
ORACLE 例程已经关闭。
SQL> STARTUP MOUNT
ORACLE 例程已经启动。
Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             239078276 bytes
Database Buffers          364904448 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
SQL> ALTER DATABASE OPEN READ ONLY;
数据库已更改。
SQL> SELECT NAME,OPEN_MODE,LOG_MODE FROM V$DATABASE;
NAME      OPEN_MODE  LOG_MODE
--------- ---------- ------------
TOMSYAN   READ ONLY  NOARCHIVELOG
 
这种以只读方法打开的数据库,并不会重建当前的日志文件,优点不会对当前的数据文件造成破坏。

赶紧导出数据库吧。
 
利用隐含参数_ALLOW_RESETLOGS_CORRUPTION打开数据库
SQL> ALTER SYSTEM RESET "_ALLOW_READ_ONLY_CORRUPTION" SCOPE=SPFILE SID='*';
系统已更改。
SQL> ALTER SYSTEM SET "_ALLOW_RESETLOGS_CORRUPTION"=TRUE SCOPE=SPFILE;
系统已更改。

SQL> SHUTDOWN IMMEDIATE
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> STARTUP MOUNT
ORACLE 例程已经启动。
Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             239078276 bytes
Database Buffers          364904448 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
下面需要做一次 media recover 不要OPEN 或者直接OPEN RESETLOGS方式打开数据库。
SQL> RECOVER DATABASE UNTIL CANCEL;
完成介质恢复。
SQL> ALTER DATABASE OPEN RESETLOGS;
数据库已更改。
 
如果 OPEN 方式打开数据库 会有下面的错误
SQL> ALTER DATABASE OPEN ;
ALTER DATABASE OPEN
*
第 1 行出现错误:
ORA-03113: 通信通道的文件结束
如果 OPEN RESETLOGS 方式打开数据库 会有下面的错误
SQL> ALTER DATABASE OPEN RESETLOGS;
ALTER DATABASE OPEN RESETLOGS
*
第 1 行出现错误:
ORA-01139: RESETLOGS 选项仅在不完全数据库恢复后有效。
   通过这种方法打开数据库,Oracle会重建日志文件。
通过隐含参数打开数据库,Oracle会跳过数据库的一致性检查,对数据 库造成一定的负面影响。这个时候
我们应该立即导出数据,重建个空数据库,然后再导入,以防数据库以后遇到麻烦。

come from:http://blog.chinaunix.net/u3/107027/showart_2138811.html

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/90618/viewspace-628290/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/90618/viewspace-628290/

【顶级EI完整复现】【DRCC】考虑N-1准则的分布鲁棒机会约束低碳经济调度(Matlab代码实现)内容概要:本文介绍了名为《【顶级EI完整复现】【DRCC】考虑N-1准则的分布鲁棒机会约束低碳经济调度(Matlab代码实现)》的技术资源,聚焦于电力系统中低碳经济调度问题,结合N-1安全准则与分布鲁棒机会约束(DRCC)方法,提升调度模型在不确定性环境下的鲁棒性和可行性。该资源提供了完整的Matlab代码实现,涵盖建模、优化求解及仿真分析全过程,适用于复杂电力系统调度场景的科研复现与算法验证。文中还列举了大量相关领域的研究主题与代码资源,涉及智能优化算法、机器学习、电力系统管理、路径规划等多个方向,展示了广泛的科研应用支持能力。; 适合人群:具备一定电力系统、优化理论和Matlab编程基础的研究生、科研人员及从事能源调度、智能电网相关工作的工程师。; 使用场景及目标:①复现高水平期刊(如EI/SCI)关于低碳经济调度的研究成果;②深入理解N-1安全约束与分布鲁棒优化在电力调度中的建模方法;③开展含新能源接入的电力系统不确定性优化研究;④为科研项目、论文撰写或工程应用提供可运行的算法原型和技术支撑。; 阅读建议:建议读者结合文档提供的网盘资源,下载完整代码与案例数据,按照目录顺序逐步学习,并重点理解DRCC建模思想与Matlab/YALMIP/CPLEX等工具的集成使用方式,同时可参考文中列出的同类研究方向拓展研究思路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值