본문 바로가기

개발 관련 지식

[오라클] 테이블별 용량 확인 방법 * 테이블별 용량 확인 방법 select owner,segment_name,segment_type,sum(bytes)/1024/1024 as MBfrom dba_segmentswhere segment_type='TABLE'and segment_name = '[USER명]'GROUP BY owner,segment_name,segment_type; [참고] segment_type 조건절에 위와 같이 'TABLE' 을 넣으면 테이블 용량만 조회되고, 'INDEX' 를 넣으면 인덱스 용량이 조회된다. 더보기
[오라클] ORA-21561 : OID generation failed 문제 해결 * ORA-21561 : OID generation failed 문제 해결 * 현상: sqlplus 를 통해 외부 장비의 DB 에 접속하려 하였으나, ORA-21561 : OID generation failed 에러가 발생 * 원인: /etc/hosts 내의 자신의 호스트명이 없을 경우 * 해결1) hostname 명령어를 통해 호스트명을 확인한다.2) /etc/hosts 내의 아래와 같이 내용을 추가한다.127.0.0.1 localhost [호스트명] 더보기
[MySQL] 백업 및 복구 * 백업 및 복구 1. MySQL 백업 1) mysqldump 명령어* 전체 Database 백업 mysqldump -uroot -p -A > [백업 받을 파일명].sql * 특정 Database 백업 mysqldump -uroot -p [DB명] > [백업 받을 파일명].sql * 특정 테이블 백업 mysqldump -uroot -p [DB명] [테이블명] > [백업 받을 파일명].sql [참고] -A, --all-databases : 모든 DB 덤프-B, --databases : 특정 DB를 덤프 --opt : 버퍼링을 비확성화 하고, 많은 데이터를 덤프에 있는 소량의 SQL구문에 기록해 더효율적으로 동작하다록 한다.--lock-alltables : 전역적으로 일관된 백업을 만들도록 "FLUSH TA.. 더보기
[MySQL] MySQL 버전 5.5 이상 소스 설치(리눅스) * MySQL 버전 5.5 이상 소스 설치(리눅스) OS: Linux [장비명] 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux기존 MySQL : Server version: 5.0.95-log Source distribution 다른 MySQL 의 DB를 내가 사용하는 장비로 옮겨와야 하는 상황..하지만 MySQL 버전이 달라 mysqldump 로 옮겨지지 않는 상황이 발생하였다.위와 같이 이미 MySQL 이 설치되어 있는 상황..추가로 MySQL 을 설치하기 위해서는 소스로 설치해보기로 결정..설치할 MySQL : Server version: 5.6.15-enterprise-commercial-advan.. 더보기
[오라클] 오라클 ALTER TABLE 명령어 * 오라클 ALTER TABLE 명령어 - 테이블 column 추가 ALTER TABLE [테이블명] ADD([추가할 컬럼명] [데이터 타입]); ex) ALTER TABLE TEST_SONG ADD(TEST_TXT VARCAHR2(10)); - 테이블 column 명 변경 ALTER TABLE [테이블명] RENAME COLUMN [이전 컬럼명] TO [변경할 컬럼명]; ex) ALTER TABLE TEST_SONG RENAME COLUMN TEST_TXT TO TEST_TEXT; - 테이블 데이터 타입 변경 ALTER TABLE [테이블명] MODIFY([컬럼명] [변경할 데이터 타입]); ex) ALTER TABLE TEST_SONG MODIFY(TEST_TEXT NUMBER(10)); - 테이블 .. 더보기
[오라클] CPU 부하 SQL문 확인 방법(pid 이용) * CPU 부하 SQL문 확인 방법(pid 이용) 1. top 명령어 or ps -ef 를 통해 pid 를 확인 2. sql 접속하여 SQL 문 실행 select /*+ use_hash(a,b,c) */ a.username, a.program, a.machine, a.module, b.spid, a.sid, a.serial#, a.sql_hash_value, d.PHYSICAL_READS, d.BLOCK_GETS, c.sql_text from v$session a, v$process b, v$sql c, v$sess_io d where b.spid = '&pid' and b.addr = a.paddr and a.sid = d.sid and a.sql_hash_value = c.hash_value(+) a.. 더보기
[오라클] PLAN TABLE 생성 과정(10g) * PLAN TABLE 생성 과정(10g) 1. PLAN TABLE 생성 1) ORACLE_HOME/rdbms/admin 디렉토리 이동 2) PLAN 을 사용하고자 하는 USER 로 SQLPLUS 접속 3) @utlxplan.sql 4) PLAN TABLE 생성 확인 2. PLUSTRACE ROLE 생성 1) ORACLE_HOME/sqlplus/admin 디렉토리 이동 2) "/as sysdba" (admin 계정으로 SQLPLUS 접속) 3) @plustrce.sql 4) PLUSTRACE ROLE 생성 확인 3. PLUSTRACE ROLE 권한 부여 1) GRANT plustrace TO [사용할 user명] 4. 실행 계획 사용 1) PLAN 사용할 USER 로 SQLPLUS 접속 2) SET AU.. 더보기
[자바] C언어 getch()함수 대체 방법 * C언어 getch()함수 대체 방법 : 먼저 기대하고 왔을 분들에게 죄송하다는 말과 함께 많은 지식인들과 구글 검색을 통해 알아본 결과는 getch()함수를 대체할 함수가 존재하지 않는다는 것입니다. 그렇다고 방법이 아주 없는 것은 아니고, C라이브러리를 사용할 수 있는 JNI를 활용하면 가능합니다. 그 외에는 제가 드릴 수 있는 방법은 없는 듯 싶습니다. 누군가 이를 찾기 위해 고생하는 것을 막기 위해 이미 고생해본 경험자로써 이렇게 글을 남깁니다.. 혹시라도 방법을 찾게 되면 댓글로 남겨주시면 감사하겠습니다~!! 더보기
[C언어] getch, getche, getchar 함수 / system 함수 * getch, getche, getcher 함수 / system 함수 - getchar() : 문자 하나 입력 후 엔터 필요 - getch() : 문자 하나 입력 후 엔터 불필요(화면 미표시) - getche() : 문자 하나 입력 후 엔터 불필요(화면 표시) - system("cls") : 출력 내용 삭제 - system("mode con: cols=75 lines=25") : 콘솔창 크기 지정(왼쪽 숫자 : 가로 / 오른쪽 숫자 : 세로) 더보기
[자바] C언어 getchar, putchar 함수와 동일한 함수 * C언어 getchar, putchar 함수와 동일한 함수 1. System.in 이용 : System.in.read() / System.out.write() => C언어의 getchar, purchar와 다른점은 아스키코드로 읽고 써진다. [예제]while(true){ System.out.println("문자를 입력하세요:"); int i; try { i = System.in.read(); System.out.println(i); if(i=='e') break; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } 2. Scanner와 charAt 함수 이용 : Scanner의 nextLine()함수와.. 더보기