본문 바로가기

[Oracle] Lock 확인 및 Lock 해제 Lock확인 및 Lock해제는 sys, system 계정으로 sqlplus 및 toad 접속하여 아래의 명령을 실행한다. 1. Lock 걸린 테이블 및 세션 확인 1) SID, 시리얼번호, 테이블명 확인SELECT a.sid, a.serial#, a.username, a.process, b.object_name, DECODE(c.lmode,2,'RS',3,'RX',4,'S',5,'SRX',8,'X','NO') "TABLE LOCK", DECODE(a.command,2,'INSERT',3,'SELECT',6,'UPDATE',7,'DELETE',12,'DROP TABLE',26,'LOCK TABLE','UNknown') "SQL", DECODE(a.lockwait, NULL,'NO wait','Wait') .. 더보기
Oracle PL/SQL 강좌 9. Trigger(트리거) 트리거란? INSERT, UPDATE, DELETE문이 TABLE에 대해 행해질 때 묵시적으로 수행되는 PROCEDURE 이다. 트리거는 TABLE과는 별도로 DATABASE에 저장 된다. 트리거는 VIEW에 대해서가 아니라 TABLE에 관해서만 정의 될 수 있다. 행 트리거 : 컬럼의 각각의 행의 데이터 행 변화가 생길때마다 실행되며, 그 데이터 행의 실제값을 제어할 수 있다. 문장 트리거 : 트리거 사건에 의해 단 한번 실행되며, 컬럼의 각 데이터 행을 제어 할 수 없다.트리거 문법- BEFORE : INSERT, UPDATE, DELETE문이 실행되기 전에 트리거가 실행 된다.- AFTER : INSERT, UPDATE, DELETE문이 실행된 후 트리거가 실행 된다.- trigger_event :.. 더보기
Oracle PL/SQL 강좌 8. Package(패키지) 패키지(package)는 오라클 데이터베이스에 저장되어 있는 서로 관련있는 PL/SQL 프로지져와 함수들의 집합 이다. 패키지는 선언부와 본문 두 부분으로 나누어 진다.패키지 선언절 문법- 선언절은 패키지에 포함될 PL/SQL 프로시저나, 함수, 커서, 변수, 예외절을 선언 한다.- 패키지 선언부에서 선언한 모든 요소들은 패키지 전체에 적용 된다.- 즉 선언부에서 선언한 변수는 PUBLIC 변수로 사용 된다.패키지 본문 문법- 패키지 본문은 패키지에서 선언된 부분의 실행을 정의 한다.- 즉 실재 프로시져나 함수의 내용에 해당하는 부분이 온다.아래는 네 개의 프로시저를 하나의 패키지로 생성하는 아주 간단한 예제이다.프로시저명프로시저 기능all_emp_info모든 사원의 사원 정보 (사번, 성명, 입사일)a.. 더보기
Oracle PL/SQL 강좌 7.5. SQLCODE, SQLERRM SQLCODE, SQLERRM 구문을 사용해서 WHEN OTHERS문으로 트랩(Trap)되는 오류들의 실제 오류 코드와 설명을 볼 수 있다. SQLCODE : 실행된 프로그램이 성공적으로 종료하였을때는 오류번호 0을 포함하며, 그렇지 못할 경우에는 해당 오류코드 번호를 포함한다. SQLERRM : SQLCODE에 포함된 오라클 오류 번호에 해당하는 메시지를 가진다.SQLCODE Value설 명0오류 없이 성공적으로 종료1사용자 정의 예외 번호+100NO_DATA_FOUND 예외 번호음수위에 것을 제외한 오라클 서버 에러 번호SQLCODE, SQLERRM 예제 SQL> CREATE OR REPLACE PROCEDURE Errcode_Exception (v_deptno IN emp.deptno%type ) .. 더보기
Oracle PL/SQL 강좌 7.4. 사용자 정의 예외(User-Defined Exceptions) 오라클 저장함수 RAISE_APPLICATION_ERROR를 사용하여 오류코드 -20000부터 -20999의 범위 내에서 사용자 정의 예외를 만들수 있다. - STEP 1 : 예외의 이름을 선언 (선언절) - STEP 2 : RAISE문을 사용하여 직접적으로 예외를 발생시킨다(실행절) - STEP 3 : 예외가 발생할 경우 해당 예외를 참조한다(예외절)사용자 정의 예외 예제 -- 입력한 부서의 사원이 5명보다 적으면 사용자 정의 예외가 발생하는 예제 SQL> CREATE OR REPLACE PROCEDURE User_Exception (v_deptno IN emp.deptno%type ) IS -- 예외의 이름을 선언 user_define_error EXCEPTION; -- STEP 1 cnt NUMBE.. 더보기