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
우리는 디비 설치하고 패치를 했기때문에 위 다시 실행
파라미터 확인
클라이언트 --------------------> 서버
(oracle net) (oracle net)
tnsnnames.ora listener.ora
4가지 정보 4가지 정보
tns 정보, 잘 접속이 되는지 확인하는 방법은 tnsping
고객이 db가 붙지 않는다고 하면 오라클 db 서버 먼저 문제가 없는지 확인해보기. 얼럿보고 리스너 상태 확인하기. 그리고 클라이언트쪽 확인 (tns)
sqlora 리스너 관련된 추가적인 기능 설정을 하는 파일
동적 리스너는 피몬이
정적 리스너
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 파일 관리자 모드로 실행시켜 삭제
캡쳐, 추출 프로세서는 오라클 리두로그파일에서 변경본을 캡쳐한다. 리두로그파일에 없다면 아카이브로그파일에 가본다. 그러므로 골든게이트를 사용하려면 디비는 무조건 아카이브모드여야한다.
골든게이트 적용 비즈니스 형태
- 비즈니스 지속성과 고가용성
- 초기적재와 데이터 마이그레이션
- 데이터 통합
- 의사결정 지원과 데이터 웨어하우징
오지지 오지지를 깐다음에 (1:1구조) 변경본을 소스 -> 타겟으로 이동시킨다. 무조건 단방향이어야 한다. 양방향으로 사용하면 데이터가 중복이되기때문에 안된다.
브로드캐스트 형태란 1:n 이다. 소스가 하나, 타겟이 여러개이다.
consolidaion 형태는 n:1이다. 소스가 여러개, 타겟이 하나이다. 최근에 많이 쓰는 형태이다.
캐스캐이딩 형태는 소스가 하나, 소스의 복제본 하나, 타겟 여러개
캐스캐이딩 데이터 가드라는 것이 있다.
프라이머리 -> 스탠바이 -> 복제본 여러개
✅ 데이터 가드(액티브 데이터 가드)는 11g 부터 nomount 모드에서 운영하지 않고 디비를 올리고 해도 된다. 데이터 가드는 DR 목적이다.(재난상황) 액티브 데이터 가드가 아닌 일반 데이터 가드는 디비가 내려가있으니 조회가 안된다. 디비 사용이 안된다는 이야기임 그렇지만 액티브 데이터 가드는 디비가 open상태(read only) 에서 운영이 가능하므로 조회목적응로 사용이 가능하다.
1.변경본이 캡쳐한다.
2.변경본을 파일스택 형태로 소스 디비에 저장하는데 이것을 trail file이다.
3.트레일 파일안에 변경본 파일들이 있는데 이것을 배포한다.(전송) 데이터 펌프한다.
4. replicat이 sql문으로 변형시켜서 데이터 펌프를 해온 변경본(트레일파일)을 타켓 디비에 올린다.(적용해준다.)
1.다양한 플랫폼과 다양한 디비 지원
2.
? 쉐어 셰어 플렉스 ?? (단어찾기)
양방향 복제 가능. 권장은 하지 않지만 할 수는 있다. 이 때도 다양한 옵션을 지원한다. (엔지니어 입장에서는 지양...)
: 물리적 미러링이 아닌 데이터 베이스 레벨의 논리적인 미러링
미러링이란 두개 같은 디스크를 만들어서 하나의 디비가 깨져도 운영이 가능하도록 하는 것.
: 다양한 종류의 디비, 플랫폼 지원. 우수한 성능 . 오라클 로그 변경에 따라
: 골든게이트는 커밋된 데이터만 동기화를 하지만 SharePlex는 commit되지 않은 데이터도 복제를 하기때문에 롤백 작업에 오버헤드가 많으며 처리 중 장애 발생 시 트랜잭션 처리가 불안하다.
골든게이트는 write가 가능한데 액티브 데이터 가드는 read only라서 읽는것만 가능. 아예 목적이 다르다! ogg가 걸려있는 타겟 디비는 권한 관리가 중요하다. 다른 누군가가 변경하면 안된다. 데이터 정합성이 틀어지므로 장애상황이 난다. ( 다른 개발자들의 DML 권한을 revoke 한ㄷ던지 계정에 락을 걸던지 리스너를 내리던지...리스너를 써야한다면 dba만 쓸 수 있는 리스너를 따로 만들어서 이것만 올린다. 서비스 오픈 후에는 디폴트 리스너 올리고 우리가 쓰던 리스너를 삭제한다.)
골든게이트는 DDL작업 같은 것들이(컬럼추가) 까다롭다. 액티브 데이터는그냥 동기화가 되는 것이라 이런부분에서 더 목적에 맞음.
골든게이트를 쓰려면 커맨드로 추가적인 로깅을 한다 이것이 supplement logging 활성화이다.
빼먹으면 동기화가 제대로 이루어지지 않는다 . 특히 update
1 ------------> 1
2(ogg) 2(ogg)
ASM은 공유 파일 시스템이라서 2노드에 있는 아카이브 로그 파일이 1에서도 보인다. 아니면 안보임.
RAC 환경에서 아카이브 로그는 공유파일 시스템에 존재해야 함. 중요 !!
log_archive_dest_n=서비스명&소프트링크
사용으로 해결 가능
컬럼 추가를 하려면 소스 디비 내리고 타겟 에서 추가?하고 다시 소스 올리고.. 번거롭다.
세그먼트별로(날짜) 분리가 되어있다. 이게 아니고 통으로 되어있는 테이블이라면 where 절에서 2007년보다 작은거 치면 데이터가 엄청 많을텐데 DML 작업량이 늘어남 (언두,리두)
파티셔닝 한다면 날짜별로 truncate 하기때문에(얘는 DDL이라 언두랑 리두 노상관) 성능면에서 더 좋다. 그래서 파티셔닝을 꼭 해야한다. 압축하거나 테이블 ~ 할때 DBMS_REDEFINITION 를 쓰는데 mview
내용을 찾아보자.
보통 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;
.
.
테이블 컬럼과 테이블 스페이스를 암호화 하는 오라클의 기능.
유저타임 + sys time = Busy_time이다. 다단위는 sec
- LRU 알고리즘( db buffer cache쪽)
- 디비 라이터 프로세서 지정 가능, 디비 버퍼 캐시는 알아서 됨 우리가 지정 안해도 됨
- 물리적, 논리적 데이터베이스 구성 설명
ASM에 알맨 백업본을 받는다.
raw device가 지원 불가하다. (12c부터) 그래서 11g고객사는
ocr, 보팅 파일을 다른곳에 (로우디바이스) 옮겨야한다. 578455.1
NFS는 느려서 안정성 보장 안되어있고 클러스터는 추가 비용이 든다. 오라클 ASM은 무료로 사용가능해서 많이 사용하는 추세이다.
ASFS 오라클에서 지원하는 공유 파일시스템이다. asmcmd는 보기가 불편해서 이것을 가지고 공유 파일시스템을 만들었다.
로컬 파일시스템은 로컬쓰는것이고 NFS는 NAS, CFS는 클러스트파일시스템이다.
오라클 엔진도 같은걸로 쓴적이 있었다.(지금 따로쓴다.) 그리드 엔진 따로써야함
공간 관리도 오라클에서 하기 위해 오라클식 파일시스템이다. 디스크 그룹으로 관리됨
기본은 1중화인데 2중,3중화 가능. 대부분 고객사는 1중화를 많이 쓴다 다른건 디스크 낭비가 심해서.
미러링과 스트라이핑 기능 제공한다.
스트라이핑은 분산배치(데이터)해서 기능 좋게 하는것.
리밸런싱 스피드를 조절하는데 리밸런싱이란, 예를들어 디스크가 세개가 있고 (세개다 데이터있음) 하나의 디스크를 추가했을 때 3개의 디스크의 데이터를 4번으로 옮겨주는 것이 리밸런싱이다. 데이터가 움직이기때문에 i/o가 일어나고, 병렬로 수행가능하다. REBAL? RBAL 프로세서가 함.
볼륨매니저와 (디스크 사이즈 잡아주는애), 파일시스템 을 ASM기능이 한번에 잡아준다.
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
alter system set ASM_DISKGROUPS =dg1,dg2,dg3
오라클에서는 dblink 사용 비권장.
체크포인트 자체?