Tuesday, March 24, 2009

Extracting Metadata

For Metadata of all tables from particular schema-
select dbms_metadatA.get_ddl('TABLE',U.TABLE_NAME) FROM USER_TABLES U;

For Metadata of single table from particular schema-
select dbms_metadata.get_ddl('TABLE','XYZ','JAGAT') from dual; -> where XYZ is table name and JAGAT is user.

For Metadata of all indexes from particular schema-
select dbms_metadatA.get_ddl('INDEX',U.INDEX_NAME) FROM USER_INDEXES U;

For Metadata of single index from particular schema-
select dbms_metadata.get_ddl('INDEX','XYZ','JAGAT') from dual; -> where XYZ is index name and JAGAT is user.

Getting User Script:
select 'create user ' U.username ' identified ' DECODE(password, NULL, 'EXTERNALLY', ' by values ' '''' password '''' ) chr(10) 'default tablespace ' default_tablespace chr(10) 'temporary tablespace ' temporary_Tablespace chr(10) ' profile ' profile chr(10) 'quota ' decode ( Q.max_bytes, -1, 'UNLIMITED', NULL, 'UNLIMITED', Q.max_bytes) ' on ' default_tablespace decode (account_status,'LOCKED', ' account lock', 'EXPIRED', ' password expire', 'EXPIRED \& LOCKED', ' account lock password expire', null)';'from dba_users U, dba_ts_quotas Q-- Comment this clause out to include system & default userswhere U.username not in ('SYS','SYSTEM','SCOTT','DBSNMP','OUTLN','WKPROXY','WMSYS','ORDSYS','ORDPLUGINS','MDSYS','CTXSYS','XDB','ANONYMOUS','OWNER','WKSYS','ODM_MTR','ODM','OLAPSYS','HR','OE','PM','SH','QS_ADM','QS','QS_WS','QS_ES','QS_OS','QS_CBADM','QS_CB','QS_CS','PERFSTAT')and U.username=Q.username(+) and U.default_tablespace=Q.tablespace_name(+)

Getting Tablespace Script:

select 'create tablespace ' df.tablespace_name chr(10) ' datafile ''' df.file_name ''' size ' df.bytes decode(autoextensible,'N',null, chr(10) ' autoextend on maxsize ' maxbytes) chr(10) 'default storage ( initial ' initial_extent decode (next_extent, null, null, ' next ' next_extent ) ' minextents ' min_extents ' maxextents ' decode(max_extents,'2147483645','unlimited',max_extents) ') ;' from dba_data_files df, dba_tablespaces t where df.tablespace_name=t.tablespace_name

No comments:

Post a Comment