Skip to Content
Author's profile photo Former Member

Work around for importing HANA delta LOB data fail

Problem:

When import the HANA schema data, meet this error info:

Could not execute ‘import all as binary from ‘/home/Fday_schema_Rev70_90PL10/’ with replace …’ in 4:28.528 minutes .

SAP DBTech JDBC: [2048]: column store error: table import failed:  [30149] Found lob container reference with no entry in the provided mapping;object=FDAY_DE:OUSR$delta_1$en, field:,ALLOWENCES, container id:,DISK_NCLOB:2:1090921747273,object=FDAY_DE:OUSRen,location=cnpvg50839582:30003,Found lob container reference with no entry in the provided mapping;object=FDAY_DE:RDOC$delta_1$en, field:,Template, container id:,DISK_BLOB:2:1090921747284,object=FDAY_DE:RDOCen,location=cnpvg50839582:30003


Solution:

  If you have the source schema on your hand, you can run some SQL commands in it and then export/import again.

    • run these SQL script on the source HANA db:(replace ‘DEMO_DB‘ in the script with your schema name)

create procedure merge_delta_before_export(in p_schema_name nvarchar)
as
begin
  declare cursor cs_tables for
select table_name
from M_CS_TABLES t
where schema_name = :p_schema_name and raw_record_count_in_delta > 0
and exists (select * from sys.columns where schema_name = t.schema_name and table_name = t.table_name and data_type_name in ('BLOB','NCLOB','CLOB'));
  for cs_table as cs_tables do
exec 'merge delta of ' || p_schema_name || '.' || cs_table.table_name;
  end for;
end;
call merge_delta_before_export('DEMO_DB');   --call the procedure to merge the delta data. 'DEMO_DB' is the schema name to be exported.
drop procedure merge_delta_before_export;




    • export and  import the HANA schema data again.

If you don’t have the source schema on your hand, you can remove the delta data files in the import directory, but you may lose some recently update data which is in the delta storage.

    • run the Linux bash script in import directory to remove the delta data file

#!/bin/bash
for f in $(find . -name lobs -type d ! -empty)
do
echo dir found $f
rm $(dirname $f)/\$delta\$.log
rm -rf $f
done




    • import from the directory again.

Assigned Tags

      1 Comment
      You must be Logged on to comment or reply to a post.
      Author's profile photo Joerg Aldinger
      Joerg Aldinger

      Hello Loogle,

      I just had this error when restoring a Business One company database that failed upgrade from 9.1 PL9 to 9.1 PL10. However, running the script that is supposed to remove the delta data file seems to remove not only that, but also all binary data that has been exported because it removes all directories named "lobs".

      Am I right with my analysis or am I looking at this from the wrong angle?

      Also, it seems strange that SAP would not execute the delta merge automatically during upgrade, which is what you mention as your first solution. Are you sure the upgrade wizard does not do this automatically?

      Thanks!

      Joerg.