I got ” ORA-19588:%s recid string stamp string is no longer valid ” error in Oracle database.
ORA-19588:%s recid string stamp string is no longer valid
Details of error are as follows.
ORA-19588:%s recid string stamp string is no longer valid Cause: The indicated record has been marked as deleted. This indicates that the corresponding file has either been overwritten by another copy or restore, or that the copy was 'consumed' by a switchToCopy operation. Action: If you know the name of the file you wish to copy, then inspect it and then retry the copy specifying the new recid.
RMAN Backup of archived logs fails with following error: channel dev_0: starting archive log backupset released channel: dev_0 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== ORA-19588: archived log recid 1485 stamp 727949642 is no longer valid
%s recid string stamp string is no longer valid
This ORA-19588 error is related to the indicated record has been marked as deleted. This indicates that the corresponding file has either been overwritten by another copy or restore, or that the copy was ‘consumed’
by a switchToCopy operation.
There are a few possible causes for this error :
1. Invalid records in the controlfile
Invalid and/or deleted records in the controlfile. Records might be aged out of the controlfile during the backup.
2. The rman backup job had been started TWICE.
The initial resync for each job identified the same set of logs to be backed up.
Both jobs were trying to backup and delete the SAME archivelog set, one of which failed eventually as the other job had already backed up and deleted the log.
3. Incorrect syntax
The backup command being used is correct by ‘syntax’, however incorrect by ‘logic’ because RMAN will try to backup some archivelogs (archivelogs which completed till ‘sysdate-1’) twice in the same command:
RMAN> backup archivelog all archivelog until time 'sysdate -1' delete input ;
This backup command is interpreted by RMAN like the following:
+ Take backup of ‘all’ archived logs and then delete them
and
+ Take backup of archivelogs completed till ‘sysdate-1’
If we don’t specify ‘DELETE INPUT’, the command will be succeeded, however, by doing so, we will unnecessarily backing up some of the archived logs (archivelogs which completed till ‘sysdate-1’) twice which doesn’t seem to be the intention of above command.
1. Invalid records in the controlfile
Run the below command to synchronize the controlfile with the current status of the backup-related information.
RMAN> crosscheck archivelog all;
2. No concurrent RMAN backups
Make sure that concurrent backups of the archivelogs of the SAME database are not run.
3. Correct the syntax
Correct the RMAN backup command ‘logically’ by removing the repeated ‘archivelog’ keyword:
RMAN> backup archivelog until time 'sysdate -1' delete input ;
If we wish to take backup of all archivelogs, then:
RMAN> backup archivelog all delete input ;
ORA-19588: datafile copy RECID 1019958 STAMP 806188828 is no longer valid
Do you want to learn Oracle Database for Beginners, then read the following articles.
Oracle Tutorial | Oracle Database Tutorials for Beginners ( Junior Oracle DBA )