728x90

Database Learning Guide 33

데이터베이스와 데이터

데이터베이스는 데이터를 저장합니다. 이름 자체로 그 의미가 보이지만, 데이터베이스를 정보라고 부르고 싶은 유혹이 들더라도 정보와 데이터는 다르다는 것을 이해하는 것이 중요합니다. 기본적으로 데이터는 중립적입니다. 어떠한 의미도 가지지 않습니다. 예를 들어, 여러분의키가 175 cm라고 합시다. 데이터베이스 입장에서는 그 키가 큰 것인지 작은 것인지 알 수 없을 뿐만 아니라 딱히 신경 쓰지도 않습니다. 단지 숫자일 입니다. 심지어 정확하지 않은 숫자라 해도 상관하지 않습니다. 데이터베이스는 입력된 데이터가 데이터베이스 설계에 미리 정의된 규칙을 따르는지만 봅니다. 입력된 데이터의 유형이나 가능한 값의 범위 등이 여기에 포함될 수 있습니다. 이에 반해 정보는 인간이 만드는 것입니다. 의미를 부여하고 판단을 ..

Oracle 전체 백업 관리(RMAN)

Oracle(12c)에서 데이터베이스 전체 백업을 받는 가장 표준적이고 강력한 방법은 RMAN(Recovery Manager) 을 사용하는 것입니다. RMAN은 Oracle에서 공식 제공하는 백업/복구 도구이며, 전체 백업뿐만 아니라 증분 백업, 아카이브 로그 백업, 복구 등도 수행할 수 있습니다. RMAN을 이용한 Oracle 전체 백업ARCHIVELOG 모드로 운영 중이어야 백업 도중에도 온라인 백업 가능백업 대상 디렉토리에 쓰기 권한이 있어야 함1. RMAN 접속rman target /또는rman target sys/password@SID2. 전체 데이터베이스 백업 명령BACKUP DATABASE PLUS ARCHIVELOG;DATABASE: 전체 데이터파일 백업PLUS ARCHIVELOG: 아카이..

노-아카이브와 아카이브 모드 변환

아카이브 로그 모드를 활성화아카이브 로그 모드(ARCHIVELOG mode)로 설정하면, 온라인 백업 및 포인트 인 타임 복구(Point-in-time recovery)가 가능해져서 운영 시스템에 필수적인 설정입니다.Oracle 데이터베이스에서 아카이브 로그 모드를 활성화하려면 아래의 단계를 따르면 됩니다. 이 작업은 DBA 권한이 있는 사용자가 수행해야 합니다. 아래의 절차는 SQL*Plus 또는 SQL Developer와 같은 도구에서 실행할 수 있습니다.1. 먼저, 데이터베이스 인스턴스를 중지해야 합니다.sqlplus / as sysdbaSHUTDOWN IMMEDIATE; 2. 이제 데이터베이스를 마운트 상태로 시작합니다.STARTUP MOUNT; 3. 다음으로, 아카이브 로그 모드를 활성화합니다...

데이터베이스 트랜젝션(Transactoin) - ACID (Durability)

데이터베이스에서 트랜잭션(Transaction)은 데이터베이스의 상태를 변화시키는 작업의 논리적인 단위입니다. 일반적으로 트랜잭션은 여러 작업을 하나로 묶어 데이터의 일관성을 보장하는 역할을 합니다. 트랜잭션의 가장 큰 특징은 모든 작업이 성공적으로 완료되거나, 그렇지 않을 경우 모두 원래대로 복구되어야 한다는 점입니다. 이 원칙은 데이터베이스의 무결성과 일관성을 유지하는 데 중요합니다. 트랜잭션에는 보통 다음과 같은 4가지 성질이 있습니다. 이를 ACID라고 합니다:1. Atomicity (원자성)데이터베이스 트랜젝션(Transactoin) - ACID (Atomicity)2. Consistency (일관성)데이터베이스 트랜젝션(Transactoin) - ACID (Consistency)3. Isola..

데이터베이스 트랜젝션(Transactoin) - ACID (Isolation)

데이터베이스에서 트랜잭션(Transaction)은 데이터베이스의 상태를 변화시키는 작업의 논리적인 단위입니다. 일반적으로 트랜잭션은 여러 작업을 하나로 묶어 데이터의 일관성을 보장하는 역할을 합니다. 트랜잭션의 가장 큰 특징은 모든 작업이 성공적으로 완료되거나, 그렇지 않을 경우 모두 원래대로 복구되어야 한다는 점입니다. 이 원칙은 데이터베이스의 무결성과 일관성을 유지하는 데 중요합니다.트랜잭션에는 보통 다음과 같은 4가지 성질이 있습니다. 이를 ACID라고 합니다:1. Atomicity (원자성)데이터베이스 트랜젝션(Transactoin) - ACID (Atomicity)2. Consistency (일관성)데이터베이스 트랜젝션(Transactoin) - ACID (Consistency)3. Isolat..

데이터베이스 트랜젝션(Transactoin) - ACID (Consistency)

데이터베이스에서 트랜잭션(Transaction)은 데이터베이스의 상태를 변화시키는 작업의 논리적인 단위입니다. 일반적으로 트랜잭션은 여러 작업을 하나로 묶어 데이터의 일관성을 보장하는 역할을 합니다. 트랜잭션의 가장 큰 특징은 모든 작업이 성공적으로 완료되거나, 그렇지 않을 경우 모두 원래대로 복구되어야 한다는 점입니다. 이 원칙은 데이터베이스의 무결성과 일관성을 유지하는 데 중요합니다. 트랜잭션에는 보통 다음과 같은 4가지 성질이 있습니다. 이를 ACID라고 합니다:1. Atomicity (원자성)데이터베이스 트랜젝션(Transactoin) - ACID (Atomicity)2. Consistency (일관성)데이터베이스의 트랜잭션(Transaction)에서 일관성(Consistency)은 트랜잭션이 실..

Oracle Flashback Technology

Oracle Flashback Technology는 데이터베이스 관리자가 데이터의 실수나 잘못된 작업을 수행했을 때, 데이터를 손쉽게 이전 상태로 되돌릴 수 있는 강력한 복구 도구입니다. 이는 데이터베이스에서 발생한 오류나 실수에 대한 빠른 복구를 지원하며, 데이터베이스의 고가용성과 신뢰성을 높이는 중요한 기능입니다. Oracle Flashback Technology 역사Oracle 9i부터 도입되었으며, 이후 버전에서 지속적으로 발전되었습니다. 각 주요 기능을 지원하는 Oracle 버전을 아래에 설명합니다. Oracle 9i (Release 2)Flashback Query: Oracle 9i에서는 처음으로 Flashback Query 기능이 도입되었습니다. 이를 통해 사용자는 특정 시점의 데이터 상태를..

데이터베이스 트랜젝션(Transactoin) - ACID (Atomicity)

데이터베이스에서 트랜잭션(Transaction)은 데이터베이스의 상태를 변화시키는 작업의 논리적인 단위입니다. 일반적으로 트랜잭션은 여러 작업을 하나로 묶어 데이터의 일관성을 보장하는 역할을 합니다. 트랜잭션의 가장 큰 특징은 모든 작업이 성공적으로 완료되거나, 그렇지 않을 경우 모두 원래대로 복구되어야 한다는 점입니다. 이 원칙은 데이터베이스의 무결성과 일관성을 유지하는 데 중요합니다. 트랜잭션에는 보통 다음과 같은 4가지 성질이 있습니다. 이를 ACID라고 합니다:1. Atomicity (원자성)데이터베이스의 트랜잭션(Transaction)에서 원자성(Atomicity)은 트랜잭션이 모두 성공적으로 완료되거나 전혀 수행되지 않은 것처럼 보장하는 특성을 의미합니다. 이 속성은 데이터베이스의 일관성을 유..

PostgreSQL 알아보기

PostgreSQL은 성능, 기능성, 그리고 오픈 소스 라이선스를 갖춘 인기 있는 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 그 역사는 다음과 같습니다:1986년 - POSTGRES 프로젝트 시작: PostgreSQL의 전신인 POSTGRES 프로젝트는 1986년 UC 버클리에서 마이클 스톤브레이커 교수가 주도하여 시작되었습니다. 이 프로젝트는 그의 이전 프로젝트인 Ingres 데이터베이스를 발전시키기 위한 것이었습니다.1994년 - SQL 언어 도입: 초기의 POSTGRES는 SQL을 사용하지 않았지만, 1994년경 POSTGRES 프로젝트에 SQL 언어가 도입되면서 PostgreSQL로 이름이 변경되었습니다. 이때부터 SQL 쿼리 언어를 사용할 수 있게 되었고, 이는 데이터베이스 접근성을 크..

인덱스(Index)란 무엇인가?

인덱스(Index)는 데이터베이스에서 검색 속도를 향상시키기 위한 데이터 구조입니다. 데이터베이스 테이블의 열(컬럼)에 대한 인덱스를 생성하면 데이터베이스 시스템은 검색 및 정렬 작업을 더 효율적으로 수행할 수 있습니다. 인덱스는 주로 다음과 같은 목적으로 사용됩니다: 검색 속도 향상: 인덱스를 사용하면 특정 값을 검색할 때 해당 값을 가진 행을 빠르게 찾을 수 있습니다. 인덱스는 데이터베이스 엔진이 검색을 더 빠르게 수행할 수 있도록 도와줍니다. 정렬: 인덱스는 데이터를 정렬된 순서로 저장하므로 정렬된 결과를 얻는 데 효율적입니다. 이를 통해 정렬된 결과를 반환하는 쿼리의 성능을 향상시킬 수 있습니다. 중복 방지: 고유(unique) 인덱스를 사용하면 열의 중복 값을 방지할 수 있습니다. 이를 통해 데..

데이터베이스 마이그레이션(Database Migration)

데이터베이스 마이그레이션은 한 데이터베이스 시스템에서 다른 시스템으로 데이터베이스를 이동하는 과정입니다. 이 작업은 주로 새로운 시스템으로 이동하거나 업그레이드를 할 때 수행됩니다. 각 단계는 꼼꼼한 계획과 테스트를 요구하며, 데이터의 손실이나 중단 시간을 방지하기 위해 주의를 기울여야 합니다. 데이터베이스 마이그레이션 절차는 다음과 같습니다: 평가: 먼저 데이터베이스의 현재 상태를 평가합니다. 이 평가 단계는 현재의 데이터베이스 구조, 데이터의 양, 데이터 형식 등을 포함합니다. 또한, 마이그레이션 후의 목표 데이터베이스 시스템의 요구사항과 구조를 이해하는 것이 중요합니다. 계획: 마이그레이션 프로세스를 계획합니다. 이 단계에서는 어떤 데이터가 마이그레이션이 필요한지, 어떤 순서로 이동해야 하는지, 이..

아카이브 로그 백업(RMAN)

아카이브 로그는 Oracle 데이터베이스에서 매우 중요한 역할을 하는데, 그 이유는 아카이브 로그를 사용하여 데이터베이스를 특정 시점으로 복구하거나, 데이터베이스의 일관성을 유지하는 데 도움이 되기 때문입니다. 따라서 아카이브 로그의 안전한 백업은 데이터베이스 관리의 중요한 부분입니다. Oracle의 RMAN(Recovery Manager)을 사용하여 아카이브 로그를 백업할 수 있습니다. RMAN은 Oracle 데이터베이스 백업 및 복구 작업을 자동화하고 최적화하는 도구입니다. 다음은 RMAN을 사용하여 아카이브 로그를 백업하는 방법입니다: Oracle의 RMAN(Recovery Manager)을 사용하여 아카이브 로그 백업 위치를 지정하려면 다음 단계를 수행해야 합니다. 먼저, 아카이브 로그 백업을 저..

SQL CASE 문장

Oracle의 CASE 문은 프로그래밍에서의 if-then-else 로직과 유사하게 동작합니다. 이는 특정 조건에 따라 다른 값을 반환하도록 SQL 쿼리를 설정할 수 있게 해줍니다. 기본적인 형태는 다음과 같습니다: CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE resultN END 여기서 각 조건은 순서대로 평가되고, 처음으로 참인 조건의 결과가 반환됩니다. 모든 조건이 거짓일 경우, ELSE 절의 결과가 반환됩니다. 예를 들어, 다음 쿼리는 Customer 테이블의 CreditLimit 칼럼을 기반으로 새로운 칼럼을 생성합니다: SELECT CustomerName, CreditLimit, CASE WHEN CreditL..

Database 그룹함수

데이터베이스에서 그룹 함수(또는 집계 함수)는 특정 칼럼의 값들에 대해 연산을 수행하여 단일 값을 반환하는 함수입니다. 이 함수들은 SQL 문장 내에서 사용될 수 있으며, 주로 SELECT 문장과 함께 GROUP BY 절에서 사용됩니다. 다음은 주요 그룹 함수들과 그들의 설명입니다: 1. COUNT: 지정된 칼럼의 행 수를 반환합니다. NULL 값은 제외됩니다. SELECT COUNT(CustomerID) AS "Number of Customers" FROM Customers; 이 쿼리는 Customers 테이블에서 CustomerID 칼럼의 행 수를 반환합니다. 2. SUM: 지정된 칼럼의 총합을 반환합니다. NULL 값은 제외됩니다. SELECT SUM(OrderAmount) AS "Total Ord..

DataBase Join의 종류와 그 구조

데이터베이스에서 Join은 두 개 이상의 테이블에서 열을 결합하여 결과를 생성하는 방법입니다. 이는 두 테이블 사이의 관계를 기반으로 합니다. 주요 Join 유형은 다음과 같습니다: INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN, CROSS JOIN 등입니다. INNER JOIN: 두 테이블에서 조건이 일치하는 행만 반환합니다. 즉, 두 테이블의 교집합을 반환합니다. SELECT Orders.OrderID, Customers.CustomerName FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID; 이 쿼리는 Orders 테이블과 Customers 테이..

CBO(Cost-Based Optimizer)

CBO(Cost-Based Optimizer)는 Oracle 데이터베이스의 쿼리 최적화 방법 중 하나입니다. CBO는 쿼리를 실행하는데 필요한 예상 리소스 사용량(비용)을 계산하고, 이를 기반으로 가장 효율적인 쿼리 실행 계획을 선택합니다. CBO의 작동 방식을 이해하려면 Oracle 데이터베이스가 수집하는 통계 정보에 대해 알아야 합니다. 이러한 통계에는 테이블 크기, 테이블의 행 수, 테이블의 열 분포, 인덱스의 선택도, 클러스터링 정도 등이 포함됩니다. 이러한 통계는 Oracle의 DBMS_STATS 패키지를 사용하여 수집하고 유지할 수 있습니다. CBO는 이러한 통계를 사용하여 쿼리를 수행하는 데 필요한 비용을 계산합니다. 이 때, 비용은 디스크 I/O, CPU 사용량, 네트워크 트래픽 등 여러 ..

서브쿼리(Subquery)의 종류

서브쿼리는 다른 SQL 쿼리 내에서 사용되는 쿼리를 말합니다. 서브쿼리는 데이터를 필터링하거나, 복잡한 연산을 수행하거나, 다른 테이블과의 관계를 표현하는 데 사용됩니다. 서브쿼리는 크게 세 가지 종류로 분류할 수 있습니다: 스칼라 서브쿼리(Scalar Subquery), 코릴레이티드 서브쿼리(Correlated Subquery), 그리고 비코릴레이티드 서브쿼리(Uncorrelated Subquery). 1. 스칼라 서브쿼리 (Scalar Subquery): 이 서브쿼리는 단일 값을 반환합니다. 일반적으로 SELECT, WHERE, 또는 HAVING 절에서 사용됩니다. 예시: SELECT EmployeeName FROM Employees WHERE EmployeeID = (SELECT ManagerID ..

"oracle.jdbc.OracleDriver"와 "oracle.jdbc.driver.OracleDriver"의 차이

"oracle.jdbc.OracleDriver"와 "oracle.jdbc.driver.OracleDriver"의 차이와 어떤걸 사용하는 게 좋은지 알려줘 oracle.jdbc.OracleDriver와 oracle.jdbc.driver.OracleDriver는 Oracle 데이터베이스와 연결하기 위해 사용되는 두 가지 JDBC 드라이버 클래스입니다. 이들의 차이점은 다음과 같습니다. oracle.jdbc.driver.OracleDriver: 이 클래스는 오래된 Oracle JDBC 드라이버 클래스로, 과거의 프로젝트에서 주로 사용되었습니다. 하지만 이제 이 클래스는 더 이상 권장되지 않으며, 새로운 프로젝트에서는 사용하지 않는 것이 좋습니다. oracle.jdbc.OracleDriver: 이 클래스는 새로..

데이터베이스 시스템의 발전 및 도향

데이터베이스의 발전은 컴퓨터 기술의 발전과 함께 이루어졌습니다. 초기에는 파일 시스템을 이용하여 데이터를 저장하였으나, 이는 데이터 관리에 있어서 여러 가지 문제점을 가지고 있었습니다. 그래서 이러한 문제점을 해결하고 데이터를 보다 효율적으로 관리할 수 있는 데이터베이스 관리 시스템(DBMS)이 개발되었습니다. 데이터베이스의 발전은 크게 다음과 같이 나눌 수 있습니다. 1. 네트워크 데이터베이스 초기 데이터베이스는 로컬 컴퓨터에 저장된 파일 시스템 형태였지만, 1970년대에는 네트워크 데이터베이스가 개발되었습니다. 이를 통해 여러 대의 컴퓨터에 분산되어 있는 데이터를 효율적으로 관리할 수 있게 되었습니다. 2. 관계형 데이터베이스 1970년대에 E.F. 코드가 제안한 관계형 모델은 데이터를 테이블 형태로..

Oracle Transaction Isolation Level

트랜잭션 고립 수준(Isolation Level)은 여러 개의 트랜잭션이 동시에 실행될 때, 각 트랜잭션이 다른 트랜잭션의 작업에 영향을 미치는 정도를 나타냅니다. 고립 수준이 높을수록 동시성이 감소하고 데이터 일관성이 높아집니다. ● Read uncommitted (RU) Read uncommitted는 가장 낮은 고립 수준으로, 커밋되지 않은 데이터를 읽을 수 있습니다. 다른 트랜잭션이 커밋하기 전에 데이터를 읽어올 수 있으며, 이 경우 Dirty Read가 발생할 수 있습니다. Dirty Read란, 아직 커밋되지 않은 데이터를 읽어온 후 해당 데이터를 업데이트하는 작업을 수행했을 때, 해당 트랜잭션이 롤백되면 이전에 읽었던 데이터와는 달라져 버그를 발생시킬 수 있는 문제를 말합니다. ● Read ..

Oracle Transactions and Concurrency

Oracle 데이터베이스에서 트랜잭션은 하나 이상의 SQL 문장으로 구성됩니다. 각각의 SQL 문장은 트랜잭션 단위로 실행됩니다. 즉, 트랜잭션이 성공적으로 완료되기 위해서는 모든 SQL 문장이 성공적으로 실행되어야 합니다. 만약 SQL 문장 중 하나라도 실패한다면, 트랜잭션은 롤백되어 이전 상태로 되돌아가게 됩니다. Oracle 데이터베이스에서는 트랜잭션을 관리하기 위해 여러 가지 컴포넌트를 사용합니다. 그 중에서도 가장 중요한 것은 REDO 로그와 UNDO 로그입니다. REDO 로그는 데이터베이스의 상태를 변경하는 모든 작업을 로깅하는 기능을 수행합니다. 이를 통해 데이터베이스의 변경 내역을 추적하고, 시스템 장애 시에 데이터를 복구할 수 있습니다. UNDO 로그는 각각의 트랜잭션에 대한 이전 상태의..

Oracle 접근제어 방안 - 비밀번호 정책

오라클 비밀번호 정책 및 가이드 오라클 데이터베이스에서는 다양한 비밀번호 정책을 지원합니다. 이를 적용하기 위해서는 PASSWORD_VERIFY_FUNCTION 함수를 사용하여 비밀번호 정책을 구현하면 됩니다. 아래는 오라클 비밀번호 추천 정책과 예시 코드입니다. 1. 비밀번호 길이 비밀번호 길이는 12자 이상을 권장합니다. CREATE OR REPLACE FUNCTION verify_function (password IN VARCHAR2) RETURN BOOLEAN IS BEGIN IF LENGTH(password) < 12 THEN RAISE_APPLICATION_ERROR(-20001, 'Password must be at least 12 characters long'); END IF; RETURN..

Oracle 접근제어 방안 - 암호화

오라클 데이터베이스 암호화를 위한 가이드는 다음과 같습니다. 1. 데이터베이스 암호화를 위한 필요성 데이터베이스에 저장된 데이터는 중요한 정보일 수 있습니다. 이러한 데이터가 외부에 노출될 경우, 정보 유출 등의 심각한 문제를 일으킬 수 있습니다. 따라서 데이터베이스에서 데이터를 암호화하여 보호하는 것이 중요합니다. 2. 데이터베이스 암호화 방법 2.1. TDE(Transparent Data Encryption) TDE는 데이터베이스 레벨에서 데이터를 암호화하는 방법입니다. TDE는 데이터를 저장하는 데이터 파일을 암호화하거나, 전송되는 데이터를 암호화하여 데이터를 보호합니다. 2.2. DBMS_CRYPTO 패키지 DBMS_CRYPTO 패키지는 데이터베이스에서 데이터를 암호화하는 함수를 제공합니다. 이를..

Oracle 접근제어 방안 - 계정 관리, 롤 기반 권한 관리

오라클 데이터베이스에서 접근 제어는 보안을 유지하기 위한 핵심적인 방법 중 하나입니다. 다음은 오라클 접근 제어를 위한 방안입니다. 계정 관리 : 데이터베이스에 액세스하는 계정을 관리하고, 권한을 부여하는 것이 중요합니다. 사용자 계정을 생성할 때 권한을 최소한으로 부여하고, 권한을 필요한 만큼만 부여하여 불필요한 권한 부여를 방지합니다. 또한 계정 생성, 삭제, 권한 부여 등의 작업은 보안적으로 안전한 방식으로 수행해야 합니다. 롤 기반 권한 관리 : 롤은 사용자에게 부여된 권한을 그룹화하는 역할을 합니다. 롤을 사용하여 데이터베이스에 대한 접근을 제어하면 사용자별로 부여된 권한을 간편하게 관리할 수 있습니다. 롤 기반 권한 관리는 데이터베이스 보안성을 유지하기 위한 가장 효과적인 방법 중 하나입니다...

데이터베이스 보안성 유지를 위한 방안

데이터베이스 보안성을 유지하기 위해서는 다음과 같은 방안이 필요합니다. 접근 제어 : 데이터베이스에 접근하는 사용자를 인증하고, 권한을 부여하여 불법적인 접근을 막아야 합니다. 따라서 접근 제어는 데이터베이스 보안성을 유지하는 데 중요한 역할을 합니다. 암호화 : 암호화를 통해 데이터베이스에 저장된 정보를 안전하게 보호할 수 있습니다. Oracle 데이터베이스에서는 다양한 암호화 기술을 제공하며, 이를 활용하여 데이터베이스의 보안성을 강화할 수 있습니다. 감사 : 감사를 통해 데이터베이스 사용자의 활동을 모니터링하고, 데이터베이스에 대한 불법적인 접근을 방지할 수 있습니다. Oracle 데이터베이스에서는 다양한 감사 기능을 제공하며, 이를 활용하여 데이터베이스의 보안성을 높일 수 있습니다. 비밀번호 정책..

오라클 9i부터 최신 버전까지 각 버전별로 특징에 대해서 설명해줘

오라클은 지속적으로 버전이 업그레이드 되며, 각 버전은 다양한 특징과 개선점을 가지고 있습니다. 다음은 오라클 9i부터 최신 버전까지의 각 버전별 특징에 대한 설명입니다. 1. Oracle 9i 자가 관리 데이터베이스 : 이전 버전과 달리 9i에서는 데이터베이스가 자가 관리됩니다. 이를 통해 데이터베이스의 가용성과 안정성이 향상되었습니다. RAC(Real Application Clusters) : RAC은 여러 대의 서버를 하나의 데이터베이스로 구성하는 기술입니다. RAC을 통해 데이터베이스의 가용성이 향상되었습니다. ASM(Automatic Storage Management) : ASM은 데이터베이스의 스토리지 관리를 자동화하는 기술입니다. ASM을 사용하면 데이터베이스의 스토리지를 효율적으로 관리할 ..

Explain Oracle database recover

오라클 데이터베이스 복구 방법은 크게 두 가지로 나눌 수 있습니다. 하나는 미디어 복구(Media Recovery)로 데이터베이스가 완전히 손상되었을 때 수행하는 복구 방법이고, 다른 하나는 포인트-인-타임 복구(Point-in-Time Recovery)로 일부 손상된 데이터베이스를 특정 시점으로 복구하는 방법입니다. 1. 미디어 복구 미디어 복구는 데이터베이스가 완전히 손상된 경우에 수행됩니다. 이 경우 백업 파일과 아카이브 로그 파일을 사용하여 데이터 파일을 복원하고, 손실된 데이터를 복구합니다. 미디어 복구에는 전체 복구(Full Recovery)와 증분 복구(Incremental Recovery)가 있습니다. 전체 복구(Full Recovery) 전체 복구는 데이터베이스가 완전히 손상되었을 때 사..

Explain Oracle database backup

Oracle 데이터베이스 백업은 데이터베이스에서 중요한 데이터를 보호하고 장애나 데이터 손실을 예방하기 위해 필수적인 작업입니다. 백업은 데이터베이스를 이전 상태로 복원할 수 있는 방법으로, 일반적으로 백업 데이터는 특정 시간에 데이터베이스가 포함하고 있던 데이터를 보존합니다. Oracle 데이터베이스는 다양한 유형의 백업을 지원하며, 주요 백업 유형은 다음과 같습니다. 전체 백업(Full Backup): 데이터베이스의 모든 데이터와 오브젝트를 백업하는 방법입니다. 전체 백업은 초기 백업이나 대규모 데이터 손실 시 복구 작업을 수행할 때 사용됩니다. 증분 백업(Incremental Backup): 마지막 전체 백업 이후 변경된 데이터만 백업하는 방법입니다. 증분 백업은 전체 백업보다 더 적은 저장 공간을..

노-아카이브와 아카이브 모드

Oracle 데이터베이스에서 노-아카이브 모드와 아카이브 모드는 데이터의 안전성과 회복성에 영향을 미치는 중요한 요소 중 하나입니다. 노-아카이브 모드에서는 데이터베이스에서 생성된 로그 파일이 데이터 파일과 같은 공간에 저장됩니다. 이 로그 파일들은 생성된 시점 이후에 수정되지 않으므로, 데이터 파일이 손상되면 그 시점 이후에 수행된 변경 사항은 모두 손실됩니다. 이러한 이유로 노-아카이브 모드는 데이터의 안전성을 보장하지 못하므로, 데이터베이스 운영에 적합하지 않습니다. 노-아카이브 모드는 주로 테스트 및 개발 용도로 사용됩니다. 반면, 아카이브 모드에서는 데이터베이스에서 생성된 로그 파일이 주기적으로 아카이브 로그 파일로 저장됩니다. 이 아카이브 로그 파일들은 데이터 파일의 변경 내용을 모두 저장하고..

728x90