블로그 이미지
redkite

카테고리

분류 전체보기 (291)
00.SI프로젝트 산출물 (0)
00.센터 운영 문서 (0)
01.DBMS ============.. (0)
01.오라클 (117)
01.MS-SQL (15)
01.MySQL (30)
01.PostgreSql (0)
01.DB튜닝 (28)
====================.. (0)
02.SERVER ==========.. (0)
02.서버-공통 (11)
02.서버-Linux (58)
02.서버-Unix (12)
02.서버-Windows (2)
====================.. (0)
03.APPLICATION =====.. (11)
====================.. (0)
04.ETC =============.. (0)
04.보안 (5)
====================.. (0)
05.개인자료 (1)
06.캠핑관련 (0)
07.OA관련 (1)
Total
Today
Yesterday

달력

« » 2024.12
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

공지사항

최근에 올라온 글

오라클 엔진을 설치하고나면 무엇부터 해야 할지 막막한 초보 DBA에게 도움이 되지 않을까 해서

적어 본다.

 

오라클10g(RAC아닌 Single), datafile이 UNIX file system의 경우를 예로 설명한다.
Windows버전도 순서는 다르지 않다.

데이터베이스를 설치한 후 보통의 경우 다음의 순서로 작업이 진행된다.

좀 더 세부적인 작업이나 옵션이 필요하겠지만 단순화한 순서이므로 감안하길 바란다.


1. 오라클 엔진 설치(INSTALL)
   1] 오라클 엔진 설치
   2] 오라클 데이터베이스 생성
   3] listener.ora 및 tnsname.ora 설정

   4] initTESTDB.ora(spfileTESTDB.ora) 설정 변경

 

2. 스키마 및 오브젝트 생성 순서
DB 생성이 되어 있다는 가정으로 다음과 같은 순서로

스키마(SCHEMA) 및 OBJECT를 생성한다면 무난할 것이다.

   1] 데이터파일을 저장할 Directory를 생성 
      % su - oracle
      % mkdir -p /data01/TESTDB
      % mkdir -p /data02/TESTDB

 

 

   2] 테이블스페이스(TABLESPACE) 생성
      SQL> CONNECT / as sysdba
      -- 데이터용 테이블스페이스 생성
      SQL> CREATE TABLESPACE       TS_GDXX01
                  datafile       '/data01/TESTDB/TS_GDXX01_01.dbf' size 50M REUSE
                  extent management local  autoallocate
                  segment space management auto;

      -- 인덱스용 테이블스페이스 생성
      SQL> CREATE TABLESPACE       TS_GIXX01
                  datafile       '/data02/TESTDB/TS_GIXX01_01.dbf' size 50M REUSE
                  extent management local  autoallocate
                  segment space management auto;

 

   3] 사용자(USER) 생성 
      SQL> CONNECT / as sysdba
      -- 응용프로그램 접속 계정(최소권한) : US_APPL
      SQL> CREATE USER                 US_APPL
                  IDENTIFIED BY        password
                  DEFAULT TABLESPACE   TS_GDXX01
                  TEMPORARY TABLESPACE TEMP;
      SQL> GRANT ALTER SESSION, CREATE SESSION         TO US_APPL;
      SQL> GRANT CREATE SYNONYM, UNLIMITED TABLESPACE  TO US_APPL;

      -- 오브젝트 소유 계정 : US_OWNER
      SQL> CREATE USER                 US_OWNER
                  IDENTIFIED BY        password
                  DEFAULT TABLESPACE   TS_GDXX01
                  TEMPORARY TABLESPACE TEMP;

      SQL> GRANT CONNECT, RESOURCE                            TO US_OWNER;
      SQL> GRANT CREATE PUBLIC SYNONYM, UNLIMITED TABLESPACE  TO US_OWNER;
   
   4] 테이블(TABLE) 생성 
      SQL> CONNECT US_OWNER/password
      SQL> CREATE TABLE TB_GXX001  (
                  PgmID     VARCHAR2(30) NOT NULL,
                  PgmNm     VARCHAR2(50) NULL,
                  BatchType CHAR(1) NULL
                  ChngDtime VARCHAR2(14) NOT NULL,
                  CONSTRAINT IX_GXX001_PK  PRIMARY KEY (PgmID)
                             USING INDEX TABLESPACE TS_GIXX01
                 ) TABLESPACE TS_GDXX01;
   
   5] 인덱스(INDEX) 생성 
      SQL> CONNECT US_OWNER/password
      SQL> CREATE INDEX IX_GXX001 ON TB_GXX001
                  ( BatchType ASC, PrgNm ASC )
                  TABLESPACE TS_GIXX01;
   
   6] 테이블(TABLE) 권한부여(GRANT) 
      SQL> CONNECT US_OWNER/password
      SQL> GRANT INSERT, SELECT, UPDATE, DELETE ON TB_GXX001  TO US_APPL;
   
   7] 테이블(TABLE) 동의어(SYNONYM) 
      SQL> CONNECT US_OWNER/password
      SQL> CREATE PUBLIC SYNONYM TB_GXX001  FOR US_OWNER.TB_GXX001;
   
   8] 시퀀스(SEQUENCE) 생성 
      SQL> CONNECT US_OWNER/password
      SQL> CREATE SEQUENCE SQ_GXX001  START WITH 1 INCREMENT BY 1 MAXVALUE 999999 CYCLE ORDER CACHE 10;
      SQL> GRANT SELECT ON SQ_GXX001  TO US_OWNER;
      SQL> CREATE PUBLIC SYNONYM SQ_GXX001  FOR US_OWNER.SQ_GXX001 ;
   
   9] 뷰(VIEW) 생성 
      SQL> CONNECT US_OWNER/password
      SQL> CREATE VIEW VW_GXX001_LIST .... ;
      SQL> GRANT SELECT ON VW_GXX001_LIST     TO US_APPL;
      SQL> CREATE PUBLIC SYNONYM VW_GXX001_LIST FOR US_OWNER.VW_GXX001_LIST;
   
   10] 저장 프로시져(STORED PROCEDURE/FUNCTION 등) 생성 
      SQL> CONNECT US_OWNER/password
      SQL> CREATE OR REPLACE PROCEDURE SP_GXX001_LIST ....;
      SQL> CREATE OR REPLACE FUNCTION  SF_GXX001_LIST ....;
      SQL> GRANT EXCUTE ON SP_GXX001_LIST     TO US_APPL;
      SQL> GRANT EXCUTE ON SF_GXX001_LIST     TO US_APPL;
      SQL> CREATE PUBLIC SYNONYM SP_GXX001_LIST FOR US_OWNER.SP_GXX001_LIST;
      SQL> CREATE PUBLIC SYNONYM SF_GXX001_LIST FOR US_OWNER.SF_GXX001_LIST;
   
   11] 외래키(FK CONSTRAINT) 생성 
      SQL> CONNECT US_OWNER/password
      SQL> ALTER TABLE TB_GXX001  ADD ( CONSTRAINT FK__GXX001
                 FOREIGN KEY ( SubPgmID ) REFERENCES TB_GXX999 ( PgmID ) );
   
   12] 트리거(TRIGGER) 생성 
      SQL> CONNECT US_OWNER/password
      SQL> CREATE OR REPLACE TRIGGER TR_GXX001_LIST .... ;


   13] 기타 필요한 것들 생성 및 등록

         - DB LINK, M-VIEW, DBMS JOB 등록 등

Posted by redkite
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함