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 |
<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:
- On the vDB prior to the move-to-asm set the parameter ‘alter system set "_DISK_SECTOR_SIZE_OVERRIDE"=TRUE;’ in the vDB.
- Create online log with a 4K blocksize.
- 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 ).
- 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