How to copy all tables in Oracle to a SQL Server database?

During migration of applications, you will often maintain a long-term copy of your application data as a copy in a data lake or traditional database. The following query copies data from an Oracle RDBMS database to SQL Server:

declare
  --
  -- Alias of source data container.
  -- In this case Oracle RDBMS.
  --
  l_source_alias varchar2 := 'SOMEORACLE';
  --
  -- Alias of target data container.
  -- In this case SQL Server 2019 instance.
  --
  l_target_alias varchar2 := 'sql2019';
begin
  for r 
  in 
  ( select 'create or replace table bak_'
           || lower(ste.name)
           || '@'
           || l_target_alias
           || ' as select * from '
           || ste.schema
           || '.' 
           || ste.name 
           || '@'
           || ste.provider_data_container_alias
           stmt
    from   SYSTEMTABLES@DataDictionary ste
    where  ste.provider_data_container_alias = l_source_alias
    --
    -- Skip SYS, SYSTEM, etc. on Oracle.
    --
    and    ste.schema = 'SOMESCHEMA'
    order
    by     ste.name
  )
  loop
    execute immediate r.stmt;
  end loop;
end;