(一)DBMS_METADATA
两种方式获取元信息
1. 使用get_dll
GET_xxx is used to fetch named objects, especially schema objects (tables, views).
GET_DEPENDENT_xxx is used to fetch dependent objects (audits, object grants).
GET_GRANTED_xxx is used to fetch granted objects (system grants, role grants).
set pagesize 0
set long 1000000
--以下设置当前session有效,使用default值来恢复
execute dbms_metadata.set_transform_param(dbms_metadata.session_transform,'STORAGE',false);
--execute dbms_metadata.set_transform_param(dbms_metadata.session_transform,'DEFAULT');
--按不同格式转化
select dbms_metadata.get_ddl(object_type=>'TABLE',name=>'T1',schema=>'SCOTT', version=>'11.2',model=>'ORACLE') from dual;
--select dbms_metadata.get_xml(object_type=>'TABLE',name=>'T1',schema=>'SCOTT', version=>'11.2',model=>'ORACLE') from dual;
--select dbms_metadata.get_sxml(object_type=>'TABLE',name=>'T1',schema=>'SCOTT', version=>'11.2',model=>'ORACLE') from dual;
select dbms_metadata.get_ddl('TABLE','T1','HR') from dual; --表
select dbms_metadata.get_ddl('INDEX','IND_T1','