가상화 솔루션: VMware Workstation 16오라클 리눅스 설치 파일은 http://edelivery.oracle.com/ 에서 다운로드 받습니다.(계정을 생성하고 로그인이 필요합니다)V980739-01.iso(Oracle Linux Release 7
Oracle을 설치할 때 /etc/sysctl.conf에 파라미터를 추가했었습니다.각 파라미터의 의미가 무엇인지 알아보겠습니다.fs.file-max = 6815744 < - 시스템에서 동시에 오픈 가능한 파일의 수와 연관된 파일 핸들의 최대값Kernel.sem =
세마포어는 멀티프로그래밍 환경에서 자원에 대한 접근을 제어하기 위해 사용합니다.한 개의 공유 자원에 제한된 수의 프로세스, 스레드만 접근할 수 있도록 해줍니다.유닉스에서 프로세스 간의 커뮤니케이션을 위해 세마포어를 사용합니다.하나의 프로세스만이 공유 자원에 대해서 작업
Oracle Server Architecture
사용자가 SQL 문장을 수행하면 사용자 PC 쪽에 User Process라는 프로세스가 해당 SQL 문장을 서버의 Server Process로 전달해줍니다. (User Process: SQL을 작성하는 프로그램(SQL\*PLUS, SQL Developer, Toad,
Background Process: Oracle Server가 시작되면 자동으로 시작되어 운영과 유지를 담당하는 프로세스User Process, Server Process는 사용자가 접속하면 생성되고, 사용자가 접속을 종료하면 사라지게 되는 반면 Background P
Parameter FileStartup 명령을 치면 Oracle Server Process는 가장 먼저 Parameter File을 찾아 읽습니다.Parameter File에는 pfile, spfile이 있습니다.pfile: 정적 파라미터 파일. 관리자가 수동으로 파일
RAC를 구성하면 기본적으로 설정되어 있습니다.신규 세션에 대해서 다른 인스턴스로 넘겨줍니다.기존 세션은 끊어집니다.별도로 설정을 해주어야 합니다.기존 세션을 다른 인스턴스로 넘겨줍니다.사용자 입장에서는 잠깐 멈춤 현상을 경험할 순 있지만 지속적으로 사용이 가능합니다.
nomount 단계에서 mount 단계로 갈 때 Control File을 읽습니다. Control File에는 Database가 운영될 때 실시간으로 각종 정보가 저장되고 또 조회됩니다. 이 파일에 장애가 발생할 경우 Instance가 비정상 종료되므로 잘 관리해야 합
데이터에 변경이 발생할 경우 만약에 발생할 장애에 대비해 변경되기 전의 데이터와 변경된 후의 데이터를 모두 Redo Log File에 기록합니다. 복구가 필요할 때 Redo Log File을 이용하게 됩니다.Write Log Ahead실제 데이터를 변경하기 전에 Red
1\. Tablespace의 종류 및 특징
Ratio 기반 분석방법론과 wait event 기반 분석방법론의 한계점은 문제가 있다고 진단했을때 그 원인을 찾아 실제 문제를 해결하는 데까지 많은 시간이 걸리는 데 있다고 합니다.v$session 이용하여 실시간 세션에 대한 모니터링을 할 수 있지만 이는 해당 시점
볼펜 100자루를 옮길 때 1자루 씩 옮기게 되면 많은 노력을 요하지만, 박스에 담아 한 번에 옮기게 되면 훨씬 빨리 옮길 수 있습니다. 여기서 Data들의 박스의 역할을 하는 것이 Block입니다.Oracle에서는 사용자가 입력한 데이터를 디스크에 저장할 때나 저장되
8i 이전 버전까지는 SGA와 PGA는 DBA가 수동으로 설정해서 관리했습니다. 어떤 설정 값이 변경되면 인스턴스를 재시작해야 했기에 아주 불편했습니다. 그러다가 9i 버전부터 alter system set 명령어를 이용해 파라미터 값을 인스턴스 재시작 없이 변경할 수
Oracle Server에 접속하기 위해 사용하는 것이 User(사용자)입니다.특정 사용자(User)가 만들어 놓은 모든 Object의 집합을 Schema(스키마)라고 합니다.Object라고 하면 table, index, view, constraint, trigger,
유닉스의 좋은 기능 중 정해진 시간에 반복되는 작업을 수행할 수 있도록 해주는 cron이라는 기능이 있습니다. 관리자는 작업 내용을 스크립트 파일로 생성하고 crond 데몬에게 작업을 지시하면 데몬은 특정 시간에 해당 작업을 수행하게 됩니다.oracle에서도 이와 같은
A 호스트가 자신의 IP 주소와 MAC 주소, B 호스트의 IP 주소를 담아서 Switch에 보냅니다.(A Host -> Switch)이 요청을 받은 Switch는 자신이 가진 Switching Table에 B 호스트의 IP 주소가 있는지 확인합니다. 만약 없다면 Sw
oracle에서 발생하는 장애는 크게 물리적/논리적인 장애로 분류할 수 있습니다.물리적인 장애는 디스크 장애, 서버 장애 등으로 인한 파일 손상을 의미합니다. 파일이 삭제된다든지 파일을 덮어 쓴다든지 하는 장애입니다.논리적인 장애는 사용자의 실수나 오류로 발생한 장애를
Oracle 사의 홈페이지로 접속해 Oracle Client를 검색해서 버전에 맞게 다운로드 받습니다.
Datapump는 export/import의 향상된 유틸리티 입니다. export/import는 사용하기 편하고 성능도 뛰어나지만 속도가 느리고 작업시간을 예측하기도 어렵습니다. Datapump는 이런 문제점들을 획기적으로 해결하여 매우 뛰어난 속도 향상과 사용자 편의
10g 이전 버전에서 데이터를 저장하고 관리하는 방식은 크게 OS를 통하여 관리하는 File System 방식과 Oracle에서 직접 스토리지에 데이터를 저장하는 Raw Device 방식이 대표적이었습니다.File System 방식은 사용자가 관리하기 쉽다는 장점이 있
가정: 현재 초기화 파라미터 파일은 pfile이다.현재 운영 중인 Control File의 경로를 확인한 후/home/oracle/disk1/control01.ctl,/home/oracle/disk2/control02.ctl,/home/oracle/disk3/contr
모든 Redo Log File을 /home/oracle/disk1로 이동하세요.그룹번호는 1, 2, 3으로 3개의 그룹을 만들고 각 멤버는 1개씩, 크기는 각 5M./home/oracle/disk1/redo01_a.log, redo02_a.log, redo03_a.lo
기본 실습
사용자 생성하기default tablespace 생성temporary tablespace 생성user 생성권한 설정profile 생성하기(password 관련)조건1: 로그인 시도 3회 실패 시 계정을 5일 동안 사용 못하게 할 것조건2: 계정의 암호는 15일에 한 번
Oracle은 백업과 관련해 2가지 모드의 DB 운영 방식을 제공합니다.바로 Archive Log 모드와 No Archive Log 모드입니다.oracle 백업 복구의 핵심은 Redo Log입니다. 사용자들이 수행하는 모든 변경사항들을 Redo Log에 저장해 두고 복
Cold Backup(닫힌 백업)은 DB를 종료시킨 후(shutdown) 전체 파일들(data file, redo log file, control file, parameter file, password file)을 백업 받는 것입니다.주의사항은 아래와 같습니다.1\.
No Archive Mode에서 Data File이 삭제되는 논리적 장애가 발생했을 때 복구하는 방법은 무엇인지 알아보겠습니다. 결론적으로 말씀드리면 Online Redo Log File에 해당 SCN 정보가 없을 경우 완벽하게 복구하는 방법은 없습니다. 아래를 살펴보
Oracle에서 꼭 지켜야 할 원칙이 몇 가지 있습니다. 그 중 아주 중요한 것은 파일에 I/O가 발생하고 있을 땐 절대로 이동하거나 복사, 복구 작업을 해서는 안된다는 것입니다. 그래서 장애가 발생할 경우 복구하기 위해 해당 파일을 I/O가 발생하지 않도록 만들어 놓
장애 상황고객사이트에서 실수로 중요한 테이블 하나가 삭제되었는데 반드시 복구해야 한다는 요청이 들어왔습니다. 지워진 시간을 물어보니 대략 시간은 알고 있다고 합니다. 삭제된 시간을 알고 있기에 시간 기반 불완전 복구 방법으로 복구하기로 결정했습니다.Step 0) 장애
사전 환경 구성Flashback Version QueryFlashback Transaction QueryRow Level Flashback 진행Row Level Flashback을 진행할 때는 Flashback Transaction Query로 뽑아낸 쿼리를 써도 되고
Oracle 10g 이하Oracle 11g 이상일반적으로 DB_UNIQUE_NAME은 아래 쿼리로 확인 할수 있다.(일반적으로 SID이름의 소문자이다)쿼리 조회(11g 이상)
startup time을 안다는 건 instance의 startup time과 database의 open time의 차이를 이해하는 것이 중요합니다.v$instance 뷰에서 검색하는 startup time은 nomount된 시점의 시간입니다.STARTED는 nomou
NUM파라미터 번호NAME파라미터 이름TYPE파라미터 타입에 대한 번호 유형1 - Boolean2 - String3 - Integer4 - Parameter file5 - Reserved6 - Big integerTYPE 값 보기VALUE세션에 대한 파라미터 값 또는
Directory 생성 및 지정Datapump 전용 계정 생성전용 계정에 권한 부여사정에 따라 Datapump 전용 계정에 dba 권한을 부여할 수도 있습니다.datapump_exp_full_database, datapump_imp_full_database: expdp
Linux에서 주중(월~금) 오전 1시 마다 export_full.sh 파일 실행crontab을 실행하는 주체는 root입니다.exp를 실행하는 주체는 oracle입니다.덤프파일이 저장되는 경로는 /ora_backup입니다.덤프파일, 로그파일 이름은 exp_full\_
장애 상황개발자가 실수로 아주 중요한 고객 테이블을 삭제했다. 삭제 시간은 거의 알고 있고, 백업 파일과 아카이브 리두 로그 파일도 전부 있다. 여분의 서버가 없고 즉시 긴급으로 복구해야 할 상황이다. 백업 파일과 아카이브 리두 로그 파일의 용량은 4T 정도여서 외부로
말 그대로 보여지지 않는 인덱스를 의미합니다. 즉, 인덱스는 존재하지만 옵티마이저가 인덱스를 볼 수 없는 상태로 만들어서 플랜을 타지 않도록 합니다.인덱스가 많은 경우 DML 문장에 나쁜 영향을 주기 때문에 사용하지 않는 인덱스는 삭제해 주어야 합니다.문제는 해당 인덱
시퀀스에 cache_size 파라미터가 있습니다.size라 적혀있지만 용량의 개념은 아니고 번호의 개수입니다.예를 들어 cache_size = 20이라면해당 시퀀스는 메모리에 1~20까지의 채번을 미리 만들어서 적재해 놓습니다.시퀀스에서 채번을 가져다 쓸 때 메모리에
(예시 쿼리)위와 같은 쿼리가 있습니다. 쿼리의 결과는 어떻게 출력될까요? 사원 테이블과 부서 테이블에서 부서 번호가 같은 행의 사원이름과 부서이름을 모두 출력할 것입니다.그런데 join 방식에 따라 where절의 조건에 맞는 행을 조회하는 방식에 차이가 있습니다.Ne
1) username과 password만 주고 user 생성또는2) user 생성 후 기본 role 부여3) 접속 테스트(해당 비밀번호에 @와 같은 특수문자가 들어간다면 \\"<password>\\"로 감싸주어야 합니다)User 생성 후 해당 User에 대한 de
Oracle Database Versionuser1, user2 계정을 생성합니다.두 계정의 차이점은 패스워드에 특수문자가 포함되어 있는지의 여부입니다.(!성공)user1 접속 시도(실패)user2 접속 시도(실패)user2 접속 시도 \\"로 감싸주기(실패)user2
데이터를 저장하는 block을 한번에 여러 개를 access 하는 것이 아닌 한번에 하나의 block만을 access하는 Single Block I/O 방식입니다.Table Full Scan: Multi Block I/O 방식이라고 하며, 한번에 여러 개의 block을
1) 현재 instance에 적용된 초기화 파라미터 파일의 종류 확인2) undo_retention와 undo_tablespace의 파라미터 변경 속성(issys_modifiable) 파악immediate이므로 바로 변경 가능3) 파라미터 변경undo_retention
undo tablespace의 크기를 변경하려면 기존의 undo tablespace를 resize 할 수는 없고, 새로운 undo tablespace를 생성해준 후 undo_tablespace 파라미터의 값을 새로 생성한 undo tablespace로 변경해주어야 합니
Program : 실행해야 할 소스PL/SQL BLOCKEXECUTABLE(Shell Script)Stored Procedure(e.g. DBMS_STATS.gather_schema_stats)Schedule : 실행 시간, 실행 주기를 정의Job : 실행해야 할 소스
Redo Log File은 각각 다른 Disk에 이중화하는 것이 권장됩니다.Redo Log File은 member로 불리고, 다른 Disk에 있는 같은 Redo Log File을 묶은 단위를 group이라고 합니다.현재 redo log file은 3개의 group이 있
이중화하는 경로는 다른 Disk에 넣어주되, Disk를 선정할 땐 가장 삭제될 위험이 적은 경로로 선정합니다.만약 control_file로 지정한 경로에 control file이 존재하지 않을 경우 mount 단계에서 실패하게 됩니다.
ORA-06552 : PL/SQL: Compilation unit analysis terminatedORA-06553 : PLS-553: 알 수 없는 문자 집합 이름입니다해당 에러는 하나의 데이터 타입에 설정된 CHARACTER SET이 2개 이상일 때 발생하는 에러입
Oracle Database Server에 Listener를 등록하는 방법은 2가지가 있습니다.정적등록은 listener.ora 파일에 SID_LIST\_...를 통해 서비스를 명시해주는 방법입니다. 동적등록은 LREG 프로세스가 Listener에 등록 가능한 서비스를
작업 순서1) AS-IS 테이블 정보 확인(owner, tablespace_name, table_name, num_rows, 용량)2) AS-IS의 directory 조회 후 디스크 용량을 확인하여 적절한 directory에 expdp 수행3) AS-IS에서 TO-BE
한 인스턴스에서 다른 인스턴스로 로그인하는 법을 표현하는 Database 객체(Object)Database Link 객체를 생성하면 다음과 같은 방식으로 원격(Remote) Database의 객체에 접근할 수 있습니다.하나의 Client가 Database Link를 통
RAC 환경에서 딜레이가 발생하는 경우 gc buffer busy에 관련된 wait event들을 확인해봐야 합니다.(AWR에서도 확인 가능)gc buffer busy는 로컬 프로세스가 읽고자 하는 블록이 현재 리모트 노드의 요청에 의해 사용 중임을 의미합니다.gc b
ASH report AWR report ![](https://velog.velcdn.com/images/khyup0629/post/2b8a1bf4-3753-4740-
OS : Oracle Linux 7.6Database : Oracle 19cOS 설정CPU 프로세스 설정메모리 설정네트워크 타입 설정디스크 용량 설정호스트 전용 어댑터 1개 추가 생성iso 파일 선택 및 시작언어 설정소프트웨어 선택파티션 설정KDUMP 비활성화보안 정책
Primary DB와 DR DB를 구성하는 방법OGG(Oracle Golden Gate)의 하위 버전메인 운영 DB : Primary(Read/Write)스탠바이 DB : Standby(Read Only)RMAN의 Duplicate 명령을 통해 단방향(Primary -
ASM 접속 설정Disk 포맷 방법ASM Disk 확인(OS)새로 추가한 Disk -> ASM Disk로 등록 및 스캔(OS)새로 추가한 Disk 권한 부여(OS)(/dev/oracleasm/ 경로 밑에 Disk 파일이 생성됩니다)ASM Disk 상세 정보 보기(DB)