客户反映NBU备份任务失败,检查RMAN备份脚本的日志输出发现是由于ORA-19588导致备份任务终止,
客户反映NBU备份任务失败,检查RMAN备份脚本的日志输出发现是由于ORA-19588导致备份任务终止,具体报错如下:
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on ch00 channel at 07/15/2015 11:51:47
ORA-19588: archived log recid 125609 stamp 884484359 is no longer valid
错误的是由于备份期间某一个归档文件在控制文件中没有找到导致备份失败,可能导致这个错误的原因主要有3个:
1、控制文件信息与归档文件信息不一致,可以使用如下命令更新控制文件信息;
2、RMAN备份任务被启动了两次;
3、错误的备份脚本语法。
对于第1种错误,可以使用下面的命令对控制文件进行更新:
RMAN> crosscheck archivelog all;
对于第二种错误,需要检查备份任务的启动情况,,不要让RMAN备份任务重复启动,对于第三种错误,通常是在备份脚本中出现了如下的写法:
backup archivelog all archivelog until time 'sysdate -7' delete input ;
上面的脚本在RMAN中的执行过程是先备份所有的归档,然后删除归档,接着再执行备份直到sysdate-7的归档,所以执行第二步备份时会发现归档已经被删除了,就会出现ORA-19588错误。
检查备份脚本发现,crosscheck archivelog all已经写入到备份脚本中,所以排除第一种错误,在备份脚本中也没有发现第三种情况中的错误写法。所以怀疑NBU启动了两次备份任务,但是检查NBU日志发现,备份任务只启动了一次,但是有个奇怪的现象是针对这个系统有两个不同的备份任务,接下来检查两个备份任务的脚本,其中一个是对数据库进行全备,同时备份所有的归档文件和控制文件,另外一个备份脚本是备份所有的归档,并删除3天前的归档。两个备份脚本都涉及到对归档的操作,接下来检查两个任务的执行时间:
SQL> select START_TIME,END_TIME,STATUS,ELAPSED_SECONDS from V$RMAN_BACKUP_JOB_DETAILS order by START_TIME;
START_TIME END_TIME STATUS ELAPSED_SECONDS
------------------- ------------------- ----------------------- ---------------
2015-07-14 05:00:04 2015-07-14 07:20:31 COMPLETED 8427
2015-07-14 11:23:57 2015-07-14 11:25:27 FAILED 90
2015-07-14 11:33:34 2015-07-15 00:28:41 COMPLETED 46507
2015-07-14 16:59:36 2015-07-15 10:22:13 FAILED 62557
2015-07-15 00:31:01 2015-07-15 11:51:47 FAILED 40846
从上面的备份任务的起止时间分析,两个备份任务出现交叉,而且都涉及到对归档的操作,因此导致了ORA-19588。需要将两个备份任务的时间窗口进行重新分布,避免同一时间有两个备份任务执行。
--------------------------------------推荐阅读 --------------------------------------
RMAN备份时遭遇ORA-19571
RMAN 配置归档日志删除策略
Oracle基础教程之通过RMAN复制数据库
RMAN备份策略制定参考内容
RMAN备份学习笔记
Oracle数据库备份加密 RMAN加密
--------------------------------------分割线 --------------------------------------
本文永久更新链接地址:

MySQLdiffersfromotherSQLdialectsinsyntaxforLIMIT,auto-increment,stringcomparison,subqueries,andperformanceanalysis.1)MySQLusesLIMIT,whileSQLServerusesTOPandOracleusesROWNUM.2)MySQL'sAUTO_INCREMENTcontrastswithPostgreSQL'sSERIALandOracle'ssequenceandt

MySQL partitioning improves performance and simplifies maintenance. 1) Divide large tables into small pieces by specific criteria (such as date ranges), 2) physically divide data into independent files, 3) MySQL can focus on related partitions when querying, 4) Query optimizer can skip unrelated partitions, 5) Choosing the right partition strategy and maintaining it regularly is key.

How to grant and revoke permissions in MySQL? 1. Use the GRANT statement to grant permissions, such as GRANTALLPRIVILEGESONdatabase_name.TO'username'@'host'; 2. Use the REVOKE statement to revoke permissions, such as REVOKEALLPRIVILEGESONdatabase_name.FROM'username'@'host' to ensure timely communication of permission changes.

InnoDB is suitable for applications that require transaction support and high concurrency, while MyISAM is suitable for applications that require more reads and less writes. 1.InnoDB supports transaction and bank-level locks, suitable for e-commerce and banking systems. 2.MyISAM provides fast read and indexing, suitable for blogging and content management systems.

There are four main JOIN types in MySQL: INNERJOIN, LEFTJOIN, RIGHTJOIN and FULLOUTERJOIN. 1.INNERJOIN returns all rows in the two tables that meet the JOIN conditions. 2.LEFTJOIN returns all rows in the left table, even if there are no matching rows in the right table. 3. RIGHTJOIN is contrary to LEFTJOIN and returns all rows in the right table. 4.FULLOUTERJOIN returns all rows in the two tables that meet or do not meet JOIN conditions.

MySQLoffersvariousstorageengines,eachsuitedfordifferentusecases:1)InnoDBisidealforapplicationsneedingACIDcomplianceandhighconcurrency,supportingtransactionsandforeignkeys.2)MyISAMisbestforread-heavyworkloads,lackingtransactionsupport.3)Memoryengineis

Common security vulnerabilities in MySQL include SQL injection, weak passwords, improper permission configuration, and unupdated software. 1. SQL injection can be prevented by using preprocessing statements. 2. Weak passwords can be avoided by forcibly using strong password strategies. 3. Improper permission configuration can be resolved through regular review and adjustment of user permissions. 4. Unupdated software can be patched by regularly checking and updating the MySQL version.

Identifying slow queries in MySQL can be achieved by enabling slow query logs and setting thresholds. 1. Enable slow query logs and set thresholds. 2. View and analyze slow query log files, and use tools such as mysqldumpslow or pt-query-digest for in-depth analysis. 3. Optimizing slow queries can be achieved through index optimization, query rewriting and avoiding the use of SELECT*.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

WebStorm Mac version
Useful JavaScript development tools
