Oracle Database 10 g Windows 1 Oracle Database
데이터베이스 구축 >>> ▶Oracle Database 10 g Windows 버전 설치 – 1 Oracle Database 10 g Release 2 (10. 2. 0. 1. 0) for Microsoft Windows 다운로드 (http: //www. oracle. com/technology/software/products/database/oracle 10 g/index. html) 실전데이터모델링 & 데이터베이스 설계와 구축 6/98
데이터베이스 구축 >>> ▶Oracle Database 10 g Windows 버전 설치 – 2 Oracle Database 10 g Release 2 OTN License 동의 후 10201_database_win 32. zip 파일 다운로드 실전데이터모델링 & 데이터베이스 설계와 구축 7/98
데이터베이스 구축 >>> ▶Oracle Database 10 g Windows 버전 설치 – 4 Oracle Database 10 g Autorun 화면 - Install/Deinstall Product 선택 - Oracle Universal Installer 실행되면서 설치 시작 실전데이터모델링 & 데이터베이스 설계와 구축 9/98
데이터베이스 구축 >>> ▶테이블 스페이스 생성 – DDL 문장 작성 F본사 DDL 작성 -------------------------- 1. 파일명 : ts_cre_bonsa. sql -- 2. 내 용 : 본사 테이블 스페이스 생성 스크립트(TS 001, IS 001) -- 3. 작성일시 : 2002년 7월 1일 -- 4. 작성자 : 이춘식 -------------------------SPOOL ts_cre_bonsa. sql --테이블 스페이스 (TS 001) CREATE TABLESPACE TS 001 DATAFILE ‘D: TESTDB 1DF 001. DBF 01’ SIZE 55 M DEFAULT STORAGE ( INITIAL 1024 K NEXT 512 K MAXEXTENTS 128 PCTINCREASE 0); --인덱스 스페이스 (IS 001) CREATE TABLESPACE IS 001 DATAFILE ‘D: TESTDB 1DF 001. DBF 01’ SIZE 30 M DEFAULT STORAGE ( INITIAL 512 K NEXT 256 K MAXEXTENTS 128 PCTINCREASE 0); SPOOL OFF 실전데이터모델링 & 데이터베이스 설계와 구축 58/98
데이터베이스 구축 >>> ▶테이블 스페이스 생성 – DDL 문장 작성 F지사 DDL 작성 -------------------------- 1. 파일명 : ts_cre_jisa. sql -- 2. 내 용 : 지사 테이블 스페이스 생성 스크립트(TS 002, IS 002) -- 3. 작성일시 : 2002년 7월 1일 -- 4. 작성자 : 이춘식 -------------------------SPOOL ts_cre_jisa. sql --테이블 스페이스 (TS 002) CREATE TABLESPACE TS 002 DATAFILE ‘D: TESTDB 1DF 002. DBF 01’ SIZE 55 M DEFAULT STORAGE ( INITIAL 1024 K NEXT 64 K MAXEXTENTS 64 PCTINCREASE 0); --인덱스 스페이스 (IS 002) CREATE TABLESPACE IS 002 DATAFILE ‘D: TESTDB 1DF 002. DBF 01’ SIZE 30 M DEFAULT STORAGE ( INITIAL 512 K NEXT 64 K MAXEXTENTS 64 PCTINCREASE 0); SPOOL OFF 실전데이터모델링 & 데이터베이스 설계와 구축 59/98
데이터베이스 구축 >>> ▶테이블 스페이스 생성 – 테이블 스페이스 생성 확인 F테이블 스페이스 생성 확인 및 실행 결과 PROMPT ================ PROMPT 테이블 스페이스 확인 스크립트 PROMPT ================ COL TABLESPACE_NAME FROMAT A 10 COL DATAFILE FORMAT A 50 COL SZ_KB FORMAT 9, 999 SELECT TABLESPACE_NAME, FILE_NAME AS DATAFILE, (BYTES/1024) AS SZ_KB FROM DBA_DATA_FILES; TABLESPACE_NAME DATAFILE ----------------------… TS 001 D: TESTDB 1DF 001. DBF 01 IS 001 D: TESTDB 1DF 001. DBF 01 … 8 개의 행이 선택되었습니다. 실전데이터모델링 & 데이터베이스 설계와 구축 61/98 SZ_KB -----56, 320 30, 720
데이터베이스 구축 >>> ▶사용자 및 역할과 권한 지정 – 사용자 생성 확인 F사용자 생성 확인 및 실행 결과 PROMPT ================ PROMPT 사용자 확인 스크립트 PROMPT ================ COL USERNAME FROMAT A 15 COL DEF_TBS FORMAT A 15 COL TMP_TBS FORMAT A 15 SELECT USERNAME, DEFAULT_TABLESPACE DEF_TBS, TEMPORARY_TABLESPACE TMP_TBS, PROFILE FROM DBA_USERS; USERNAME DEF_TBS TMP_TBS -----------… BONSA 01 USERS TEMP … JISA 01 USERS TEMP … 12 개의 행이 선택되었습니다. 실전데이터모델링 & 데이터베이스 설계와 구축 PROFILE -------DEFAULT 65/98
데이터베이스 구축 >>> ▶사용자 및 역할과 권한 지정 – 사용자 역할 생성 DDL 작성 F본사 역할 이름을 BONSA_ROLE로 생성 F지사 역할 이름을 JISA_ROLE로 생성 F본사 역할 및 권한 생성 DDL 문장 작성 F지사 역할 및 권한 생성 DDL 문장 작성 ---------------------- 1. 파일명 : role_cre_bonsa. sql -- 2. 내 용 : 본사 역할 생성 스크립트(BONSA 01) -- 3. 작성일시 : 2002년 7월 1일 -- 4. 작성자 : 이춘식 ---------------------SPOOL role_cre_bonsa. sql ---------------------- 1. 파일명 : role_cre_jisa. sql -- 2. 내 용 : 지사 역할 생성 스크립트(JISA 01) -- 3. 작성일시 : 2002년 7월 1일 -- 4. 작성자 : 이춘식 ---------------------SPOOL role_cre_jisa. sql CREATE ROLE BONSA_ROLE NOT IDENTIFIED; GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, ALTER ROLLBACK SEGMENT TO BONSA_ROLE; CREATE ROLE JISA_ROLE NOT IDENTIFIED; GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, ALTER ROLLBACK SEGMENT TO JISA_ROLE; SPOOL OFF 실전데이터모델링 & 데이터베이스 설계와 구축 66/98
데이터베이스 구축 >>> ▶오브젝트 생성 – 본사 테이블 생성 DDL 작성 F분산 환경 설계서, 테이블 설계서와 테이블 스페이스 용량 산정서를 참조하여 생성 §테이블 스토리지 옵션은 INITIAL 1 M, NEXT 1 M, PCTINCREASE 0으로 지정 ---------------------- 1. 파일명 : tab_cre_bonsa. sql -- 2. 내 용 : 본사 사용자 생성 스크립트(BONSA) -- 3. 작성일시 : 2002년 7월 1일 -- 4. 작성자 : 이춘식 ---------------------SPOOL tab_cre_bonsa. sql CREATE TABLE DEPT ( DEPTNO NUMBER(2) NOT NULL, DEPTNM VARCHAR 2(14) NOT NULL, LOC VARCHAR 2(14), CHARGE VARCHAR 2(20) ) TABLESPACE TS 001 STORAGE ( INITIAL 1 M NEXT 1 M PCTINCREASE 0); ALTER TABLE DEPT ADD CONSTRAINT DEPT_PK PRIMARY KEY(DEPTNO); … -- FOREIGN KEY 지정 ALTER TABLE EMP ADD CONSTRAINT EMP_DEPT_FK 01 FOREIGN KEY (DEPTNO) REFERENCES DEPT; … SPOOL OFF 실전데이터모델링 & 데이터베이스 설계와 구축 73/98
데이터베이스 구축 >>> ▶오브젝트 생성 – 지사 테이블 생성 DDL 작성 F분산 환경 설계서, 테이블 설계서와 테이블 스페이스 용량 산정서를 참조하여 생성 §테이블 스토리지 옵션은 INITIAL 1 M, NEXT 1 M, PCTINCREASE 0으로 지정 ---------------------- 1. 파일명 : tab_cre_jisa. sql -- 2. 내 용 : 지사 사용자 생성 스크립트(JISA) -- 3. 작성일시 : 2002년 7월 1일 -- 4. 작성자 : 이춘식 ---------------------SPOOL tab_cre_jisa. sql CREATE TABLE CUST ( CUSTNO NUMBER(4) NOT NULL, CUSTNM VARCHAR 2(14) NOT NULL, CADDR VARCHAR 2(60), CPOST VARCHAR 2(30), CTEL VARCHAR 2(20), CEMAIL VARCHAR 2(40) ) TABLESPACE TS 002 STORAGE (INITIAL 1 M NEXT 1 M PCTINCREASE 0); ALTER TABLE CUST ADD CONSTRAINT CUST_PK PRIMARY KEY(CUSTNO); … -- FOREIGN KEY 지정 ALTER TABLE ORDER ADD CONSTRAINT ORDER_DELIVERY_FK 01 FOREIGN KEY (DELIVNO) REFERENCES DELIVERY; … SPOOL OFF 실전데이터모델링 & 데이터베이스 설계와 구축 74/98
데이터베이스 구축 >>> ▶오브젝트 생성 –테이블 생성 확인 F테이블 생성 확인 및 실행 결과 PROMPT ================ PROMPT 테이블 생성 확인 스크립트 PROMPT ================ COL SEGMENT_NAME FORMAT A 15 COL TABLESPACE_NAME FORMAT A 10 SELECT SEGMENT_NAME, ROUND(INITIAL_EXTENT/1024, 0) INI_KB, ROUND(NEXT_EXTENT/1024, 0) NXT_KB, ROUND(BYTES/1024, 0) TOT_KB, PCT_INCREASE PCT, EXTENTS, TABLESPACE_NAME FROM USER_SEGMENTS WHERE SEGMENT_TYPE = ‘TABLE’; SEGMENT_NAME INI_KB NXT_KB TOT_KB PCT EXTENTS ------- ------DEPT 1024 1040 0 1 EMP 1024 1040 0 1 … CUST 1024 1040 0 1 ORDER 1024 1040 0 1 … 8 개의 행이 선택되었습니다. 실전데이터모델링 & 데이터베이스 설계와 구축 76/98 TABLESPACE_NAME -------TS 001 TS 002
데이터베이스 구축 >>> ▶오브젝트 생성 – PK 생성 확인 FPK 생성 확인 및 실행 결과 PROMPT ================ PROMPT PRIMARY KEY 생성 확인 스크립트 PROMPT ================ COL TABLE_NAME FORMAT A 20 COL CONSTRAINT_NAME FORMAT A 20 SELECT A. TABLE_NAME, B. CONSTRAINT_NAME FROM USER_TABLES A, USER_CONSTRAINTS B WHERE A. TABLE_NAME=B. TABLE_NAME(+) AND B. CONSTRAINT_TYPE(+) = ‘P’; TABLE_NAME CONSTRAINT_NAME -------------DEPT_PK EMP_PK … CUST_PK ORDER_PK … 8 개의 행이 선택되었습니다. 실전데이터모델링 & 데이터베이스 설계와 구축 77/98
데이터베이스 구축 >>> ▶오브젝트 생성 – FK 생성 확인 FFK 생성 확인 및 실행 결과 PROMPT ================ PROMPT PRIMARY KEY 생성 확인 스크립트 PROMPT ================ COL CONSTRAINT_NAME FORMAT A 20 COL R_CONSTRAINT_NAME FORMAT A 20 SELECT CONSTRAINT_NAME, R_CONSTRAINT_NAME, STATUS FROM USER_CONSTRATINTS; CONSTRAINT_NAME --------EMP_DEPT_FK 01 DEPT_SUPPLIER_FK 01 ORDER_DELIVERY_FK 01 ORDER_CUST_FK 01 ORDERITEM_ORDER_FK 01 5 개의 행이 선택되었습니다. 실전데이터모델링 & 데이터베이스 설계와 구축 R_CONSTRAINT_NAME ---------DEPT_PK SUPPLIER_PK DELIVERY_PK CUST_PK ORDERITEM_PK 78/98 STATUS -----ENABLED ENABLED
데이터베이스 구축 >>> ▶오브젝트 생성 – 인덱스 생성 DDL 작성 F인덱스 설계서와 인덱스 스페이스 설계서를 참조하여 DDL 작성 F본사 인덱스 생성 DDL 실행 ---------------------- 1. 파일명 : index_cre_bonsa. sql -- 2. 내 용 : 본사 인덱스 생성 스크립트(BONSA) -- 3. 작성일시 : 2002년 7월 1일 -- 4. 작성자 : 이춘식 ---------------------SPOOL index_cre_bonsa. sql CREATE INDEX I_EMP 01 ON EMP (DEPTNO ASC) TABLESPACE IS 001; SPOOL OFF F지사 인덱스 생성 DDL 실행 ---------------------- 1. 파일명 : index_cre_jisa. sql -- 2. 내 용 : 지사 인덱스 생성 스크립트(JISA) -- 3. 작성일시 : 2002년 7월 1일 -- 4. 작성자 : 이춘식 ---------------------SPOOL index_cre_jisa. sql CREATE INDEX I_ORDER 01 ON ORDER (DATE ASC) TABLESPACE IS 002; CREATE INDEX I_ORDER 02 ON ORDER (CUSTNO ASC) TABLESPACE IS 002; CREATE INDEX I_ORDER 03 ON ORDER (EMPNO ASC) TABLESPACE IS 002; CREATE INDEX I_ITEM 01 ON ITEM (SUPNO ASC) TABLESPACE IS 002; CREATE INDEX I_ITEM 02 ON ITEM (MADEDATE ASC) TABLESPACE IS 002; SPOOL OFF 실전데이터모델링 & 데이터베이스 설계와 구축 79/98
데이터베이스 구축 >>> ▶오브젝트 생성 – 인덱스 생성 확인 F인덱스 생성 확인 및 실행 결과 PROMPT ================================ 인덱스 생성 확인 스크립트 PROMPT ================================ COL SEGMENT_NAME FORMAT A 15 COL TABLESPACE_NAME FORMAT SEGMENT_NAME FORMAT A 15 A 10 COL TABLESPACE_NAME FORMAT A 10 SELECT SEGMENT_NAME, ROUND(INITIAL_EXTENT/1024, 0) INI_KB, NXT_KB, ROUND(BYTES/1024, 0) TOT_KB, SELECT ROUND(NEXT_EXTENT/1024, 0) SEGMENT_NAME, ROUND(INITIAL_EXTENT/1024, 0) INI_KB PCT_INCREASE PCT, EXTENTS, TABLESPACE_NAME FROM USER_SEGMENTS WHERE SEGMENT_TYPE = ‘INDEX’; SEGMENT_NAME INI_KB NXT_KB -------I_EMP 01 512 256 … I_ITEM 01 512 64 … 7 개의 행이 선택되었습니다. 실전데이터모델링 & 데이터베이스 설계와 구축 TOT_KB PCT EXTENTS TABLESPACE_NAME ------- -------620 0 1 IS 001 584 0 81/98 1 IS 002
데이터베이스 구축 >>> ▶오브젝트 생성 – 뷰 생성 확인 F뷰 생성 확인 및 실행 결과 PROMPT ================ PROMPT 뷰 생성 확인 스크립트 PROMPT ================ COL OBJECT_NAME FORMAT A 30 SELECT OBJECT_NAME, OBJECT_TYPE, STATUS FROM USER_OBJECTS WHERE OBJECT_TYPE = ‘VIEW’; OBJECT_NAME ------V_EMP V_ORDERITEM 실전데이터모델링 & 데이터베이스 설계와 구축 OBJECT_TYPE -----VIEW STATUS -------VALID 84/98
데이터베이스 구축 >>> ▶분산 환경 생성 – 원격 데이터베이스 리스너의 구동 2 F리스너를 구동하는 방법 2 F명령 프롬프트에서 lsnrctl 명령 사용 C: >lsnrctl start LSNRCTL for 32 -bit Windows: Version 10. 2. 0. 1. 0 - Production on 30 -4월 -2007 10: 40: 55 Copyright (c) 1991, 2005, Oracle. All rights reserved. 시작 tnslsnr: 잠시만 기다리세요. . . TNSLSNR for 32 -bit Windows: Version 10. 2. 0. 1. 0 - Production 시스템 매개변수 파일은 C: oracleproduct10. 2. 0db_1networkadminlistener. ora 입니다 C: oracleproduct10. 2. 0db_1networkloglistener. log (으)로 로그 메시지를 기록했습니다 리스닝이: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127. 0. 0. 1)(PORT=1521))) 리스너의 상태 ------------별칭 BONSA_LISTENER 버전 TNSLSNR for 32 -bit Windows: Version 10. 2. 0. 1. 0 - Production 시작 날짜 30 -4월 -2007 10: 40: 57 업타임 0 일 0 시간. 0 분. 1 초 트레이스 수준 off 보안 ON: Local OS Authentication SNMP OFF리스너 매개변수 파일 C: oracleproduct10. 2. 0db_1networkadminlistener. ora 리스너 로그 파일 C: oracleproduct10. 2. 0db_1networkloglistener. log 끝점 요약 청취 중. . . (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127. 0. 0. 1)(PORT=1521))) 서비스 요약. . . "PLSExt. Proc" 서비스는 1개의 인스턴스를 가집니다. "PLSExt. Proc" 인스턴스(UNKNOWN 상태)는 이 서비스에 대해 1 처리기를 가집니다. 명령이 성공적으로 수행되었습니다 실전데이터모델링 & 데이터베이스 설계와 구축 95/98
데이터베이스 구축 >>> ▶분산 환경 생성 – 스냅샷 테이블 생성 F스냅샷 기능은 데이터베이스 분산 환경을 처리하기 위한 기능이다. F본사 스냅샷 테이블 환경 설정 CREATE SNAPSHOT LOG ON EMP TABLESPACE TS 001 STORAGE (INITIAL 1 M NEXT 1 M PCTINCREASE 0); CREATE SNAPSHOT LOG ON ITEM TABLESPACE TS 001 STORAGE (INITIAL 1 M NEXT 1 M PCTINCREASE 0); F지사 스냅샷 테이블 환경 설정 CREATE SNAPSHOT EMP TABLESPACE TS 002 STORAGE (MAXEXTENTS 1 PCTINCREASE 0) USING INDEX TABLESPACE IS 002 STORAGE (MINEXTENTS 1 PCTINCREASE 0) REFRESH FAST --REFRESH 주기 설정 START WITH SYSDATE NEXT TRUNC(SYSDATE) + 1 + (20/24) AS SELECT * FROM EMP@BONSA CREATE SNAPSHOT ITEM TABLESPACE TS 002 STORAGE (MAXEXTENTS 1 PCTINCREASE 0) USING INDEX TABLESPACE IS 002 STORAGE (MINEXTENTS 1 PCTINCREASE 0) REFRESH FAST START WITH SYSDATE NEXT TRUNC(SYSDATE) + 1 + (20/24) AS SELECT * FROM ITEM@BONSA §스냅샷 문장은 하루 중 오후 8시에 기동된다. 본사에 있는 테이블 내용이 지사의 테이블로 전송되어 지사에서도 동일한 내용을 볼 수 있다. 실전데이터모델링 & 데이터베이스 설계와 구축 98/98
- Slides: 98