Skip to main content
Delphix

move-to-asm will fail if the target ASM disk group does not have a 512 sector size (KBA9298)

 

 

KBA

KBA# 9298

 

Issue

When running the move-to-asm.sh script it fails with:

alter system archive log current 
declare 
* 
ERROR at line 1: 
ORA-16014: log 3 sequence# 6 not archived, no available destinations 
ORA-00312: online log 3 thread 1: 
'/u04/app/delphix/STREL/datafile/STREL/onlinelog/o1_mf_3_kbkoz10w_.log' 
ORA-06512: at line 22 
ORA-06512: at line 22 
ORA-01623: log 1 is current log for instance STREL (thread 1) - cannot drop 
ORA-00312: online log 1 thread 1: 
'/u04/app/delphix/STREL/datafile/STREL/onlinelog/o1_mf_1_kbkoz106_.log' 
ORA-06512: at line 18

move-to-asm.sh: Failed to move online log files

The Oracle alert log shows:

2022-06-14T21:52:55.206617+01:00
kffmGetRS: failed for mapid 289 due to map state 1
ARC0 (PID:11748): Unable to create archive log file '+RECO'
2022-06-14T21:52:55.207408+01:00
Errors in file /u02/app/oracle/diag/rdbms/strel/STREL/trace/STREL_arc0_11748.trc:
ORA-19504: failed to create file "+RECO"
ORA-17502: ksfdcre:4 Failed to create file +RECO
ORA-15347: logical block size 512 of ASM file '+RECO' is too small for disk group sector size 4096
ARC0 (PID:11748): Error 19504 Creating archive log file to '+RECO'
ARC0 (PID:11748): Stuck archiver: inactive mandatory LAD:1
ARC0 (PID:11748): Stuck archiver condition declared

 

Prerequisites

When running a move-to-asm to an ASM disk group with a logical sector size > 512. 

This can be viewed with:

ASMCMD> lsdg 
State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name 
MOUNTED EXTERN N 4096 4096 4096 4194304 8388576 8388388 0 8388388 0 N DATA/ 
MOUNTED EXTERN N 4096 4096 4096 4194304 1048568 1037680 0 1037680 0 N RECO/ 
ASMCMD>

In this case the Logical Sector size of 4096.

Applicable Delphix Versions

Click here to view the versions of the Delphix engine to which this article applies
Major Release All Sub Releases
6.0

6.0.0.0, 6.0.1.0, 6.0.1.1, 6.0.2.0, 6.0.2.1, 6.0.3.0, 6.0.3.1, 6.0.4.0, 6.0.4.1, 6.0.4.2, 6.0.5.0, 6.0.6.0, 6.0.6.1, 6.0.7.0, 6.0.8.0, 6.0.8.1, 6.0.9.0, 6.0.10.0, 6.0.10.1, 6.0.11.0, 6.0.12.0, 6.0.12.1, 6.0.13.0, 6.0.13.1, 6.0.14.0

5.3

5.3.0.0, 5.3.0.1, 5.3.0.2, 5.3.0.3, 5.3.1.0, 5.3.1.1, 5.3.1.2, 5.3.2.0, 5.3.3.0, 5.3.3.1, 5.3.4.0, 5.3.5.0, 5.3.6.0, 5.3.7.0, 5.3.7.1, 5.3.8.0, 5.3.8.1, 5.3.9.0

5.2

5.2.2.0, 5.2.2.1, 5.2.3.0, 5.2.4.0, 5.2.5.0, 5.2.5.1, 5.2.6.0, 5.2.6.1

5.1

5.1.0.0, 5.1.1.0, 5.1.2.0, 5.1.3.0, 5.1.4.0, 5.1.5.0, 5.1.5.1, 5.1.6.0, 5.1.7.0, 5.1.8.0, 5.1.8.1, 5.1.9.0, 5.1.10.0

5.0

5.0.1.0, 5.0.1.1, 5.0.2.0, 5.0.2.1, 5.0.2.2, 5.0.2.3, 5.0.3.0, 5.0.3.1, 5.0.4.0, 5.0.4.1, 5.0.5.0, 5.0.5.1, 5.0.5.2, 5.0.5.3, 5.0.5.4

Resolution

Either create an ASM diskgroup with a Logical Sector size of 512 and specify the new ASM DG with the additional move-to-asm options discussed below:

Move an Oracle VDB to a physical ASM or exadata database

Method 1

Create an ASM disk group that will contain all the database files. Optionally, create a separate disk group for redo log files which has a blocksize of 512.
 
Command syntax: move-to-asm.sh [-noask] [-parallel #] [-dbunique db_unique_name] <data_diskgroup> [<redo_diskgroup>]

Arguments Description
-noask [optional] Do not prompt for confirmation before moving the VDB. The default is to prompt.
-parallel # [optional] The number of RMAN channels used to move the VDB to ASM. The default is 8.
-dbunique <db_unique_name> [optional]

Unique database name for the resulting physical database. The default is the unique name of the VDB.

The -dbunique argument only works if a database with that name that you select already exists.

<data_diskgroup> [required] Target ASM disk group for data, server parameter, and control files.
<redo_diskgroup> [optional] Target ASM disk group for redo log files. Default is <data_diskgroup>.

Method 2

If creating a new ASM diskgroup is not an option then the following procedure can be attempted:

  1. On the vDB prior to the move-to-asm set the parameter ‘alter system set "_DISK_SECTOR_SIZE_OVERRIDE"=TRUE;’ in the vDB.
  2. Create online log with a 4K blocksize.
  3. Example SQL 
    alter database add logfile thread 1 '<filename>' size 512000K BLOCKSIZE 4K

    Delete/drop old inactive online logs with 512 blocksize  (you may need to log switch first to make the log inactive ). 
     
  4. Once all online logs are on 4k then rerun the move-to-asm.sh

 

 


Related Articles

The following articles may provide more information or related information to this article:

  • N/A