Используйте ALL_OBJECTS
вместо USER_SOURCE
для просмотра результатов для всех схем, к которым у вашего пользователя есть доступ. Вы также, вероятно, захотите использовать DBMS_METADATA.GET_DDL
вместо того, чтобы пытаться создать DDL самостоятельно со словарем данных. Воссоздание объектов может быть чрезвычайно сложным, и DBMS_METADATA
- лучший способ гарантировать, что вы правильно захватите объекты.
SET HEAD OFF
SET ECHO OFF
SET FEED OFF
SET TERM OFF
SET LINE 1500
SET NEWPAGE NONE
set pagesize 0
SET LONG 999999999
SPOOL C:\temp\TEST.SQL
select dbms_metadata.get_ddl('PACKAGE', object_name, owner) ddl
from all_objects
where owner = 'SOME_USERNAME'
and object_type = 'PACKAGE'
order by owner, object_name;
SPOOL OFF
Запустите приведенный ниже блок PL / SQL в сеансе, если вы хотите экспортировать код без имен схемы. Это позволит вам импортировать скрипт в другого пользователя.
begin
dbms_metadata.set_transform_param
(
dbms_metadata.session_transform, 'EMIT_SCHEMA', false
);
end;
/