목차
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) 설치는 처음에 설치를 하지 않았다 하더라도 설치후에 추가로 설치가 가능하기 때문에
큰어령움은 없습니다.
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
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
설치가 완료되면
완료.
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를 받아야합니다.
위의사이트에서 윈도우용을 받아서 설치를 합니다.
'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 |