본문 바로가기
DataBase

Oracle Database(SID) 추가 작업

by eqzero 2011. 2. 18.
요번에 오라클에서 기존에 자주 작업했던 간단한 계정추가가 아닌 데이터베이스를 생성해야할작업이 생겼다.
작업환경은 Oracle 9i 이며 운영체제는 AIX로 작업했다.

그럼 간단하게 SID명이 "cspark" 데이터베이스를 신규 생성해보자! -_-!

1. init.ora 파일 생성

가장 먼저 작업해야할건 기본 설정파일을 생성하는것이다. 보통 $ORACLE_HOME/dbs 폴더에 init.ora파일을 사용할텐데
별도의 설정을 해야할경우 init.ora설정내용을 복사해 파일을 생성해서 설정변경후 작업 해도 무관하다. ( 필자는 initCSPARK.ora 파일로 생성하였다.)

2. 관련 폴더 생성

음 처음에 멋모르고 무작정 startup 햇을때 오류가 나는게 이 관련폴더 생성을 하지 않아서 자꾸 에러가 발생하였다..;;
필자의 경우 아래와 같이 설정후 작업을 하였다.
   /data1/cspark/    :   기본 system, undo파일이 생성될 폴더
   /oracle/app/oracle/admin/CSPARK/bdump : 컨피그 폴더
   /oracle/app/oracle/admin/CSPARK/cdump
   /oracle/app/oracle/admin/CSPARK/udump
  
3. ORACLE_SID 변경
> ORACLE_SID=CSPARK
> export ORACLE_SID
> sqlplus '/ as sysdba'

오라클계정으로 접속후 이제 실제 생성할 SID로 변경하고 sys로 접속하자.

4. startup nomount pfile=/oracle/app/oracle/product/9.2.0/dbs/initCSPARK.ora

위의 1단계에서 생성하였던 initCSPARK.ora파일을 가지고 startup을 한다. 아직 당연하게도 mount는 되지 않는다.;;
설정폴더와 init 파일에 이상이 없다면 정상적으로 startup이 될것이다.;;

5. 데이터베이스 생성

 CREATE DATABASE CSPARK
 MAXINSTANCES 1
 MAXLOGHISTORY 1
 MAXLOGFILES 20
 MAXLOGMEMBERS 5
 MAXDATAFILES 100
 DATAFILE '/data1/cspark/system01.dbf' SIZE 100M REUSE
 AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
 UNDO TABLESPACE "UNDOTBS" DATAFILE '/data1/cspark/undotbs01.dbf'
 SIZE 100M AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
 CHARACTER SET UTF8
 NATIONAL CHARACTER SET UTF8
 LOGFILE GROUP 1 ('/data1/cspark/redo01a.log', '/data1/cspark/redo01b.log') SIZE 10M,
 GROUP 2 ('/data1/cspark/redo02a.log', '/data1/cspark/redo02b.log') SIZE 10M ;

실제 SID가 될 데이터베이스를 생성한다.
보면 DATAFILE은 /data1/cspark폴더에 생성이 되고 언어셋은 UTF8로 생성하였다
한글로 생성을 원한다면 'KO16KSC5601' 로 변경해주면된다.(주의할게 언어셋에 오타가 난다면 정상적으로 startup하지 못한다.)

6. 기본 설정 스크립트 SQL 실행
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/rdbms/admin/caths.sql

위의 4번 작업부터는 SQL*Plus에서 작업이 진행되며 마지막으로 데이터베이스에서 view, synonym등을 사용하기위한 스크립트를 실행한다. 참고로 해당 sql문들의 기능은 아래와 같다.

CATALOG.SQL : 데이터 딕셔너리 뷰와 다이나믹 포퍼먼스 뷰를 생성

CATPROC.SQL : PL/SQL을 사용하는데 필요한 패키지 및 프로시져를 생성
"@"는 SQL*Plus에서 실행을 의미하며  "?"는 SQL*Plus에서 Oracle의 설치경로로 인식후 처리하게된다.

이후에는 필요한 계정등을 생성후 사용토록하자.-_-;

댓글0