Uneori, când nu au acces la instrumente precum PL/SQL Developer sau orice alt GUI care te poate ajuta
a se vedea definiția unei anumite obiecte se poate folosi (funcția GET_DDL) din DBMS_METADATA pachet metadate.
Acest articol poate fi ușor pentru uni de DBA dar va ajuta cu siguranța noi viniti în lume bancilor de date.
voi începe să vorbesc despre DBMS_METADATA și GET_DDL() utilizarea și sintaxa de bază.
DBMS_METADATA - pachet oferă o modalitate de a prelua metadate din XML în dicționarul bazei de date sau crearea DDL și să prezinte XML pentru a re-crea obiectul.
GET_DDL() - funcție ne permite pentru a extrage DDL pentru o creație obiect.
Sintaxă:
select DBMS_METADATA.GET_DDL('TABLE','<table_name>') from DUAL;
DBMS_METADATA.GET_DDL (
object_type IN VARCHAR2,
name IN VARCHAR2,
schema IN VARCHAR2 DEFAULT NULL,
version IN VARCHAR2 DEFAULT 'COMPATIBLE',
model IN VARCHAR2 DEFAULT 'ORACLE',
transform IN VARCHAR2 DEFAULT 'DDL')
RETURN CLOB;
set pagesize 0
set long 1200
SQL> set pagesize 0
SQL> set long 1200
SQL> select DBMS_METADATA.GET_DDL('TABLE','AW$') from DUAL;
CREATE TABLE "SYS"."AW$"
( "AWNAME" VARCHAR2(30),
"OWNER#" NUMBER NOT NULL ENABLE,
"AWSEQ#" NUMBER NOT NULL ENABLE,
"VERSION" NUMBER DEFAULT null,
"OIDS" NUMBER(10,0) DEFAULT null,
"OBJS" NUMBER(10,0) DEFAULT null,
"DICT" RAW(8) DEFAULT null,
"RSYGEN" NUMBER DEFAULT null
) 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 "SYSTEM"
SQL> set pagesize 0
SQL> set long 1200
SQL> select DBMS_METADATA.GET_DDL('INDEX','I_TS#') from DUAL;
CREATE INDEX "SYS"."I_TS#" ON CLUSTER "SYS"."C_TS#"
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 "SYSTEM"
SQL> set pagesize 0
SQL> set long 1200
SQL> select DBMS_METADATA.GET_DDL('SEQUENCE','JOBSEQ') from DUAL;
CREATE SEQUENCE "SYS"."JOBSEQ" MINVALUE 1 MAXVALUE 999999999 INCREMENT BY 1
START WITH 154 CACHE 20 NOORDER CYCLE
SQL> select DBMS_METADATA.GET_DDL('VIEW','V_$PARAMETER') from DUAL;
CREATE OR REPLACE FORCE VIEW "SYS"."V_$PARAMETER" ("NUM", "NAME", "TYPE", "VAL
UE", "DISPLAY_VALUE", "ISDEFAULT", "ISSES_MODIFIABLE", "ISSYS_MODIFIABLE", "ISIN
STANCE_MODIFIABLE", "ISMODIFIED", "ISADJUSTED", "ISDEPRECATED", "ISBASIC", "DESC
RIPTION", "UPDATE_COMMENT", "HASH") AS
select "NUM","NAME","TYPE","VALUE","DISPLAY_VALUE","ISDEFAULT","ISSES_MODIFIAB
LE","ISSYS_MODIFIABLE","ISINSTANCE_MODIFIABLE","ISMODIFIED","ISADJUSTED","ISDEPR
ECATED","ISBASIC","DESCRIPTION","UPDATE_COMMENT","HASH" from v$parameter