mysql replication 동기화 늦어지는 문제 skip-networking 옵션값을 off시켜야 한다. # etc/my.cnf 파일에서 아래처럼 주석처리 하면 된다. #skip-networking
[콘솔에서 커넥션수 알아내기] # mysqladmin -u root -p 비밀번호 | grep max_connection | max_connections | 100 [mysql에서 커넥션수 알아내기] show variables like '%max%';
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 파일에 생성 됨
# 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 -> 데몬 재시작으로 적용한다
mysql Replication 이용 중 마스터 디비의 데이터가 슬래이브 디비의 데이터에 반영되지 않을 경우 슬래이브 상태를 확인했을 때 아래와 같은 에러가 발생할 수 있다. 101008 19:48:58 [ERROR] Slave: Error 'Duplicate entry '222' for key 1' on query. Default database: 'M_SERVICE'. Query: 'INSERT INTO T_LOTTO_MY ( MY_SEQ,USERNO,NUM1,NUM2,NUM3,NUM4,NUM5,NUM6,GAME_NUM,RANK,PRIZE,UPDATE_DATE ) VALUES ( null,'620013149754',4,18,25,44,16,8,409,'0',0,NOW() )', Error_code: 1062 원인은 슬래이브 데이터베이스에 갱신된 데이터를 쓰로고 할때 발생하는 에러이다. 슬래이브는 에러가 발생하면 더이상 마스터로부터 갱신된 데이터를 반영하지 않는다. 하지만 다행스럽게도 마스터에서의 갱신 정보는 슬래이브에 쌓여있어 위 문제를 해결하여 Replication을 정상화 시킬 수 있다. 해결책) 1. 슬래이브 상태를 멈춘다
ERROR 2006 (HY000) at line 2631: MySQL server has gone away 정해진 패킷 사이즈 또는 timeout 을 초과하게 되면 아래와 같은 오류를 발생 이에 대한 해결책은 아래처럼 값을 임의로 조정. # vi /etc/my.cnf <-- 수정 max_allowed_packet = 1000M wait_timeout = 1200000 interactive_timeout = 10 connect_timeout = 100000
# Linux9 + oracle9i 시스템에서 DB생성하가다 발생한 에러 [oracle@server oracle]$ ./dbca Initializing Java Vertual Machine from /tmp/OraInstall/jre/bin/jre. Pleae wait... /tmp/OraInstall/jre/bin/../lib/i686/green_threads/libzip.so: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference (libzip.so) Unable to initialize threads: cannot find class java/lang/Thread Could not create Java VM I tried setting LD_ASSUME_KERNEL=2.4.1 but it still doesn't work.Please help. Thanks # 해결방법 [oracle@server oracle]$ export LD_ASSUME_KERNEL=2.4.1
마스터 + 배포 + 슬레이브 서버로 구성 구성후 복제에이전트를 구동하면 슬레이브 디비에 연결되지 못하고 에이전트가 다운됨 배포서버에 이런 에러가 나옵 [Tue Aug 3 13:45:42 2010] : ERROR(178023): can't connect to the slave. - demodb2 [Tue Aug 3 14:15:30 2010] : ERROR(178023): can't connect to the slave. - demodb2 [Tue Aug 3 14:39:14 2010] : ERROR(178023): can't connect to the slave. - demodb2 [Tue Aug 3 17:16:32 2010] : ERROR(178023): can't connect to the slave. - demodb2 확인할 사항 1 배포DB에 dba 로 접속해서 select * from slave_info 결과 중 master_ip 값이 실제 슬레이브DB의 정보와 동일한지 확인 필요 확인할 사항 2 마스터 서버와 슬래이브 서버간 통신 상태를 확인. 배포데이터베이스 구성시 복제 서버 포트를 지정했을 것인데 관련 포트의 연결이 가능한지를 확인해 본다. 또한
출처 : 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
큐브리드 설치후 시작할때 아래와 같은 에러가 날 경우 에러) 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 =>
ora-00000 성공적인 정상 종료입니다. ora-00001 유일성 제약조건(%s.%s)에 위배됩니다. ora-00017 트레이스 이벤트 설정이 세션에 요구되었습니다. ora-00018 최대 세션 수를 초과했습니다. ora-00019 최대 세션 라이선스 수를 초과했습니다. ora-00020 최대 프로세스 수(%s)를 초과했습니다. ora-00021 세션이 다른 프로세스에 첨부되어 있음; 세션을 변경할 수 없습니다. ora-00022 부적절한 세션 번호; 액세스가 거절되었습니다. ora-00023 세션이 프로세스 고유의 메모리를 참조함; 세션을 분리할 수 없습니다. ora-00024 단일 프로세스 모드에서는 하나 이상의 프로세스가 로그인할 수 없습니다. ora-00025 %s에 메모리를 할당하는데 실패했습니다. ora-00026 누락 혹은 부적합한 세션 번호 ora-00027 현 세션을 제거할 수 없습니다. ora-00028 세션이 제거되었습니다. ora-00029 사용자 세션이 아닙니다. ora-00030 사용자 세션 id가 존재하지 않습니다. ora-00031 세션이 중단될 것입니다. ora-0
1. TABLE 생성 CREATE TABLE mytable ( no INTEGER NOT NULL, name CHAR(15) NULL ); 2. PRIMARY KEY 생성 ALTER TALBE mytable ADD ( PRIMARY KEY (no)); 3. FOREIGN KEY 생성 ALTER TABLE mytable ADD( FOREIGN KEY (no) REFERENCES name ); 4. PK RENAME ALTER INDEX SYS_C00555 RENAME TO PK_no; 5. FOREIGN KEY 는 물려있는 글중에 상위글이 지워지면 하위글도 지워지는 쿼리 ON DELETE CASCADE 추가. 미 추가시 삭제할때 에러발생 ALTER TABLE mytable ADD( FOREIGN KEY (no) REFERENCES mytable on delete cascade );