DBMS 1

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

설치 작업

DBMS 1
Oracle 가이드
설치가이드
설치 작업
작성자
dataonair
작성일
2021-02-17 16:42
조회
915

설치 작업

설치는 오라클 인스톨러를 실행하여 수행한다. 인스톨러를 수행하기 위해서는

  • 제품 CD-ROM을 마운트 하고
  • 인스톨러를 수행하면 된다.

제품 CD-ROM 의 마운트

Oracle 제품 CD-ROM은 RockRidge 포맷으로 되어 있다. CD-ROM을 수동으로 마운트하기 위해서는 CD-ROM을 다라이브에 넣고 root 사용자로 로긴하여 마운트하면 된다. 물론, 아래 예에서처럼 /cdrom 이라는 빈 디렉토리가 미리 만들어져 있어야 한다(없으면 만들면 된다).

예)
$ su root
# mount .t iso9660 /dev/cdrom /cdrom
# exit
$

인스톨러의 수행

인스톨러를 수행하기 위해서는 oracle 계정으로 로긴하여 CD-ROM 마운트 디렉토리로 이동한 후 orainst라는 하위 디렉토리 밑의 orainst 파일을 실행하도록 한다. 이를 실행하기 전에 위에서 설정한 환경 변수들이 반영되게 하기 위해 logout 한 후에 다시 login하도록 한다.

예)
$ cd /cdrom/oracle9i
$ ./runInstaller

주의인스톨러를 root로 수행하지 않도록 한다

Oracle 9i RAC 인스톨 과정
1. Oracle 9i software install
2. RAC configuration setting
3. DBCA를 이용한 script 생성
4. Database 생성
5. Other nodes setting

Oracle 9i Software Install
Welcome

Installer 초기 화면 [그림 3-1] Installer 초기 화면

runInstaller를 구동하면 다음과 같은 윈도우가 표시된다. 처음으로 설치하는 경우Next버튼을 누른다.DeInstall products…버튼은 기존에 설치된 제품을 삭제할 때 사용하고,Installed products…버튼은 기존에 설치된 제품의 내용을 보는 것이다.

Inventory Location

Inventory Location 화면 [그림 3-2] Inventory Location 화면

시스템에 오라클을 처음 인스톨할 때 물어보는 화면으로 인스톨 파일에 대한 기본 디렉토리에 대한 위치를 물어본다.

위치를 지정하고 (OK)를 선택하여 다음으로 진행한다.

Unix Group Name

Unix Group Name 화면 [그림 3-3] Unix Group Name 화면

시스템에 오라클 소프트웨어를 수정하기 위한 권한 을 얻기 위한 Unix Group Name을 물어보는 화면이다.
DBA를 입력한 후 Next를 선택하여 다음으로 진행한다.

OrainstRoot.sh

OrainstRoot.sh 화면 [그림 3-4] OrainstRoot.sh 화면

다른 윈도우창에서 /tmp/orainstRoot.sh 를 수행하고 Continue를 선택한다.

File Locations

File Location 화면 [그림 3-5] File Location 화면

설치할 제품이 들어 있는 위치를 지정하고 제품이 설치될 ORACLE_HOME 디렉토리를 지정한 다음 Next 버튼을 선택하여 다음으로 진행한다. 참고로 ORACLE_BASE라는 환경변수를 지정한 경우에는path: 부분에 ORACLE_BASE의 환경변수 값이 자동으로 표시되므로 이 변수 값 다음에 해당 경로(예:/home/ora815)를 추가하면 된다.

표시된 값을 확인하고 (OK)를 선택한 후 다음으로 진행한다.

Available products

Available products 선택 화면 [그림 3-6] Available products 선택 화면

데이터베이스를 구성하기 위해서는 Oracle9i 9.0.1.0.0을 선택한다. Client/Server환경구축을 원하는 경우할 시스템에서 OUI를 사용하여 Oracle9i Client를 설치한다.

product Language를 선택한다.

product Language

product Language 선택 화면 [그림 3-7] product Language 선택 화면

사용할 언어를 선택한다. 좌측의 리스트 안에서 Korean을 선택한 후 >를 선택한 후 OK를 한다.
[그림 3-6 ] Next 를 선택한다.

Installation Types

Installation Types 선택 화면 [그림 3-8] Installation Types 선택 화면

Typical을 선택하면 각종 소프트웨어 및 데이터베이스를 사전에 구성된 형태로 설치해 준다.Minimal은 최소한의 데이터베이스 기능만을 사용하고자 할 때 선택하면 된다. 사용자가 원하는 형태로 여러 가지 환경의 세부적인 구성을 하자면Custom을 선택한다. 여기에서는ORACLE 9i RAC를 설치하기 위해서는 반드시Custom을 선택하여야 한다.

Available product Components

Available product Components 화면 [그림 3-9] Available product Components 화면

설치를 원하는 제품에 체트를 한다. 제품에 대한 설명은 마우스포인터를 가까이 가져가면 위의 노란 박스에서처럼 표시가 된다. 오라클 9i RAC를 설치 하기 위해서 Oracle 9i Real Application Clusters 9.0.1.0.0을 선택한다.

Enterprise Oracle Management Server는 선택하지 않는다. 설치 중 repository에 생성에 관하여 묻는데 Database를 나중에 생성하기 때문에 생성할 수 없다.

Component Locations

Component Locations 화면 [그림 3-10] Component Locations 화면

이 화면에 표시된 구성 요소들은 원하는 위치에 설치 할 수 있다. 특별한 경우가 아니면 그냥 Next를 눌러 진행하도록 한다.

Shared Configuration File Name

Shared Configuration File Name 입력 화면 [그림 3-11] Shared Configuration File Name 입력 화면

Oracle 9i RAC를 위해 미리 정의되어 있는 quorum으로 정의되어 있는 raw device명을 입력한 후 Next를 선택한다.

Cluster Nodes Selection

Cluster Nodes Selection [그림 3-12 ] Cluster Nodes Selection

Oracle 9i RAC가 설치될 node를 입력하면 된다. 그러면 primary node에 software 설치한 후 다른 node에 software를 설치한다. 다른 node명을 입력한 후 Next를 선택한다.

물론 사전에 다른 node에 rcp나 rsh의 명령어가 정상적으로 수행되어야 한다.

privileged Operating System Groups

privileged Operating System Groups 화면 [그림 3-13] privileged Operating System Groups 화면

데이터베이스를 생성하기 위해서 OS상의 인증을 얻기 위한 GROUp 명을 입력하는 화면이다. DBA를 입력한 후 NEXT를 선택한다.

JDK Home Directory

JDK Home Directory 화면 [그림 3-14] JDK Home Directory 화면

시스템에 설치된 JDK의 위치를 입력한다. 입력한 후 Next를 선택한다.

Summary

Summary 화면 [그림 3-15] Summary 화면

설치할 제품과 각종 관련 정보가 일목요연하게 표시된다. 잘못된 것이 있으면이전을 눌러 수정한 다음 진행한다.

DBA Group

Install 화면 [그림 3-16] Install 화면

인스톨 작업이 진행된다.

CDROM Change

Cdrom change 화면 [그림 3-17] Cdrom change 화면

인스톨 과정에서 다른 CD를 요구하는 데 이를 위해서는 (/mnt에 mount 되었다고 가정)

#umount /mnt or eject (Auto mount인 경우)
#mount /dev/cdrom /mnt

위의 작업을 다른 창에서 수행한 후 계속 OK를 선택하면 된다.

Setup privileges

Setup Privileges 화면 [그림 3-18] Setup privileges 화면

다른 창에서 root.sh script를 root 권한을 가지고 수행시켜 준다. 만약 디렉토리가 없다는 메시지를 보이면 /var/opt/oracle direcory를 생성한 후 chown 를 이용하여 owner와 group을 변경한후 root.sh script를 수행한다. 그리고 OK를 선택한다.

# mkdir /var/opt/oracle 
# chown oracle9i:dba /var/opt/oracle
# cd $ORACLE_HOME
#./root.sh

End of Installation

End of Installation [그림 3-20] End of Installation

Oracle Software install이 완료 되었습니다. 다른 소프트웨어를 Install 하기 위해서는 Next Install을 선택하고 더 이상의 설치가 없을 때에는 Exit를 선택하고 종료한다.

RAC Configuration Setting

Cluster Software는 다른 platform과는 달리 Linux에서는 Oracle에 제공한다.

그래서 nmcfg.ora, ocmargs.ora file을 아래와 같이 수정해 주고 root 권한을 가진 상태에서 Cluster Software를 실행 시켜야 한다. 각 node의 내용을 각각 node에 맞게 수정하여야 한다.

$ cd $ORACLE_HOME/oracm/admin (node1인 경우)

DefinedNodes=node1 node2 
CmDiskFile=/dev/oracm-quorum
CmHostName=node1
ClusterName=RAC
PollInterval=1000

DefinedNodes

RAC에 포함되는 node를 기술 (/etc/hosts file에 들어 있는 machine name 등록)

CmDiskFile

앞서 인스톨 화면에서 지정했던 Shared Configuration File Name을 입력한다.

CmHostName

자신의 hostname을 입력한다.

ClusterName

Cluster name을 입력한다.

pollInterval

각 node간의 Cluster Manager Server가 각 Member의 상태를 체크하는 주기를 정한다.(milliseconds)

$ vi ocmargs.ora

# Sample Configuration file $ORACLE_HOME/oracm/admin/ocmargs.ora 
watchdogd -l 0 -g oinstall -e /opt/oracle/oracm/log/wdd-node1.log
oranm /e:/opt/oracle/oracm/log/nm-node1.log
oracm /e:/opt/oracle/oracm/log/cm-node1.log /a:0
norestart 5

각 node에 맞는 log이름을 주어야 한다. 위와 같이 setting 이 되어 있지 않을 경우 시스템을 리부팅 하는 경우가 있으므로 주의 하여야 한다.

Clusert Server startup

$ cd $ORACLE_HOME/oracm/bin
$ su -- root 권한의 변경
#./ocmstart.sh

마지막으로 구동시킨 node의 nm-node2.log를 확인해서 다음과 같으면 정상적인 것이다.

NODE(0) IS ACTIVE MEMBER OF CLUSTER
NODE(1) IS ACTIVE MEMBER OF CLUSTER

DBCA를 이용한 Scripts 작성 및 Database 생성
DBCA Welcome

DBCA Welcome 화면 [그림 4-1] DBCA Welcome 화면

Database Configuration Assitant의 Welcome화면입니다. Single Instance Oracle Database를 선택한 후 Next를 선택한다.

Operations

Operations 화면 [그림 4-2] Operations 화면

DBCA에서 Wizard 방식을 제공합니다. Database 생성 하기 위해서는 Create database 를 체크한 후 Next를 선택한다.

Database Templates

Database Templates 화면 [그림 4-3] Database Templates 화면

사용하려는 데이터베이스의 용도에 따라 미리 만들어진 템플리트를 제공한다. New Database를 선택한 후 Next를 선택한다.

Database Identification

Database Identification 화면 [그림 4-4] Database Identification 화면

도메인내에 유일한 전역 데이타베이스 명과 시스템내의 다른 인스턴스와 구별되는 Oracle 시스템 식별자(SID)를 입력한다. Next를 선택한다.

Database Options

Database Options 화면 [그림 4-5] Database Options 화면

Database 생성시 설치를 원하는 옵션을 선택한다. 해당 옵션에 대한 라이선스를 취득 하였는가를 확인 후 선택한다. 필요한 부분을 선택한 후 Next를 선택한다.

Database Connection Options

Database Connection Options [그림 4-6] Database Connection Options

클라이언트에서 서버로의 접속 시 사용할 접속 모드를 결정한다. 일반적으로 동시 사용자 수가 중 대형급 규모인 경우에는 공유서버모드(Shared Service Mode) 즉, Multi-Threaded Server 모드로 사용하는 것이 리소스 절약 측면에서 유리하며 소규모 환경인 경우에는 전용 서버모드(Dedicated Server Mode)를 사용하는 것이 무난하다. Dedicated Server Mode를 선택한 후 Next를 선택한다..

Initialization parameters

Initialization Parameters 화면 [그림 4-7] Initialization parameters 화면

SGA를 구성하기위해 필요한 초기화 파라메터들 가용 메모리의 1/2이상 사용하지 않도록 한다. 화면에서크기로 끝나지 않는 파라메터들은 개수를 지정한다. 이전 화면에서로그파일의 크기를 변경한 경우에는 같은 비율로 로그 버퍼 크기(바이트)도 수정한다.
추가적인 파라메터들은All Initialization parameters를 선택하여 필요한 내용을 수정한다.

Initialization parameters (DB Sizing)

Database Sizing 화면 [그림 4-8] Database Sizing 화면

Database의 운용모드를 선택하기 위해서는Archive tab에서 운용에 관한 내용을 입력하고 이 화면에서는 Data block의 크기를 결정한다. 만약 OLTp성 업무에 사용할 거라면블록 크기(바이트)를 기본(2048)에 가깝게, DSS성 업무에 사용할 거라면 16K이상의 적절한 값을 선택한다. 혼합형(Hybrid) 형태인 경우에는 적절한 중간치를 찾아내서 지정한다.

Character Sets을 결정한다. 특히 국가별 문자 집합(National Character Set)을“AL16UTF16”을 선택한다. 이는 다국어를 한 데이터베이스 내에서 지원하기 위해서 사용된다.

Initialization parameters (File Locations)

File Locations 화면 [그림 4-9] File Locations 화면

시스템 디버깅을 위한 Trace 파일이 저장될 장소를 지정한다.

실제 Directory가 있는 지 확인하고 없으면 데이터베이스 생성 스크립트를 수행 전 생성시켜 줘야 한다.
파일 위치를 수정 후 Next를 선택한다. Spfile분분은 uncheck한다.

Database Storage

Database Storage 화면 [그림 4-10] Database Storage 화면

각 Control file, Redolog file에 대한 파일명, 위치를 수정한다. 앞서서 할당한 Raw device 명을 이름부분에 수정한다. 특히 control file분분의 options에서 MAXDATAFILES, MAXINSTANCES, MAXLOGHISTORY, MAXLOGFILES 값을 사용하려는 환경에 맞게 적절한 값으로 수정한다.

각 테이블스페이스 별로 크기 및 각종 공간 관련 파라메터를 수정한다. 기본설치 후 업무용으로 테이블스페이스를 추가할 생각이라면 이곳에 있는 기본 잡아주는 것이 좋다. 위의 내용을 수정하였으면 Next를 선택한다.

Creation Options

Create Options 화면 [그림 4-11] Create Options 화면

계속해서 Database를 작성할 것인지, 아니면 관련 파일들을 저장한 다음 다른 창에서 실행할 것인지를 결정한다. Generate Database Creation Scripts를 저장한 다음 해당 파일의 내용을 원하는 환경에 맞도록 보다 세밀하게 수정한 다음 실행하도록 한다. 위의 화면대로 체크한 후 Finish를 선택한다.

Summary

Summary 화면 [그림 4-12] Summary 화면

앞서 과정에서 작성한 내용을 확인한 후 OK를 선택한다.

Completed Scripts

Completed Scripts 화면 [그림 4-13] Completed Scripts 화면

Scripts의 생성이 완료되었다. 더 이상의 작업이 없을 경우에는 No를 선택한다.

Create Database

앞서 과정에서 작성된 Scripts 파일은 다음과 같다.

krcompaq:/home1/dbtech/home/admin/RAC/scripts> ls -al
-rw-r--r-- 1 dbtech dba 782 Sep 3 15:35 CreateDB.sql
-rw-r--r-- 1 dbtech dba 731 Sep 3 15:35 CreateDBCatalog.sql
-rw-r--r-- 1 dbtech dba 1387 Sep 3 15:35 CreateDBFiles.sql
-rw-r--r-- 1 dbtech dba 969 Sep 3 15:35 JServer.sql
-rw-r--r-- 1 dbtech dba 1165 Sep 3 15:35 RAC1.sh
-rw-r--r-- 1 dbtech dba 357 Sep 3 15:35 context.sql
-rw-r--r-- 1 dbtech dba 1133 Sep 3 15:35 demoSchemas.sql
-rw-r--r-- 1 dbtech dba 2824 Sep 3 15:35 init.ora
-rw-r--r-- 1 dbtech dba 174 Sep 3 15:35 interMedia.sql
-rw-r--r-- 1 dbtech dba 169 Sep 3 15:35 ordinst.sql
-rw-r--r-- 1 dbtech dba 197 Sep 3 15:35 postDBCreation.sql
-rw-r--r-- 1 dbtech dba 150 Sep 3 15:35 spatial.sql
-rw-r--r-- 1 dbtech dba 245 Sep 3 15:35 ultraSearch.sql

위의 CreateDB.sql 파일에서 MAXDATAFILES, MAXINSTANCES, MAXLOGHISTORY, MAXLOGFILES의 값들을 확인하고 필요에 따라 수정한다 Init.ora file에 아래의 내용이 있는 지 확인하고 없으면 추가 시켜준다.

cluster_database= true 
cluster_database_instances=2
thread=1
instance_name=RAC1
instance_number=1
undo_tablespace = UNDOTBS1

위의 두개의 파일을 수정하고 RAC1.sh을 수행시키거나 아니면 RAC1.sh을 내용을 하나씩 확인해 보면서 수행 node의 인스턴스를 위하여 다음의 scrips를 차례로 수행시킨다.

$ sqlplus /nolog 
connect SYS/change_on_install as SYSDBA
set echo on
spool /opt/oracle/admin/RAC/create/CreateClustDBViews.log
@$ORACLE_HOME/rdbms/admin/catclustdb.sql;
spool off; rem Oracle9i: Redo log files for Second Instance (sample)
alter database add logfile thread 2 group 4 '/dev/OPSthr2grp4mem1.rdo' size 5m;
alter database add logfile thread 2 group 5 '/dev/OPSthr2grp5mem1.rdo' size 5m;
alter database add logfile thread 2 group 6 '/dev/OPSthr2grp6mem1.rdo' size 5m;
alter database enable thread 2; rem Oracle9i: Undo Tablespace for Second Instance (sample) create undo tablespace undotbs2 datafile '/dev/RACundo02.dbf' size 20m extent
management local autoallocate;

Other Node Setting

기존의 설치된 node와 하드웨어적인 내용을 같다는 전제 하에 Oracle 과 관련된 내용만 설명하기로 한다. 설치된 node로부터 환경변수 파일을 rcp를 이용하여 복사하여 다음의 내용을 수정한다.

ORACLE_SID = RAC2

기존의 설치된 node로부터 아래의 내용을 복사한다.

$ cd $ORACLE_HOME 
$ rcp .R node1:/home/oracle/oracm .
$ cd $ORACLE_HOME/oracm/admin

ocmargs.ora, nmcfg.ora file을 node2에 맞게 수정한다.
(앞서 Cluster Software setup시 수행하였으면 생략하여도 무관하다.)

$ cd $ORACLE_HOME 
$ rcp .R node1:/home/oracle/admin .
$ cd $ORACLE_HOME/dbs
$ ln .s $ORACLE_HOME/admin/RAC/scripts/init.ora initRAC2.ora

initRAC2.ora file을 아래처럼 수정한다.

cluster_database= true 
cluster_database_instances=2
thread=1
instance_name=RAC2
instance_number=2
undo_tablespace = UNDOTBS2

Database startup

Node1/Node2를 restart후에 Oracle 수행시킨다.

먼저 Cluster software를 root권한으로 수행시킨 후 (RAC Configuration Setting 부분 참조)

$ sqlplus /nolog
SQL> startup
SQL> select host_name, instance_name from gv$instance;
HOST_NAME INSTANCE_NAME
---------- ----------------
node1 RAC1
node2 RAC2