[root@ktoplogapdev03 ~]# fdisk -l Disk /dev/xvda: 107.3 GB, 107374182400 bytes255 heads, 63 sectors/track, 13054 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/xvda1 * 1 131 1052226 83 Linux/dev/xvda2 132 4047 31455270 83 Linux/dev/xvda3 4048 6658 20972857+ 83 Linux/dev/xvda4 6659 13054 51375870 5 Extended/dev/xvda5 6659 9269 20972826 83 Linux/dev/xvda6 9270 11880 20972826 83 Linux/dev/xvda7 11881 12924 8385898+ 82 Linux swap / Solaris/dev/xvda8 12925
큐브리드 설치후 시작할때 아래와 같은 에러가 날 경우 에러) root@ora:/opt/install# cubrid service start cubrid: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory 해결방법) libncurses라는 라이브러리를 찾지 못해서 에러가 난 경우다 root@ora:/opt/install# ldd /var/lib/cubrid820/bin/cubrid linux-gate.so.1 => (0xffffe000) libcubridsa.so.8 => /var/lib/cubrid820/lib/libcubridsa.so.8 (0xf6aeb000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xf6a13000) libncurses.so.5 => not found libpthread.so.0 => /lib/tls/libpthread.so.0 (0xf6a01000) libdl.so.2 =>
# 큐브리드 에러 코드 error code = -81 # 큐브리드 버전 : 8.2.2 # 에러내용 Time: 05/12/10 19:43:18.316 - FATAL ERROR *** ERROR CODE = -81, Tran = 2, CLIENT = (unknown):(system)(-1), EID = 1 Internal error: logical log page 1121169 may be corrupted. *** The previous error message is the last one. *** 논리적인 문제로 페이지가 손상된 상황으로 보여짐 백업된 데이터를 확인하여 restoredb로 복구가 가능함 복구시 메세지 시간을 파악하고 -d 옵션으로 안정된 시간으로 복구하면 된다. 데이터는 손실될 수 있으니 먼저 백업받으면 좋음 # 명령어 예 cubrid restoredb -d 05-11-2008:10:58:00 --level 0 -p 디비명
출처 : http://blog.naver.com/cubebridge?Redirect=Log&logNo=20096666579 변별력이 떨어지는 index는 insert의 성능을 크게 저하시킵니다. 변별력이 떨어지는 index란? index의 분포가 좋지 않은 것으로 칼럼의 값이 하나의 값으로 몰려있거나 적은 수의 값이 많은 량의 데이터를 차지하는 경우입니다. 테스트현황:500만건의 데이터를 변별력이 없는 index가 설정되어 있는 경우와 변별이 있는 index가 설정되어 있는 경우로 나줘 TPS와 QPS를 비교한 결과를 바탕으로 설명합니다.측정수단: cubrid broker status -b로 TPS,QPS를 확인합니다.테이블 상태: 1. 테이블에 index 3개가 설정되어 있습니다.2. PK, UNIQUE, FK 키가 있으며, FK가 참조하고 있는 테이블은 단 하나의 값('0')을 가지고 있습니다.3. insert문이 수행 될수록 FK칼럼에 값은 계속적으로 '0'이 입력되도록 되어있습니다.변별력 없는 FK가 있는 상태로 진행(FK는 index이다.) 테스트 시작:JDBC를 이용하여, insert문 데이터를 500만건이 입력되도록 설정합니다.초기(REQ
# Mysql bin log 로테이션 방법 vi /etc/my.cnf ------------------------------------- log-bin=mysql-bin binlog_cache_size = 1M max_binlog_size = 100M expire_logs = 7 ------------------------------------- 로그파일 사이즈를 100M로 하고 갯수는 7개로 제한하는 설정이다. /etc/init.d/mysqld restart -> 데몬 재시작으로 적용한다
cubrid 에서 슬로우 쿼리 뽑기(cubrid slow query) 명령어는 큐브리드 브로커 로그가 있는 곳에서 실행한다. # 하나의 로그 파일에서 슬로우 쿼리 뽑기 broker_log_top broker1_1.sql.log # 모든 로그 파일에서 슬로우 쿼리 뽑기 broker_log_top *.log # 특정 기간동안 슬로우 쿼리 뽑기 - 11월 11일부터 11월 12일까지 생성된 SQL 로그에서 슬로우 쿼리 뽑기 - 월과 일은 공백으로 구분한다 - Windows에서는 "*.sql.log"를 인식하지 않으므로 SQL 로그 파일들을 공백으로 구분해서 나열해야 한다. broker_log_top -t -F "11 11" -T "11 12" *.sql.log # 결과 확인 $CUBRID_PATH/log_top.q 파일에 생성 됨
[콘솔에서 커넥션수 알아내기] # mysqladmin -u root -p 비밀번호 | grep max_connection | max_connections | 100 [mysql에서 커넥션수 알아내기] show variables like '%max%';
mysql replication 동기화 늦어지는 문제 skip-networking 옵션값을 off시켜야 한다. # etc/my.cnf 파일에서 아래처럼 주석처리 하면 된다. #skip-networking
alter table 을 이용해서 기존의 생성된 테이블의 엔진(Heap, MyIsam, InnoDB...)을 변경하기 [테이블의 엔진 변경하기] 형식) ALTER TABLE [테이블명] ENGINE=[변경할 타입명] 형식) ALTER TABLE `tc_BlogStatistics` ENGINE = InnoDB 형식) ALTER TABLE `tc_BlogStatistics` ENGINE = MyIsam
mysql 컴파일시 에러 error : checking for termcap functions library... configure: error: No curses/termcap library found (termcap 라이브러리를 찾을수 없어서 에러가 발생) * libtermcap 라이브러리는 libtermcap-devel 패키지에 포함되어 있다. termcap , libtermcap, libtermcap-devel이 설치되어 있는지 확인한다. 없는 패키지를 설치하고 컴파일한다.
# MySQL 종료 명령어 mysqladmin -uroot -p shutdown 다음mysqld_safe # MYSQL 재시작 명령어 mysql-dir/bin/mysqld_safe &
# ================================================================================ # key_buffer : # 인덱스를 위한 버퍼크기, 키 버퍼의 크기는 공유된쓰레드의 크기이며 중복된 키를 자주 # 사용할 경우 속도를 높일 수 있고, 기준은 show status 명령을 했을 때 # Key_blocks_used를 체크해서 key_buffer 사이즈를 줄이던가 늘리던가 해야 한다. # 일반적인 key_buffer 의 크기는 Key_blocks_used*1024 로 잡으면 된다. # Key_reads 가 크다면, key_buffer_size 변수가 너무 작은 것이다. # 대용량 테이블일 경우 쿼리가 느리다면, 인덱스 버퍼 크기가 작아서 느릴 수 있으므로 # key_buffer 크기를 늘려 주어야 한다. # show status 명령에서 다음과 같이 계산되는 것이 key_buffer 설정이 적당한 것이다. # Key_reads/Key_read_request < 0.01 [ 0.00112318293327 ] # key_write/key_write_request = 1 [ 0.07631015
큐브리드 loaddb할 때 순서(이 순서대로 할때 좋음) 스키마 -> 데이터 -> 인덱스 # loaddb 명령어cubrid loaddb -u dba -v -s "스키마" "데이터베이스명"cubrid loaddb -u dba -p "비번" -v -c 5000 -d "데이터" "데이터베이스명"cubrid loaddb -u dba -p "비번" -v -i "인덱스" "데이터베이스명"
Mysql lock 걸린 프로세스 중지시키기 mysqladmin -u root -p"passwd" kill "NO" for i in `mysqladmin -h x.x.x.x --user=root -pXXXX processlist |grep <username>| grep <Locked>|awk {'print $2'}` domysqladmin -h x.x.x.x --user=root -pXXX kill $i;done;
# 업데이트UPDATE 데이터베이스명.테이블명 SET 변경될컬럼 ='변경될컬럼값' WHERE 변경할컬럼값='변경할컬럼값';