Использование DBMS_METADATA

добавлено: 31 авг 15
понравилось:0
просмотров: 1305
комментов: 0

теги:

Автор: Myp3_u_K

Чалышев М.М www.orasource.ru ; резюме

Часто в работе возникают ситуации , когда необходимо посмотреть исходный код DLL обьека , а специальных графических средств нет под рукой
в этом нам поможет пакет DBMS_METADATA и метод GET_DDL
DBMS_METADATA.GET_DDL -- входные параметры
object_type - Тип обьека (TABLESPACE, CONSTRAINT , CONSTRAINT, Index)
name - Наименование обьекта например : USERS
schema - схема , по умолчанию схема сессии пользователя или SYS
приведем некоторые примеры

-- извлечь исходный код для табличного пространства USERS
select DBMS_METADATA.GET_DDL('TABLESPACE','USERS') from dual
/*
  CREATE TABLESPACE "USERS" DATAFILE 
  '/path/users01.dbf' SIZE 52000
  AUTOEXTEND ON NEXT 130000 MAXSIZE 32007M
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT NOCOMPRESS SEGMENT SPACE MANAGEMENT AUTO
   ALTER DATABASE DATAFILE 
  '/path/users01.dbf' RESIZE 917504000
  */


-- извлечь исходный код для ограничения PK_EMP из схемы SCOTT
select DBMS_METADATA.GET_DDL('CONSTRAINT','PK_EMP','SCOTT') from dual
/*
  ALTER TABLE "SCOTT"."EMP" ADD CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS"  ENABLE 
*/


-- извлечь исходный код для таблицы EMP из схемы SCOTT
select DBMS_METADATA.GET_DDL('TABLE','EMP','SCOTT') from dual
/*
  CREATE TABLE "SCOTT"."EMP" 
   (	"EMPNO" NUMBER(4,0), 
	"ENAME" VARCHAR2(10), 
	"JOB" VARCHAR2(9), 
	"MGR" NUMBER(4,0), 
	"HIREDATE" DATE, 
	"SAL" NUMBER(7,2), 
	"COMM" NUMBER(7,2), 
	"DEPTNO" NUMBER(2,0), 
	 CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS"  ENABLE, 
	 CONSTRAINT "FK_DEPTNO" FOREIGN KEY ("DEPTNO")
	  REFERENCES "SCOTT"."DEPT" ("DEPTNO") ENABLE
   ) SEGMENT CREATION IMMEDIATE 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS" 
 */

Комментарии




Необходимо войти на сайт, чтобы оставлять комментарии