Oracle/인스톨메뉴얼

Database 수동으로만들기 ; DB생성, 리스너생성, EM구성까지

에몽이ㅋ 2012. 3. 29. 17:46
과정요약
1. 파라미터파일생성
2. orapwd구성
3. db 만들기
3-1. 필수 구성요소 실행
4. 리스너구성
5. EM구성


1. 파라미터파일생성
$ cp init.ora initSID.ora
이후 initSID.ora 파일수정 및 내용추가

필수, 수정해야할 파라미터
db_name, shared_pool_size, control_files
 
필수, 추가해야할 파라미터
undo_management, undo_tablespace
 
옵션, 추가해야할 파라미터
db_recovery_file_dest, db_recovery_file_dest_size, 기타 dest들(user_dump_dest, 등등)
 
ASMM으로 전환하기 위해 지워야할 파라미터
db_block_buffers (주석으로 처리하거나 지워주세요)


예시.
db_name=db1
shared_pool_size = 150M   (EM을 구성하기 위해선 80M이상 구성해야합니다.)
control_files = (/home/oracle/db1/control01.ctl)
# db_block_buffers = 100  << 주석처리했음
undo_management=auto
undo_tablespace=undo1
db_recovery_file_dest=/home/oracle/db1/fra
db_recovery_file_dest_size=7G


2. orapwd구성
$ orapwd file=$ORACLE_HOME/dbs/orapwSID  password=임의지정   entries=숫자  force=y
예시.
$ orapwd file=$ORALE_HOME/dbs/orapwdb1 password=oracle entries=4 force=y
[oracle@server15 dbs]$ orapwd --help
Usage: orapwd file=<fname> password=<password> entries=<users> force=<y/n>

  where
    file - name of password file (mand),
    password - password for SYS (mand),
    entries - maximum number of distinct DBA and     force - whether to overwrite existing file (opt),
OPERs (opt),
  There are no spaces around the equal-to (=) character.

3. DB생성
예시.
CREATE DATABASE db1
DATAFILE '/home/oracle/db1/system01.dbf' size 500M reuse autoextend on
sysaux DATAFILE '/home/oracle/db1/sysaux01.dbf' size 300M reuse autoextend on
UNDO TABLESPACE undo1
'/home/oracle/db1/undo1.dbf' size 200M reuse autoextend on maxsize 2G
DEFAULT TEMPORARY TABLESPACE temp
'/home/oracle/db1/temp01.dbf' size 100M reuse autoextend on maxsize 2G
CHARACTER SET KO16MSWIN949
NATIONAL CHARACTER SET AL16UTF16;
 
(옵션
logfile
group 1('/home/oracle/db1/fra/redo01.log') size 50M reuse,
group 2('/home/oracle/db1/fra/redo02.log') size 50M reuse, 
group 3('/home/oracle/db1/fra/redo03.log') size 50M reuse
)
을 추가하셔도 됩니다. 여기서는 db_recovery_file_dest를 파라미터에 지정했기때문에 굳이 안써도 알아서 만들어줍니다.

** 주의사항
첫번째 DATAFILE은 system datafile이므로 system이라고 이름을 적어주면 안됩니다.
(적으면 에러발생) 


3-1. 필수 구성요소 실행, 필수파일실행
DB가 만들어지고 나서 자동으로 open상태가 됩니다.
이후 아래 스크립트 실행
SQL>@?/rdbms/admin/catalog
SQL>@?/rdbms/admin/catproc

루트로 로그인 후 

/home/oracle/product/10g/root.sh
/home/oracle/oraInventory/orainstRoot.sh
 

4. 리스너구성(GUI환경에서 해도 되긴하지만, silent로 해보겠습니다.)

(oracle에서 제공하는 기본 netca.rsp 파일)
$ netca /silent /responseFile /home/oracle/database/response/netca.rsp

명령줄 인수 분석:
    매개변수 "silent" = true
    매개변수 "responsefile" = /home/oracle/database/response/netca.rsp
명령줄 인수 분석을 완료했습니다.
Oracle Net Service 구성:
프로파일 구성이 완료되었습니다.
포트에서 시작한 리스너:1521
Oracle Net 리스너 시작:
    실행 중인 리스너 제어:
      /home/oracle/product/10g/bin/lsnrctl start LISTENER
    리스너 제어가 완료되었습니다.
    리스너가 성공적으로 시작되었습니다.
리스너 구성이 완료되었습니다.
기본 로컬 이름 지정 구성을 완료했습니다.
Oracle Net Service 구성을 성공했습니다. 종료 코드는 다음과 같습니다. 0


이후 사용자에 맞게 수정
$ cd /home/oracle/product/10g/network/admin/
$ ls
listener.ora  sqlnet.ora  tnsnames.ora

$ vi listener.ora
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /home/oracle/product/10g)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = server15)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )


$ vi tnsnames.ora
DB1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.15)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = db1)
    )
  )

  
$ tnsping db1  (tnsnames.ora가 제대로 구성되었는지 테스트)

TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 29-MAR-2012 17:29:07

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

Used parameter files:
/home/oracle/product/10g/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.15)(PORT = 1521))) (CONNECT_DATA = (SID = db1)))
OK (10 msec)


5. EM수동구성
$ emca -config dbcontrol db -repos create

EMCA 시작 시간 2012. 3. 29. 오후 5:30:10
EM Configuration Assistant, Version 10.2.0.1.0 Production
Copyright (c) 2003, 2005, Oracle.  All rights reserved.

다음 정보 입력:
데이터베이스 SID: db1
리스너 포트 번호: 1521
SYS 사용자 암호:
DBSNMP 사용자 암호:
SYSMAN 사용자 암호:
통지를 위한 전자 메일 주소 (선택 사항):
통지를 위한 송신 메일(SMTP) 서버 (선택 사항):
-----------------------------------------------------------------

다음 설정을 지정했습니다.

데이터베이스 ORACLE_HOME ................ /home/oracle/product/10g

데이터베이스 호스트 이름 ................ server15
리스너 포트 번호 ................ 1521
데이터베이스 SID ................ db1
통지를 위한 전자 메일 주소 ...............
통지를 위한 송신 메일(SMTP) 서버 ...............

-----------------------------------------------------------------
계속하겠습니까? [예(Y)/아니오(N)]: Y
2012. 3. 29. 오후 5:30:32 oracle.sysman.emcp.EMConfig perform
정보: 이 작업은 /home/oracle/product/10g/cfgtoollogs/emca/db1/emca_2012-03-29_05-30-10-오후.log에서 기록되고 있습니다.
2012. 3. 29. 오후 5:30:34 oracle.sysman.emcp.EMReposConfig createRepository
정보: EM 저장소 생성 중(이 작업은 약간의 시간이 걸릴 수 있음)...
2012. 3. 29. 오후 5:32:39 oracle.sysman.emcp.EMReposConfig invoke
정보: 저장소가 성공적으로 생성되었습니다.
2012. 3. 29. 오후 5:32:44 oracle.sysman.emcp.util.DBControlUtil startOMS
정보: 데이터베이스 컨트롤 시작 중(이 작업은 약간의 시간이 걸릴 수 있음)...
2012. 3. 29. 오후 5:34:20 oracle.sysman.emcp.EMDBPostConfig performConfiguration
정보: 데이터베이스 컨트롤이 성공적으로 시작되었습니다.
2012. 3. 29. 오후 5:34:20 oracle.sysman.emcp.EMDBPostConfig performConfiguration
정보: >>>>>>>>>>> 데이터베이스 컨트롤 URL이 http://server15:1158/em입니다. <<<<<<<<<<<
Enterprise Manager 구성이 성공적으로 완료되었습니다.
EMCA 완료 시간 2012. 3. 29. 오후 5:34:20

DB구성, 리스너구성, EM구성 완료!