본문 바로가기
프로그래밍/DB/DB

오라클 DB 수동생성(펌)

by 아유카와 2009. 4. 23.
 D:\  dbca

 이렇게 명령어를 치거나 시작 --> 오라클 --> 구성 및 이전 툴 --> Database Configuration Assistant 를 누르시면 같은 기능이 됩니다.

 물론  GUI환경이기 때문에 무지 쉽게 하실 수 있습니다. 그리고 오라클에서도 수동으로 생

 성하는 것보다는 DBCA 를 사용하는 것을 권장 하구요^^

 지금 부터는 수동으로 메뉴얼하게 만드는 법을 가르쳐 드릴께요~

 1. initSID.ora 파일은 데이타베이스 설정을 초기화합니다.

 initSID.ora 파일에 나열된 parameter들은 순서대로 정렬할 필요는 없지만

 

특정parameter가 두번 이상 나열되면 마지막 설정이 사용됩니다.. 그래서 Oracle 9i

 

Reference에서는 이러한 중복을 방지할수 있도록 parameter를 문자순으로 배열할 것을

 

권장합니다.initSID.ora 파일을 $ORACLE_HOME/dbs 디렉토리에 만듭니다.

 

물론 님께서는 D:\ 에 생성하시길 원하시니깐 D:\PROD/dbs 이렇게 만드시면

 

되겠네요. 

 

Windows에서는 이 초기화 파라미터 파일이  $ORACLE_HOME\database 디렉토리에

 

있습니다. 간단히 하기 위하여 사용하고 있던 initSID.ora 파일이나 init.ora을 복사한후

 

수정하여 사용합니당.

 

 test을 위하여 initTEST.ora 라는 초기화 파라미터 파일을 만듭니다.

   (물론 아래의 내용은 필요에 따라 수정하면 되요~)  

 

< initTEST.ora sample >

 

*.background_dump_dest='/home/ora920/admin/ORA920/bdump'

*.compatible='9.2.0.0.0'

*.control_files='/home/ora920/oradata/contest/control_01.ctl','/home/ora920/orada

ta/contest/control_02.ctl','/home/ora920/oradata/contest/control_03.ctl'

*.core_dump_dest='/home/ora920/admin/ORA920/cdump'

*.db_block_size=8192

*.db_cache_size=33554432

*.db_file_multiblock_read_count=16

*.db_name='TEST'

*.instance_name='TEST'

*.large_pool_size=16777216

*.processes=200

*.shared_pool_size=43886080

*.sort_area_size=524288

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS'

*.user_dump_dest='/home/ora920/admin/ORA920/udump'

 

 

디렉토리 같은거는 님께서 맞게 수정해 주시면 될꺼 같아요

 

2. 새로운 인스턴스 ID 설정

    실행하기에 앞서 다른 instance가 떠 있고 같은 OS user을 사용한다면 아래와 같이

    ORACLE_SID을 바꾼다. ORACLE_HOME, LD_LIBRARY_PATH, PATH등은 S/W 인스톨시에이미 설정되어 있을 꺼에요

 

    < Bourne 또는 Korn Shell>

 

    ora920:/home/ora920/product/9.2.0/dbs> export ORACLE_SID=TEST

    ora920:/home/ora920/product/9.2.0/dbs> env |grep SID

    ORACLE_SID=TEST 

 

    < C Shell >

    $setenv ORACLE_SID TEST

 

 

3. NOMOUNT 모드로 데이타베이스을 시작합니다.

 

    sqlplus "/ as sysdba"

 

    SQL> startup nomount

 

4. Create Database 명령 실행

   (물론 파일 이름, 겅로명, 싸이즈등은 필요에 따라 수정합니다.)

 

 

  CREATE DATABASE PROD

  MAXLOGFILES 255

  MAXINSTANCES 1

  MAXDATAFILES 256

  MAXLOGHISTORY 256

  DATAFILE '/home/ora920/admin/PROD/system01.dbf' SIZE 400M

  UNDO TABLESPACE "UNDOTBS" DATAFILE '/home/ora920/admin/TEST/undotbs01.dbf'

  SIZE 200M AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED

  CHARACTER SET UTF8

  LOGFILE GROUP 1 ('/home/ora920/admin/PROD/redo_PROD01.dbf') SIZE 100M,

  GROUP 2 ('/home/ora920/admin/PROD/redo_PROD02.dbf') SIZE 100M;

 

5. Users Tablespace를 생성합니다

   (물론 파일 이름, 겅로명, 싸이즈등은 필요에 따라 수정하면 되겠죠)

 

  CREATE TABLESPACE "USERS" DATAFILE '/home/ora920/admin/PROD/users01.dbf'

  SIZE 300M AUTOEXTEND ON NEXT 5M MAXSIZE 1500M;

 

6. Temporary Tablespace를 생성합니다.

   (물론 파일 이름, 겅로명, 싸이즈등은 필요에 따라 수정)

 

  CREATE TEMPORARY TABLESPACE "TEMP" TEMPFILE '/home/ora920/admin/PROD/temp01.dbf'

  SIZE 40M AUTOEXTEND ON NEXT  640K MAXSIZE UNLIMITED

  EXTENT MANAGEMENT LOCAL;

  ALTER DATABASE DEFAULT TEMPORARY TABLESPACE "TEMP";

 

7. 필요한 view, synonym등을 생성하기 위해 아래의 두 스크립트를 반드시 실행합니다.

   사용량이 많지 않은 서버에서 두 스크립트가 완료되는데 소요되는 시간은 총 35분에서 60분 사이정도 되구요.

   두 스크립트는 반드시 SYS 사용자로 실행해야 해요.

 

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

   2) CATPROC.SQL : PL/SQL을 사용하는데 필요한 패키지 및 프로시져를 생성

 

   SQL>@$ORACLE_HOME/rdbms/admin/catalog.sql

   SQL>@$ORACLE_HOME/rdbms/admin/catproc.sql

 

8. pupbld.sql 실행.

   $ORACLE_HOME/sqlplus/admin 디렉토리에 있는 pupbld.sql 스크립트는 Product User Profile    테이블 및 관련 프로시져를 생성합니다. 이 스크립트를 실행하는 주요 용도는 사용자가 SQL*Plus에  접속할때마다 경고 메세지가 표시되는 것을 방지하는 것이구요. 이 스크립트는 SYSTEM 사용자로 실행하면 되요.

 

   $sqlplus system/manager

출처 : http://blog.naver.com/sungeunn (ps 미안요~ ^^)

[출처] 오라클 DB생성|작성자 남프로