归档和非归档模式下ORA-01145错误的解决方法(87天)

总结了一下,在归档和非归档的场景下,ora-01145这个错误可能有如下三种情况:

1.off line tablespace

--在非归档模式下尝试ofline 数据文件

SQL> alter tablespace tools offline immediate;
alter tablespace tools offline immediate
*
ERROR at line 1:
ORA-01145: offline immediate disallowed unless media recovery enabled 

以上操作需要在归档模式下才可以。

SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     244
Next log sequence to archive   246
Current log sequence           246
SQL> alter tablespace tools offline immediate;
Tablespace altered.

--在非归档模式下可以采用如下
SQL> alter tablespace tools offline;
Tablespace altered.

2.offline datafile

SQL> alter database datafile '/u01/app/oracle/oradata/disk_1/tbs01.dbf' offline;
alter database datafile '/u01/app/oracle/oradata/disk_1/tbs01.dbf' offline
*
ERROR at line 1:
ORA-01145: offline immediate disallowed unless media recovery enabled 
--在归档模式下,直接offline数据文件就可以 
SQL> alter database datafile  '/u01/app/oracle/oradata/disk_1/tbs01.dbf' offline ;
Database altered.
--而在非归档模式下,需要先把表空间给offline掉,然后才能offline数据文件,可以参见如下的实例。

3.offline drop

误删数据文件后,这个需要 alter database datafile xxxxx offline drop;

--关于测试环境

库为10g 10.2.0.1.0 非归档模式

表空间情况如下:

SQL> select tablespace_name,status from dba_tablespaces;
TABLESPACE_NAME                STATUS
------------------------------ ---------
SYSTEM                         ONLINE
SYSAUX                         ONLINE
TEMPTS1                        ONLINE
TBS1                           ONLINE
TBS3                           ONLINE
TEMP1                          ONLINE
TEMP2                          ONLINE
TOOLS                          ONLINE
OMF1                           ONLINE
UNDOTBS2                       ONLINE

数据文件情况如下:

SQL> select name,status from v$datafile;
NAME
--------------------------------------------------------------------------------
STATUS
-------
/u01/app/oracle/oradata/disk_4/system01.dbf
SYSTEM
/u01/app/oracle/oradata/disk_4/sysaux01.dbf
ONLINE
/u01/app/oracle/oradata/disk_1/tbs01.dbf
ONLINE

NAME
--------------------------------------------------------------------------------
STATUS
-------
/u01/app/oracle/oradata/disk_2/tbs02.dbf
ONLINE
/u01/app/oracle/oradata/disk_3/tbs03.dbf
ONLINE
/u01/app/oracle/oradata/disk_3/tbs3.dbf
ONLINE

NAME
--------------------------------------------------------------------------------
STATUS
-------
/u01/app/oracle/oradata/disk_4/undotbs2.dbf
ONLINE
/u01/app/oracle/oradata/disk_5/tools.dbf
ONLINE
/u01/app/oracle/oradata/disk_5/PODD/datafile/o1_mf_omf1_88ygncsw_.dbf
ONLINE

9 rows selected.
--我尝试将数据文件tbs01给offline掉
SQL> alter database datafile '/u01/app/oracle/oradata/disk_1/tbs01.dbf' offline;
alter database datafile '/u01/app/oracle/oradata/disk_1/tbs01.dbf' offline
*
ERROR at line 1:
ORA-01145: offline immediate disallowed unless media recovery enabled 

但是操作失败,我记得平时都好好的,怎么就不行了。

--查看错误解析

SQL> !oerr ora 01145
01145, 00000, "offline immediate disallowed unless media recovery enabled"
// *Cause: ALTER TABLESPACE ... OFFLINE IMMEDIATE or ALTER DATABASE DATAFILE
//         ... OFFLINE is only allowed if database is in ARCHIVELOG mode.
// *Action:Take tablespace offline normally or shutdown abort. Reconsider your
//         backup strategy. You could do this if you were archiving your logs.

我这个库是非归档的,

SQL> alter tablespace tbs1 offline;
Tablespace altered.
SQL> alter database datafile '/u01/app/oracle/oradata/disk_1/tbs01.dbf' offline;
Database altered.

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2014-05-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

ORACLE数据文件名导致的奇怪问题 (51天)

今天创建了一些表空间,准备做data guard来看看效果。 为了方便起见,我用gridcontrol来做,主库也开了Omf,省去了好多步骤。 一路点下来,就等...

3094
来自专栏沃趣科技

Oracle Data Guard Feature 12cR2系列(一)

Data Guard是Oracle推出的一种高可用性数据库方案,从Oracle 9i开始正式更名为Oracle Data Guard。Data Guard在11...

1224
来自专栏乐沙弥的世界

ORA-32004 的错误处理

启动数据库时,收到了ORA-32004 的错误,错误多是一些过时且在当前版本中不在使用的参数,如果碰到类似的错误,只需要将其

902
来自专栏杨建荣的学习笔记

mysql常用命令

这几天学习了一下mysql,对于mysql的命令总结如下,发现很多方面和oracle还是差别挺大的。 # mysql -uroot -p Enter passw...

3606
来自专栏杨建荣的学习笔记

数据库11g升级中一次奇怪的问题 (30天)

客户的测试环境已经从10g升级到11g了。但是没过几天,数据hang住了,登都登不了了,而且通过sys,system,普通用户连接的错误都不一样 首先通过 一下...

2984
来自专栏乐沙弥的世界

SYSAUX表空间管理及恢复

SYSAUX表空间是在10g之后引入的一个新的表空间,主要用于减轻对SYSTEM表空间的压力而作为SYSTEM表空间的辅助表空间。

582
来自专栏杨建荣的学习笔记

使用impdp不当导致的数据丢失问题(r5笔记第1天)

今天有个朋友问我们一个问题,说他在使用了impdp导入数据的时候,使用了TABLE_EXISTS_ACTION=REPLACE这个选项,结果现在数据都给覆盖了。...

3295
来自专栏乐沙弥的世界

使用datapump 导出导入同义词(export and import synonym using datapump)

      对于同义词的备份我们有多种方式来实现,如直接通过脚本生成同义词的创建脚本,或者使用dbms_metadata.get_ddl来提取同义词的定义脚本。...

713
来自专栏沃趣科技

ASM 翻译系列第三十三弹:REQUIRED_MIRROR_FREE_MB的含义

原作者:Bane Radulovic 译者: 陈亚军 审核: 魏兴华 DBGeeK社区联合出品 原文链接:http://asmsupportguy....

34810
来自专栏数据和云

追本溯源:Oracle 只读表空间的探索实践

作者简介 ? 胡中豪 云和恩墨西区交付工程师,多年一线 DBA 经验,曾服务于运营商、电网、政府行业、银行等行业客户;擅长数据库故障处理、性能优化、实施升级 本...

2613

扫码关注云+社区