전체 글 (14) 썸네일형 리스트형 [ERROR] [MY-011811] [Server] Can't start server: can't check PID filepath: No such file or directory pid-file=/var/run/mysqld/mysqld.pid /var/run/var/lockpid path 참조가 안됨 lrwxrwxrwx. 1 root root 11 6월 4 2022 lock -> ../run/locklrwxrwxrwx. 1 root root 6 6월 4 2022 run -> ../run 서버 down 후 심볼릭 링크가 깨짐링크 삭제 후 다시 링크 걸어주면 됨 [MySQL] Create table PARTITION BY RANGE COLUMNS sample MySQL8.4 PARTITION BY RANGE COLUMNS CREATE TABLE ( C1 INT NOT NULL AUTO_INCREMENT, C2 VARCHAR(100), C3 DATETIME, KEY C1 (C1) ) PARTITION BY RANGE COLUMNS(C3) ( PARTITION p1 VALUES LESS THAN ('2025-01-01'), PARTITION p2 VALUES LESS THAN ('2025-02-01'), PARTITION p3 VALUES LESS THAN ('2025-03-01'), PARTITION p4 VALUES LESS THAN MAXVALUE ); [MySQL] 프로세스 기반과 스레드 기반에 대해 오라클의 아키텍처는 많은 RDBMS의 척도처럼 여겨지기도 하고, 대다수 프로그램들이 그렇듯 프로세스 기반으로 작동하는 것에 대해 언급하지 않지만, MySQL을 아키텍처를 설명할 때는 짚고 넘어가야 할 부분이 있다. MySQL은 프로세스 기반의 프로그램이 아닌 스레드 기반의 프로그램이다. 무슨 의미일까프로세스와 스레드의 차이에 대해 생각해보자 프로세스는 OS에서 하나의 작업 단위다. 하나의 프로세스는 그 자체로도 프로그램이라 볼 수 있고, 특정 목적을 위해 여러 역할의 프로세스가 한대 묶여 하나의 프로그램을 구성하게 된다. 스레드는 그런 프로세스 안에서의 작업 단위다. 즉, 프로세스의 하위 개념으로 여러 스레드는 프로세스가 할당 받은 메모리를 공유하며 작업을 수행하게 된다. (정확히는 스레드는 스택영역을.. [INS-32826] The software home is already registered in the central inventory OPatch 업그레이드를 까먹고 패치를 돌린 후 재시도 할 경우 발생 가능 가장 간단한 방법 rm /etc/oraInst.locrm /etc/oratab [Oracle/Linux] Oracle linux 7.X gdb CPU 100 (top cpu consume 100) 보통 패치가 잘되어 있고 클러스터 문제가 발생하지 않는 환경에서는 발생하지 않지만, 테스트 서버를 운영할 때 리소스 문제로 종종 보게되는 이슈 해당 증상은 Oracle linux 7.X 12cR2에서 주로 한 노드만 살아있을 경우(정확히는 클러스터에 문제가 생겼을 경우) 발생하는 증상이다. Oracle 12.2 Autonomous Health Framework의 기능으로 클러스터에서 OS 상태를 점검하는 프로세스인 osysmond가 diagsnap.pl를 수행하게 되는데 이때 한쪽 노드가 죽었을 경우 특정 조건에 의해 미친듯이 디버깅을 수행하고, 관련 정보를 수집하게 된다. 이 때 디버깅에 사용되는 녀석이 gdb이다. 최대 6개의 gdb가 발생하고 5분마다 반복되니 한쪽 노드가 죽어있는 동안은 CPU가.. [오라클] 세션을 제어/관리하는 4가지 방법 잠 깐 상 식 서버의 리스너에게 클라이언트으로부터 요청(Connection)이 오면, 리스너는 서버 프로세스를 생성(fork)하고 클라이언트와 세션정보를 주고 받은 뒤, 오라클에 세션을 생성한다. 커넥션 된 클라이언트의 세션은, 어떤 작업을 요청하고 서버 프로세스가 해당 작업을 수행한 뒤 Return한다. 클라이언트 --> 리스너 --> 서버프로세스 생성 --> 세션 생성 --> 작업 요청 --> 서버프로세스 작업 --> 클라이언트 모든 문제는 이 사이에 일어난다. 가장 먼저 리스너로부터 다음과 같이 서버프로세스 생성에 실패했다는 오류를 받을 수 있다. ORA-12500: TNS:listener failed to start a dedicated server process 사실 해당 에러는 메모리가 부족하.. [오라클] Index 인덱스란 1. 인덱스 개요 무작위로 섞인 1부터 100까지 카드에서 첫 장부터 차례대로 훑으며 어떤 임의의 숫자 N을 찾는다고 해보자. 운이 좋게도 처음 몇 장에서 찾을수도 있지만, 재수가 없다면 100번째 카드에서 찾게될 것이다. 카드가 100장이 아니라 백만, 천만, 1억, 10억 장이라면? 마지막 카드라면? 이런 상황을 막으려면 카드를 정렬해 목차를 두면 손쉽게 찾을 수 있을 것이다. 말그대로 목차(Index)역할을 해주는 것이 인덱스이다. 2. 인덱스 구조와 원리 오라클은 B-Tree index와 Bitmap index를 생성할 수 있는데, 통상 적은 범위의 탐색을 목적으로하는 OLTP환경에서의 테이블이라면 일반적으로 B-Tree index를 사용하게 되며, 일반적인 인덱스를 얘기할 때는 B-Tree in.. [오라클] DEADLOCK과 ITL슬롯 그리고 INITRANS/MAXTRANS DML 수행 시 데이터를 저장하고 있는 블록에 접근하여 해당 트랜잭션의 정보를 블록에 기록하고 마치면 회수하는 방식으로 관리한다. 블록안에 그 정보를 기록하는 영역을 ITL(트랜잭션 슬롯)이다. 다른 말로는 ITL 슬롯을 확보하지 못하면 해당 블록의 데이터에 접근할 수 없다는 뜻이다. ITL에 정보가 기록되는 만큼 당연히 데이터 처럼 블록의 일부를 차지하여 스토리지를 사용한다. 이는 테이블 파라미터 중 INITRANS 값으로 제어되고 default는 1이며 index는 2이다. 블록이 모두 사용되고 있지 않을 때 ITL의 개수는 MAXTRANS값만큼 늘어날 수 있고 default는 255이다. 즉, 데이터가 가득 차있지 않아 블록에 ITL을 추가 할당할 여유가 있을 경우 ITL 개수를 자동으로 늘려가며.. 이전 1 2 다음