【oracle】ORA-01580 error creating control backup file

简介: 早上查看报警邮件的时候发现了ORA-01580 error creating control backup file。通常次错误与RMAN 备份控制文件的策略有关:比如:RMAN> backup current controlfile;Starting ...
早上查看报警邮件的时候发现了ORA-01580 error creating control backup file。
通常次错误与RMAN 备份控制文件的策略有关:
比如:
RMAN> backup current controlfile;
Starting backup at 22-AUG-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 08/22/2011 20:05:42
ORA-01580: error creating control backup file /opt/oracle/10.2.0/orcl/dbs
ORA-27056: could not delete file
Linux-x86_64 Error: 21: Is a directory

查看控制文件的配置信息:
RMAN> show all;
RMAN configuration parameters are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/opt/oracle/10.2.0/orcl/dbs';
一般snapshot的format应该是一个绝对文件路径,而上面的配置则是一个文件夹目录。修改之后:
RMAN> configure snapshot controlfile name to '/opt/oracle/10.2.0/orcl/dbs/snapcf_orcl.f';

snapshot control file name set to: /opt/oracle/10.2.0/orcl/dbs/snapcf_orcl.f
new RMAN configuration parameters are successfully stored

RMAN> backup current controlfile;

Starting backup at 22-AUG-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
channel ORA_DISK_1: starting piece 1 at 22-AUG-11
channel ORA_DISK_1: finished piece 1 at 22-AUG-11
piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2011_08_22/o1_mf_ncnnf_TAG20110822T200628_754kl4of_.bkp tag=TAG20110822T200628 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 22-AUG-11
成功备份!
另外查看ML上面的信息:次错误还和数据库的一个和IO相关的参数有关:FILESYSTEMIO_OPTIONS
[oracle@bblsdb bb70]$ rman target / 
Recovery Manager: Release 10.2.0.3.0 - Production on Fri Sep 5 13:44:02 2008 
Copyright (c) 1982, 2005, Oracle. All rights reserved. 
connected to target database: BB70 (DBID=2591586355) 
RMAN> backup current controlfile; 
Starting backup at 05-SEP-08 
using target database control file instead of recovery catalog 
allocated channel: ORA_DISK_1 
channel ORA_DISK_1: sid=499 devtype=DISK 
channel ORA_DISK_1: starting compressed full datafile backupset 
channel ORA_DISK_1: specifying datafile(s) in backupset 
RMAN-00571: =========================================================== 
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== 
RMAN-00571: =========================================================== 
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 09/05/2008 13:44:12 
ORA-01580: error creating control backup file /usr/local/oracle/ora10gR2/dbs/snapcf_bb70.f 
ORA-27044: unable to write the header block of file 
Linux Error: 22: Invalid argument 
Additional information: 7
原因:FILESYSTEMIO_OPTIONS参数在当前的OS系统中没有设置为正确的方式。一般情况下 此参数被设置为filesystemio_options=SETALL
解决办法:设置为默认的参数,然后备份控制文件。
然而在我的测试环境下并没有重现次错误:
SQL> show parameter filesystemio_options

NAME                  TYPE    VALUE
--------------------  --------  -----
filesystemio_options string   none

SQL> alter system set filesystemio_options=setall scope=spfile;
System altered.

--重启数据库,然后备份控制文件:
RMAN> backup current controlfile;
Starting backup at 22-AUG-11
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=143 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
channel ORA_DISK_1: starting piece 1 at 22-AUG-11
channel ORA_DISK_1: finished piece 1 at 22-AUG-11
piece handle=/opt/oracle/flash_recovery_area/ORCL/backupset/2011_08_22/o1_mf_ncnnf_TAG20110822T200205_754k9xyp_.bkp tag=TAG20110822T200205 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 22-AUG-11
至此,并没有像ml上所说,会报错。
附上 FILESYSTEMIO_OPTIONS 参数的介绍:
通过FILESYSTEMIO_OPTIONS可以开启或者禁止文件系统上的异步IO功能!FILESYSTEMIO_OPTIONS的值如下:
asynch:    启用异步I/O
directio:  启用同步I/O
setall:    同时启用异步和同步I/O
none:      禁用异步和同步I/O
这个参数依赖于oracle所在的平台并且它有一个默认参数,此时它是最适合这个平台的。
在oracle数据库中可以动态修改该值,设置是必须指定spfile,否则报错!
SQL> alter system set filesystemio_options=setall scope=memory;
alter system set filesystemio_options=setall scope=memory
                 *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
SQL> alter system set filesystemio_options=setall scope=spfile;
System altered.
目录
相关文章
|
前端开发
CSS——网页版心和布局流程
CSS——网页版心和布局流程
1055 0
CSS——网页版心和布局流程
|
4月前
|
算法 API Windows
一键解除机器码工具,永久修改机器码工具, 破解一机一注册码软件
这段代码实现了硬件信息获取和伪装功能,包含三个模块:硬件信息获取、伪装算法实现和主程序入口
|
10月前
|
数据采集 存储 JSON
用Scrapy精准爬取BOSS直聘特定行业职位
用Scrapy精准爬取BOSS直聘特定行业职位
|
9月前
|
存储 算法 API
【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
1435 82
|
11月前
|
存储 关系型数据库 MySQL
【MYSQL】 ——索引(B树B+树)、设计栈
索引的特点,使用场景,操作,底层结构,B树B+树,MYSQL设计栈
|
11月前
|
人工智能 算法 机器人
开源极客桌面机器人 Desk-Emoji
Desk-Emoji 是一款开源的实体 AI 桌面陪伴机器人,具备酷炫外观、流畅 Emoji 表情、双自由度云台及大模型语音聊天功能,支持手势识别和情绪反馈,适合 DIY 和二次开发,是性价比极高的桌面机器人。
2547 1
开源极客桌面机器人 Desk-Emoji
|
Cloud Native Go API
Go语言在微服务架构中的创新应用与实践
本文深入探讨了Go语言在构建高效、可扩展的微服务架构中的应用。Go语言以其轻量级协程(goroutine)和强大的并发处理能力,成为微服务开发的首选语言之一。通过实际案例分析,本文展示了如何利用Go语言的特性优化微服务的设计与实现,提高系统的响应速度和稳定性。文章还讨论了Go语言在微服务生态中的角色,以及面临的挑战和未来发展趋势。
|
NoSQL C语言 索引
十二个C语言新手编程时常犯的错误及解决方式
C语言初学者常遇错误包括语法错误、未初始化变量、数组越界、指针错误、函数声明与定义不匹配、忘记包含头文件、格式化字符串错误、忘记返回值、内存泄漏、逻辑错误、字符串未正确终止及递归无退出条件。解决方法涉及仔细检查代码、初始化变量、确保索引有效、正确使用指针与格式化字符串、包含必要头文件、使用调试工具跟踪逻辑、避免内存泄漏及确保递归有基准情况。利用调试器、编写注释及查阅资料也有助于提高编程效率。避免这些错误可使代码更稳定、高效。
1825 12
|
数据挖掘
InsTag:大语言模型监督微调数据标签标注工具
魔搭社区发布了一个名为“InsTagger”的工具,用于分析LLM(大语言模型)中符合人类偏好的监督微调(SFT)数据。InsTagger 是基于 InsTag 方法训练的本地指令标签标注器,用于为符合人类偏好的监督微调数据集中的指令标注描述其意图和语义的标签,从而指导指令的分流或监督微调数据集的分析。
|
Rust 前端开发 JavaScript
Tauri框架:使用Rust构建轻量级桌面应用
Tauri是一个用Rust构建的开源框架,用于创建轻量、安全且高效的跨平台桌面应用,结合Rust与Web技术(HTML/CSS/JS)。它遵循最小权限原则,仅在必要时调用OS API。Tauri架构包括Rust后端、Web前端、Tauri API和包装器。通过`cargo tauri init`可创建新项目,Rust后端处理系统交互,前端负责UI,两者通过Tauri API通信。Tauri支持自定义API、集成前端框架、资源管理、自动更新、系统集成和安全配置。此外,Tauri拥有插件系统和丰富的扩展能力,提供调试和测试工具,并有性能优化建议。
1038 4