본문 바로가기
IT/Oralce work shop 1

[오라클] 수동 database 생성

by BlowIt 2011. 10. 24.

수동 database 생성

test 환경 : vmware 7.1.4
               oracle 버전 - oracle 10g R2
               OS - oracle enterprise linux


  database를 생성은 크게 2가지 방법으로 한다.
하나는 수동, 또 다른 하나는 수동.
자동으로 한다는 의미는 오라클에서 지원하는 dbca를 통해서
그래피컬하게 진행한다는 의미이고
수동으로 한다는 것은 역시 text base로 하는 것이다.

  수동으로 진행하는 방법을 알아보겠다.

① 먼저 진행하기에 앞서 DB가 설치될 장소를 물색해야한다.
그 장소는 폴더를 의미하며 datafile, controlfile, redologfile이 저장될 폴더이다.
폴더는 oracle의 소유여야 한다.

② 그리고 초기화 파라미터를 설정한다.
** 오라클(여기서는 오라클 프로그램을 말한다.)설치시 oracle유저의 .base_profile의 환경변수에 따라 
** ORACLE_HOME, ORACLE_BASE, ORACLE_SID 등의 OS파라미터값이 달라질 수 있고
** 거기에 따라서 경로, SID값이 바뀔 수도 있다.
초기화 파라미터는 $ORACLE_HOME/dbs에 존재하며 처음 sample 파일인 'init.ora' 존재한다.
이것을 참조해 사용해도되고 파일을 새로 만들어도 된다. 생성할 DB이름을 정하고
init[생성할DB이름].ora의 형태로 만들어 준다.
초기화 파라미터 설정 시 꼭 들어가야 하는 파라미터
  -DB_NAME
  -CONTROL_FILES
  -SHARED_POOL_SIZE - 64m이하로 설정이 되어있다면 문제가 될 수 있다.
  -DB_CACHE_SIZE

③ 해당 DB를 nomount상태로 startup 한다.
** 여기서 초기화 파라미터가 제대로 설정이 되어 있지 않으면 nomount로 올라가지 않는다.
** 따라서 nomount로 가기까지는 초기화 파라미터가 제대로 설정이 되어있는지 검사를 하는 것을 알 수 있다.

④ 정상적으로 nomount상태로 startup이 되었다면
아래와 같이 명령어를 실행 또는 스크립트를 작성해서 db를 생성한다.

-------------------------------------------------------------------------------------------------
[oracle@localhost dbs]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Oct 24 10:27:39 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> 
SQL> 
SQL> startup nomount;
ORACLE instance started.

Total System Global Area  167772160 bytes
Fixed Size                  1218316 bytes
Variable Size             130025716 bytes
Database Buffers           33554432 bytes
Redo Buffers                2973696 bytes
SQL> 
SQL> ed
Wrote file afiedt.buf

  1     CREATE DATABASE NEWDB1
  2     USER SYS IDENTIFIED BY oracle
  3     USER SYSTEM IDENTIFIED BY oracle
  4     LOGFILE GROUP 1 ('/u01/app/oracle/oradata/NEWDB1/redo01.log') SIZE 10M,
  5             GROUP 2 ('/u01/app/oracle/oradata/NEWDB1/redo02.log') SIZE 10M
  6     MAXLOGFILES 5
  7     MAXLOGMEMBERS 5
  8     MAXLOGHISTORY 1
  9     MAXDATAFILES 100
 10     MAXINSTANCES 1
 11     CHARACTER SET US7ASCII
 12     NATIONAL CHARACTER SET AL16UTF16
 13     DATAFILE '/u01/app/oracle/oradata/NEWDB1/system01.dbf' SIZE 325M REUSE
 14     EXTENT MANAGEMENT LOCAL
 15     SYSAUX DATAFILE '/u01/app/oracle/oradata/NEWDB1/sysaux01.dbf' SIZE 325M REUSE
 16     DEFAULT TEMPORARY TABLESPACE tempts1
 17        TEMPFILE '/u01/app/oracle/oradata/NEWDB1/temp01.dbf'
 18        SIZE 20M REUSE
 19     UNDO TABLESPACE undotbs
 20        DATAFILE '/u01/app/oracle/oradata/NEWDB1/undotbs01.dbf'
 21*       SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
 22  /

Database created.
-------------------------------------------------------------------------------------------------

⑤ 마지막으로 스크립트를 하나 만들어 실행해준다.

파일내용 : 
conn / as sysdba
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
conn system/oracle
@?/sqlplus/admin/pupbld.sql
conn / as sysdba

실행방법
SQL>@경로/파일명
 
.sql파일만 인식이 된다. 

여기서 ?는 $ORACLE_HOME 을 의미하며
 각각 catalog.sql - DB생성에 필요한 Data Dictionary View를 생성하는 oracle 자체 script
        catproc.sql - 오라클의 기본적인 procedure, context등을 생성하는 oracle 자체 script
        pupbld.sql - 유저생성을 위한 script이다. system유저로 생성해야만 정상작동한다.
 

5단계를 거쳐 생성하면 스크립트가 빵빵하게 돌아가면서 DB는 open상태로 놓여지게 된다.

'IT > Oralce work shop 1' 카테고리의 다른 글

[오라클] PCT_USED, PCT_FREE  (0) 2011.11.01
[오라클] shrink  (0) 2011.11.01
[오라클] 클러스터링 팩터  (0) 2011.10.26
[오라클] network 설정  (0) 2011.10.24
오라클 기본 구조  (0) 2011.06.25

댓글