DataBase 11

데비안(Ubuntu) 에 OCI(Oracle instant client) 설치하기

Kafka connector 에 오라클 구축시 OCI(Oracle instant client) driver를 사용해야하는 이슈로 OCI 설치 리서치했던 내용 중 성공했던 방법을 기록한다. Reference ubuntu Oracle Instant Client 설치하기 1. Download Oracle instant clinet https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html instantclient-basic-linux.x64-12.1.0.2.0.zip instantclient-sdk-linux.x64-12.1.0.2.0.zip 꼭 같은 버전으로 셋트 맞춰 다운받자! (버전이 같아야 나중에 압축을 ..

DataBase 2022.08.31

mysql의 'ON DUPLICATE KEY UPDATE' 구문

mysql을 사용하면서 처음 알게된 구문인데... INSERT 구문에 같이 쓰이게 된다. 명령어만 봐도 직관적으로 이해할 수 있는데... INSERT할 때 KEY가 duplicate가 되었을 때, UPDATE하는 방법에 대해 정의할 수 있다. 예를 들어, INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;컬럼 a가 key라고 가정할 경우, 이미 컬럼 a의 값이 1인 row가 있을 경우 해당 row의 c컬럼의 값을 1 증가시키라는 의미이다. 프로그래머 입장에서는 귀찮게 select한 후 없으면 insert 있으면 update하는 것을 한방에 해결해 주긴 하지만, ANSI SQL이 아니라 그점이 좀 맘에 걸린다. 오늘 하고자 하는 ..

DataBase 2010.02.09

show variables 변경하기 5.0 기준 서버 변수 변경하기

show variables 변경하기 5.0 기준 서버 변수 변경하기 Variable Name Value Type Type autocommit boolean SESSION big_tables boolean SESSION binlog_cache_size numeric GLOBAL bulk_insert_buffer_size numeric GLOBAL | SESSION character_set_client string GLOBAL | SESSION character_set_connection string GLOBAL | SESSION character_set_results string GLOBAL | SESSION character_set_server string GLOBAL | SESSION collation..

DataBase 2010.01.06

mysqldump 옵션 및 사용법

1. mysqldump 옵션 중 binary log 의 포지션 정보 같이 dump 하기 /usr/local/mysql/bin/mysqldump -uroot -p --master-data=2 > /data/…/backup.sql 이 명령어 중에서 "--master-data=2" 옵션을 주게 되면 덤프 시점의 binary log의 포지션 정보가 같이 Dump 되게 된다. Dump된 파일을 에디터로 열어보면 다음과 같은 내용이 나온다. 2. Table Lock 걸기 FLUSH TABLES WITH READ LOCK; //Table Lock 걸기 UNLOCK TABLES; //Table Lock 풀기 3. Mysqldump options mysqldump Ver 10.9 Distrib 4.1.18, for pc..

DataBase 2009.10.09

EXPLAIN을 사용해서 쿼리 최적화 하기

EXPLAIN을 사용해서 쿼리 최적화 하기 EXPLAIN tbl_name 또는: EXPLAIN [EXTENDED | PARTITIONS] SELECT select_options EXPLAIN 명령문은 DESCRIBE에 대한 동의어로 사용할 수 있거나 또는 MySQL이 SELECT 명령문을 실행하는 방법에 대한 정보를 얻기 위한 수단으로 사용할 수가 있다: EXPLAIN tbl_name은 DESCRIBE tbl_name 또는 SHOW COLUMNS FROM tbl_name과 동일한 의미이다. SELECT 명령문을 EXPLAIN 앞에 두면, MySQL은 쿼리 실행 플랜 (query execution plan) 정보를 옵티마이저 (optimizer)에서 가져 와서 출력 한다. 즉, MySQL은 테이블들이 어떤..

DataBase 2009.06.03

MYSQL Explain

Explain 정보보는법 인덱스가 적절히 사용되고 있는지 검토 나열된 순서는 MYSQL 이 쿼리처리에 사용하는 순서대로 출력 EXPLAIN 의 각 행 설명 1. id : SELECT 번호, 쿼리내의 SELECT 의 구분번호 2. select_type : SELECT 의 타입 SIMPLE: 단순 SELECT (UNION 이나 서브쿼리를 사용하지 않음) PRIMARY: 가장 외곽의 SELECT UNION: UNION 에서의 두번째 혹은 나중에 따라오는 SELECT DEPENDENT UNION: UNION 에서의 두번째 혹은 나중에 따라오는 SELECT, 외곽쿼리에 의존적 UNION RESULT: UNION 의 결과물 SUBQUERY: 서브쿼리의 첫번째 SELECT DEPENDENT SUBQUERY: 서브쿼리..

DataBase 2009.05.14

초보자를 위한「MySQL 백업·복구」강좌

데이터베이스 관리자와 개발자들은 정기적인 데이터 백업의 중요성을 잘 알 것이다. 만약 디스크나 서버가 고장날 경우 백업을 미리 해 뒀는지 여부는 1년치 업무결과를 잃어버리느냐 아니면 몇시간만에 정상으로 복귀하느냐를 결정한다. 하지만 다행스럽게도 MySQL 사용자는 백업과 복구를 할 수 있는 간편하게 할 수 있는 내장 전용 툴을 사용할 수 있다. 이 툴을 이용하면 이기종 플랫폼으로 MySQL 데이터베이스를 간편하게 옮길 수 있으며, 또 다른 포맷으로 레코드를 저장하거나 불러오기도 가능하다. 데이터베이스 파일 복사 MySQL 데이터베이스 백업의 기본은 데이터베이스 파일 자체를 복사하는 것이다. MySQL은 이기종 플랫폼에서도 동일한 테이블 포맷을 사용하므로 MySQL 테이블과 인덱스 파일을 플랫폼을 넘나들며..

DataBase 2009.02.11

MySql 함수 모음

1. mysql_connect() 함수 형식) int mysql_connect(string [hostname], string [username], string [password]) MySQL 서버에 연결한다. 데이터베이스서버 접속에 성공하면 Link Identifier 라는 식별자 값을 리턴받으며 실패할 경우 false 값을 리턴받게 된다. 2. mysql_pconnect() 함수 형식) int mysql_pconnect(string [hostname], string [username], string [password]) 영구적으로 MySQL데이터베이스 서버에 접속한다. ※ 참고 영구적인 데이터베이스 접속이란? 스크립트가 종료되어도 데이터베이스 접속을 끊는것이 아니라 SQL링크를 닫지 않는것을 말한다. ..

DataBase 2008.06.25

mysql 관련 함수

숫자관련 함수 ABS(숫자) : 절대값 출력. select abs(123); CEILING(숫자) : 값보다 큰 정수 중 가장 작은 수. 양수일 경우는 소숫점 자리에서 무조건 반올림(4.0과 같은 소숫점 자리 0 값은 제외) 음수일 경우는 소숫점 자리를 무조건 버림 select ceiling(4.0); select ceiling(4.1); select ceiling(4.9); FLOOR(숫자) : 값보다 작은 정수 중 가장 큰 수[실수를 무조건 버림(음수일 경우는 제외)]. 음수일 경우는 [.0/.00/.000/...] 을 제외하고 무조건 소숫점을 버리고 반내림(?) select floor(4.0); select floor(4.1); select floor(4.9); select floor(-4.6789..

DataBase 2008.05.29