DBA가 되고 싶은 병아리
ORACLE 11g RAC ASM 설치 본문
Oracle 11g Install on Oracle Linux 6
- OS Package Groups selection
Base System > Base
Base System > Client management tools
Base System > Compatibility libraries
Base System > Hardware monitoring utilities
Base System > Large Systems Performance
Base System > Network file system client
Base System > Performance Tools
Base System > Perl Support
Servers > Server Platform
Servers > System administration tools
Desktops > Desktop
Desktops > Desktop Platform
Desktops > Fonts
Desktops > General Purpose Desktop
Desktops > Graphical Administration Tools
Desktops > Input Methods
Desktops > X Window System
Applications > Internet Browser
Development > Additional Development
Development > Development Tools
minimum 4GB swap
4GB RAM
1. 초기 환경설정
==================================
vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# Public
192.168.137.21 rac1
192.168.137.22 rac2
# Virtual
192.168.137.23 rac1-vip
192.168.137.24 rac2-vip
# Cluster Scan
192.168.137.25 cluster-scan
192.168.137.26 cluster-scan
192.168.137.27 cluster-scan
# Private
10.0.0.1 rac1-priv
10.0.0.2 rac2-priv
===================================
vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
#kernel.shmall = 2097152
#kernel.shmmax = 1054504960
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048586
# sysctl -p
====================================
vi /etc/security/limits.conf
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
grid soft nofile 1024
grid hard nofile 65536
grid soft nproc 16384
grid hard nproc 16384
grid soft stack 10240
grid hard stack 32768
====================================
vi /etc/pam.d/login
session required pam_limits.so
====================================
vi /etc/security/limits.d/90-nproc.conf
# Change this
* soft nproc 1024
# To this
* - nproc 16384
====================================
vi /etc/selinux/config
SELINUX=permissive
=====================================
방화벽 해제
#
service iptables stop
chkconfig iptables off
=====================================
/etc/fstab에 기존의 tmpfs 내용을 #를 사용해 주석처리하고 아래의 내용을 추가합니다.
vi /etc/fstab
tmpfs /dev/shm tmpfs size=2500m 0 0
=====================================
NTP 설정
#
service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.orig
rm /var/run/ntpd.pid
2. NTP 를 사용할 경우 "-x" option 을 반드시 추가
#
vi /etc/sysconfig/ntpd
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
# service ntpd restart
=====================================
불필요 서비스 제거
chkconfig acpid off
chkconfig autofs off
chkconfig avahi-daemon off
chkconfig bluetooth off
chkconfig hidd off
chkconfig cups off
chkconfig cpuspeed off
chkconfig --level 245 gpm off
chkconfig hplip off
chkconfig ip6tables off
chkconfig iptables off
chkconfig irqbalance off
chkconfig isdn off
chkconfig lm_sensors off
chkconfig mcstrans off
chkconfig netfs off
chkconfig nfslock off
chkconfig pcscd off
chkconfig portmap off
chkconfig restorecond off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig sendmail off
chkconfig smartd off
chkconfig yum-updatesd off
chkconfig xfs off
chkconfig microcode_ctl off
chkconfig iscsi off
chkconfig iscsid off
=====================================
oracle-validated
cd /etc/yum.repos.d/
vi rhel-debuginfo.repo
[Server]
name=Server
baseurl=file:///mnt/Server
enabled=1
gpgcheck=0
yum search oracle
yum install oracle-validated
=====================================
사용자 생성 (root)
#
groupadd -g 5000 dba
useradd -u 500 -g dba oracle
useradd -u 501 -g dba grid
passwd oracle
passwd grid
=====================================
오라클 엔진 & GI 엔진 설치디렉토리 생성
mkdir -p /oracle/app/product/11.2.0/db_1
mkdir -p /grid/app
mkdir -p /grid/product/11.2.0
chown -R oracle:dba /oracle
chown -R grid:dba /grid
=====================================
oracle 유저 profile 변경
# su - oracle
$ vi .bash_profile
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=rac1; export ORACLE_HOSTNAME
ORACLE_UNQNAME=racdb; export ORACLE_UNQNAME
EDITOR=vi; export EDITOR=vi
ORACLE_BASE=/oracle/app; export ORACLE_BASE
ORACLE_HOME=/oracle/app/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=racdb1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
BASE_PATH=/usr/sbin:$PATH; export BASE_PATH
PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH
export DISPLAY=192.168.137.1:0.0
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
alias ss='sqlplus "/as sysdba"'
alias sid='echo $ORACLE_SID'
stty erase ^H
=====================================
oragrid 유저 profile 변경
# su - oragrid
$ vi .bash_profile
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=rac1; export ORACLE_HOSTNAME
ORACLE_UNQNAME=racdb; export ORACLE_UNQNAME
ORACLE_BASE=/grid/app; export ORACLE_BASE
ORACLE_HOME=/grid/product/11.2.0; export ORACLE_HOME
EDITOR=vi; export EDITOR=vi
ORACLE_SID=+ASM1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
BASE_PATH=/usr/sbin:$PATH; export BASE_PATH
PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH
export DISPLAY=192.168.137.1:0.0
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
if [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
alias sa='sqlplus "/as sysasm"'
alias sid='echo $ORACLE_SID'
=====================================
root 유저 profile 변경
vi .bash_profile
# Oracle Settings
export GRID_HOME=/grid/product/11.2.0
export EDITOR=vi
export PATH=$PATH:$HOME/bin;$GRID_HOME/bin
export DISPLAY=192.168.137.1:0.0
=====================================
Install Guest Additions Oracle VM
cd /media/VBOXADDITIONS_4.2.6_82870
sh ./VBoxLinuxAdditions.run
=====================================
DNS 설정
vi /etc/resolv.conf
"domain"과 "search"항목이 모두있는 경우 이 중 하나를 아래처럼 주석 처리해야 한다.
#domain localdomain
search localdomain
DNS restart
# service dnsmasq restart
DNS 자동 시작 등록
vi /etc/rc.local
service dnsmasq restart
nslookup 테스트
# nslookup cluster-scan
=====================================
OS 패키지 설치
# From Oracle Linux 6 DVD
cd /media/cdrom/Server/Packages
rpm -Uvh binutils-2.*
rpm -Uvh compat-libstdc++-33*
rpm -Uvh elfutils-libelf-0.*
rpm -Uvh libaio-0.*
rpm -Uvh libaio-devel-0.*
rpm -Uvh sysstat-9.*
rpm -Uvh glibc-2.*
rpm -Uvh glibc-common-2.*
rpm -Uvh glibc-devel-2.* glibc-headers-2.*
rpm -Uvh ksh-2*
rpm -Uvh make-3.*
rpm -Uvh libgcc-4.*
rpm -Uvh libstdc++-4.*
rpm -Uvh libstdc++-4.*.i686*
rpm -Uvh libstdc++-devel-4.*
rpm -Uvh gcc-4.*x86_64*
rpm -Uvh gcc-c++-4.*x86_64*
rpm -Uvh --allfiles elfutils-libelf-0*x86_64* elfutils-libelf-devel-0*x86_64*
rpm -Uvh elfutils-libelf-0*i686* elfutils-libelf-devel-0*i686*
rpm -Uvh libtool-ltdl*i686*
rpm -Uvh ncurses*i686*
rpm -Uvh readline*i686*
rpm -Uvh unixODBC*
cd /
eject
=====================================
openfiler 설정
data01:10g 디스크 추가
data02:10g 디스크 추가
openfiler 웹페이지에서 아래와 같이 설정
1) System메뉴->Network Access Configuration에 2개 rac hostname 및 ip입력->update
2) Volumes메뉴->Volume Groups->create new physical volumes->/dev/sdb선택->Phisical Volume->create
3) Volumes메뉴->Create a new volume group->Volume group name(no space):data01->/dev/sdb1 체크->add volume group 버튼 클릭
4) 위의 1),2)번의 진행사항을 /dev/sdc에서도 동일하게 진행하며, Volume group name은 data02 이다.
5) Volumes메뉴->Add Volume->Select Volume Group->
volume "data01"선택->Create a volume in "data01"->
volumne name 및 size(MB)입력(아래 처럼)->Filesystem/Volume type항목 : block(iSCSI,FC,etc)선택
"data01" Volume Group은 Raw Device 용
ocr01 350
ocr02 350
vote01 350
vote02 350
control1 50
control2 50
system 1500
sysaux 1500
undotbs01 1000
undotbs02 1000
temp 1000
test01 500
users 120
redolog1a 60
redolog1b 60
redolog1c 60
redolog2a 60
redolog2b 60
redolog2c 60
vote03 350
"data02" Volume Group은 ASM Disk 용
ocrvote01 2000
data02 나머지
6) Services메뉴->iSCSI Target: Enable, Start 클릭
7) Volumes 메뉴->iSCSI Targets->Target Configuration->IQN일력번호확인->Add버튼 클릭
8) LUN Mapping->ASM만 진행할 예정이므로 "data02" Map 버튼 클릭
9) Network ACL->Access항목:Allow로 변경->Update 버튼 클릭
접근불가한 IQN 설정해제
root계정으로 접속하여 접근을 허용하고자 하는 IQN은 주석처리(#)하고, 접근을 허용하지 않는 IQN은 주석처리하지 않는다.
# vi /etc/initiators.deny
#iqn.2006-01.com.openfiler:tsn.0bbe7abe2592 ALL
Client Openfiler 연결
1) Openfiler 공유 스토리지 IQN 접속 및 Login
iSCSI 사용을 위해서는 반드시 iSCSI OS 패키지가 설치되어야 한다. (iscsi-initiator-utils-6.2.0.872-21.0.1.el6.x86_64 등)
Iscsiadm 명령을 통해 Openfiler의 접속 IQN 을 확인한다.
# iscsiadm -m discovery -t st -p 192.168.137.100
[ OK ] iscsid: [ OK ]
192.168.137.100:3260,1 iqn.2006-01.com.openfiler:tsn.0bbe7abe2592
Iscsiadm 명령을 통해 iSCSI 공유 스토리지에 login 한다.
# iscsiadm -m node --loginall all
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.0bbe7abe2592, portal: 192.168.137.100,3260]
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.0bbe7abe2592, portal: 192.168.137.100,3260] successful.
로그인이 안될 때 체크리스트
1) Openfiler OS에서 # vi /etc/initiators.deny 체크
2) Openfiler Web사이트에서 Access 권한 Allow 체크
=====================================
raw device 설정 (ASM에서 직접 raw device를 Diskgroup으로 사용하기 위함)
# fdisk -l
#
fdisk /dev/sdb
n -> p -> 1 -> enter -> enter -> t -> 8e -> w
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
LVM 디스크로 포맷됨
raw device 형태로 신규 디스크를 변경 (추후 ASM diskgroup에 매핑 위함)
# cd /dev/disk/by-id; ls -rtl *scsi*part1 | awk '{FS=" "; print $8 " " $9 " " $11}'
10:24 scsi-SATA_VBOX_HARDDISK_VB72370089-9129bea3-part1 ../../sda1
12:17 scsi-14f504e46494c45523274773346442d414477432d564c644a-part1 ../../sdb1
12:17 scsi-14f504e46494c4552496f386a486d2d595577412d74533037-part1 ../../sdc1
# vi /etc/udev/rules.d/60-raw.rules
KERNEL=="sd[a-z][0-9]", ENV{ID_SERIAL}=="14f504e46494c45523274773346442d414477432d564c644a", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" ACTION=="add" RUN+="/bin/raw /dev/raw/raw1 %N"
KERNEL=="sd[a-z][0-9]", ENV{ID_SERIAL}=="14f504e46494c4552496f386a486d2d595577412d74533037", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" ACTION=="add" RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="raw*", OWNER="oragrid", GROUP=="dba", MODE=="0660"
:wq!
-- 서버 재기동
# reboot
# udevadm control --reload-rules && udevadm trigger
[root@rac1 ~]# ls -rtl /dev/raw/*
crw-rw----. 1 oragrid dba 162, 0 Aug 30 10:38 /dev/raw/rawctl
crw-rw----. 1 oragrid dba 162, 2 Aug 30 10:38 /dev/raw/raw2
crw-rw----. 1 oragrid dba 162, 1 Aug 30 10:38 /dev/raw/raw1
=====================================
raw 초기화
dd if=/dev/zero of=/dev/raw/raw1 bs=8192 count=4
dd if=/dev/zero of=/dev/raw/raw2 bs=8192 count=4
=====================================
Node1 부팅이 완료되면 Node2와 상호간에 ping이 접속되면 네트워크 설정 성공!
ping rac1
ping rac2
ping rac1-priv
ping rac2-priv
=====================================
=====================================
Oracle VM Shared Folder [게스트 확장이 설치 되어 있어야함.]
-- oragrid에 공유폴더 권한 부여
mkdir /stage
mount -t vboxsf -o uid=501,gid=5000 11g /stage
ex> 마운트
mount -t vboxsf [-o OPTIONS] sharename mountpoint
ex> 마운트 해제
umount /src
=====================================
grid ASM 추가 패키지 설치 (모든 노드)
클러스터링과 ASM 구성을 위해 공유 폴더로 이동해서 추가 패키지를 설치합니다.
작업은 루트 유저로 진행합니다.
-- node1
#
export CVUQDISK_GRP=dba
cd /src/grid/rpm
rpm -Uvh cvuqdisk*
scp cvuqdisk-1.0.9-1.rpm rac2:~
-- node2
export CVUQDISK_GRP=dba
rpm -Uvh cvuqdisk*
=====================================
Interconnect 연결설정
[자동] 양쪽 노드 모두 수행
# su - grid
cd /src/grid/sshsetup
sh sshUserSetup.sh -user grid -hosts "rac1 rac2 rac1-priv rac2-priv" -hostfile /etc/hosts
[수동]
SSH 설정.
su - grid
==> Node 1, 2 모두 실행.
$> mkdir -p ~/.ssh
$> chmod 700 ~/.ssh
$> cd .ssh
$> /usr/bin/ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/oracle/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /oracle/.ssh/id_dsa.
Your public key has been saved in /oracle/.ssh/id_dsa.pub.
The key fingerprint is:
9a:c0:1a:69:7d:77:2b:66:92:ca:b9:f4:1c:42:c8:87 oracle@11gn1
$> /usr/bin/ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/oracle/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /oracle/.ssh/id_rsa.
Your public key has been saved in /oracle/.ssh/id_rsa.pub.
The key fingerprint is:
58:d5:4f:93:a5:ca:cd:2d:1b:a5:a6:4a:01:a1:fe:dc oracle@11gn1
==> Node 1만 수행.
$> touch ~/.ssh/authorized_keys
$> cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$> cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$> ssh rac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$> ssh rac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$> scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys
grid@rac2's password:
authorized_keys 100% 1589 1.6KB/s 00:00
==> 확인 작업 node 1, 2 모두 수행. 진행하겠냐고 물어보면. yes, 암호 물어보면 넣어준당.
$ ssh rac1 date
$ ssh rac1-priv date
$ ssh rac2 date
$ ssh rac2-priv date
=====================================
GI(Grid Infrastructure) 설치
ntp 재기동 (모든 노드)
#
service ntpd stop
service ntpd start
# su - grid
GI 설치를 위한 사전 준비가 제대로 되었는지 터미널 모드에서 확인합니다.
$ cd /src/grid
$ ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose
GI 설치 시작
$ ./runInstaller
GUI 설치 절차
(1) Download Software Updates
- Skip software updates 선택 -> next
(2) Select Installation Option
- Install and Configure Oracle Grid Infrastructure for a Cluster 선택 -> next
(3) Select Installation Type
- Advanced Installation 선택 -> next
(4) Select Product Languages
- Selected Languages 에 Korean 추가 -> next
(5) Grid Plug and Play Information
- Cluster_name : rac_cluster
- SCAN Name : rac-cluster-scan (/etc/hosts 에 등록된 scan Name 입력)
- SCAN Port : 1521
- Configure GNS 체크해제
- next
(5) Cluster Node Information
- Add
- Public Hostname : rac2
- Virtual Hostname : rac2-vip
- OK
- SSH Connectivity
- OS password : oracle -> Setup 버튼 클릭
(6) Specify Network Interface Usage
- eth0 : 192.168.137.0 , Public
- eth1 : 10.10.0.0 , Private
여기서, [INS-41112] Oracle 12c RAC Grid Install error가 발생하면 방화벽 설정을 해제해야 한다.
service iptables stop
chkconfig iptables off
chmod +x /tmp/CVU_11.2.0.3.0_grid/*
(7) Storage Option Information
- Oracle Automatic Storage Management (Oracle ASM) 선택 -> next
(8) Create ASM Disk Group
- Disk Group Name : DATA
- Redundancy : External
- AU Size : 1MB
- Add disk : Candidate Disks -> 필요한 디스크 체크
(만약 디스크 목록이 뜨지 않으면 Change Discovery Path를 눌러 디스크 경로를 설정해준다)
(9) Specify ASM Password : user same passwords for these accounts : 동일한 password 입력 -> next
(10) Failure Isolation Support : Do not use Inteligent ~ (IPMI) 선택 -> next
(11) Privileged Operating System Groups : 모두 dba 그룹 선택 -> next
(12) Specify Installation Location (GI는 Oracle Base위에 Oracle Home이 위치 할 수 없다.)
- Oracle Base : $ORACLE_BASE 설정디렉토리로 설정되어 있는지 확인, 안되어있다면 Browse 버튼을 눌러 경로 지정
- Oracle Home : $ORACLE_HOME 설정디렉토리로 설정되어 있는지 확인, 안되어있다면 Browse 버튼을 눌러 경로 지정
(13) Create Inventory
Inventory Directory : /grid/oraInventory -> next
(14) Summary : 별다른 문제가 없다면 바로 Install 버튼이 뜬다. -> Install
(15) Execute Configuration scripts : 모든 노드에서 root유저로 아래 스크립트를 순차적으로 수행한다.
- /grid/oraInventory/orainstRoot.sh
- /grid/product/11.2.0/root.sh
- 스크립트 수행이 모두 끝나면 OK
(16) Finish -> close
=====================================
Oracle Engine 설치
-- oracle 유저에 공유폴더 권한 부여
mount -t vboxsf -o uid=500,gid=5000 linux_x64 /src
# su - oracle
oracle 엔진 미디어 소스 디렉토리로 이동
$ export DISPLAY=192.168.10.12:0.0
$ ./runInstaller
Oracle Engine GUI설치절차
(1) Configure Security Updates
- I wish to ~ My oracle Support 체크해제 -> next
(2) Download Software Updates
- Skip software updates 선택 -> next
(3) Select Installation Option
- Install Database software only 선택 -> next
(4) Grid Installation Options
- Select All 버튼 클릭 (RAC 구성하는 모든 노드의 hostname이 표출되어야 한다)
- SSH connectity : Oracle password 입력후 Setup 버튼 클릭
- Next
(5) Select Product Languages : Korean 추가 선택 -> next
(6) Select Database Edition
- Enterprise Edition 선택
- Select Options : 고객사 환경에 따라 컴포넌트를 선택한다. 일반적으로 Oracle Patitioning은 선택
(테스트 환경에서는 Partitioning, Oracle Real Application Testing 만 선택 후 진행하자)
(7) Specify Installation Location
(GI와는 다르게 Oracle software의 $ORACLE_HOME경로는 $ORACLE_BASE 하위 디렉토리에 소속해야 한다.)
- Oracle Base: /oracle/app ($ORACLE_BASE경로)
- software Location : /oracle/app/product/11.2.0/db_1 ($ORACLE_HOME경로)
(8) Privileged Operating System Groups
- all dba group 선택 -> next
(9) Summary : 별다른 이상이 없다면 Intall 버튼이 표출된다.
(10) Execute Configuration scripts : 모든 노드에서 root유저로 아래 스크립트를 순차적으로 수행한다.
- /oracle/app/product/11.2.0/db_1/root.sh
(11) Finish
=====================================
데이터베이스 생성
node1 (rac1) oracle 계정에서 dbca 실행
# su - oracle
$ export DISPLAY=192.168.10.12:0.0
$ dbca
GUI 설치절차
(1) Operations
- Create a Database
- next
(2) Database Templates
- Custom Database
- next
(3) Database Identification
- Configuration Type : Admin-Managed 선택
- Global Database Name : racdb
- SID prefix : racdb
- Select ALL 버튼 클릭
- next
(4) Management Options
- Engerprise Manager : Configure Enterprise Manager 선택 (선택사항)
(5) Database Credentials
- Use the Same Administrative Password for All Accounts
- Password 입력
(6) Database File Location
- Storage Type : Automatic Storage Management(ASM) 선택
- Use Oracle-Managed Files 선택
- Database Area : +DATA (설정되어 있지 않다면 Browse 버튼을 클릭하여 Diskgroup 지정)
- ASM Credentials : Specify ASMSNMP Password specific to ASM : 패스워드 입력
(7) Recovery Configuration
- Specify Fast Recovery Area 선택
- Fast Recovery Area : +DATA
- Fast Recovery Area Size : 4096 MB
- next
(8) Database Content
- 선택사항이다. 테스트 환경에서는 모두 체크박스 해제
- Standard Database components 버튼 클릭하여 모두 체크박스 해제
(9) Initialization Parameters
- Memory 탭
- Typical 선택
- Memory Size (SGA and PGA) : 1204 MB
(보통 전체 시스템 RAM Memory의 40 % 정도를 자동으로 설정하고 있다. 조정하고 싶으면 조정가능)
- Character Sets 선택
- Choose from the list of character sets : KO16MSWIN949 선택
- next
(10) Database Storage
- Datafile, redolog, controlfile, tablespace 구성 확인
- SYSAUX(600M), SYSTEM(700M), TEMP(20M), UNDOTBS1(200M), UNDOTBS2(200M), USERS(5M)
- 테이블스페이스 데이터파일 사이즈 조정 가능
- redo log는 50MB 기본설정되어 있으나 실운영환경에서는 보통 100MB로 설정한다. (테스트 환경에서는 50M)
(11) Creation Options
- 실운영환경에서 설치시에는 Generate Database Creation Scripts를 체크하고 경로를 지정한다.
- Finish
데이터베이스가 정상적으로 가동된 것을 확인할 수 있습니다.
$ srvctl config database -d RACDB
$ srvctl status database -d racdb
데이터베이스에 접속해서 인스턴스가 가동되고 있는지 확인합니다.
$ sqlplus / as sysdba
SQL> SELECT inst_name FROM v$active_instances;
추가된 서비스를 확인할 수 있습니다.
$ crs_stat -t
gsd 서비스의 경우 11g에서 기본적으로 사용하지 않으므로 OFFLINE으로 되어 있습니다.
데이터베이스 및 가상머신 중지
oracle 유저 권한으로 crs_stop 명령을 이용해 모든 서비스를 정지시킵니다.
$ crs_stop -all
제공되지 않던 서비스나 일부 서비스 정지에 에러메시지가 출력되지만 정상적으로 정지가 된
것입니다.
모든 서비스가 OFFLINE으로 변경된 것을 확인할 수 있습니다.
$ crs_stat -t
이제 root 유저 권한으로 접속해서 클러스터 서비스를 정지합니다.
# /u01/app/11.2.0/grid/bin/crsctl stop crs
rac2 노드에 ssh로 접속해서 클러스터 서비스를 정지시켜 봅니다.
이미 rac1와 함께 클러스터가 정지되어서 클러스터 서비스가 내려가 있다는 에러 메시지를 출
력합니다.
따라서 rac2 노드에서 별도로 클러스터 서비스를 정지시킬 필요는 없습니다.
접속된 두번째 가상 머신을 중지하기 위해 shutdown 명령을 입력하고, 접속 해제 합니다.
# shutdown -h now
# exit
첫번째 노드도 shutdown 명령을 이용해 가상 머신을 정지하면 됩니다.
# shutdown -h now
데이터베이스 가동 (아래 명령은 양쪽 노드 모두에서 실행하여야 한다.)
가상 머신을 가동한 후
$ ps -ef | grep d.bin
했을 때 관련 프로세스들이 떠있으면
잠시 기다리면 클러스터 서비스가 올라옵니다.
시스템 성능에 따라 2~5분 이상의 시간이 소요될 수 있습니다.
$ crs_stat -t
[root@rac1 ~]# crsctl start crs
CRS-4640: Oracle High Availability Services is already active
CRS-4000: Command Start failed, or completed with errors.
위와 같은 에러가 발생하면 양쪽 노드 root계정에서 아래 명령 실행하여 클러스터 종료
(Stop High availabilty service and crs resources)
# crsctl stop res -init -all
# crsctl stop has
CRS-4133: Oracle High Availability Services has been stopped.
프로세스 중 d.bin으로 검색되는 프로세스 kill
(Verify no crs processes should be running )
# ps -ef|grep d.bin
(Note: Kill if any process is still running .)
클러스터 시작 (Now start crs)
# crsctl start crs
2~5분 후에 클러스터 리소스들이 올라오기 시작한다.
Oracle 계정으로 접속하여 아래명령으로 crs 리소스 상태 확인
$ crs_stat -t
일부 서비스들은 수동으로 가동을 시켜야 합니다. (oracle 계정)
$ crs_start -all
수동으로 OFFLINE이던 서비스가 ONLINE으로 가동됩니다.
이미 시작되었거나 다른 서비스와 동시에 올라온 서비스의 경우 에러 메시지가 출력됩니다.
$ sqlplus “/as sysdba”
SQL> select inst_name from v$active_instances;
모든 노드의 인스턴스가 정상적으로 가동된 것을 확인할 수 있습니다.
데이터베이스가 정상적으로 가동된 것을 확인할 수 있습니다.
$ srvctl config database -d racdb
$ srvctl status database -d racdb
외부 접속시 tnsnames.ora 에는
Scan IP 접속시 SID:racdb
노드1 Virtual IP 접속시에는 SID:racdb1
노드2 Virtual IP 접속시에는 SID:racdb2
'Oracle Study > RAC' 카테고리의 다른 글
RAC CMD로 설치 해보자 (0) | 2021.02.23 |
---|---|
oracleasm createdisk (0) | 2015.02.19 |
11g ip setting (0) | 2015.02.19 |
VirtualBox 디스크 추가 명령어 (0) | 2015.02.04 |
VMware server on RAC 11g installation (2) (0) | 2015.02.01 |