분류 전체보기
-
[MariaDB] Linux system error codesIT/etc 2022. 4. 7. 20:03
Operating System Error Codes Linux Error Codes The perror tool can be used to find the error message which is associated with a given error code. NumberError CodeDescription 1 EPERM Operation not permitted 2 ENOENT No such file or directory 3 ESRCH No such process 4 EINTR Interrupted system call 5 EIO I/O error 6 ENXIO No such device or address 7 E2BIG Argument list too long 8 ENOEXEC Exec forma..
-
[Postgresql]FATAL: could not create lock file "/var/run/postgresql/.s.PGSQL.5432.lock"IT/etc 2022. 4. 6. 22:14
postrgesql 9.6 버전이 취약점이 발견되어 12.6으로 업그레이드를 하였다. 업그레이드 하면서 두 가지 문제가 발견되었다. 하나는 library 오류였고 또 하나는 제목과 같은 에러를 발생하며 DB start가 안되는 현상이다. 이런 저런 글 찾아 보니 /var/run/postgresql 디렉토리 파일 생성 권한이 없어 에러가 발생한다고 한다. 하여 해당 디렉토리에 권한을 주고 DB start를 하니 정상 Open 된다. 9.6 버전에서는 해당 디렉토리 참조를 하지 않았는데, 12.6 버전에서는 관련이 있는거 같다. Error 메시지 FATAL: could not create lock file "/var/run/postgresql/.s.PGSQL.5432.lock" 해결방법 $>su - root..
-
연료탱크를 최대한 활용하는 10가지 팁일상생활 2022. 4. 5. 22:00
2000원 넘은 휘발유 앞으로 어떻게 운전을 하고 다녀야 하나!!! 미국 자동차 전문 매체 "Consumer Reports"는 아래와 같이 자동차 연비 절약 팁을 알려준다. 우크라이나에 대한 러시아의 공격은 석유 시장을 뒤흔들었고 미국인들은 최근 몇 주 동안 펌프의 높은 가스 가격에 이것이 반영되는 것을 보았습니다. AAA는 일반 휘발유의 갤런당 평균 가스 가격 이 4.19달러로 한 달 전보다 35센트, 1년 전보다 1.32달러 높다고 보고합니다. 운전자는 통근 및 도로 여행이 가까운 미래에 더 많은 비용이 들 것이라는 점을 염두에 두어야 합니다. 자동차 구매자는 이 점을 염두에 두고 선택 시 연비를 우선시해야 합니다. 지금은 운전 전략과 기술을 미세 조정하여 연비를 최대화하고 부담을 덜 수 있는 좋은 ..
-
[Oracle] 오라클 옵티마이저IT/etc 2022. 4. 4. 20:09
옵티마이저란? 사용자가 요청한 SQL을 가장 효율적이고 빠르게 수행 할 수 있는 최적(최저비용)의 처리경로를 선택해 주는 DBMS의 핵심엔진이다. 사용자 > SQL > 옵타마이저 > 실행계획 > 프로시저 옵티마이저 : 규칙 기반 옵티마이저(RBO), 비용 기반 옵티마이저(CBO) -규칙기반 옵티마이저 : 인덱스구조, 연산자, 조건절 형태가 순위를 결정 짓는 주요요인 임 장점 : 예측 가능하고 일관성 있는 실행계획을 수립하여 사용자가 원하는 처리경로로 유도하기 쉽다. 단점 : 데이터량, 값의 수, 컬럼값 분포, 인덱스 노이, 클러스터링 팩터 같은 데이터특성을 고려하지 않기 때문에 RBO는 대용량 데이터를 처리하는데 있어 합리적이지 못할 때가 많다. -비용기반 옵티마이저 : 비용을 기반으로 최적화를 수행한다..
-
[Oracle] 오라클 UndoIT/etc 2022. 4. 3. 20:54
오라클 Undo 9i 부터 AUM(Automatic Undo Management) 기능이 도입되면서 그런 수동 작업이 불필요해져 Undo 세그먼트 개념을 많이 생소하게 느끼는 것 같다. Undo 세그먼트가 일반 세그먼트와 많이 다르다고 생각 할 수 있지만, Undo 세그먼트는 구조적으로 볼 때 데이터를 저장하는 일반 테이블 세그먼트와 별반 다르지 않다. 테이블 세그먼트와 마찬가지로 익스텐트 단위로 확장되고, 빠른 읽기/쓰기를 위해 Undo 블록들을 버퍼 캐시에 캐싱하며, 데이터 유실 방지하기 위해 그 변경사항을 Redo 로그에 로깅하는 점도 같다. 다른 점이라면 Undo 세그먼트에 저장하는 내용인데, 각 트랜잭션 별로 Undo 세그먼트를 할당해 주고(두 개 이상의 트랜젹션이 하나의 Undo 세그먼트를 할..
-
[Oracle] 오라클 RedoIT/etc 2022. 4. 2. 20:56
오라클 Redo Log 오라클은 데이터파일과 컨트롤 파일에 가해지는 모든 변경사항을 하나의 Redo 로그 엔트리로서 Redo 로그에 기록한다. Redo 로그는 Online Redo와 Archived Redo 로그로 구성된다. Online Redo 로그는 Redo 로그 버퍼에 버퍼링된 로그 엔트리를 기록하는 파일로서, 최소 두 개 이상의 파일로 구성된다. 현재 사용 중인 Redo 로그 파일이 꽉 차면 다음 Redo 로그 파일로 로그 스위칭이 발생하며, 계속 Redo로그를 써 나가다가 모든 Redo 로그 파일이 꽉 차면 다시 첫 번째 Redo 로그 파일부터 재사용하는 라운드 로빈 방식을 사용한다. Archived Redo 로그는 Online Redo 로그가 재사용되기 전에 다른 위치로 백업해 둔 파일을 말한..
-
[Oracle] 오라클 버퍼 LockIT/etc 2022. 4. 1. 20:21
버퍼 Lock 버퍼 Lock 이란? DB 버퍼 캐시 내에서 버퍼 블록을 찾았으면 가급적 빨리 쥐고 있던 래치를 해제해야 한다. 그러지 않으면 하나의 cache buffers chains 래치에 여러 개의 해시 체인이 달렸으므로 래치에 대한 경합 발생 가능성이 증가하게 된다. 그런데 그 버퍼에 먼저 접근한 선행 프로세스가 아직 버퍼를 사용 중이라면 어떻게 해야 할까? 데이터 접합성에 대한 고민이 또 생긴다. 아주 짧은 순간일지라도 두 개 이상의 프로세스가 동시에 버퍼 내용을 읽고 쓴다면 문제가 생길 수 있는 것이다. 이를 막기 위해 캐시된 버퍼 블록을 읽거나 변경하려는 프로세스는 먼저 버퍼 헤더로부터 버퍼 Lock을 획득해야 한다. 버퍼 Lock을 획득했다면 래치를 곧바로 해제한다. 또 다른 언전장치를 마..
-
[Oracle] 오라클 DB 버퍼 캐시_(버퍼 상태)IT/etc 2022. 3. 31. 20:04
오라클 DB 버퍼 캐시_(버퍼 상태) 모든 캐시 버퍼는 아래 세가지 중 하나의 상태에 놓이게 된다. Free 버퍼 : 인스턴스 기동 후 아직 데이터가 읽히지 않아 비어 있는 상태(Clean buffer)이거나, 데이터가 담겼지만 데이터파일과 서로 동기화돼 있는 상태여서 언제든지 덮어 써도 무방한 버퍼 블록을 말한다. 오라클이 데이터 파일로부터 새로운 데이터 블록을 로딩하려면 먼저 Free 버퍼를 확보해야 한다. Free 상태인 버퍼에 변경이 발생하면 그 순간 Dirty 버퍼로 상태가 바뀐다. Dirty 버퍼 : 버퍼에 캐시된 이후 변경이 발생했지만, 아직 디스크에 기록되지 않아 데이터 파일 블록과 동기화가 필요한 버퍼 블록을 말한다. 이 버퍼 블록들이 다른 데이터 블록을 위해 재사용되려면 디스크에 먼저 ..