ORA-19751 无法创建更改跟踪文件 ORA-19750错误

今天在帮客户恢复一个19.8的两节点RAC数据库时,遇到了ORA-19751 无法创建更改跟踪文件 ORA-19750错误。

SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-19751: 无法创建更改跟踪文件 ORA-19750:
更改跟踪文件: '+DATADG/CCCBFTP/CHANGETRACKING/ctf.375.1059060337'
ORA-17502: ksfdcre: 4 未能创建文件
+DATADG/CCCBFTP/CHANGETRACKING/ctf.375.1059060337
ORA-15046: ASM 文件名 '+DATADG/CCCBFTP/CHANGETRACKING/ctf.375.1059060337'
不在创建单个文件表单中 ORA-17503:
ksfdopn: 2 未能打开文件 +DATADG/CCCBFTP/CHANGETRACKING/ctf.375.1059060337
ORA-15012: ASM file '+DATADG/CCCBFTP/CHANGETRACKING/ctf.375.1059060337' does
not exist
SQL> select open_mode from v$database;

OPEN_MODE
--------------------
MOUNTED

这个错误看上去像是ASM磁盘组里没有CHANGETRACKING目录导致,也确实没有这个目录,但是即使创建出来也无法解决这个问题。

这是因为数据库开启了块改变追踪所致,这个功能通常使用增量备份的时候会使用,可以提高增量备份的速度,但对数据库整体性能会有所影响。

这个功能可以动态开启或关闭,要解决上面的问题,需要临时关闭块改变跟踪即可。

SQL> alter database disable block change tracking;

数据库已更改。

SQL> alter database open;

数据库已更改。

如果需要,再打开块改变追踪。

SQL> alter database enable block change tracking;

数据库已更改。

追踪文件默认会在DB_CREATE_FILE_DEST参数指定的目录下的db_unique_name目录下创建CHANGETRACKING目录,追踪文件就保存在这里,也可以在启用块改变追踪时,使用using file指定存放位置,例如:

SQL> alter database enable block change tracking '+DATADG/CCCBFTP/CHANGETRACKING';

数据库已更改。

可以通过v$block_change_tracking视图来查看具体信息:

SQL> select status, filename from v$block_change_tracking;

STATUS      FILENAME
----------  ---------------------------------------------------
ENABLED     +DATADG/CCCBFTP/CHANGETRACKING/ctf.389.1088253125

本文固定链接: http://www.dbdream.com.cn/2021/11/ora-19751-%e6%97%a0%e6%b3%95%e5%88%9b%e5%bb%ba%e6%9b%b4%e6%94%b9%e8%b7%9f%e8%b8%aa%e6%96%87%e4%bb%b6-ora-19750%e9%94%99%e8%af%af/ | 信春哥,系统稳,闭眼上线不回滚!

该日志由 dbdream 于2021年11月10日发表在 Oracle, oracle 10g, oracle 11g, Oracle 12c, Oracle 18c, Oracle 19c 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: ORA-19751 无法创建更改跟踪文件 ORA-19750错误 | 信春哥,系统稳,闭眼上线不回滚!
关键字: , , , , , ,

ORA-19751 无法创建更改跟踪文件 ORA-19750错误:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter