일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- NIO
- Java
- oracle
- 코틀린
- python
- JVM
- 자바
- chatGPT's answer
- spring integration
- write by GPT-4
- 역학
- 데이터베이스
- 시스템
- 리눅스
- Database
- 자바암호
- kotlin
- 파이썬
- jpa
- 인프라
- spring data jpa
- android
- 자바네트워크
- 고전역학
- 유닉스
- flet
- GPT-4's answer
- write by chatGPT
- 웹 크롤링
- 소프트웨어공학
- Today
- Total
목록Database Learning Guide (31)
기억을 지배하는 기록
데이터베이스의 발전은 컴퓨터 기술의 발전과 함께 이루어졌습니다. 초기에는 파일 시스템을 이용하여 데이터를 저장하였으나, 이는 데이터 관리에 있어서 여러 가지 문제점을 가지고 있었습니다. 그래서 이러한 문제점을 해결하고 데이터를 보다 효율적으로 관리할 수 있는 데이터베이스 관리 시스템(DBMS)이 개발되었습니다. 데이터베이스의 발전은 크게 다음과 같이 나눌 수 있습니다. 1. 네트워크 데이터베이스 초기 데이터베이스는 로컬 컴퓨터에 저장된 파일 시스템 형태였지만, 1970년대에는 네트워크 데이터베이스가 개발되었습니다. 이를 통해 여러 대의 컴퓨터에 분산되어 있는 데이터를 효율적으로 관리할 수 있게 되었습니다. 2. 관계형 데이터베이스 1970년대에 E.F. 코드가 제안한 관계형 모델은 데이터를 테이블 형태로..
트랜잭션 고립 수준(Isolation Level)은 여러 개의 트랜잭션이 동시에 실행될 때, 각 트랜잭션이 다른 트랜잭션의 작업에 영향을 미치는 정도를 나타냅니다. 고립 수준이 높을수록 동시성이 감소하고 데이터 일관성이 높아집니다. ● Read uncommitted (RU) Read uncommitted는 가장 낮은 고립 수준으로, 커밋되지 않은 데이터를 읽을 수 있습니다. 다른 트랜잭션이 커밋하기 전에 데이터를 읽어올 수 있으며, 이 경우 Dirty Read가 발생할 수 있습니다. Dirty Read란, 아직 커밋되지 않은 데이터를 읽어온 후 해당 데이터를 업데이트하는 작업을 수행했을 때, 해당 트랜잭션이 롤백되면 이전에 읽었던 데이터와는 달라져 버그를 발생시킬 수 있는 문제를 말합니다. ● Read ..
Oracle 데이터베이스에서 트랜잭션은 하나 이상의 SQL 문장으로 구성됩니다. 각각의 SQL 문장은 트랜잭션 단위로 실행됩니다. 즉, 트랜잭션이 성공적으로 완료되기 위해서는 모든 SQL 문장이 성공적으로 실행되어야 합니다. 만약 SQL 문장 중 하나라도 실패한다면, 트랜잭션은 롤백되어 이전 상태로 되돌아가게 됩니다. Oracle 데이터베이스에서는 트랜잭션을 관리하기 위해 여러 가지 컴포넌트를 사용합니다. 그 중에서도 가장 중요한 것은 REDO 로그와 UNDO 로그입니다. REDO 로그는 데이터베이스의 상태를 변경하는 모든 작업을 로깅하는 기능을 수행합니다. 이를 통해 데이터베이스의 변경 내역을 추적하고, 시스템 장애 시에 데이터를 복구할 수 있습니다. UNDO 로그는 각각의 트랜잭션에 대한 이전 상태의..
오라클 비밀번호 정책 및 가이드 오라클 데이터베이스에서는 다양한 비밀번호 정책을 지원합니다. 이를 적용하기 위해서는 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..
오라클 데이터베이스 암호화를 위한 가이드는 다음과 같습니다. 1. 데이터베이스 암호화를 위한 필요성 데이터베이스에 저장된 데이터는 중요한 정보일 수 있습니다. 이러한 데이터가 외부에 노출될 경우, 정보 유출 등의 심각한 문제를 일으킬 수 있습니다. 따라서 데이터베이스에서 데이터를 암호화하여 보호하는 것이 중요합니다. 2. 데이터베이스 암호화 방법 2.1. TDE(Transparent Data Encryption) TDE는 데이터베이스 레벨에서 데이터를 암호화하는 방법입니다. TDE는 데이터를 저장하는 데이터 파일을 암호화하거나, 전송되는 데이터를 암호화하여 데이터를 보호합니다. 2.2. DBMS_CRYPTO 패키지 DBMS_CRYPTO 패키지는 데이터베이스에서 데이터를 암호화하는 함수를 제공합니다. 이를..
오라클 데이터베이스에서 접근 제어는 보안을 유지하기 위한 핵심적인 방법 중 하나입니다. 다음은 오라클 접근 제어를 위한 방안입니다. 계정 관리 : 데이터베이스에 액세스하는 계정을 관리하고, 권한을 부여하는 것이 중요합니다. 사용자 계정을 생성할 때 권한을 최소한으로 부여하고, 권한을 필요한 만큼만 부여하여 불필요한 권한 부여를 방지합니다. 또한 계정 생성, 삭제, 권한 부여 등의 작업은 보안적으로 안전한 방식으로 수행해야 합니다. 롤 기반 권한 관리 : 롤은 사용자에게 부여된 권한을 그룹화하는 역할을 합니다. 롤을 사용하여 데이터베이스에 대한 접근을 제어하면 사용자별로 부여된 권한을 간편하게 관리할 수 있습니다. 롤 기반 권한 관리는 데이터베이스 보안성을 유지하기 위한 가장 효과적인 방법 중 하나입니다...
데이터베이스 보안성을 유지하기 위해서는 다음과 같은 방안이 필요합니다. 접근 제어 : 데이터베이스에 접근하는 사용자를 인증하고, 권한을 부여하여 불법적인 접근을 막아야 합니다. 따라서 접근 제어는 데이터베이스 보안성을 유지하는 데 중요한 역할을 합니다. 암호화 : 암호화를 통해 데이터베이스에 저장된 정보를 안전하게 보호할 수 있습니다. Oracle 데이터베이스에서는 다양한 암호화 기술을 제공하며, 이를 활용하여 데이터베이스의 보안성을 강화할 수 있습니다. 감사 : 감사를 통해 데이터베이스 사용자의 활동을 모니터링하고, 데이터베이스에 대한 불법적인 접근을 방지할 수 있습니다. Oracle 데이터베이스에서는 다양한 감사 기능을 제공하며, 이를 활용하여 데이터베이스의 보안성을 높일 수 있습니다. 비밀번호 정책..
오라클은 지속적으로 버전이 업그레이드 되며, 각 버전은 다양한 특징과 개선점을 가지고 있습니다. 다음은 오라클 9i부터 최신 버전까지의 각 버전별 특징에 대한 설명입니다. 1. Oracle 9i 자가 관리 데이터베이스 : 이전 버전과 달리 9i에서는 데이터베이스가 자가 관리됩니다. 이를 통해 데이터베이스의 가용성과 안정성이 향상되었습니다. RAC(Real Application Clusters) : RAC은 여러 대의 서버를 하나의 데이터베이스로 구성하는 기술입니다. RAC을 통해 데이터베이스의 가용성이 향상되었습니다. ASM(Automatic Storage Management) : ASM은 데이터베이스의 스토리지 관리를 자동화하는 기술입니다. ASM을 사용하면 데이터베이스의 스토리지를 효율적으로 관리할 ..