본문 바로가기
반응형

환's World Story80

트랜잭션(Transaction)이란 무엇인가? 기본 개념과 중요한 이유! 트랜잭션이란?많이 들어봤지만 막상 트랜잭션이 정확히 무엇인지 감이 오지 않는 분들이 많을 것입니다. 간단히 말해, **트랜잭션(Transaction)**은 데이터베이스에서 여러 작업이 하나의 완전한 작업 단위로 처리되도록 보장하는 기술입니다. 특히 금융권이나 전자상거래 시스템에서 트랜잭션은 아주 중요한 역할을 합니다. 이는 Java와 데이터베이스가 데이터를 주고받을 때 **원자성(Atomicity)**을 유지하는 핵심 수단이죠.예시: 쇼핑몰 결제 시스템에서 트랜잭션의 역할예를 들어, 회원이 쇼핑몰에서 상품을 구매한다고 할 때, 트랜잭션은 매우 중요한 역할을 합니다:회원의 잔여금액을 확인하고,선택한 상품의 재고가 있는지 확인한 뒤,재고가 있다면 잔여금액에서 상품 가격만큼 차감합니다.이 모든 과정이 하나의 .. 2015. 1. 30.
오라클 TRUNCATE와 DELETE의 차이점 총정리! TRUNCATE와 DELETE는 모두 테이블 데이터를 삭제할 때 사용하는 명령어이지만, 성능과 동작 방식에서 여러 차이점을 보입니다. 이번 포스팅에서는 TRUNCATE와 DELETE의 차이를 간단하고 쉽게 설명해 드리겠습니다.1. 속도 차이TRUNCATE는 테이블의 크기에 관계없이 매우 빠르게 실행됩니다.반면, DELETE는 삭제한 데이터를 복구할 수 있도록 언두(undo) 정보를 생성하고, 이 과정에서 로그 파일에 기록을 남기기 때문에 TRUNCATE보다 속도가 느립니다.2. DDL과 DML의 차이TRUNCATE는 DDL(Data Definition Language) 명령어로, 실행 즉시 자동으로 커밋이 수행됩니다.즉, TRUNCATE를 실행하면 롤백이 불가능합니다. 만약 TRUNCATE 전에 커밋하지.. 2015. 1. 27.
오라클 숫자 처리 함수 정리(반올림, 올림, 버림, 나머지, 승수) 1. 올림 (CEIL)CEIL 함수는 소수점 첫째 자리에서 무조건 올림 처리를 합니다. 특정 자리수에서의 올림은 제공되지 않으며, 소수점 바로 다음 자리에서 올림을 수행합니다.SELECT CEIL(11.01) FROM DUAL;-- 결과: 122. 나머지 (MOD)MOD 함수는 두 수를 나눴을 때 나머지를 반환합니다. 예를 들어, 10 MOD 5의 결과가 0인 경우, 10은 5로 나누어 떨어진다는 의미입니다.SELECT DECODE(MOD(10, 5), 0, '5로 나누어 나머지가 0임', '나머지가 0이 아님') FROM DUAL;-- 결과: '5로 나누어 나머지가 0임'3. 승수 (POWER)POWER 함수는 거듭제곱을 계산할 때 사용됩니다. 예를 들어, 3의 2승 또는 2의 10승 등의 계산을 수행.. 2015. 1. 14.
오라클 LOCK 완벽 가이드: DML, DDL 잠금 유형부터 해결 방법까지 오라클 LOCK의 모든 것: 개념, 사용 방법, 예시까지데이터베이스에서 다중 사용자가 동시에 접근해 데이터를 수정하는 경우, 데이터의 무결성과 안정성을 보장하는 것이 중요합니다. 오라클(Oracle)에서는 이러한 상황에서 LOCK을 사용하여 데이터를 보호합니다. 이번 포스팅에서는 오라클의 LOCK 개념부터 각 잠금 유형, 그리고 실무에서 활용할 수 있는 예시와 해결 방법까지 자세히 다뤄보겠습니다.오라클 LOCK이란?오라클 LOCK은 여러 사용자가 동시에 데이터를 수정하는 경우 발생할 수 있는 데이터 충돌을 방지하기 위해 사용됩니다. LOCK은 크게 DML LOCK과 DDL LOCK으로 구분되며, 각각의 역할이 다릅니다.오라클의 주요 LOCK 유형1) DML LOCKDML Lock은 다중 사용자가 동시에 .. 2015. 1. 14.
이클립스 로딩화면 변경 오늘은 이클립스의 지루한 로딩화면을 바꿔보겠습니다. ↓↓↓↓↓↓↓ 요롷게욤(:: 아... 한예슬....) 설명부터 드리면 이클립스는 로딩화면을 bmp 이미지로 보관하고 사용합니다. 그 이미지 파일을 찾아 원하는 이미지로 대체하면!! 변경된 로딩화면을 볼 수 있습니다. 사실 로딩 화면을 바꾸는 방법은 크게 두가지 입니다. configuration\config.ini 의 osgi.splashPath=osgi.splashPath=platform\:/ 의 경로로 변경해 주는 방법그리고 제가 소개한 이미지 자체를 변경하는 방법 어떤 방법을 사용하셔도 상관없습니다. 어떤 방법이 좋을 것도 없고 나을 것도 없습니다. 어떤 방법을 사용하든 원하는, 편한 방법으로 하시면 됩니다. 이클립스 기본 로딩 이미지가 있는 경로입.. 2015. 1. 9.
TOMCAT PROCESS 강제종료 Tomcat 서버를 이용해서 이클립스로 개발을 하다보면 이클립스가 불완전종료 될 때가 있다. 이럴때 이클립스를 다시 실행하고 톰캣서버를 실행하면 포트 충돌이라고 톰캣서버가 실행되지 않는다는 오류창이 열린다. 이클립스가 불완전 종료 되면서 톰캣이 열어놓은 포트(8080)를 미처 닫지 못했기 때문이다. 이럴때 보통 재부팅을 하게 되는데. 재부팅을 하게되면 열어놓았던 창들과 준비해놓은 자료들 때문에 조금 재부팅하기 아까운게 사실이다. 이럴 때 사용할 수 있는 팁이다. 1. cmd를 관리자모드로 실행 2. 명령어 netstat 를 실행해주는데 옵션을 붙여준다. - netstat - nap tcp | find "LISTEN" -> 현재 local컴퓨터에 열린 포트 중에 tcp만 보여준다. - netstat -an.. 2014. 12. 16.
Oracle DB link & synonym 개념 정리 1. 데이터베이스 링크란?데이터베이스 링크(Database Link)는 현재의 데이터베이스에서 네트워크상의 다른 데이터베이스에 접속하기 위한 접속 설정을 정의하는 오라클 객체입니다. 예를 들어, 'A' DB에서 'B' DB로 데이터를 조회하거나 변경할 수 있는 기능을 제공합니다. 단, 데이터베이스 링크는 단방향으로 동작하기 때문에, 상대 데이터베이스에서 이쪽 데이터베이스를 보려면 양쪽 모두에 각각 링크 설정이 필요합니다.주의: DB 링크는 세션 연결이 지속되기 때문에 로컬 DB의 연결을 끊거나, commit/rollback을 수행해 세션을 종료해야 합니다.2. 데이터베이스 링크 생성 명령어CREATE [PUBLIC] DATABASE LINK link_name CONNECT TO username IDENT.. 2014. 10. 8.
Oracle 테이블스페이스(TableSpace) 개념 정리 1. 테이블스페이스란?테이블스페이스는 테이블이 저장되는 물리적인 공간을 의미합니다. 오라클에서는 테이블을 생성하기 전에 데이터를 저장할 테이블스페이스를 먼저 만들어야 합니다. 이렇게 테이블스페이스를 나누어 관리하면, 성능 향상과 관리의 효율성을 얻을 수 있습니다.테이블스페이스는 미리 정의된 용량만큼 공간을 확보하며, 생성된 테이블스페이스에 데이터가 저장됩니다. 예를 들어, 게시판 테이블의 데이터를 100MB 용량의 테이블스페이스에 저장하고, 용량이 초과될 경우 자동으로 10MB씩 확장되도록 설정할 수 있습니다.2. 테이블스페이스 생성 및 관리테이블스페이스 생성 과정SYS 계정으로 접속하여 테이블스페이스를 생성합니다.SCOTT2 유저를 생성하고, 기본 테이블스페이스로 Mytablespace를 설정합니다.S.. 2014. 9. 26.
오라클(Oracle) 대용량 데이터 토드(Toad)를 이용해서 넣기 테스트 용으로 전국 우편번호 주소를 사용하였다. 매번 수정되면 업그레이드 해야되니이번 기회에 알아두는 것도 나쁘지 않을거 같다.  데이터를 넣기 전에 미리 Toad 에 테이블을 생성해 놔야 한다.위 내용에서 처럼 필드길이에 값을 넣고 생성한다.   데이터를 import 하기위해서 Database > Import > Import Table Data 선택한다. 화면이 나오면 object name 란에 위에서 만든 Table 을 선택한다.그리고 오른쪽에 Show Data 를 클리해서 아래 리스트에 표시한다.   다음 페이지에 가면 import 할 파일을 추가하는 화면이 나온다.여러가지가 있지만 다운받은 포맷으로 선택하자. 그리고 파일의 위치를찾아서 넣고 다음을 누른다.   파일에 데이터를 구분하는 구분자를 선.. 2014. 9. 24.
오라클에서 varchar 와 varchar2 의 차이점 오라클에서 varchar 와 varchar2 를 아무 생각없이 사용하고 있었는데한번쯤은 무슨 차이가 있는지 알아볼 필요가 있었습니다. 이 두개의 데이터 유형은 동일한 의미의 가변길이 문자열 입니다.둘다 데이터 길이의 상한치는 4000 바이트 입니다. 이렇게 두개의데이터 유형은 동일합니다. 하지만 오라클 측에서 장래에 varchar 를다른 용도로 사용할 예정이라고 합니다. 그래서 varchar 데이터 유형은권장하지 않습니다.  Varchar2 의 가변길이 문자열 형식은 4000 바이트 이상 넘어갈 경우에러를 발생시킵니다. 테이블의 컬럼명은 30자 까지 사용이 가능합니다.이렇게 varchar 와 varchar2 는 동일하게 간주되고 있지만 미래에Varchar 는 다른 용도로 사용을 할 예정이라고 합니다.그러.. 2014. 9. 24.
Oracle DB 에서 Toad 를 사용하여 Procedure 디버깅 하기 Oracle DB 에서 Toad 를 사용하여 Procedure 디버깅 하기   개발환경 : window 7 64bit, Toad  이제는 프로그램 개발시 디버깅이 빠질수 없다. 제대로 테스트하고개발 시간을 줄이기 위해서는 디버깅을 할줄 알아야 한다.DB 프로시저를 짤 때 간단한 내용이면 상관없겠지만조금 복잡하게 들어가면 다양한 변수가 있기 때문에 필히디버깅을 사용해 완성시켜야 한다. Toad 에서는 디버깅 기능을 제공하고 있는데 쉽게사용가능하다. 메뉴 > Debug 에 그 기능들이 있다.  테스트를 위해 프로시저를 하나 만들던지 아니면 Oracle 에서 만들어둔 프로시저를 선택한다. 그리고 더블클릭하면 디버깅할수 있는 창이뜨게 된다.   메뉴에서 F11 을 눌러 디버깅을 시작하던지 아니면 오른 마우스를클.. 2014. 9. 24.
Toad 에서 프로시저, 테이블, 함수, 등의 Schema 를 파일로 저장하는 방법 Toad 에서 프로시저, 테이블, 함수, 등의 Schema 를 파일로 저장하는 방법   개발환경 : JDK 1.5, Toad for oracle 9.7 , window XP  프로젝트가 끝나고 이관할때나 데이터베이스를 바꾸고자 할 때모든 스키마 정보를 백업받아 옮길 데이터베이스에서 실행한다.그럴 때 이전 DB 에서 셋팅해놓은 환경정보를 백업받는 방법에대해 알아본다.  1. 개별 백업  각각의 테이블이나 함수, 프로시저등을 개별적으로 백업받는방법은 Schema Browser 를 연다. 왼쪽 오브젝트 리스트중파일로 백업받고자 하는 것을 선택하고 오른 마우스 클릭한다.그리고 Save As 를 선택하면 백업을 위한 화면이 뜬다. 화면에서 Export format 의 형태를 선택한후 저장을 누르면 형태에 맞게데이.. 2014. 9. 24.
반응형