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
큐브리드 설치후 시작할때 아래와 같은 에러가 날 경우 에러) 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 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
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. 슬래이브 상태를 멈춘다
# 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 변경할컬럼값='변경할컬럼값';