DATA 전문가로 가는 길

[ Oracle ] 수동 데이터베이스 생성 방법 본문

Data Architecture/DB Install

[ Oracle ] 수동 데이터베이스 생성 방법

EstenPark 2010. 12. 14. 21:36
작성자 : 박상수
작성일자 : 2010.12.14
작업환경 : VMware7 [ RHEL4 + Oracle 10g R2 ]


1. $ORACLE_HOME/dbs/init[SID].ora 파일  
[설명] 아래 내용처럼 pfile를 임의로 생성해주세요. 가장 중요한 것은 언두 테이블스페이스를 잘 기억 해두시기 바랍니다.

[2010-12-15 20:46:17]-[oracle@server102:~/product/10g/dbs]
$ cat inittestdb.ora
control_files           = (/home/oracle/oradata/testdb/control.001.dbf,
                           /home/oracle/oradata/testdb/control.002.dbf,
                           /home/oracle/oradata/testdb/control.003.dbf)
db_name              = testdb
db_block_size           = 8192
pga_aggregate_target    = 256M
processes              = 100
open_cursors           = 1024
undo_management      = AUTO
undo_tablespace       = undotbs01
compatible            = 10.2.0
sga_target             = 128M
nls_language          = AMERICAN
nls_territory          = AMERICA
background_dump_dest    = /home/oracle/admin/testdb/bdump
core_dump_dest          = /home/oracle/admin/testdb/cdump
user_dump_dest         = /home/oracle/admin/testdb/udump
audit_file_dest       = /home/oracle/admin/testdb/adump



2. createdb.sql 스크립트  
[설명] 데이터베이스를 생성하기위해서 아래와 같은 스크립트를 수행 해주시기 바랍니다. 여기에서 반드시 undo 테이블스페이스의 이름은 pfile과 동일해야 합니다.

[2010-12-15 21:22:52]-[oracle@server102:~]
$ cat createdb.sql
--#1 단계 : db 생성

create database testdb
logfile
   group 1 ('/home/oracle/oradata/testdb/redo01_a.log','/home/oracle/oradata/testdb/redo01_b.log') size 5M,
   group 2 ('/home/oracle/oradata/testdb/redo02_a.log','/home/oracle/oradata/testdb/redo02_b.log') size 5M,
   group 3 ('/home/oracle/oradata/testdb/redo03_a.log','/home/oracle/oradata/testdb/redo03_b.log') size 5M
   maxlogfiles 5
   maxlogmembers 5
   maxloghistory 1
   maxdatafiles 100
   maxinstances 1
datafile '/home/oracle/oradata/testdb/system01.dbf' size 300M
     undo tablespace undotbs01
         datafile '/home/oracle/oradata/testdb/undo_testdb.dbf' size 100M
     sysaux
         datafile '/home/oracle/oradata/testdb/sysaux01.dbf' size 100M
     default temporary tablespace temp_testdb
         tempfile '/home/oracle/oradata/testdb/temp_testdb.dbf' size 100M
character set KO16KSC5601
national character set AL16UTF16;

--#2 단계 : 필요한 스크립트 생성. 이 부분이 시간이 30분 넘게 걸림

@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql

conn system/manager

@?/sqlplus/admin/pupbld.sql




3. 디렉토리 생성 
[설명] 이부분은 pfile과 스크립트에서 사용되는 디렉토리를 기반으로 생성해주시면 됩니다.

[2010-12-15 20:46:17]-[oracle@server102:~/product/10g/dbs]

mkdir -p  /home/oracle/admin/testdb/bdump
mkdir -p  /home/oracle/admin/testdb/cdump
mkdir -p /home/oracle/admin/testdb/udump
mkdir -p  /home/oracle/admin/testdb/adump
mkdir -p /home/oracle/oradata/testdb/


4. 데이터베이스 생성(스크립트 수행) 
[설명] 이부분은 pfile과 스크립트에서 사용되는 디렉토리를 기반으로 생성해주시면 됩니다.

[2010-12-15 21:23:01]-[oracle@server102:~]
$ sqlplus / as sysdba
SQL> host ls
admin  createdb.sql  oraInventory  oradata  patchset  product
SQL> @createdb.sql
....
...
[설명] 덤프파일을 확인 하도록하세요. ( 터미널이나 ttl을 하나 더 띄우세요.)
[2010-12-15 21:32:18]-[oracle@server102:~/admin/testdb/bdump]
$ tail -f /home/oracle/admin/testdb/bdump/alert_testdb.log
..
...

[설명] 정상적으로 수행 되었을 경우에는 바로 OPEN 단계로 시작 합니다.
테스트를 위해 파일과 현재 오픈상태인지 확인 하도록 하겠습니다.
SQL> set line 150   
SQL> set pagesize 2000
SQL> col tablespace-name for a10
SQL> col file_name for a50

SQL> select tablespace_name , bytes/1024/1024 MB, file_name
  2  from dba_data_files;
TABLESPACE_NAME          MB FILE_NAME
------------------------------ ---------- --------------------------------------------------
SYSTEM          100 /home/oracle/oradata/testdb/system01.dbf
UNDOTBS01         100 /home/oracle/oradata/testdb/undo_testdb02.dbf
SYSAUX          100 /home/oracle/oradata/testdb/sysaux01.dbf

SQL> select tablespace_name, bytes/1024/1024 MB, file_name
  2  from dba_temp_files;

TABLESPACE_NAME          MB FILE_NAME
------------------------------ ---------- --------------------------------------------------
TEMP_TESTDB02          10 /home/oracle/oradata/testdb/temp_testdb02.dbf

SQL> select status from v$instance;
STATUS
------------
OPEN







 


Comments