ORA-01186: file 201 failed verification tests

2024-09-04 17:28

本文主要是介绍ORA-01186: file 201 failed verification tests,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

环境:oracle11.2.0.4RAC+ASM+red hat6.1x64
主库两节点RAC,备库也为两节点RAC。
备库启用为实时应用查询。
日志应用等都是正常的。

主库asm group如下:
ASMCMD> ls
CRS/
DATA/
FRA/
备库asm group如下:
ASMCMD> ls
CRS/
SDATA/
SFRA/

备库启动后报错如下:(查询某些数据字典也会报红色的错误

Dictionary check beginning
Fri Jul 11 01:29:23 2014
Errors in file /u01/app/oracle/diag/rdbms/byscx/byscx2/trace/byscx2_dbw0_78064.trc:
ORA-01186: file 201 failed verification tests
ORA-01157: cannot identify/lock data file 201 - see DBWR trace file
ORA-01110: data file 201: '+DATA'
File 201 not verified due to error ORA-01157

Dictionary check complete
*********************************************************************
WARNING: The following temporary tablespaces contain no files.
         This condition can occur when a backup controlfile has
         been restored.  It may be necessary to add files to these
         tablespaces.  That can be done using the SQL statement:

         ALTER TABLESPACE <tablespace_name> ADD TEMPFILE

         Alternatively, if these temporary tablespaces are no longer
         needed, then they can be dropped.
           Empty temporary tablespace: BPEX_TEMP
           Empty temporary tablespace: TEMP3
*********************************************************************
Cannot re-create tempfile +DATA, the same name file exists
Database Characterset is ZHS16GBK
No Resource Manager plan active
Starting background process GTX0
Fri Jul 11 01:29:25 2014
GTX0 started with pid=62, OS id=78459
replication_dependency_tracking turned off (no async multimaster replication found)
--More--
Physical standby database opened for read only access.
Completed: ALTER DATABASE OPEN

主库查询如下:
SQL> select * from v$tempfile;
     FILE# CREATION_CHANGE# CREATION_      TS#     RFILE# STATUS  ENABLED
---------- ---------------- --------- ---------- ---------- ------- ----------
     BYTES     BLOCKS CREATE_BYTES BLOCK_SIZE
---------- ---------- ------------ ----------
NAME
--------------------------------------------------------------------------------
  1        3226 30-JAN-13        3   1 ONLINE  READ WRITE
213909504 26112   20971520  8192
+DATA/bysjy/tempfile/temp.262.806053181

备库查询结果如下:
SQL> select * from v$tempfile;
     FILE# CREATION_CHANGE# CREATION_      TS#     RFILE# STATUS  ENABLED
---------- ---------------- --------- ---------- ---------- ------- ----------
     BYTES     BLOCKS CREATE_BYTES BLOCK_SIZE
---------- ---------- ------------ ----------
NAME
--------------------------------------------------------------------------------
  1        3226 30-JAN-13        3   1 ONLINE  READ WRITE
  0     0   65011712  8192
+DATA

备库根本就没有+DATA组,所以尝试删除报错:
SQL> alter database tempfile 1 drop;
alter database tempfile 1 drop
*
ERROR at line 1:
ORA-01516: nonexistent log file, data file, or temporary file "+DATA"

可能这个方法行,以后有机会再试了。

alter tablespace temp drop tempfile 201;
当然尝试删TEMP临时表空间也是不行的,因为库为只读备库。
SQL> alter database default temporary tablespace temp3;
alter database default temporary tablespace temp3
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-16000: database open for read-only access

SQL> drop tablespace TEMP including contents;
drop tablespace TEMP including contents
*
ERROR at line 1:
ORA-16000: database open for read-only access


如何删除掉这个不正确的临时表空间文件?

可行操作如下:

主库:
方法1:主库创建新的临时表空间,切换为默认的。备库自动跟着切换。
conn /as sysdba
select a.property_name, a.property_value from database_properties a where a.property_name like '%default%';
show parameter db_create_file_dest;
create temporary tablespace temp1 tempfile '+data' size 1g reuse autoextend on next 1024k maxsize unlimited;
alter database default temporary tablespace temp1;
alter tablespace temp1 drop tempfile 'xxx';
drop tablespace temp including contents;
select name from v$tempfile;
方法2:重建备库文件,然后备库重命名各类文件,参看原来asmcmd对应的。或者提前备份好名字。
alter database create standby controlfile as 'xxxxxx';传输到备库,修改pfile文件。

备库:

startup mount
alter database rename file '+SDATA/asm2/datafile/system.260.875189797','+SDATA/asm2/datafile/sysaux.261.875189815' to '+SDATA/asm2/datafile/SYSTEM.257.875227135','+SDATA/asm2/datafile/SYSAUX.258.875227135';
alter database rename file '+SDATA/asm1/onlinelog/group_1.257.875189795' to '+SDATA/asm2/onlinelog/group_1.261.875227329';
alter database rename file '+SDATA/asm2/tempfile/temp1.270.875269435' to '+SDATA/asm2/tempfile/temp1.270.875270407';

alter database recover managed standby database cancel;
alter database recover managed standby database disconnect from session;
alter database recover managed standby database using current logfile disconnect from session;
select name from v$tempfile;

经测试,备库不能直接通过脚本重建控制文件,只能通过主库创建,然后rename相关数据文件。

最终解决办法:
主库创建新的临时表空间temp1,切换为默认的。备库自动跟着切换,然后删掉主库的temp,备库增加临时文件。
主库:
create temporary tablespace temp1 tempfile '+DATA' size 1024M;
select file_name,TABLESPACE_NAME,sum(BYTES)/1024/1024 from  dba_temp_files group by file_name,tablespace_name;
alter database default temporary tablespace temp1;
select a.property_name, a.property_value from database_properties a where a.property_name like '%DEFAULT%';
drop tablespace temp including contents and datafiles;


备库:
alter tablespace temp1 add tempfile '+SDATA' size 1024M;

可能这个方法也行,以后有机会再试了。
alter tablespace temp drop tempfile 201;
 源于:

11.2.0.4 rac+asm备库报错ORA-01157: cannot identify/lock data file 201 - Oracle数据库管理 - ITPUB论坛-专业的IT技术社区

这篇关于ORA-01186: file 201 failed verification tests的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1136557

相关文章

ora-01017 ora-02063 database link,oracle11.2g通过dblink连接oracle11.2g

错误图示: 问题解决 All database links, whether public or private, need username/password of the remote/target database. Public db links are accessible by all accounts on the local database, while private

Open a folder or workspace... (File -> Open Folder)

问题:vscode Open with Live Server 时 显示Open a folder or workspace... (File -> Open Folder)报错 解决:不可以单独打开文件1.html ; 需要在文件夹里打开 像这样

android java.io.IOException: open failed: ENOENT (No such file or directory)-api23+权限受权

问题描述 在安卓上,清单明明已经受权了读写文件权限,但偏偏就是创建不了目录和文件 调用mkdirs()总是返回false. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_E

UserWarning: mkl-service package failed to import

安装完成anaconda,并设置了两个环境变量  之后再控制台运行python环境,输入import numpy as np,提示错误 D:\InstallFolder\Anaconda3\lib\site-packages\numpy\__init__.py:143: UserWarning: mkl-service package failed to import, therefore

bash: arm-linux-gcc: No such file or directory

ubuntu出故障重装了系统,一直用着的gcc使用不了,提示bash: arm-linux-gcc: No such file or directorywhich找到的命令所在的目录 在google上翻了一阵发现此类问题的帖子不多,后来在Freescale的的LTIB环境配置文档中发现有这么一段:     # Packages required for 64-bit Ubuntu

编译linux内核出现 arm-eabi-gcc: error: : No such file or directory

external/e2fsprogs/lib/ext2fs/tdb.c:673:29: warning: comparison between : In function 'max2165_set_params': -。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。 。。。。。。。。 host asm: libdvm <= dalvik/vm/mterp/out/Inte

Python安装llama库出错“metadata-generation-failed”

Python安装llama库出错“metadata-generation-failed” 1. 安装llama库时出错2. 定位问题1. 去官网下载llama包 2.修改配置文件2.1 解压文件2.2 修改配置文件 3. 本地安装文件 1. 安装llama库时出错 2. 定位问题 根据查到的资料,发现时llama包中的execfile函数已经被下线了,需要我们手动修改代码后

file-max与ulimit的关系与差别

http://zhangxugg-163-com.iteye.com/blog/1108402 http://ilikedo.iteye.com/blog/1554822

瑞芯微Parameter File Format解析

Rockchip android系统平台使用parameter文件来配置一些系统参数 主要包含:串口号:nandflash分区 固件版本,按键信息等; 如下是台电P98HD的parameter参数: FIRMWARE_VER:4.1.1        // 固件版本 //固件版本,打包 updata.img 时会使用到,升级工具会根据这个识别固件版本。 //Boot loader 会读取

ORA-25150:不允许对区参数执行ALTERING

在用PL/SQL工具修改表存储报错: 百度一下找到原因: 表空间使用本地管理,其中的表不能修改NEXT MAXEXTENTS和PCTINCREASE参数 使用数据自动管理的表空间,其中的表可以修改NEXT MAXEXTENTS和PCTINCREASE参数