Для резервного копирования всей базы данных я бы порекомендовал использовать expdp / impdp из командной строки.
Если вам нужны только объекты, а не данные, вы можете использовать настройку METADATA_ONLY, см.
http://download.oracle.com/docs/cd/B19306_01/server.102/b14215/dp_export.htm
Если вам действительно нужно сгенерировать сценарий SQL для всей базы данных и вы не хотите использовать коммерческий инструмент, такой как PL / SQL Developer, TOAD и т. Д., Вам, вероятно, придется сделать это самостоятельно - например, перебирая все объекты и извлекая их DDL-скрипт, используя dbms_metadata.get_ddl (), что-то вроде
<br>
foreach user u in all_users<br>
foreach object o in users_u_objects<br>
script += dbms_metadata.get_ddl(u, o)