DBMS 1

DA, SQL, DB보안 등 실무자를 위한 위한 DB기술 바이블!

환경 설정

DBMS 1
Oracle 가이드
설치가이드
환경 설정
작성자
dataonair
작성일
2021-02-17 16:42
조회
724

환경 설정

앞으로 설명하게 되는 내용은 SuSE 7.2에서 설치하는 과정을 예로 든다.

root 사용자로 해야 할 작업
Linux 커널의 설정

오라클 9i 서버의 SGA(System Global Area)를 수용하게 끔 Linux 커널 IPC(Interprocess Commuication) 파라미터를 수정해야 한다. SGA를 수용하기 위한 적절한 공유 메모리가 설정되어 있지 않은 경우에 데이터베이스가 기동되지 않을 수도 있다.

  1. ipcs 명령을 사용하여 현재 시스템의 공유 메모리와 세마포어 세그먼트, 그리고 그들 각각의 식별자와 세그먼트를 확인한다.
  2. 사용자가 실행한 SELECT문의 문법을 확인합니다.

  • 공유 메모리 세그먼트의 최대 크기(SHMMAX)
  • 시스템 내 공유 메모리 세그먼트들의 최대 개수(SHMMNI)
  • 사용자 프로세스 하나가 사용할 수 있는 공유 메모리 세그먼트의 최대 개수(SHMSEG)
  • 시스템 전체에서 할당할 수 있는 공유 메모리 세그먼트의 최대 개수(SHMMNS)

허용 가능한 전체 메모리의 최대값은 다음과 같이 얻어진다.

SHMMAX * SHMSEG

다음 표의 내용은 디폴트 init.ora 파일에 기반한 인스턴스 하나를 위한 권장 값이다. 만약 하나 이상의 인스턴스를 인스톨 한다거나 init.ora 파일을 수정한다면 이 파라미터들을 변경해야 한다. 오라클에서는 이 값들을 시스템이 지원하는 한 가장 크게 설정하는 것을 권장한다. 그러나 너무 큰 값으로 설정하게 되면 시스템 부팅시 문제가 발생할 수도 있다.

Kernel Parameter 값의 확인 및 수정

먼저 root 사용자로 로긴하여 작업을 한다.

# cd /proc/sys/kernel
# cat sem
250 32000 32 128

위에서 나타나는 값은 SEMMSL, SEMMNS, SEMOPM ,SEMMNI을 나타낸다. 위의 parameter value의 수정하는 command는 아래와 같다.

# echo SEMMSL_value SEMMNS_value SEMOPM_value SEMMNI_value > sem

그리고 shared memory parameter값을 확인 하는 방법은

# cat shared_memory_parameter

수정하는 방법은 다음과 같다.

# echo 2147483648 > shmmax

위에서 수정한 값이 시스템이 startup하는 동안에 적용하기 위해서는 시스템의 init files에 적용하여야 한다. 시스템에 적용하는 방법에 관한 내용은 시스템 업체의 문서에 따라 작업을 한다.

다음은 oracle 9i를 사용하기 위해 요구되는 최소한의 값이다.

파라미터 권장값 설명
SHMMAX 2147483648 한 개의 공유 메모리 세그먼트의 최대 크기
(바이트 단위로서, 2GB를 의미한다)
SHMMIN 1 한 개의 공유 메모리 세그먼트 최소 크기(바이트 단위)
SHMMNI 100 공유 메모리 식별자의 개수
SHMSEG 4096 한 개의 프로세스에 연결될 수 있는 공유 메모리 세그먼트의
최대값
SEMMNS 256 시스템 내 세마포어의 개수
SEMMNI 100 시스템 내 세마포어 셋 식별자의 개수.
SEMMNI는 어느 한 순간에 동시 사용될 수 있는 세마포어의
개수를 결정한다.
SEMMSL PROCESSES 파라미터값 보다
같거나 크게 설정한다.
한 개의 세마포어 세트에 존재할 수 있는 세수에 10개를
더한값으p>SEMOPM
100 Semop call 당 operations의 최대 개수
SEMVMX 32767 세마포어의 최대 값를 결정한다

이러한 내용들을 커널에 반영시키기 위해서는 소스 패키지의 내용을 고친 후에 커널을 컴파일 해야한다. 이 같은 작업에 대해서는 여기에서 자세히 설명할 수 없으므로, Linux 운영체계와 관련된 서적이나 문서등을 참조하기 바란다.

Oracle 9i RAC 설치를 위한 선행 작업

1.System/Array Configuration

2.OS 설치

3.Kernel Rebuild (FC HBA driver, Softdog Modules등)

4.Disk Partitioning

5.Raw Devices 생성 (추후 확장성을 위해 LVM으로 구성하는 것을 권장)

· raw device에 대한 owner, group 변경

# chown oracle9i.dba device 명 # chmod 660 device 명

· /etc/init.d/raw 파일 생성
· chmod 755 /etc/init.d/raw
· 위의 설정을 부팅 후에도 적용될 수 있도록 /etc/init.d/boot.local 수정

< /etc/init.d/boot.local > . /etc/init.d/raw start insmod softdog echo 2147483648 > /proc/sys/kernel/shmmax



6.노드간 rlogin, rsh 환경 설정

Network Configuration 확인 (Interconnect, Public)
/etc/hosts, ~oracle/.rhosts, /etc/inetd.conf 파일 수정
/etc/rc.d/init.d/inetd start
ping, rlogin test

7.Java 2 SDK 설치

http://java.sun.com/j2se/1.3/download-linux.html
(Netscape 브라우저로 다운로드)
rpm .Uvh <J2SE rpm file>

주의위의 이 부분에 대해서는 LINUX 운영체제와 하드웨어 관련된 다른 서적이나 문서등을 참고하도록 한다.

Database Administrator를 위한 그룹 생성

liNUX에서 groupadd 란 유틸리티를 이용하여 dba라는 그룹을 생성하도록 한다.
예를 들면, 다음과 같다.

[root /]# groupadd -g 5000 dba

그룹이 잘 생성되었는 지 확인하려면 /etc/group 파일 내용을 통해 확인하면 된다. 위의 경우 파일내에 dba라는 그룹명이 파일내에 추가되게 된다.

오라클 소프트웨어를 설치할 계정 생성

liNUX에서 useradd라는 유틸리티를 사용하여 oracle 계정을 생성한다. 생성전에 다음과 같은 것들을 결정해야 한다.

로긴 이름 무엇으로 결정해도 괜찮다. 이 설치 가이드에서는 일반적 많이 사용하는 oracle 계정을 이용한다.
디폴트 그룹 ID 위에서 생성한 DBA 그룹
홈 디렉토리 사사용자의 홈 디렉토리. ORACLE_HOME 디렉토리와 같을 필요는 없다.
로긴 쉘 /bin/bash, /bin/sh, /bin/csh, /bin/ksh 등이 될 수 있다.

여기에서는 그룹 생성이나 오라클 계정 생성등에 대한 부분은 더 이상 자세히 설명하지 않는다. 이 부분에 대해서는 liNUX 운영체제와 관련된 다른 서적이나 문서등을 참고하도록 한다.

앞으로 설명하게 될 내용에서는 사용자 계정은 oracle로, 이 사용자의 홈 디렉토리는 /home1/oracle 이라고 가정한다. 여러분은 적절한 사용자 디렉토리를 갖는 계정을 생성하면 된다.

oracle 사용자로 해야 할 작업
환경 변수 설정

다음과 같은 환경 변수들을 설정해야 한다. 이 값들은 사용하는 쉘 종류에 맞게 oracle 계정의 홈 디렉토리에 있는 .profile이나 .cshrc 등에 기록하도록 한다.

ORACLE_HOME

현재 설치하고자 하는 버전을 저장할 디렉토리 LD_liBRARY_PAth 오라클 제품을 사용할 때 사용되는 Shared Library들의 위치 경로. LD_liBARARY_PAth가 $ORACLE_HOME/lib 를 포함하게 지정한다.

ORACLE_SID

Oracle 서버 인스턴스의 이름인 Oracle System Identifier(SID)를 지정한다.

PAth

다음을 포함하게 한다.
$ORACLE_HOME/bin, /bin, /usr/bin

NLS_LANG

Oracle 데이터베이스와 관련하여 언어 종류와 캐릭터 셋을 지정한다.

DISPLAY

Oracle Universal Installer 가 구동하기 위해서 Servername name 이나 IP address ,X Server, Screen을 지정한다.

환경 변수 설정 예

다음은 환경변수 파일에 오라클 설치 및 사용을 위해 설정한 환경변수들의 예이다. 자신의 디렉토리에 맞게 고쳐다 쓰자.

## Environment variables for Oracle
export ORACLE_HOME=/home/oracle/
export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export ORACLE_SID=RAC1##CLASSPATH must include the following JRE locations:
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib