[Oracle] SQL Developer 사용하여, 테이블에 사용된 쿼리(DDL, DML, ...)를 추출/조회하는 방법.

2024. 1. 15. 11:20Database/oracle

728x90
728x90

SQL Developer ?

  • 오라클에서 개발한 데이터베이스 개발 및 관리 도구.

작업 시나리오.

  1. SQL Plus 를 사용하여, *.sql(DDL, DML …)을 수행.
  2. SQL Developer 를 사용하여, 위에서 수행된 쿼리를 추출/조회.

필자의 작업 환경.

  • 오라클 서버 버전.
# sqlplus -v
SQL*Plus: Release 11.2.0.2.0 Production
  • SQL Developer  버전.


SQL Plus 를 사용하여, *.sql(DDL, DML …)을 수행.

*.sql 작성.

  • 테스트 테이블 생성.
  • 제약 조건 생성(기본 키 설정, 외래 키 설정)
  • 데이터 삽입.
$vi export_sd.sql

/* DDL 테스트 테이블 생성. */
CREATE TABLE ALUSER (
       USER_ID              VARCHAR2(28) NOT NULL,
       STA_TYPE             NUMBER(1) NULL,
       USER_ROLE            NUMBER(3) NULL,
       PASSWD               VARCHAR2(24) NULL,
       USER_NAME            VARCHAR2(12) NULL,
       EMAIL                VARCHAR2(64) NULL,
       CREATED_DATE         CHAR(8) NULL,
       PHONE                VARCHAR2(32) NULL
);

ALTER TABLE ALUSER
       ADD  ( PRIMARY KEY (USER_ID) ) ;

ALTER TABLE ALUSER
       ADD  ( FOREIGN KEY (USER_ROLE)
                             REFERENCES ALUSERROLE (ROLE_ID) ) ;

/* DML 테스트 데이터 입력. */
INSERT INTO ALUSER (USER_ID, USER_ROLE, USER_NAME, PASSWD, STA_TYPE, EMAIL, CREATED_DATE, PHONE) VALUES ('root', 2, 'Admin Root', '...', 1, '', '', '');

COMMIT;

*.sql 실행.

$ sqlplus $ORACLE_CONNECT_INFO
SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jan 15 10:47:13 2024
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL> @export_sd.sql
...
Commit complete.

SQL>

SQL Developer 를 사용하여, 수행된 쿼리를 추출/조회.

1. Oracle Server로 접속.

2. 테이블 익스포트 실행.

3. 익스포트 설정.

4. 수행된 쿼리가 추출된 것을 확인.

  • 테이블 생성, 제약 조건 생성(테이블의 기본 키 설정, 외래 키 설정), 데이터 삽입, 고유 인덱스 생성, ...

--------------------------------------------------------
--  파일이 생성됨 - 월요일-1월-15-2024   
--------------------------------------------------------
--------------------------------------------------------
--  DDL for Table ALUSER
--------------------------------------------------------

  CREATE TABLE "TUP_RESOURCE"."ALUSER" 
   (	"USER_ID" VARCHAR2(28 BYTE), 
	"STA_TYPE" NUMBER(1,0), 
	"USER_ROLE" NUMBER(3,0), 
	"PASSWD" VARCHAR2(24 BYTE), 
	"USER_NAME" VARCHAR2(12 BYTE), 
	"EMAIL" VARCHAR2(64 BYTE), 
	"CREATED_DATE" CHAR(8 BYTE), 
	"PHONE" VARCHAR2(32 BYTE)
   ) 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 "TUP_RESOURCE" ;
REM INSERTING into TUP_RESOURCE.ALUSER
SET DEFINE OFF;
Insert into TUP_RESOURCE.ALUSER (USER_ID,STA_TYPE,USER_ROLE,PASSWD,USER_NAME,EMAIL,CREATED_DATE,PHONE) values ('root',1,2,'...','Admin Root',null,null,null);
--------------------------------------------------------
--  DDL for Index SYS_C0015972
--------------------------------------------------------

  CREATE UNIQUE INDEX "TUP_RESOURCE"."SYS_C0015972" ON "TUP_RESOURCE"."ALUSER" ("USER_ID") 
  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 "TUP_RESOURCE" ;
--------------------------------------------------------
--  Constraints for Table ALUSER
--------------------------------------------------------

  ALTER TABLE "TUP_RESOURCE"."ALUSER" ADD PRIMARY KEY ("USER_ID")
  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 "TUP_RESOURCE"  ENABLE;
  ALTER TABLE "TUP_RESOURCE"."ALUSER" MODIFY ("USER_ID" NOT NULL ENABLE);
--------------------------------------------------------
--  Ref Constraints for Table ALUSER
--------------------------------------------------------

  ALTER TABLE "TUP_RESOURCE"."ALUSER" ADD FOREIGN KEY ("USER_ROLE")
	  REFERENCES "TUP_RESOURCE"."ALUSERROLE" ("ROLE_ID") ENABLE;
728x90
728x90