[2023.12.13]교육 3일차_ogg,tns,ASM,patch,listener

망구씨·2023년 12월 13일
0

입사교육

목록 보기
3/7
post-thumbnail


C:\Users\admin>cd C:\oracleDB\OPatch

C:\oracleDB\OPatch>datapatch -verbose
SQL Patching tool version 19.21.0.0.0 Production on Wed Dec 13 10:09:32 2023
Copyright (c) 2012, 2023, Oracle.  All rights reserved.

Log file for this invocation: C:\oracleDB\cfgtoollogs\sqlpatch\sqlpatch_2760_2023_12_13_10_09_32\sqlpatch_invocation.log

Connecting to database...OK
Gathering database info...done
Bootstrapping registry and package to current versions...done
Determining current state...done

우리는 디비 설치하고 패치를 했기때문에 위 다시 실행


파라미터 확인


2

클라이언트 --------------------> 서버
(oracle net)                 (oracle net)

tnsnnames.ora                listener.ora
4가지 정보                      4가지 정보

tns 정보, 잘 접속이 되는지 확인하는 방법은 tnsping
고객이 db가 붙지 않는다고 하면 오라클 db 서버 먼저 문제가 없는지 확인해보기. 얼럿보고 리스너 상태 확인하기. 그리고 클라이언트쪽 확인 (tns)
sqlora 리스너 관련된 추가적인 기능 설정을 하는 파일

동적 리스너는 피몬이
정적 리스너

  • 새로만든 리스너가 (netca) 실행이 안됨
C:\Users>cd C:\app\client\admin\product\19.0.0\client_1\deinstall

C:\app\client\admin\product\19.0.0\client_1\deinstall>deinstall
Checking for required files and bootstrapping ...
Please wait ...
        1개 파일이 복사되었습니다.
        1개 파일이 복사되었습니다.
        1개 파일이 복사되었습니다.
        1개 파일이 복사되었습니다.
로그 위치 C:\Program Files (x86)\Oracle\Inventory\logs\
java.io.FileNotFoundException: C:\Program Files (x86)\Oracle\Inventory\logs\deinstall_deconfig2023-12-13_10-59-16-AM.out (액세스가 거부되었습니다)
        at java.io.FileOutputStream.open0(Native Method)
        at java.io.FileOutputStream.open(FileOutputStream.java:270)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:133)
        at oracle.install.db.deinstall.wrapper.Logger.<init>(Logger.java:223)
        at oracle.install.db.deinstall.wrapper.Logger.setOutputTee(Logger.java:534)
        at oracle.install.db.deinstall.wrapper.Deinstall.main(Deinstall.java:514)

############# ORACLE DECONFIG TOOL END #############

하고, oui>bin 가서 setup 파일 관리자 모드로 실행시켜 삭제


ogg

ogg란

  • log기반의 리얼타임 CDC (Change Data Capture) 소프트웨어 플랫폼
  • 오라클 뿐만 아니라 이기종 디비간의 대용량 트랜잭셔널 데이터의 near real-time이동 제공
  • 논리적인 데이터 복제 기능
  • 기본 구성 요소는 capture, trail files, delivery 이렇게 세가지이다.

캡쳐, 추출 프로세서는 오라클 리두로그파일에서 변경본을 캡쳐한다. 리두로그파일에 없다면 아카이브로그파일에 가본다. 그러므로 골든게이트를 사용하려면 디비는 무조건 아카이브모드여야한다.

ogg 개요

골든게이트 적용 비즈니스 형태

  • 비즈니스 지속성과 고가용성
  • 초기적재와 데이터 마이그레이션
  • 데이터 통합
  • 의사결정 지원과 데이터 웨어하우징

오지지 오지지를 깐다음에 (1:1구조) 변경본을 소스 -> 타겟으로 이동시킨다. 무조건 단방향이어야 한다. 양방향으로 사용하면 데이터가 중복이되기때문에 안된다.
브로드캐스트 형태란 1:n 이다. 소스가 하나, 타겟이 여러개이다.
consolidaion 형태는 n:1이다. 소스가 여러개, 타겟이 하나이다. 최근에 많이 쓰는 형태이다.
캐스캐이딩 형태는 소스가 하나, 소스의 복제본 하나, 타겟 여러개
캐스캐이딩 데이터 가드라는 것이 있다.
프라이머리 -> 스탠바이 -> 복제본 여러개

✅ 데이터 가드(액티브 데이터 가드)는 11g 부터 nomount 모드에서 운영하지 않고 디비를 올리고 해도 된다. 데이터 가드는 DR 목적이다.(재난상황) 액티브 데이터 가드가 아닌 일반 데이터 가드는 디비가 내려가있으니 조회가 안된다. 디비 사용이 안된다는 이야기임 그렇지만 액티브 데이터 가드는 디비가 open상태(read only) 에서 운영이 가능하므로 조회목적응로 사용이 가능하다.

ADG(active data 가드)

  1. DR목적
  2. 조회목적(=이관)
  3. 백업 (알맨 백업 받으면 좋겠지요)
  4. 이관, 서버교체

ogg아키텍쳐

  • 구성요소
    : Extract(추출하는 프로세스), Data Pump, replicat(타겟 디비에 있는 프로세스)

1.변경본이 캡쳐한다.
2.변경본을 파일스택 형태로 소스 디비에 저장하는데 이것을 trail file이다.
3.트레일 파일안에 변경본 파일들이 있는데 이것을 배포한다.(전송) 데이터 펌프한다.
4. replicat이 sql문으로 변형시켜서 데이터 펌프를 해온 변경본(트레일파일)을 타켓 디비에 올린다.(적용해준다.)

ogg 장점

1.다양한 플랫폼과 다양한 디비 지원
2.

? 쉐어 셰어 플렉스 ?? (단어찾기)

특징

  • 실시간 데이터 제공
  • 이기종 지원
  • 데이터 신뢰성
  • 낮은 영향도의 고성능
  • 트랜잭션 무결성
  • 용이한 데이터 통합

    양방향 복제 가능. 권장은 하지 않지만 할 수는 있다. 이 때도 다양한 옵션을 지원한다. (엔지니어 입장에서는 지양...)

골든게이트 vs Disk Mirroring(비교 대상이 아니다. )

: 물리적 미러링이 아닌 데이터 베이스 레벨의 논리적인 미러링
미러링이란 두개 같은 디스크를 만들어서 하나의 디비가 깨져도 운영이 가능하도록 하는 것.

골든게이트 vs SharePlex

: 다양한 종류의 디비, 플랫폼 지원. 우수한 성능 . 오라클 로그 변경에 따라
: 골든게이트는 커밋된 데이터만 동기화를 하지만 SharePlex는 commit되지 않은 데이터도 복제를 하기때문에 롤백 작업에 오버헤드가 많으며 처리 중 장애 발생 시 트랜잭션 처리가 불안하다.

골든게이트 vs 액티브 데이터 가드 vs ODI

골든게이트는 write가 가능한데 액티브 데이터 가드는 read only라서 읽는것만 가능. 아예 목적이 다르다! ogg가 걸려있는 타겟 디비는 권한 관리가 중요하다. 다른 누군가가 변경하면 안된다. 데이터 정합성이 틀어지므로 장애상황이 난다. ( 다른 개발자들의 DML 권한을 revoke 한ㄷ던지 계정에 락을 걸던지 리스너를 내리던지...리스너를 써야한다면 dba만 쓸 수 있는 리스너를 따로 만들어서 이것만 올린다. 서비스 오픈 후에는 디폴트 리스너 올리고 우리가 쓰던 리스너를 삭제한다.)

골든게이트는 DDL작업 같은 것들이(컬럼추가) 까다롭다. 액티브 데이터는그냥 동기화가 되는 것이라 이런부분에서 더 목적에 맞음.

골든게이트를 쓰려면 커맨드로 추가적인 로깅을 한다 이것이 supplement logging 활성화이다.
빼먹으면 동기화가 제대로 이루어지지 않는다 . 특히 update

RAC에서 ogg

1            ------------>              1
2(ogg)                               2(ogg)

ASM은 공유 파일 시스템이라서 2노드에 있는 아카이브 로그 파일이 1에서도 보인다. 아니면 안보임.
RAC 환경에서 아카이브 로그는 공유파일 시스템에 존재해야 함. 중요 !!
log_archive_dest_n=서비스명&소프트링크사용으로 해결 가능

기타

  • 한굴 지원 됨
  • oracle 9i 이상부터 DDL 지원
  • 거의 모든 객체에 대한 DDL 명령
  • 지원하지 않는 DDL 명령
  • 압축 지원이 됨 . 디비에서 오라클도 압축이 된다.
  • TDE 지원이 (11.1) 버전부터 지원된다.
  • RAC에서 XA 지원 여부. (XA분산트랜잭션 단어 찾아보기)
  • 골든게이트는 DBMS_REDEFINITION 지원안함. 이걸 가지고 테이블 리오그 하는 패키지다. 이것을 가지고 유젠스에서 패키지만듬
  • nologging

DBMS_REDEFINITION

컬럼 추가를 하려면 소스 디비 내리고 타겟 에서 추가?하고 다시 소스 올리고.. 번거롭다.

파티션 테이블(찾기)

세그먼트별로(날짜) 분리가 되어있다. 이게 아니고 통으로 되어있는 테이블이라면 where 절에서 2007년보다 작은거 치면 데이터가 엄청 많을텐데 DML 작업량이 늘어남 (언두,리두)
파티셔닝 한다면 날짜별로 truncate 하기때문에(얘는 DDL이라 언두랑 리두 노상관) 성능면에서 더 좋다. 그래서 파티셔닝을 꼭 해야한다. 압축하거나 테이블 ~ 할때 DBMS_REDEFINITION 를 쓰는데 mview 내용을 찾아보자.

append hint 확인하기

parallel 힌트 지원

트리거 제약조건? 찾기

nologging 찾아보기

securefile, basicfile lob 가 뭔지 (ogg는 다 지원 가능하다는 말이다)

보통 lob는 마이그레이션할 때 오래 시간이 소요되지만, ogg는 가능?
lob table이 있으면 어렵다..!

grant connect,resource to OGG;
grant create table to OGG;
grant flashback any table to OGG;
grant delete any table to OGG;
.
.

flashback table 공부 (어떤 기능이 있는지)

TDE 공부

테이블 컬럼과 테이블 스페이스를 암호화 하는 오라클의 기능.

wait event ?

Busy_time

유저타임 + sys time = Busy_time이다. 다단위는 sec

flashback_scn=123456 할 수 있음


더 공부해볼 것

  1. LRU 알고리즘( db buffer cache쪽)
  2. 디비 라이터 프로세서 지정 가능, 디비 버퍼 캐시는 알아서 됨 우리가 지정 안해도 됨
  3. 물리적, 논리적 데이터베이스 구성 설명

ASM?

ASM에 알맨 백업본을 받는다.
raw device가 지원 불가하다. (12c부터) 그래서 11g고객사는
ocr, 보팅 파일을 다른곳에 (로우디바이스) 옮겨야한다. 578455.1

NFS는 느려서 안정성 보장 안되어있고 클러스터는 추가 비용이 든다. 오라클 ASM은 무료로 사용가능해서 많이 사용하는 추세이다.
ASFS 오라클에서 지원하는 공유 파일시스템이다. asmcmd는 보기가 불편해서 이것을 가지고 공유 파일시스템을 만들었다.
로컬 파일시스템은 로컬쓰는것이고 NFS는 NAS, CFS는 클러스트파일시스템이다.

오라클 엔진도 같은걸로 쓴적이 있었다.(지금 따로쓴다.) 그리드 엔진 따로써야함

ASM 만든 이유

공간 관리도 오라클에서 하기 위해 오라클식 파일시스템이다. 디스크 그룹으로 관리됨
기본은 1중화인데 2중,3중화 가능. 대부분 고객사는 1중화를 많이 쓴다 다른건 디스크 낭비가 심해서.

ASM 기능과 특징

미러링과 스트라이핑 기능 제공한다.
스트라이핑은 분산배치(데이터)해서 기능 좋게 하는것.
리밸런싱 스피드를 조절하는데 리밸런싱이란, 예를들어 디스크가 세개가 있고 (세개다 데이터있음) 하나의 디스크를 추가했을 때 3개의 디스크의 데이터를 4번으로 옮겨주는 것이 리밸런싱이다. 데이터가 움직이기때문에 i/o가 일어나고, 병렬로 수행가능하다. REBAL? RBAL 프로세서가 함.

ASM이란

볼륨매니저와 (디스크 사이즈 잡아주는애), 파일시스템 을 ASM기능이 한번에 잡아준다.

ASM overview

grid설치하면 기본적으로 asm설치가되고 디스크 그룹을 만들 수 이는 환경이 된다.

ASM 디스크 그룹                                             database

ASM file   ----------------   data file   --------------- tablespace

ASM disk                                                   segment 

Allocation unit                file system                 extent
                                    or
physical block                  rawdevice               oracle data block

ASM 디스크 그룹에 리두로그, 데이터파일을 저장(리두1,리두2..다중화)
아카이브도 arch그룹을 하나 만들어서 오라클의 데이터베이스에 있는 파일들을 asm디스크 그룹에 저장한다. ASM file은 파일들이 보인다. 물리적인 (01,02,03) 파일을 묶어서 ASM disk라고 한다. Allocation unit 을 2AU라고 한다

디스크 그룹 만들어서 데이터 파일도 넣고..이렇게 하겠다

show sga
  • ASM_DISKGROUPS : 스타트업시에 ASM이 자동으로 마운트 할 디스크 그룹의 list
alter system set ASM_DISKGROUPS =dg1,dg2,dg3
  • ASM_DISKSTRING : 경로 지정해주는애
  • diagnostic ? trace 저장 위치
  • INSTANCE_TYPE : = ASM 으로
    디비캐시 사이즈 라지풀 사이즈 세어드풀사이즈

발표 피드백

오라클에서는 dblink 사용 비권장.

  • sga pga 파라미터 . sga pga 자동 메모리 관리 파라미터. - 버전별 (자동보다 수동 설정 권장)
  • shared pool - library cache latch 에 대해
    • lock과 latch의 차이.
    • hard parsing 시 latch

체크포인트 자체?

  • undo redo
  • data file, control file / parameter file /
  • rman backup file 에 대한 정보가 control file에 저장되는.
  • keep버퍼 풀 , reycle버퍼 풀 , nK 버퍼 캐시, LRU 알고리즘.
  • rollback, rollfoward 과정.
  • 논리적 물리적 구조.
profile
Slow and steady wins the race.

0개의 댓글