ORA-19870 ORA-19504 ORA-17502 ORA-15041 When Restoring Backup

I was restoring a backup to Flex ASM instance when I get the next errorstack;

 
channel t4: restoring datafile 00069 to +CLOUD_PROD_DATA_DISKG
channel t4: restoring datafile 00075 to +CLOUD_PROD_DATA_DISKG
channel t4: restoring datafile 00077 to +CLOUD_PROD_DATA_DISKG
channel t4: reading from backup piece dbwebdb_c0s464nj_1_1
channel t1: ORA-19870: error while restoring backup piece dbclout_c1f432tc_1_1
ORA-19504: failed to create file "+CLOUD_PROD_DATA_DISKG"
ORA-17502: ksfdcre:4 Failed to create file +CLOUD_PROD_DATA_DISKG
ORA-15041: diskgroup "CLOUD_PROD_DATA_DISKG" space exhausted

I checked the space. Usually before start the restore look at the filesystem or ASM to check free space. From asmcmp (I like with -p parameter);

ASMCMD [+] > lsdg
State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512   4096  4194304      5116       52                0              52              0             N  ACFS_CLOUD_PROD_TRZ_DG/
MOUNTED  EXTERN  N         512   4096  4194304      1020       52                0              52              0             N  ACFS_CLOUD_PROD_UDD_DG/
MOUNTED  NORMAL  N         512   4096  1048576     30717    21271            10239            5516              0             Y  OCRVTD_DG/
MOUNTED  EXTERN  N         512   4096  4194304     71676    71544                0           71544              0             N  CLOUD_PROD_ARCCLD1_DG/
MOUNTED  EXTERN  N         512   4096  4194304     71676    71548                0           71548              0             N  CLOUD_PROD_ARCCLD2_DG/
MOUNTED  EXTERN  Y         512   4096  4194304    747476   425468                0          425468              0             N  CLOUD_PROD_DATA_DISKG/
MOUNTED  EXTERN  N         512   4096  4194304      5116     4372                0            4372              0             N  CLOUD_PROD_RC1_DG/
MOUNTED  EXTERN  N         512   4096  4194304      5116     4372                0            4372              0             N  CLOUD_PROD_RC2_DG/

Of course, the column Rebal(ance) has value Y, ummm I suppose a new disk was added to the diskgroup but no rebalanced. With the nexts commands you can rebalance all the DG.

Execute the rebalance of my diskgroup;

rebal CLOUD_PROD_DATA_DISKG

To monitoring rebalancing;

lsop

I tryed the restores again with a happy end.

HTH – Antonio NAVARRO

RMAN-00550 And RMAN-02000 When Execute Rman

Today I have discoverd the next error when I was executing rman;

 
C:\>rman 
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
 wrong message file version (msg 19 not found)

Search for the error at ML/MOS I have seen that the problem can be the NLS_LANG variable. This database is on Windows 2003 Server and Oracle 9.2, of course it is out of all support and logic but it is a requeriment from the application. I have been perform some testcases with the NLS_LANG but without results.

Executing rman command from oracle_home binary files, it works fine;

 
C:\oracle\ora92\bin>rman

Recovery Manager: Release 9.2.0.8.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.

RMAN>

I don’t know where is the problem yet, I Think it is relative to PATH variable but looks good.

HTH – Antonio NAVARRO

RMAN-00554 RMAN-04005 ORA-01031 Errors

Today a coworker ask about the next error when He was configuring a Rman backup;

 
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04005: error from target database:
ORA-01031: insufficient privileges

The core problem is the ORA-01031: insufficient privileges to perform the backup. Check the next items, it must solve the problem in the majority of cases;

 

i) Verify the password file exits. You can query the password file contain by the next query;

 
   SELECT * FROM V$PWFILE_USERS;
   

 

ii) check if remote_login_passworfile is set to EXCLUSIVE if not you can set by the next command;

 alter system set remote_login_passwordfile = EXCLUSIVE scope=both;

 

HTH – Antonio NAVARRO

ORA-19625 ORA-27037 Errors Using Incrementally Updating Backups

Today I have been reported with next error when a full backup is executed;

 
Starting backup at 04-OCT-16
allocated channel: ORA_SBT_TAPE_1
channel ORA_SBT_TAPE_1: SID=557 device type=SBT_TAPE
channel ORA_SBT_TAPE_1: NMO v4.2.0.0
sent command to channel: ORA_SBT_TAPE_1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup command at 10/04/2016 07:08:56
ORA-19625: error identifying file /OCETA/prod/archives/OCETA/datafile/o1_mf_sysaux_bpxdw00t_.dbf
ORA-27037: unable to obtain file status
SVR4 Error: 2: No such file or directory
Additional information: 3

The problem is the datafile indicate before is missing, I don’t sure how it did, but this db file no exits. The problem is for Oracle it exist yet.¬†Please, look below, the next sequence of commands to solve the problem. The solution is force the expired of this file, in the next backup Oracle to create a new copy of the file, in this case associated to sysaux tbs.

 
RMAN>

RMAN> list datafilecopy '/OCETA/prod/archives/OCETA/datafile/o1_mf_sysaux_bpxdw00t_.dbf';

List of Datafile Copies
=======================

Key     File S Completion Time Ckp SCN    Ckp Time
------- ---- - --------------- ---------- ---------------
7895715 3    A 04-OCT-16       259771489071 03-OCT-16
        Name: /OCETA/prod/archives/OCETA/datafile/o1_mf_sysaux_bpxdw00t_.dbf
        Tag: COPY_ONLINE_DISK

RMAN> crosscheck copy of datafile 3;

allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=461 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=434 device type=DISK
allocated channel: ORA_DISK_3
channel ORA_DISK_3: SID=554 device type=DISK
allocated channel: ORA_DISK_4
channel ORA_DISK_4: SID=45 device type=DISK
validation failed for datafile copy
datafile copy file name=/OCETA/prod/archives/OCETA/datafile/o1_mf_sysaux_bpxdw00t_.dbf RECID=24070 STAMP=924328947
Crosschecked 1 objects

RMAN>
RMAN> list datafilecopy '/OCETA/prod/archives/OCETA/datafile/o1_mf_sysaux_bpxdw00t_.dbf';

List of Datafile Copies
=======================

Key     File S Completion Time Ckp SCN    Ckp Time
------- ---- - --------------- ---------- ---------------
7895715 3    X 04-OCT-16       259771489071 03-OCT-16
        Name: /OCETA/prod/archives/OCETA/datafile/o1_mf_sysaux_bpxdw00t_.dbf
        Tag: COPY_ONLINE_DISK

RMAN>

HTH – Antonio NAVARRO

RMAN Checksyntax Only Check Syntax

Today a coworker ask me about a problem in a rman script. He told me checksyntax option from rman command doesn’t work fine, because checsyntax replied “The cmdfile has no syntax errors” and when execute the cmdfile failed by syntax error.

Of course, the first of all Check Syntax refering to “tokens” or characteres, by example BEGIN is correct, BegIN too but BeGIM is incorrect as syntax. On the other hand we have the semantic, “SELECT COUNT (*) V$SESSION” is correct from syntax but incorrecto from semantic, before “V$SESSION” need “FROM” clause.

Checksyntax only validate the words;

Let me see a example with syntax and semantic ok;

 
thunder@:$PWD> cat restore_one_datafile_syntax_ok_semantic_ok
connect rcvcat rman/secret@catalog12c;
set dbid 1030983521
connect target sys/sys
run {
  allocate channel t1 type 'SBT_TAPE'
        parms 'ENV=(NSR_DATA_VOLUME_POOL=daily,
                NSR_CLIENT=thunder.local.com,
                NSR_SERVER=serverbck.local.com)';
      set until time "to_date( ''''''AUG 29 2016 00:00:00'''''', ''MON DD RRRR HH24:MI:SS'')";
set newname for datafile 4   to '/tmp/anr/work.dbs';
restore datafile
'/tmp/anr/work.dbs';
}

Now other example with syntax ok but semantic wrong, don’t close double quotation marks;

 
thunder@:$PWD>
thunder@:$PWD> cat restore_one_datafile_syntax_ok_semantic_ko
connect rcvcat rman/secret@catalog12c;
set dbid 1030983521
connect target sys/sys
run {
  allocate channel t1 type 'SBT_TAPE'
        parms 'ENV=(NSR_DATA_VOLUME_POOL=daily,
                NSR_CLIENT=thunder.local.com,
                NSR_SERVER=serverbck.local.com)';
      set until time "to_date( ''''''AUG 29 2016 00:00:00, ''MON DD RRRR HH24:MI:SS'')";
set newname for datafile 4   to '/tmp/anr/work.dbs';
restore datafile
'/tmp/anr/work.dbs';
}

Check the first example;

 
thunder@:$PWD> rman checksyntax @restore_one_datafile_syntax_ok_semantic_ok

Recovery Manager: Release 11.2.0.3.0 - Production on Thu Sep 1 16:31:45 2016

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

RMAN> connect rcvcat *
2> set dbid 1030983521
3> connect target *
4> run {
5>   allocate channel t1 type 'SBT_TAPE'
6>         parms 'ENV=(NSR_DATA_VOLUME_POOL=daily,
7>                 NSR_CLIENT=thunder.local.com,
8>                 NSR_SERVER=serverbck.local.com)';
9>       set until time "to_date( ''''''AUG 29 2016 00:00:00'''''', ''MON DD RRRR HH24:MI:SS'')";
10> set newname for datafile 4   to '/tmp/anr/work.dbs';
11> restore datafile
12> '/tmp/anr/work.dbs';
13> }
14>
15>
16>
The cmdfile has no syntax errors

Recovery Manager complete.

All is okay, then check the second example;

 
thunder@:$PWD> rman checksyntax @restore_one_datafile_syntax_ok_semantic_ko

Recovery Manager: Release 11.2.0.3.0 - Production on Thu Sep 1 16:32:05 2016

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

RMAN> connect rcvcat *
2> set dbid 1030983521
3> connect target *
4> run {
5>   allocate channel t1 type 'SBT_TAPE'
6>         parms 'ENV=(NSR_DATA_VOLUME_POOL=daily,
7>                 NSR_CLIENT=thunder.local.com,
8>                 NSR_SERVER=serverbck.local.com)';
9>       set until time "to_date( ''''''AUG 29 2016 00:00:00, ''MON DD RRRR HH24:MI:SS'')";
10> set newname for datafile 4   to '/tmp/anr/work.dbs';
11> restore datafile
12> '/tmp/anr/work.dbs';
13> }
14>
15>
16>
The cmdfile has no syntax errors

Recovery Manager complete.

Rman says is OK but when you execute it get a error.

HTH – Antonio NAVARRO

 

Minimal Number Of Parameters To Start An Instance

Today I needed create an auxiliary instance to restore a pairs of datafiles, for this purpose minimal configurations is enough. Oracle documentations says that only one parameter to start (startup nomount in mi case) is db_name, the rest of parameters are setting on defaults. Please look at down the next text;

 

thunder-3@:$PWD> cat initreco.ora
###
### The only one parameter needed is db_name
###
*.db_name='reco'
thunder-3@:$PWD> sqlplus '/ as sysdba'

SQL*Plus: Release 11.2.0.3.0 Production on Tue Aug 30 13:02:47 2016

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup nomount
ORACLE instance started.

Total System Global Area  329990144 bytes
Fixed Size                  2158976 bytes
Variable Size             255856256 bytes
Database Buffers           67108864 bytes
Redo Buffers                4866048 bytes

HTH – Antonio NAVARRO.

 

Error RMAN-03002 And RMAN-06429 Registering Database In Catalog

Today I get the next error registing a new database (12.1.0.5) in a RMAN catalog;

connected to target database: FINANCIAL (DBID=5127695875)

connected to recovery catalog database
PL/SQL package RMAN.DBMS_RCVCAT version 11.02.00.04 in RCVCAT database is too old

PL/SQL package RMAN.DBMS_RCVCAT version 11.02.00.04 in RCVCAT database is too old
PL/SQL package RMAN.DBMS_RCVCAT version 11.02.00.04 in RCVCAT database is too old
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of allocate command at 08/26/2016 09:59:25
RMAN-06429: BCKCAT database is not compatible with this version of RMAN

This is a typical error when a new greater version database is including into the RMAN catalog. The solution is typical too, is very easy, only execute an upgrade command like show below;

 RMAN> upgrade catalog; recovery catalog owner is RMAN enter UPGRADE CATALOG command again to confirm catalog upgrade RMAN> upgrade catalog; recovery catalog upgraded to version 12.01.00.05 DBMS_RCVMAN package upgraded to version 12.01.00.05 DBMS_RCVCAT package upgraded to version 12.01.00.05 RMAN> RMAN> RMAN> register database; database registered in recovery catalog starting full resync of recovery catalog full resync complete RMAN> 

HTH – Antonio NAVARRO