Предполагая, что "7000 строк" переводится в более чем 32 КБ, вы можете сделать что-то вроде
declare
l_sql dbms_sql.varchar2a;
begin
l_sql(1) := 'CREATE OR REPLACE PACKAGE pkg_foo ';
l_sql(2) := 'AS ';
l_sql(3) := ' PROCEDURE proc_foo( col1 IN NUMBER ); ';
l_sql(4) := 'END;';
dbms_ddl.create_wrapped( l_sql, 1, 4 );
end;
Убедитесь, что фактический источник вашего пакета хранится вне базы данных - невозможно развернуть пакет после того, как он будет упакован, поэтому любые будущие изменения нужно начинать с развернутого источника.