[굿어스데이터] DB Tech Note [83회] Oracle Failsafe

Oracle Fail Safe(OFS)는 Microsoft Windows Failover Cluster(이전의 Microsoft Cluster Server MSCS)와 함께 작동하여 사용자에게 고가용성(High Availability) 서비스를 더 쉽고 유연하게 제공해주는 Oracle Solution으로 두 개 이상의 Microsoft Windows System을 구성하여 Active 상태의 Node에 계획되지 않은 중단 및 장애가 발생하면 신속한 Failover 및 Restart 기보안 능을 지원합니다.

 

Contents

1. Oracle Fail Safe. 3

1.1. Cluster Concepts. 3

1.2. Certification Information. 5

1.3. Restriction Information. 6

1.4. Preinstallation Checklisk. 6

1.4.1. Cluster Setup Prerequisites. 6

1.4.2. Disk Space Requirements. 7

1.4.3. Install and Configuration. 7

1.4.4. Recommended Order for Software Installation 7

1.5. Install 8

1.5.1. Oracle Engine install(Node1, Node2) 9

1.5.2. 최신 Window Bundle Patch 적용(Node1, Node2) 11

1.5.3. Oracle Database Install(Active상태인 Node에서 수행) 12

1.5.4. Oracle Database Postinstallation Procedures 15

1.5.5. Oracle Fail Safe Server Install(Node1, Node2) 17

1.5.6. Resource Group 생성(Main Server) 19

1.5.7. Oracle Fail Safe Client(Manager) Install(Main) 21

1.6. Oracle Fail Safe Failover Cluster와 연동.. 22

2. Troubleshooting Installaion Problems. 23

2.1. Adding standalone database to cluster resource, error ORA-00205, O/S-Error: (OS 5) Access is denied. 23

2.2. Error 0x800706BA "The RPC Server Is Unavailable" During Verify Cluster 23

2.3. FS-10815: Duplicate owner nodes for clusterwide operation. 23

2.4. FS-10751, FS-10755: in Fail Safe Manager Running Verify Cluster or Moving Group. 23

3. Oracle Fail Safe Operation Guide. 24

3.1. Validate Check. 24

3.2. Add Resource. 26

3.3. Failover 28

3.4. Move(Failback) 33

4. 참고문서.. 34

 

 

 

1. Oracle Fail Safe

Oracle Fail Safe(OFS)Microsoft Windows Failover Cluster(이전의 Microsoft Cluster Server MSCS)

함께 작동하여 사용자에게 고가용성(High Availability) 서비스를 더 쉽고 유연하게 제공해주는 Oracle Solution입니다.

두 개 이상의 Microsoft Windows System을 구성하여 Active 상태의 Node에 계획되지 않은 중단 및 장애가 발생하면 신속한 Failover Restart 기능을 지원합니다.

Oracle Fail Safe는 다음과 같은 장점을 제공합니다.

1.

l 고가용성 리소스 및 응용 프로그램(Fast Automatic Failover)

l 사용 및 지원 용이(GUI, Wizards, Configuration Replication)

l OCI ODBC 응용프로그램과의 손쉬운 통합(TAF)

 

Oracle Fail SafeClient / Server로 나뉩니다.

l Oracle Fail Safe Client : Cluster로 구성된 NodeFailover, ValidateManager역할을 수행합니다.

l Oracle Fail Safe Server : Client의 기능을 포함하고 Microsoft Windows Failover Cluster가 구성된 Node에 설치해야 하며 가상의 Group을 이용해 고가용성을 제공합니다.

 

1.1. Cluster Concepts

Oracle Fail SafeWindows Failover ClusterResource 개념을 사용하여 Database를 관리합니다.

Resource는 논리적으로 가상 그룹으로 묶여 있습니다. 가상 그룹은 ResourceContainer 역할로 아래의 Resource들을 관리합니다.

 

OFS사용하는 Resource :

l Disks

l IP Addresses

l Network Names(NetBios names)

l An Oracle Database

l An Oracle TNS Listener

l An Oracle Intelligent Agent

 

클러스터 구성 및 설정은 여러 가지 방법이 있습니다. Oracle Fail Safe는 다음 구성을 지원합니다.

l Active / Passive 구성

Active 상태의 서버만 Oracle Database 작동하면서 장애가 발생할 경우 Idle 상태의 Cluster Node를 찾아서 Shared Disk & OracleService & Listener(Virtual IP) Resource Failover or Restart를 진행합니다.

 

 

l Active / Active 구성

아래의 그림은 두 개의 클러스터 노드에서 각 각의 Oracle Database 실행하는 Active/Active 구성입니다. Node1에서만 Generic Service가 실행 중입니다. Node1Marketing Database, Node2Sales Database를 실행하며 각 각의 클러스터 디스크를 사용합니다. Node1, Node2 모두 OSResource를 최대로 사용하는 환경에서 장애가 발생하면 Idle 상태의 Node3 Failover를 정상적으로 처리하지 못할 수 있습니다. Node1, Node2 두 노드가 정상 작동함에서 Resource50%에서

최대 75%를 활용하도록 계획하는 것을 권장합니다.

 

 

 

l Failover event

n 계획된 Failover : load balancing or upgrade와 같은 기능을 수행해야 할 때 사용하는 수동 작업입니다.

1. OFSCheckpoint를 수행하고 완료되면 Database 정상 종료합니다.

2. Fail Safe Group ResourceIdle ClusterNode로 이동하도록 Window Failover Cluster에게 요청합니다.

3. Window Failover Cluster는 두 번째 노드에서 인스턴스를 시작합니다.

4. Client Application은 동일한 Virtual IP를 사용하여 두 번째 노드의 OFS Database에 연결할 수 있습니다.

 

n 계획되지 않은 Failover : ClusterNode or Resource 장애를 감지할 때 자동으로 발생합니다

1. 주기적인 Resource DLL을 감지하여 장애를 감지합니다.

2. Fail Safe Group에 대한 사전 정의된 Failover police를 준수하여 문제가 일시적으로 발생하는 경우를 대비하여 DatabaseRestart 하거나 Failover를 수행합니다.

3. Failover가 완료되면 Idle Node에서 인스턴스를 시작합니다.

4. Instance Recovery 수행.

.

1.2. Certification Information

l Oracle Fail Safe Server 4.2.1

Oracle Fail Safe Server는 반드시 Microsoft Windows Failover Cluster가 구성된 곳에 설치해야 합니다. Windows 7 Windows 8과 같은 비 서버시스템에서는 지원되지 않습니다.

 

Software

Release or Version

Oracle Database(Standard & Enterprise)

Oracle Database 11g Release 2 (11.2)

Oracle Database 12c Release 1 (12.1)

Oracle Database 12c Release 2 (12.2)

 

Oracle Management Agent

Release 11.2

(Management AgentMicrosoft Windows만 가능)

 

Microsoft Windows Platforms

Microsoft Windows Server 2012

Microsoft Windows Server 2012 R2

Microsoft Windows Server 2016

 

 

 

l Oracle Fail Safe Client 4.2.1

1. Microsoft Windows Server 2012

2. Microsoft Windows Server 2012 R2

3. Microsoft Windows Server 2016

4. Windows 7

5. Windows 8

6. Windows 8.1

7. Windows 10

 

1.3. Restriction Information

l Oracle Application Service는 지원하지 않습니다.

l Oracle Automatic Storage Management(ASM)은 지원하지 않습니다.

l Oracle Enterprise Manager 12.1 AgentsOracle Fail Safe 4.2.1 릴리스에서 지원되지 않습니다.

 

1.4. Preinstallation Checklisk

1.4.1. Cluster Setup Prerequisites

l Oracle Fail safeCluster Resource의 제어 및 관리하는데 사용하는 Windows User계정을 생성하거나 선택해야 합니다. Oracle Fail Safe Server는 설치 중에 Cluster Resource를 제어할 수 있는 유저를 지정하여 로그인합니다. 사용자 계정은 Domain User여야 하지만, 특별한 도메인 권한은 필요하지 않습니다. 계정은 각 Cluster NodeLocal Administrator Group의 구성원이어야 합니다. Cluster의 모든 Node는 동일한 사용자 계정을 사용해야 합니다.

l Microsoft Windows Failover Cluster Manager의 동작 메뉴에 있는 Cluster Validate 를 선택하고 Validation Report 를 확인하여 유효성을 검토해야 합니다. Oracle Fail Safe Server를 설치하기 전에 반드시 Failover Cluster Validate Check 중에 발생한 모든 문제를 해결하는 것을 권고합니다.

l Failover Cluster Manager를 사용하여 Cluster Group의 위치를 보거나 변경할 수 있습니다. Oracle Fail Safe Server가 설치되지 않은 NodeCluster Group을 이동하면 Oracle Fail Safe Server가 제대로 작동하지 않습니다.

l Oracle Fail Safe Server를 설치하는 동안 Microsoft Windows Event View가 실행되고 있지 않은지 확인해야 합니다. 해당 이슈는 In-place Upgrade 작업 중에 발생할 수 있습니다.

 

1.4.2. Disk Space Requirements

Installation Type

Disk Space (MB)

Typical Install

(Oracle Fail Safe Server / Manager)

243

 

Client Only Install

(Oracle Fail Safe Manager)

223

 

 

1.4.3. Install and Configuration

Windows 7을 실행하는 Oracle Fail Safe Client 사용자는 다음 전제조건이 필요합니다.

l Windows Management Framwork 4.0

l .NET 4.0 이상

 

1.4.4. Recommended Order for Software Installation

l Two Node Cluster Software를 설치할 때 권장되는 순서

1. Cluster NodeMicrosoft Windows Failver Cluster 기능을 추가하여 구성합니다.

2. Oracle Fail Safe와 함께 사용할 Oracle Software(Engine, Database 및 기타 Application Program)을 설치해야 합니다. 모든 Application Datafile, Control File, Redo log FileFailover가 가능하도록 Shared Cluster Disk에 배치해야 합니다. Oracle Engine을 설치하는 경우 일반적인 Single 환경처럼 설치하면 되고 Engine은 반드시 Local Disk에 설치해야 합니다.

3. Oracle Fail Safe Server 구성 요소를 설치해야 합니다.

4. 하나 이상의 Client System에서 선택적으로 Oracle Fail Safe Manager를 설치해야 합니다( : 추가 관리 콘솔을 설정하는 경우)

 

 

 

 

l Local Disk에 설치된 Oracle Software(Engine, Fail Safe, etc…) 환경

1.5. Install

l 본 문서의 설치 환경

Name

Description

Window Version

Window Server 2016 (64 Bit)

Memory

8 GB

CPU

2

Oracle Engine

Enterprise

Oracle Database

12.2.0.1

Oracle Fail Safe

4.2.1

Oracle Window DB Bundle Patch

Patch : 28247681 12.2.0.1.180831

 

 

 

1.5.1. Oracle Engine install(Node1, Node2)

소프트웨어만 설치 선택

 

단일 데이터 베이스 선택
Edition 선택
가상 계정 사용 선택 (Database 생성 후 Local 계정으로 변경)

 

Oracle Database Home Directory 설정
Summry 확인

1.5.2. 최신 Window Bundle Patch 적용(Node1, Node2)

CMD> opatch apply

Verifying environment and performing prerequisite checks...

OPatch continues with these patches: 28247681

계속하겠습니까? [y|n]

y

User Responded with: Y

All checks passed.

 

로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오.

(Oracle 홈 = 'C:\app\ADMINI~1\virtual\product\122~1.0\dbhome_1')

 

로컬 시스템이 패치할 준비가 되었습니까? [y|n]

y

User Responded with: Y

Backing up files...

oracle.precomp.rsf, 12.2.0.1.0 구성 요소를 패치하는 중...

(생략)

oracle.ldap.rsf, 12.2.0.1.0 구성 요소를 패치하는 중...

Patch 28247681 successfully applied.

 

OPatch succeeded.

 

CMD> opatch lsinventory

Oracle Database 12c 12.2.0.1.0

이 Oracle 홈에 1개의 제품이 설치되어 있습니다.

Interim 패치(1):

Patch 28247681 : applied on Sun Sep 30 19:49:14 KST 2018

Unique Patch ID: 22459346

Patch description: "WINDOWS DB BUNDLE PATCH 12.2.0.1.180831(64bit):28247681"

Created on 20 Sep 2018, 17:04:07 hrs PST8PDT

Bugs fixed:

26418088, 25540738, 25337332, 27314206, 23065002, 25313154, 28076730

(생략)

25265499, 25780343, 26261135, 26133777, 27442041, 27405645, 25357142

27035653

--------------------------------------------------------------------------------

 

1.5.3. Oracle Database Install(Active상태인 Node에서 수행)

 

 

데이터베이스 생성
고급구성
사용자 정의 데이터베이스
Database Name 설정
Shared Disk 에 File 생성
Archive Mode 설정
Listener 는 자동 생성 됨 Skip
Component 설정
Memory & Character Set 설정
EM 설정
보안에 적합한 패스워드 설정
데이터베이스 생성 선택
요약정보 확

 

1.5.4. Oracle Database Postinstallation Procedures

l Datafile and log filesShared Cluster Disks에 있어야 합니다.

l 문제점 파악 및 관리를 쉽게 하기 위해 Alert and Tracefile, Audit File, Parameter FileShared Cluster Disks에 구성하는 것을 권고합니다.

 

SQL> alter system set audit_file_dest='S:\diag\adump' scope=spfile;

 

시스템이 변경되었습니다.

 

SQL> alter system set diagnostic_dest='S:\diag';

 

시스템이 변경되었습니다.

 

SQL> show parameter audit_file_dest

 

NAME TYPE

------------------------------------ ----------------------

VALUE

------------------------------

audit_file_dest string

S:\DIAG\ADUMP

SQL> show parameter diag

 

NAME TYPE

------------------------------------ ----------------------

VALUE

------------------------------

diagnostic_dest string

S:\DIAG

 

%ORACLE_HOME%\database\SPFILESID.ORA 파일을 Shared Cluster DiskMove

%ORACLE_HOME%\database\INITSID.ORA 파일을 생성 및 내용 추가(Node2에 복사)

SPFILE=S:\ORADATA\OFS\SPFILESID.ORA

 

Oracle Database Service 속성을 OS Local User로 변경

Win+R->Services.msc->OracleserviceSID 마우스 오른쪽->속성

 

 

1.5.5. Oracle Fail Safe Server Install(Node1, Node2)

 

 

기본선택(Server/Client 용)
Oracle Fail Safe Homedirectory 지정
모든 Cluster Node 에 Administrator 권한이 있는 Domain User / Password 입력
1번 Node OPS 설치 후 Server Reboot / 2번 Node OFS 설치 후 Server Reboot

1.5.6. Resource Group 생성(Main Server)

Fail over Cluster Manager 실행 역할 마우스 오른쪽 ->역할 구성
기타 서버 선택
Cluster Group Name & Oracle VIP 지정
Cluster Group 에서 사용할 Disk 지정
다음 선택 (OFS 에서 자동으로 설정 됩니다)

 

1.5.7. Oracle Fail Safe Client(Manager) Install(Main)

l Down Load : https://www.oracle.com/technetwork/database/windows/downloads/failsafe-downloads-167740.html

클라이언트 전용 선택 (Manager 만 사용)
Home Directory 설정

1.6. Oracle Fail Safe Failover Cluster와 연동

active Node 의 Node 명 입력

 

 

2. Troubleshooting Installaion Problems

2.1. Adding standalone database to cluster resource, error ORA-00205, O/S-Error: (OS 5) Access is denied.

The real error is "O/S-Error: (OS 5) Access is denied."

After further reviewed on the permission/security on the controlfile.

Found out that the local user "homeowner" do not listed under the security tab, when right click on the controlfile, select properties.

After adding the user onto the security list. and redo the add standalone database operation, success.

 

2.2. Error 0x800706BA "The RPC Server Is Unavailable" During Verify Cluster

Firewall is enabled on all or some nodes of the cluster.

Please check and disable firewall on all nodes.

 

2.3. FS-10815: Duplicate owner nodes for clusterwide operation

Check and delete the Oracle database service for database in the other node using ORADIM.

ORADIM -delete -sid

Then run the "Verify Standalone DB" and if it is successful , go ahead and add the DB to Failsafe

 

2.4. FS-10751, FS-10755: in Fail Safe Manager Running Verify Cluster or Moving Group

First rerun the Oracle Fail Safe Security Setup:

Go to Start -> Programs -> Oracle Fail Safe -> Oracle Fail Safe Security Setup

Specify a Domain user that also has Local Adminsitration privileges in the form of:

DOMAINNAME\Username

Do this on EACH node, and then restart the Oracle Fail Safe service (On whichevernode owns the Cluster Group)

Note: Depending on the version of Fail Safe that you are running, the Oracle Fail Safe service may actually be called "Oracle Services for MSCS" service.

Next, check the Application Log and System Log on each node.

You may find errors indicating more specifically what the problem is.

You may also see additional OS error messages in the

text of the FS-1075x error. For example, an error such as:

0x00040154: Class is not registered.

Information on errors such as these can be found on the Microsoft website:

 

 

3. Oracle Fail Safe Operation Guide

3.

3.1. Validate Check

l Powershell : MicrosftFailover Cluster 관리를 위해 Powershell 명령 집합(cmdlet)을 도입했습니다. Powsershell cmdletFailover Cluster 기능이 추가되면 자동으로 서버에 설치됩니다. Oracle Fail Safe CmdletOracle Fail Safe Manager 설치할 때 추가됩니다.

 

Oracle Fail Safe Manager를 통한 Validate Check /Resource Group -> Validata Check

 

  

C:\Users\Administrator>powershell

Windows PowerShell

Copyright (C) 2016 Microsoft Corporation. All rights reserved.

##Failover Cluster cmdlet을 사용하기 위해 Module Import

PS C:\Users\Administrator> Import-Module FailoverClusters

##Fail Safe cmdlet을 사용하기 위해 Module Import

PS C:\Users\Administrator> Import-Module FailSafe

 

PS C:\Users\Administrator> Test-OracleClusterGroup "OFS" -Verbose

자세한 정보 표시: FS-10371: OFS2 : Performing initialization processing

자세한 정보 표시: FS-10371: OFS1 : Performing initialization processing

자세한 정보 표시: FS-10373: OFS2 : Determining owner node of resource

자세한 정보 표시: FS-10374: OFS2 : Gathering cluster information needed to perform the specified operation

자세한 정보 표시: FS-10374: OFS1 : Gathering cluster information needed to perform the specified operation

자세한 정보 표시: FS-10461: OFS2 : Starting verification of group OFS

자세한 정보 표시: FS-10463: OFS2 : Verifying group attributes for group OFS

자세한 정보 표시: FS-10464: OFS2 : Verifying attributes for resources in group OFS

자세한 정보 표시: FS-10465: OFS2 : Verifying dependencies for resources in group OFS

자세한 정보 표시: FS-10466: OFS2 : Verification of group OFS completed successfully

자세한 정보 표시: FS-10461: OFS1 : Starting verification of group OFS

자세한 정보 표시: FS-10463: OFS1 : Verifying group attributes for group OFS

자세한 정보 표시: FS-10464: OFS1 : Verifying attributes for resources in group OFS

자세한 정보 표시: FS-10465: OFS1 : Verifying dependencies for resources in group OFS

자세한 정보 표시: FS-10466: OFS1 : Verification of group OFS completed successfully

3.2. Add Resource

Availavle Oracle Resources ->마우스 오른쪽 ->Add Resource
Cluster Resource Name 설정

 

Failover Cluster 에서 생성한 Resource Group 선택
Parameter File 위치 지정 (양 Node 동일)

 

SYS password 입력
Summary 확인

 

3.3. Failover

Failover 설정
Auto Restart 방지 / 장애시 빠른 Failover 설정

 

Failover Test(TAF)

Client TNS

OFS =

(DESCRIPTION =

  (ADDRESS = (PROTOCOL = TCP)(HOST = 172.40.40.159)(PORT = 1521))

  (LOAD_BALANCE = YES)

  (FAILOVER=ON)

  (CONNECT_DATA =

    (SERVER = DEDICATED)

    (SERVICE_NAME = OFS)

    (FAILOVER_MODE =

       (TYPE = SELECT)(METHOD = BASIC)(RETRIES = 180)(DELAY = 5)

    )

   )

)

 

C:\Users\Goodus>sqlplus goodus/goodus@ofs

 

SQL*Plus: Release 11.2.0.3.0 Production on 10 8 11:42:14 2018

 

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

 

 

다음에 접속됨:

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> select instance_name,host_name,status from v$instance;

 

INSTANCE_NAME                    HOST_NAME  STATUS

-------------------------------- ---------- ----------

ofs                              OFS1       OPEN

 

SQL> select username,action,failover_type,failed_over from v$session where username='GOODUS';

 

USERNAME   ACTION               FAILOVER_TYPE              FAILED

---------- -------------------- -------------------------- ------

GOODUS                          SELECT                     NO

 

SQL> select count(*) from dba_objects a,dba_objects b;

(waiting..)

 

 

 

##OFS1 Active Node 장애 유발

C:\Users\Administrator>tasklist /m ora*

이미지 이름                    PID 모듈

========================= ======== ============================================

(생략…)

oracle.exe                    5252 oraclient12.dll, oracommon12.dll,

                                   orageneric12.dll, oravsn12.dll,

                                   oraodm12.dll, oraofs.dll, oraxml12.dll,

                                   orawsec12.dll, oraskjcx12.dll,

                                   oraslax12.dll, oraplp12.dll, orapls12.dll,

                                   oracore12.dll, oraunls12.dll, oranls12.dll,

                                   oraons.dll, oran12.dll, oraldapclnt12.dll,

                                   orangsmshd12.dll, oranl12.dll,

                                   orannzsbb12.dll, oranro12.dll,

                                   orasql12.dll, orauts.dll, oransgr12.dll,

                                   orasnls12.dll, oraasmclnt12.dll,

                                   oracell12.dll, orahasgen12.dll,

                                   oraclsra12.dll, orazt12.dll, oraztkg12.dll,

                                   oraocr12.dll, orawwg.dll, orancrypt12.dll,

                                   oranldap12.dll, orancds12.dll,

                                   oranhost12.dll, orantns12.dll,

                                   orantcp12.dll, oraocrutl12.dll,

                                   oraclsce12.dll, oraocrb12.dll,

                                   ORAIMR12.Dll, oranbeq12.dll,

                                   orashpksse4212.dll, oranipc12.dll

##Oracle Process 강제종료

C:\Users\Administrator>taskkill /f /pid 5252

성공: 프로세스(PID 5252)가 종료되었습니다.

 

 

Resource Offline 확인

 

Failover ( OFS1->PFS2) Online Pending

SQL> select count(*) from dba_objects a,dba_objects b;

 

  COUNT(*)

----------

3732110281

 

SQL> select instance_name,host_name,status from v$instance;

 

INSTANCE_NAME                    HOST_NAME  STATUS

-------------------------------- ---------- ----------

ofs                              OFS2       OPEN

 

SQL> select username,action,failover_type,failed_over from v$session where username='GOODUS';

 

USERNAME   ACTION               FAILOVER_TYPE              FAILED STATUS

---------- -------------------- -------------------------- ------ ----------

GOODUS                          SELECT                     YES    ACTIVE

GOODUS                          SELECT                     NO     INACTIVE

 

 

3.4. Move(Failback)

Group Actions -> Move
OFS2 -> OFS1 Move (Failback)

 

4. 참고문서

l Oracle Fail Safe Version 4 and later Step-By-Step Installation and Configuration (Doc ID 1916391.1)

l How to create a cluster group, which can be used for databases managed by Fail Safe ? (Doc ID 1587417.1)

l Oracle Fail Safe and MS Cluster Concepts (Doc ID 221311.1)

l https://docs.oracle.com/cd/E67869_01/OFSRN/title.htm

l https://docs.oracle.com/cd/E67869_01/OFSCN/toc.htm

 

 

 

                                                                                                     "People make a better world with Data"

[Written by GoodusData / 굿어스데이터]

이 글을 공유하기

댓글

Designed by JB FACTORY