Apr 29, 2023

19c Encrypt tablespace online with error code on the alert log ORA-01578/ORA-376/Corrupt

 When you have a issue or error encrypting tablespace online on exacc (exadata) like this:

(from alert log)
ALTER TABLESPACE XXXXX encryption online encrypt ;
ORA-00376: file xxxx cannot be read at this time


Maybe the other error codes it could be ORA-01578/ORA-376/Corrupt Block messages on the alert log. If you have this issue on your exadata db 19c (in my case 19.16) that is caused for a bug. The current workaround is disable the SQL processing offload on Exadata Storage Server while momentarily you are executing the online encryption tablespaces (This bug is only present when you encrypt online)

alter session set container=XX_your_pdb_name_xxx ;
alter system set CELL_OFFLOAD_PROCESSING=
FALSE scope=memory sid='*';
ALTER TABLESPACE XXXXX encryption online encrypt ;
alter system set CELL_OFFLOAD_PROCESSING=
TRUE  scope=memory sid='*';

Note: if you cancel the last execution of your encrypt you need to retake the last encrypt using the command FINISH:

ALTER TABLESPACE XXXXX ENCRYPTION ONLINE FINISH ENCRYPT ;

 
I hope this help you.