728x90

Programming 207

오라클 DB 세션 KILL 하는 방법

[ 오라클 DB 세션 KILL 시키는 방법 ] alter system kill session SID,SERIAL#; . SID, SERIAL# 은 아래를 참조하여 찾는다 - system계정으로 로그인 Select * From v$locked_object ; -- ⓐ Select * From v$session Where sid = '94' ; -- ⓐ 에서 조회 한 sid를 조건에 넣어 serial#를 찾는다 => 세션중 해당 TABLE에 대한 LOCK은 해제가 안되어서 재작업이 안되는 경우가 있을 경우 다음과 같이 조치 한다 1) alter 명령으로 KILL 됐는지 확인 select sid, serial#, status, server from v$session where status = KILLED; 2..

Programming/Oracle 2021.04.27

INVALID OBJECT RECOMPILE

테이블 컬럼 변경으로 인해 INVALID OBJECT 전체 재컴파일 하는 방법 1) 쿼리 실행 SELECT DECODE(OBJECT_TYPE, 'PACKAGE BODY', 'ALTER PACKAGE ' || OBJECT_NAME || ' COMPILE BODY;', 'ALTER ' || OBJECT_TYPE ||' '|| OBJECT_NAME || ' COMPILE;') FROM USER_OBJECTS WHERE STATUS = 'INVALID' AND OBJECT_TYPE IN ('PACKAGE BODY', 'PACKAGE', 'FUNCTION', 'PROCEDURE', 'TRIGGER', 'VIEW') ORDER BY OBJECT_TYPE, OBJECT_NAME; 2) 쿼리 결과를 전체 실행 3) 실..

Programming/Oracle 2021.04.27

ORACLE 에러코드

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에 메모리를 할당하는데 실패했..

Programming/Oracle 2021.04.27

ORACLE SQL명령어

● ALTER FUNCTION : 함수 재컴파일 ALTER FUNCTION function_name COMPILE ; [ INVALID한 FUNCTION 전체 컴파일 ] SELECT 'ALTER FUNCTION '||OBJECT_NAME||' COMPILE;' FROM USER_OBJECTS WHERE OBJECT_TYPE = 'FUNCTION' AND STATUS 'VALID' ; ● ALTER PACKAGE : 패키지 재컴파일 ALTER PACKAGE package_name COMPILE PACKAGE BODY ; [ INVALID한 PACKAGE 전체 컴파일 ] SELECT 'ALTER PROCEDURE '||OBJECT_NAME||' COMPILE;' FROM USER_OBJECTS WHERE O..

Programming/Oracle 2021.04.26

ORACLE 연산자 및 연산자 우선순위

[ 연산자 ] 1. 수치연산자 연산자 기능 +, -(부호연산자) 수식의 양,음을 지정 *, / 곱셈/나눗셈 +, - 덧셈/뺄셈 2. 논리연산자 연산자 기능 || 문자값의 연결 연산 NOT 논리식의 결과를 반대로 결과한다 AND 둘 이상의 논리식의 연결 연산. 각 논리식이 모두 참이면 참, 그렇지 않으면 거짓 OR 둘 이상의 논리식의 연결 연산. 하나의 논리식이라도 참이면 참, 그렇지 않으면 거짓 3. 비교연산자 연산자 기능 = 같음 != ^= 같지 않음 > >=

Programming/Oracle 2021.04.26

ORACLE OBJECT권한

권한 설명 ALL 모든 권한 ALL PRIVILEGES 모든 권한 ALTER OBJECT에 대해 ALTER 명령을 수행 할 수 있는 권한 SELECT 행(ROW)를 검색 할 수 있는 권한 INSERT 행(ROW)를 입력 할 수 있는 권한 UPDATE 행(ROW)를 수정 할 수 있는 권한 DELETE 행(ROW)를 삭제 할 수 있는 권한 EXECUTE OBJECT를 수행하고 변수를 참조 할 수 있는 권한 INDEX 테이블에 인덱스를 생성하는 권한 REFERENCES 테이블을 참조하는 제약조건을 생성 할 수 있는 권한

Programming/Oracle 2021.04.26

셈플러스데이타가공(txt file -> DB)

txt파일을 읽어서 해당 필요한 항목을 db에 저장하기 [ 업로드 버튼에 스크립트 작성 ] - tb_29002 : txt file upload - tb_29001 : txt file의 내용중 필요 항목을 가져와서 저장 Long ll_rtn String ls_dt, ls_name, ls_null Double ll_cnt, ll_rc, i, j, ll_div String ls_trans_data, ls_busi_no, ls_tran_dt, ls_card_div, ls_sale_div, ls_sale_dt, ls_sale_amt, ls_fee_amt, ls_ori_sale_dt String ls_card_no pointer oldpointer Setnull(ls_null) oldpointer = SetPoin..

TO_CHAR 함수에 대한 숫자 포맷

포맷 예제 기능 9 '99999' 지정된 '9'의 개수가 나타낼 숫자의 길이 0 '09999' 숫자 앞에 0을 붙인다(값이 없으면 0으로 표시) $ '$9999' 숫자 앞에 $ 기호를 붙인다 B 'B9999' 숫자 앞에 '0' 대신에 공백을 붙인다 MI '9999MI' 음수 뒤에 '-'를 붙인다 S S9999 숫자앞에 '+'(양수) or '-'(음수)를 붙인다 PR '9999PR' 음수 좌주에 '' 기호를 붙인다 D '99D99' 십진 문자를 나타낸다 G '9G999' 천단위 문자를 나타낸다 L L999 자국의 환기호를 나타낸다 C C999 국제 환기호를 나타낸다 ,(콤마) '9,999' 지정된 위치에 ','를 나타낸다 .(DOT) '99.99' 지정된 위치에 '.'를 나타낸다 V '999V99' 숫자에..

Programming/Oracle 2021.04.26

ORACLE TO_CHAR/TO_DATE 함수에 지정될 DATE 포맷

포맷 기능 CC 세기 YYYY 년도 YYY or YY or Y 년도의 마지막 3자리, 2자리, 1자리 Y,YYY 콤마를 포함한 년도 YEAR 년도(영문) RR 다음 세기의 년도 마지막 2자리 Q 분기(1,2,3,4) MM 월에 대한 2자리 숫자 RM 월에 대한 로마 숫자 MONTH 월(영문) MON 월(영문)의 약명 3자리(JAN,FEB...) WW or W 년의 주수(1~52주) / 월의 주수(1~5) DDD or DD or D 년의 일수(1~366) / 월의 일수(1~31) / 주의 일수(1~7) DAY 영문 요일명 DY 영문 요일명(3자리 약명) AM or PM 오전/오후 시각에 대한 AM/PM 지정자 A.M. or P.M. 오전/오후 시각에 대한 A.M./P.M. 지정자 HH or HH12 시간(..

Programming/Oracle 2021.04.26

ORACLE 함수-DECODE,GREATEST,LEAST

함수 기능 DECODE(exp, search1, return1,[search2, return2,]...[default] exp이 searchn과 같으면 return을 나타내고 같지 않으면 default를 나타낸다 GREATEST(exp[,exp]) exp중 최대값을 나타낸다 LEAST(exp,[exp]) exp중 최소값을 나타낸다 UID 현재 user에 대한 유일 번호를 나타낸다 USER 현재 user명을 나타낸다 USERENV('option') 현재 세션에 대한 option 정보를 나타냄 [예제] 1. DECODE 2) GREATEST, LEAST . 입사일(hiredate)이 1981-06-01 부터 1981-12-31일 사이면 20% 아니면 10의 월급 인상율를 출력 3) USER, UID, USE..

Programming/Oracle 2021.04.26
728x90