RE: Using dbms_metadata to extract a full schema

  • From: Srinivasan Vasan <Vasan.Srinivasan@xxxxxxxxxxxxx>
  • To: "'oracle-l@xxxxxxxxxxxxx'" <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 4 May 2004 11:40:06 +0100

Daniel,
 

     Try this. It works for me. I got the code from some web-site
(SearchOracle.com, I think). You may have to filter out (in the WHERE
condition) certain object types like LOB which cause this package to fail.
However procedures, functions, etc., are extracted.

 

set long 10000

set heading off

set pages 10000

set feedback off

set verify off

Define ownernm='&owner'

Define objtype='&object_type'

accept pwd prompt "Enter Password for user &ownernm : " hide

connect &ownernm/&pwd

exec
dbms_metadata.set_transform_param(dbms_metadata.session_transform,'PRETTY',T
RUE);

exec
dbms_metadata.set_transform_param(dbms_metadata.session_transform,'SQLTERMIN
ATOR',TRUE);

exec
dbms_metadata.set_transform_param(dbms_metadata.session_transform,'SEGMENT_A
TTRIBUTES',TRUE);

exec
dbms_metadata.set_transform_param(dbms_metadata.session_transform,'STORAGE',
TRUE);

exec
dbms_metadata.set_transform_param(dbms_metadata.session_transform,'TABLESPAC
E',TRUE);

exec
dbms_metadata.set_transform_param(dbms_metadata.session_transform,'SPECIFICA
TION',TRUE);

exec
dbms_metadata.set_transform_param(dbms_metadata.session_transform,'BODY',TRU
E);

exec
dbms_metadata.set_transform_param(dbms_metadata.session_transform,'CONSTRAIN
TS',TRUE);

set trimspool on

spool &ownernm-ddl

 

select dbms_metadata.get_ddl(object_type,object_name,user)

  from DBA_objects

 where ('&&objtype' is null or object_type = '&&objtype')

   and owner       = '&ownernm';

 

spool off

set feedback on

set verify on

set heading on

set pages 1000

undefine objtype

undefine ownernm

 

Cheers, 

 

Vasan (x5707) 

Mailpoint 28

============================================

Vasan Srinivasan                                   * 020 8313 5707

Infrastructure Service Manager              * 020 8313 5646

Oracle Technologies

Churchill Insurance, IT Department

Purple Floor, Phase 1, Churchill Court

1 Westmoreland Road,

Bromley, Kent, BR1 1DP.

* Vasan.Srinivasan@xxxxxxxxxxxxx

Mobile * 07710 154 987

http://oratech

============================================

Views Presented here are not necessarily the views

                          of my Employer

============================================ 

 

 

-----Original Message-----
From: Daniel Fink [mailto:Daniel.Fink@xxxxxxx] 
Sent: 30 April 2004 19:55
To: oracle-l@xxxxxxxxxxxxx
Subject: Re: Using dbms_metadata to extract a full schema

 

Thanks for all the code and packages. It looks like this is the

only way, I was just hoping that there was a method using the

dbms_metadata package to extract all the schema ddl with one

call. Of course, this would make sense and the documentation

SAYS you can do it, but it looks not to be the case.

 

Regards,

Daniel

----------------------------------------------------------------

Please see the official ORACLE-L FAQ: http://www.orafaq.com

----------------------------------------------------------------

To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx

put 'unsubscribe' in the subject line.

--

Archives are at //www.freelists.org/archives/oracle-l/

FAQ is at //www.freelists.org/help/fom-serve/cache/1.html

-----------------------------------------------------------------


___________________________________________________________________________ 


This email and any attached to it are confidential and intended only for the
individual or entity to which it is addressed.  If you are not the intended
recipient, please let us know by telephoning or emailing the sender.  You
should also delete the email and any attachment from your systems and should
not copy the email or any attachment or disclose their content to any other
person or entity.  The views expressed here are not necessarily those of
Churchill Insurance Group plc or its affiliates or subsidiaries. Thank you. 

Churchill Insurance Group plc.  Company Registration Number - 2280426.
England. 

Registered Office: Churchill Court, Westmoreland Road, Bromley, Kent BR1
1DP. 




----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------

Other related posts: