티스토리 뷰
CHAP 8장 데이터 및 동시성 관리
- SQL사용법을 통해 데이터 관리
- PL/SQL 객체 식별 및 관리
- 트리거 및 트리거 이벤트 설명
- lock 충돌 모니터 및 해결
INSERT명령
한번에 하나의 행을 생성
다른 데이블의 여러 행을 삽입한다.
예
insert into dept_80 (select * from employees where department_id = 80);
하나 이상의 테이블에서 다른 테이블로 데이터를 대량으로 로드
insert into just_names (first, last)
(select first_name, last_name from employees);
UPDATE 명령
테이블의 0개 이상의 행을 변경이 가능하다.
DELETE 명령
테이블의 0개 이상의 행을 제거한다.
MERGE명령
단일 명령으로 INSERT및 UPDATE를 수행이 가능하다.
COMMIT및 ROLLBACK명령
다음 명령은 트랜잭션을 완료하는 데 사용됩니다.
COMMIT : 변경 사항을 영구적으로 적용
ROLLBACK : 변경 사항을 되돌린다.
PL/SQL
Oracle의 PL/SQL은 4세대 프로그래밍 언어로 다음과 같은 기능 제공
- SQL의 절차적 확장
- 플랫폼과 제품 간의 이식성
- 높은 수준의 보안 및 데이터 무결성 보호
- 객체 지향 프로그래밍 지원
PL/SQL 객체 관리
DBA는 다음을 수행이 가능함.
- 문제가 되는 PL/SQL 객체 식별
- 적절한 PL/SQL 사용법 제안
- DB로 PL/SQL 객체 로드
- PL/SQL 개발자의 문제 해결 지원
PL/SQL객체
다양한 유형의 PL/SQL 데이터 베이스 객체가 있습니다.
- 패키지
- Package Body
- Type Body
- 프로시저
- 함수
- 트리거
Lock
- 다중 세션에서 동일한 데이터를 동시에 변경하는 것을 방지합니다.
- 주어진 명령문에 대해 가능한 가장 낮은 레벨에서 자동으로 획득됩니다.
- escalate하지 않습니다.
SQL> LOCK TABLE employees IN EXCLUSIVE MODE;
이 명령을 통해 lock된 테이블에서 행을 갱신하려는 다른 트랜잭션은 lock요청을 실행한 트랜잭션이 완료될 때가지 대기해야 합니다.
몇가지 Lock모드
- ROW SHARE : lock된 테이블에 대한 동시 엑세스를 허용하지만 세션이 배타적 엑세스를 위해 전체 테이블을 lock하는 것은 금지합니다.
- ROW EXCLUSIVE : ROW SHARE와 동일하지만 SHARD모드에서 lock를 금지합니다.
- SHARE : 동시 query는 허용하지만 lock된 테이블에 대한 갱신은 금지합니다.
Enqueue 메커니즘
- lock을 대기하는 세션
- 요청된 lock모드
- 세션에서 lock을 요청하는 순서
- lock요청은 자동으로 큐에 저장됩니다. lock을 보유하는 트랜잭션이 완료되면 대기 중인 다음 세션이 lock을 보유하게 됩니다.
- Enqueue 메커니즘은 lock이 요청된 순서와 요청된 lock모드를 추적합니다.
- lock을 이미 보유한 세션은 큐의 끝으로 이동하지 않고 해당 lock의 변환을 요청할 수 있습니다.
Lock 충돌 유발 원인
- 커밋되지 않은 변경 사항
- 장기 실행 트랜잭션
- 필요 이상으로 높은 lock레벨
Lock충돌 감지
Enterprise Manager의 Blocking Sessions페이지를 사용하여 lock충돌을 찾습니다.
Session ID링크를 눌러 실제 SQL문을 포함하여 lock세션에 대한 정보를 확인합니다.
Lock충돌 해결
- lock을 보유하는 세션을 커밋 또는 롤백합니다.
- 최후의 수단으로 lock을 보유하는 세션을 종료합니다.
세션이 종료된 유저를 다시 실행하려고 할때 다음과 같은 오류 발생
ORA-03135 : connection lost contact
SQL을 사용하여 Lock충돌 해결
STEP1
SQL> select sid, serial#, username
from v$session where sid in
(select blocking_session from v$session)
STEP2
SQL> alter system kill session '144,8982' immediate;
- Total
- Today
- Yesterday
- 원도우 보안
- 클리카
- AI무료이미지만들기
- Ad Hoc Network
- IEEE 802
- IEEE 802.11
- DNP
- 군번
- 정보 검색
- Feistel
- Infrastructure mode
- 모스버거 100엔대
- 디지탈 카메라
- 블럭 암호
- 성산일출봉
- Channel Bonding
- 스테이블 디퓨전
- XP백업
- xperia x1
- Ad Hoc mode
- bias #신경망
- 보안 추천 웹사이트
- 경량화
- Backtrack
- 하이브리드 암호
- 관광 일본 신기획
- 월드IT쇼
- 광치기해변
- 무선랜의 통신표준
- OWASP
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |