본문 바로가기

Oracle/Study 세미나 자료

Oracle Study 1. Linux OS설치, 외부쉘 터미널 구성 Oracle 설치, 수동DB구성


목차

PART 1. OS 설치

PART 2. Oracle Software 설치.

PART 3. GUI를 활용하지 않는 수동DB생성.

PART 4. 외부 shell 접속 및 터미널 구성

PART 1. OS
설치

 

:: OS 설치전 테스트 환경 기본 구성정보

 

설치 환경 :

CPU

: Intel 펜티엄 4 3GHz

MEMORY

: 1GB

HDD

: 200GB

 

파티션 구성.

Location

FileSystem

Size

/

EXT3

168GB

/var

EXT3

10GB

Sawp

SWAP

4GB

[ 오라클은 / 에 설치를 합니다. 테스트 환경이기 때문에 별도로 디스크파티션을 나누지 않고 설치를 진행합니다. ]

 

네트워크 정보

IP

192.168.0.51

Subnet

255.255.255.0

Gateway

192.168.0.1

DNS

168.126.63.1, 168.126.63.2

 

 

리눅스 설치는 버전업이 되면서 GUI설치환경(아나콘다)이 좋아지기 때문에 설치 방법자체는 어렵지 않습니다.

설치상에서 필요한 기본 설정정보는 위의 파티션 구성정보와 네트워크정보를 참고.

 

설치할 패키지(RPM) 설치는 처음에 설치를 하지 않았다 하더라도 설치후에 추가로 설치가 가능하기 때문에

큰어령움은 없습니다.

 

아래 스크린샷은 OS설치 화면을 원할하게 캡쳐를 하기위해서 VMWARE에서 진행했습니다.

하드디스크용량과 네트워크 부분을 제외한 나머지는 같습니다.

 

 

1. 설치화면



2. CD스캔이 오래걸리므로 SKIP


3. 설치첫화면.


4. 언어선택 테스트 설치이므로 우선 영어로 하고 넘어갑니다.


5. 키보드 언어시스템 선택


6. 파티션 직접적 선택을 위해 Create custom layout 선택


7. 용량은 용도에 맞게 설정합니다.






8.boot loader 선택 - 초기 lilo 에서 GRUB로 변경되었습니다. 기본값 선택후 다음.


9. 네트워크 부분 설정




10. 지역선택 영어로 선택해서 기본값이 America/NEW_York 아무거나 선택후 일단 다음


11. root 패스워드 설정


12. 패키지 선택 ( 오라클 설치시패키지 선택의 불편함을 없애기 위해서 미리 몇가지 개발관련 라이브러리를 선택합니다. )
아래 라디오 버튼을 Customize now 를 선택하고 다음.

* 용량을 아끼기 위해서 오피스,그래픽관련 프로그램은 체크를 해제해도 무관합니다.

Development 카테고리의

아래 항목을 체크합니다.
Development Libraries
Development Tools
GNOME Software Development
Legacy Software Development
X Software Development





13. 설치 시작.




14. 설치가 끝나면 리부팅을 합니다.


15. 윈도우와 마찬가지로 설치후에 재부팅하고나서 기본설정이 들어갑니다.


16. 테스트 설치이기때문에 방화벽은 전부 Disable


17. 아래 써있는것처럼 보안관련된 부분이 더 추가된 SeLinux 설정도 Disable


18. 시간 날짜 시스템시간이 기본입니다. 다음.


19. 얼마전(현재 2010년 하반기)에 출시된 RHEL 6 (Redhat Enterprise Linux 6 )은
아래 계정추가부분이 필수지만 CentOS 5.5까진 아직은 선택사항입니다.

테스트이기 때문에 일단 넘어갑니다.



20. 사운드카드 설정도 넘어갑니다.


21. 추가 패키지 설치 없으니 넘어갑니다.

 

 

 

 

 

 

 

 

 

 

 

PART 2. Oracle Software 설치.

 

 

설치 소프트웨어 : Oracle 10g R2 (10.2.0.1) Linux X86

설지 제품 다운로드 경로 : http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

( 오라클 사이트 로그인을 한후 다운로드가능 )

 

인터넷상에서 공식적으로 제공하는 버전을 가지고 설치합니다.

 

 

오라클은 버전별로 운영체제별로 모든 설치문서를 제공합니다.

오라클 공식문서이며 기본적으로 오라클 기본문서를 따르는 것이 원칙입니다.

 

그러나 공식문서는 해당 버전이 출시될 때 그때에 맞는 OS관련 설정의 내용으로 만들어져있기 때문에

약간의 차이가 있을수있으며 OS의 버전업그레이드로 설치 또는 설정을 해야할 부분이

더 많을수도 더 적을수도 있습니다.

 

오라클 linux 32bit 설치 공식문서 경로

http://download.oracle.com/docs/cd/B19306_01/relnotes.102/b15659/toc.htm#CHDFCIAC

 

 

아래는 이번에 테스트서버에서 설치한 CentOS5.3 32Bit 기준이기 때문에 오라클 공식문서와 다르며

많은 부분이 생략이 되어있습니다.

 

참고사항 :

root 로실행 -> Linux 의 슈퍼유저권한으로 실행 ( root 권한 )

oracle 로실행 -> orcale 사용자로 로그인하여 실행 ( oracle 권한 )

 

 

설치전 선행 해야할 작업 :

 

1.     Oracle 그룹 및 사용자 생성

 

A.     그룹 생성(root 로실행)


groupadd oinstall 
groupadd dba 
groupadd oper

그룹은 업무별로 나누는것이기 때문에 임의 그룹 최소 1개이상만 있어도 설치는 됩니다.

(버전업이 되면서 OS와 연관된 기능들이 생기면서 각 용도별로 구분을 해야할필요가 있습니다.

오라클에서는 각 업무별로 그룹을 만들어서 구분해서 사용할것을 권장합니다. )

 

테스트환경에서는

 

-      기본 오라클 엔진 설치 그룹 – oinstall

-      실제 데이터를 컨트롤하게될 그룹 – dba

-      os 부분을 관리하는 그룹 – oper

 

로 구분하여 사용합니다.

 

 

B.     사용자 생성(root 로실행)

 

useradd –G dba,oper –g oinstall oracle

(기본 default 그룹은 oinstall 이며 포함된 global 그룹은 dba,oper 입니다. )

 

passwd oracle

(생성한 오라클 사용자의 패스워드를 설정합니다.)

 

2.     설치 경로 설정.(root 로실행)

 

테스트 환경이기 때문에 별도의 디스크가 아닌 디렉토리로 구분합니다.

 

mkdir /u01 /u02 /u03 /u04 /u05

디렉토리 생성을 먼저 합니다.

 

chown –R oracle:oinstall /u01

chown –R oracle:oinstall /u02

chown –R oracle:oinstall /u03

chown –R oracle:oinstall /u04

chown –R oracle:oinstall /u05

생성한 디렉토리의 권한을 위의 과정에서 생성한 oracle계정으로 권한을 변경합니다.

 

 

 

 

            

3.     기본 환경변수 설정.(Oracle 로실행)

 

A.     위의 과정을 순서대로 진행했을경우에는 현재 root 권한이므로 oracle 로 로그인을 합니다.
su – oracle

 

B.     A를 진행하지 않고 현재 상태가 오라클일경우에는 홈디렉토리로 이동

cd
또는
cd ~

 

C.     홈디렉토리의 profile 수정.
vi .bash_profile
vi
로 해당 profile 을 수정

기존에 있는 내용은 그대로 두고 다음 내용을 추가.

                           ORACLE_BASE=/u01/app/oracle

                     ORACLE_HOME=/u01/app/oracle/product/10.2.0

                     ORACLE_SID=ORCL

                          

                           PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

                          

                           export ORACLE_BASE ORACLE_HOME ORACLE_SID

                    

                           export PATH

 

                           굵은 글씨만 추가된 부분입니다.

 

l  ORACLE_BASE는 기본 오라클 인벤토리

( 설치 관련 정보 저장 디렉토리,

오라클 db생성시 admin 디렉토리아래로 alert_log 및 기타 trace 파일 생성디렉토리 )

 

l  ORACLE_HOME는 기본 오라클 엔진설치 경로

l  ORACLE_SID는 수동으로 오라클DB를 만들 SID (미리지정함)

 

4.     다운받은 파일 압축풀기

 

인터넷으로 받은 또는 기타 경로로 다운받은 오라클 zip파일경로에서

압축을 풀어줍니다.

 

-      확장자가 zip 파일 일경우

unzip 파일명

 

-      확장자가 cpio.gz 일경우

cpio –idmv < 파일명

 

오라클 10g 이상은 보통 zip으로 되었습니다.

오라클 9i cpio 로 되어있습니다.

 

5.     OUI 실행

 

A.     ./runInstaller (Oracle로 실행)

압축을 풀고나면 database 라는 디렉토리가 생기면서 그하위디렉토리로 설치파일이 보입니다.

Database 디렉토리로 이동후

./runInstaller

 

만약 위의 명령을 실행하고 에러가 날경우

 

Case 1 : Xwindow root 로 로그인후에 터미널을 오픈하여 실행

 

       해결책 : xhosts + (./runInstaller 를 실행한 터미널에서 exit 한후 root에서 xhosts +

 

Case 2 : 패키지가 없음 ( libXp )

      

해결책 : yum 같은 패키지를 설치해줄수있는 프로그램으로 설치.

이번설치에서는 yum 사용 (root 로 실행)

 

yum install libXp

 

실제 설치 과정. 스크린샷

 

1. 기본 설치를 하면 한번에 DB설치까지 되므로 Advanced 설치로 합니다.


2. 인벤토리 디렉토리 설정.
설치전 설정의 $ORACLE_BASE 디렉토리가 참고됨. 

3. 오라클 설치 버전 선택 (Std or Ent or Cst )
엔터프라이즈 버전을 선택후 다음.

4. 오라클 설치 경로 설정 ( 설치전의 환경설정 $ORACLE_HOME 이 적용 )

5. 설치가 되는 환경 검사
Oracle 10g이상부터는 9i와 다르게 설치전에 커널 파라미터와 관련 패키지 스왑등 필요한 사이즈인지 그리고
 
패키지가 있는지 없는지를 확인이 가능하며 없는 패키지또한 바로 알수있습니다.

오라클 reference 문서에서는
필요한 패키지와 미리 해당 oracle 계정에서 설정해야할 부분등이 많으나

해당 테스트버전의 CentOS에서는 설정하지 않아도 무방함을 확인했습니다.
또한 필요 필수패키지는 이미 OS설치시 선택하였기 때문에 OS관련 커널파라미터수정만 합니다.

오라클 설치시 해당 OS커널파라미터 확인결과

 

Checking for semmsl=250; found semmsl=250.        Passed

Checking for semmns=32000; found semmns=32000.  Passed

Checking for semopm=100; found semopm=32.       Failed <<<<

Checking for semmni=128; found semmni=128.      Passed

Checking for shmmax=536870912; found shmmax=4294967295. Passed

Checking for shmmni=4096; found shmmni=4096.    Passed

Checking for shmall=2097152; found shmall=268435456.    Passed

Checking for file-max=65536; found file-max=102348.     Passed

Checking for VERSION=2.6.9; found VERSION=2.6.18-128.el5.       Passed

Checking for ip_local_port_range=1024 - 65000; found ip_local_port_range=32768 - 61000. Failed <<<<

Checking for rmem_default=262144; found rmem_default=109568.    Failed <<<<

Checking for rmem_max=262144; found rmem_max=131071.    Failed <<<<

Checking for wmem_default=262144; found wmem_default=109568.    Failed <<<<

Checking for wmem_max=262144; found wmem_max=131071.    Failed <<<<

Check complete. The overall result of this check is: Failed <<<<


위의 보이는 Failed 부분을 오라클에서 권장하는 크기만큼 변경합니다.(root 로 실행)

vi /etc/sysctl.conf
sysctl.conf파일을 열어 맨아랫부분에 내용을 추가합니다.

kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 262144

net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144

위의 검은색 굵은 글씨를 추가후 저장

/sbin/sysctl –p
OS에 바로 반영 (root 로 실행)

반영후 reply



6. 수동으로 DB를 만들예정이므로 엔진만 설치합니다. 

7. 설치 요약

8. 설치 시작

9. 설치관련 스크립트 실행
* 파일 카피,링킹작업등이 끝나면 root 권한으로 아래 나오는대로 해당 스크립트를 실행합니다.
* 과거9i에서는 스크립트를 복사할수없어서 경로를 전부 입력해야했지만 10g부터는 선택복사가 됩니다.


10. 다른 터미널에서 해당 스크립트 복사후 붙여넣기.


스크립트 실행완료후 OK를 눌러서 다음.

11. 설치 완료.
설치가 완료되면 아래 화면처럼 iSQL 경로가 나옵니다.
( iSQL 은 11g에서 사라졌습니다. )

 

PART 3. GUI를 활용하지 않는 수동DB생성.

 

DB생성전 숙지사항

 

오라클 DB는 크게 메모리 및 기본 설정파일인 init[SID].ora파일

OS인증이 아닌 password 인증으로 로그인할 orapw[SID] 파일이 필요합니다.

 

그리고 alert log 와 기타 trace aud파일이 자동으로 생성될 디렉토리가 필요합니다.

10g 는 기본적으로 환경설정에서 설정한 ORACLE_BASE 디렉토리 하위로 admin/[SID]/각덤프디렉토리

입니다.

 

위 경로는 버전별로 경로가 다릅니다.

 

 

1.     기본 파라미터 파일 및 패스워드파일 생성       

 

A.     오라클 엔진이 설치된경로에서 관련 파라미터 파일 생성 (Oracle 로 실행)

 

오라클 설치경로 $ORACLE_HOME 의 하위디렉토리인 dbs 디렉토리가

Init 파일이 있을 경로 입니다.

 

해당경로에서 편집기등으로 파라미터 파일을 생성합니다.

 

이번에 수동으로 설치할 오라클 SID명이 ORCL이므로

 

vi initORCL.ora 로 새로 만듭니다.

 

오라클이 (nomount상태 인스턴스만 올려진상태가 되려면 최소한의 내용이 파라미터에 기재되어있어야합니다.)

테스트를 진행할때는 큰 이슈가 없는 상태여서 기본적으로 필요한 몇가지만 설정하고

설치합니다.

 

아래 내용은 파라미터 파일에 추가한 내용

 

db_name=ORCL

control_files='/u02/oradata/ctl1.ctl','/u02/oradata/ctl2.ctl','/u02/oradata/ctl3.ctl'

sga_target=250m

compatible=10.2.0

pga_aggregate_target=16m

db_block_size=8192

db_file_multiblock_read_count=16

undo_tablespace=UNDOTBS1

undo_management=auto

 

B.     위와 같은 dbs 경로에 password 파일 생성 (Oracle 로 실행)

 

orapwd file=orapwORCL password=oracle

C.     디렉토리 미리생성하기

 

$ORACLE_BASE/admin/ORCL
아래로 adump, bdump, cdump, udump를 생성합니다.

mkdir -p $ORACLE_BASE/admin/ORCL
cd $ORACLE_BASE/admin/ORCL
mkdir adump bdump cdump udump

 

2.     create database (Oracle 계정의 sqlplus에서 실행)

 

A.     위처렁 설정을 햇으면 이제 sqlplus로 접속을 합니다. 오라클 super user sysdba로 접속합니다.

sqlplus /as sysdba

B.     startup nomount

startup nomount
인스턴스 시작단계인 nomount 로 시작합니다.

C.     create database

 

실제 database 를 만들어주는 sql문을 실행합니다.

 

필수테이블스페이스와 템프테이블 스페이스 등과 리두로그파일을 만들어주는 일을 하게될 sql문은 바로 실행해도 되지만 수정할일이 많아서 vi로 만들어서 저장하고 바로 그 sql문을 실행합니다.

 

!vi create.sql

 

아래는 create.sql 문의 내용입니다.

 

create database ORCL

logfile

group 1 ('/u02/oradata/redo1_1.log','/u02/oradata/redo1_2.log') size 5m,

group 2 ('/u02/oradata/redo2_1.log','/u02/oradata/redo2_2.log') size 5m

datafile '/u02/oradata/system01.dbf' size 300m autoextend on next 10m maxsize 1000m

sysaux datafile'/u02/oradata/sysaux01.dbf' size 300m autoextend on next 10m maxsize 1000m

default temporary tablespace temp01 tempfile '/u02/oradata/temps01.dbf' size 50m

undo tablespace UNDOTBS1 datafile '/u02/oradata/undo01.dbf' size 100m autoextend on next 10m maxsize 1000m;

 

간단하게 최소 1개그룹의 2개 멤버구성에서 1개그룹만 더추가하여

2개그룹의 2개 멤버로 구성합니다.

 

위는 샘플인뿐 구성은 자유입니다.

 

DBCA와 차이가 있다면

DBCA locally 방식이 기본값이며

수동으로 위처럼 스크립트 작업하면 기본값이 dictionary 입니다.

 

-      위와 같이 system,sysaux,undo,temp 테이블스페이스를 구성합니다.

 

저장후

 

@create.sql

 

실행하면 nomount상태에서 파라미터에서 설정한 control 파일을 생성하고

해당 위의 SQL스크립트로 리두로그 및 데이터파일을 구성합니다.

구성이 성공하면 mount를 거쳐서 open 상태로 바뀌게 됩니다.

 

D.     오라클에서 제공하는 기본 dictonary procedure생성

 

DBCA로 하면 자동으로 만들어지는 각종 DICTIONARY는 수동으로 DB를 구성하면

개별적으로 오라클 설치 경로안에 있는SQL 을 실행해야 생기게 됩니다.

 

$ORACLE_HOME/rdbms/admin/catalog.sql

$ORACLE_HOME/rdbms/admin/catproc.sql
$ORACLE_HOME/rdbms/admin/catblock.sql

 

추가적으로 한 개더 실행을 해줍니다. 아래는

profile구성시 활용되는 sql스크립트입니다.

$ORACLE_HOME/sqlplus/admin/pupbld.sql

단 이 pupbld.sql system계정으로 실행을 해줍니다.

 

@$ORACLE_HOME/rdbms/admin/catalog.sql

@$ORACLE_HOME/rdbms/admin/catproc.sql
@$ORACLE_HOME/rdbms/admin/catblock.sql

 

alter user system identified by oracle account unlock;  -- 기존에 system계정의 패스워드설정 및 혹시모를 lock 걸려있을 계정lock도 풀어주기

 

conn system/oracle  -- system 계정접속

 

@$ORACLE_HOME/sqlplus/admin/pupbld.sql   -- pupbld.sql 실행

 

E.     dictionary 에서 locally 로 변경

 

여기까지가 일단 모든 기본설치는 완료상태입니다.

 

이제 최소 수동으로 구성한 DB dictionary 에서 locally 로 변경을 해줍니다.

 

오라클의 필수이자 모든 기본적인 딕셔너리가 있는 system테이블스페이스를 dictionary 에서 locally로 변경합니다.

 

오라클에서 제공하는 패키지중에 dbms_space_admin 을 이용하여 작업

 

오라클의 가장 핵심인 system 테이블스페이스를 우선 offline 상태로 만들어야합니다.

 

system 테이블스페이스를 offline 하려면

database exclusive 모드 및 restrict 모드가 되어야합니다.

 

이제 데이터베이스를 내리고 다시 시작할 때 옵션을 줍니다.

그리고나서 통계성데이터가 들어갈 sysaux 테이블도 같이 offline 으로 변경합니다.

 

                     shutdown immediate

                     startup mount exclusive restrict

                     alter database open

                     alter tablespace sysaux offline

 

exec dbms_space_admin.tablespace_migrate_to_local(‘SYSTEM’);

 

작업이 완료되었으면

 

다시 offline sysaux 테이블스페이스를 online 으로 변경합니다.

 

alter tablespace sysaux online;

 

마지막으로 현재 exclusive, restrict 모드로 되어있는 DB를 다시 내렸다 올려서

정상 상태로 변경합니다.

 

shutdown immediate

startup

설치가 완료되면

마지막으로 

 

pfile을 토대로 작동하던 ORCL 인스턴스를 spfile을 생성하여

db를 내리지 않고도 파라미터 변경적용사항을 바로 반영할수있도록 합니다.

 

create spfile from pfile

 

pfile과 spfile은 같은 $ORACLE_HOME/dbs에 있습니다.

spfile 을 먼저 인식하여 spfile 없을경우 pfile을 찾아서 읽습니다.

 

생성하고나서 재시작을 하면 완료.

 

완료.

 

 

PART 4. 외부 shell 접속 및 터미널 구성

 

unix계열서버자체가 멀티유저기반이기 때문에 여러 사람이 외부에서 접속이 가능합니다.

실제 관리도 원격에서 관리할일이 많을수있기 때문에 해당 관련 부분을 구성합니다.

 

리눅스를 일반적으로 설치하면 기본적으로 같이 설치되는것들중에 하나인 SSH를 사용합니다.

 

물론 최소한의 설치를 할경우 SSH또는 VNCSERVER를 개별적으로 설치해야하지만

테스트목적으로 설치한 이번테스트에서는 최초 OS설치시 설치가 된 상태로 진행합니다.

 

SSH : 텔넷과 같은 쉘터미널

VNCSERVER : GUI 터미널

 

기본적으로 위의 두가지 패키지는 설정이 되어있으며

SSH는 기본활성화가 되어있습니다.

 

그러나 VNCSERVER는 설치는 되어있지만 활성화는 되어있지 않습니다.

 

리눅스에서 서비스를 구성하는 ntsysv 를 통해서 서비스에 등록합니다. ( 서비스에 등록하면 앞으로 OS재부팅시

자동으로 서비스가 시작됩니다.

 

현재서비스를 구성하기전에 오라클 계정이 앞으로 VNC VIWER로 들어올수있게 하기위해서 설정을 합니다.

 

 

Root 계정으로 실행

 

1.     vncserver 설정

 

서비스에 vncserver 를 특정유저가 사용한다는 내용을 추가합니다.

모든 서비스는 환경설정파일이 개별로 존재하는데 그중에 vncserver

/etc/sysconfig/vncservers 입니다.

 

vi /etc/sysconfig/vncservers

 

아래내용을 추가.

 

VNCSERVERS="1:oracle"

VNCSERVERARGS[1]="-geometry 1024x768"

 

내용을 추가하면 1번 터미널로 오라클이 사용가능하며 해상도는 1024 , 768로 열리게 됩니다.

 

Oracle 계정으로 실행

 

1.     vncpasswd

 

vncpasswd

 

위처럼 실행하면 VNC로 접속했을때의 패스워드를 만들어줍니다.

 

2.     vncserver

 

vncserver

 

위처럼 실행하면 VNC를 실행할 수 있는 필수파일들이 해당 오라클계정의 .vnc안에 생기게 됩니다.

 

.vnc 를 확인했으면 이 안에 파일중에 xstartup 파일을 열어 주석 한줄을 풀어줍니다.

 

 

cd .vnc

vi xstartup

 

아래는 xstartup 내용

 

#!/bin/sh

 

# Uncomment the following two lines for normal desktop:

# unset SESSION_MANAGER

# exec /etc/X11/xinit/xinitrc

 

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup

[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources

xsetroot -solid grey

vncconfig -iconic &

xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

twm &

~

 

위의 빨간색의 굵은 부분을 삭제하면 됩니다.

다시말해 빨간 부분의 명령이 실행이 되어야합니다.

 

 

3.     서비스 재시작 (Root 로 실행)

 

service vncserver restart

 

 

 

4.     타 윈도우등의 외부에서 접속테스트

 

Vnc viwer를 받아야합니다.

 

http://www.tightvnc.com/

 

위의사이트에서 윈도우용을 받아서 설치를 합니다.

 

'Oracle > Study 세미나 자료' 카테고리의 다른 글

4. 테이블스페이스  (104) 2010.12.27
3. oracle 9i architecture  (0) 2010.12.20
Oracle Study 2. DataBase File + Start up  (0) 2010.12.12