Oracle/Oh Oracle 63

Function Execute 권한은 부여 하고, Function Source 는 조회 못하게 하고 싶다. ( feature wrap )

상황 : Function Execute 권한은 부여 하고, Function Source 는 조회 못하게 하고 싶다. > 1. Function Execute 권한을 부여 받은 유저는 Execute 권한은 물론, Function Source 조회 가능 ( Procedure 도 마찬가지 ) 2. Package Execute 권한을 부여 받은 유저는 Execute 권한을 갖고, Package 선언부만 조회 가능하고, Pakcage Body 는 조회 불가 3. (1) Function Execute 권한 부여 + Source 조회 불가를 구현하기 위해서는 wrap 기능 필요 wrap 결과로, 소스 조회는 되지만, wrap 된 소스가 조회됨 %% wrap : 포장하다, 감싸다, 감추가 더보기 > Execute the..

Oracle/Oh Oracle 2022.12.19

LNNVL 함수

-- LNNVL 함수는 condition 이 FALSE 나 UNKNOWN 이면 TRUE, TRUE 이면 FLASE를 반환한다. -- 출처 : 불친절한 SQL 프로그래밍 P161 SELECT ENAME, COMM FROM EMP WHERE LNNVL ( COMM 0 ) ; -- NULL 0 -> UNKNOWN -> TRUE -- 0 0 -> FALSE -> TRUE -- 1 0 -> TRUE -> FALSE -- 결국 아래와 같은 의미 SELECT ENAME, COMM FROM EMP WHERE ( COMM IS NULL OR COMM = 0 ) ; -- P 335 -- UNION, INTERSECT, MINUS 연산자는 중복 값을 제거하기위해 데이터 집합을 정렬한다. -- 대량 데이터의 소트가 발생하면 ..

Oracle/Oh Oracle 2022.12.14

Append 와 Index( Normal, Unique, PK ) 관계

Index 와 Append 관계에 대한 문의가 있어, 예전에 정리했던 글이 있어 찾아봤다. 입맛에 맞는 내용이 없어, 예전 글을 참고해서 테스트 및 정리 > 1. PK 나 UK 가 있는 상태에선 UNDO 및 REDO 가 발생한다. 2. NORMAL INDEX 는 UNUSABLE 로 설정 후, 작업 하면 UNDO 는 1, REDO 도 최소화 가능 3. UNIQUE INDEX 를 UNUSABLE 로 하면 "ORA-26026" 에러가 발생 하고, DML 불가함 4. 결론적으로 PK, UK INDEX / CONSTRAINT DROP + Normal Index Unsuable + TABLE NOLOGING 후, APPEND 작업이 가장 효과적이다. 5. (주의) APPEND 작업 시에, 다른 세션에서 DML 불가..

Oracle/Oh Oracle 2022.12.13

데이타의 급격한 증가 시 확인 방법 FROM AWR

데이타의 급격한 증가 시 확인 방법 FROM AWR 출처 : How To Get Table Growth History Information? (문서 ID 1395195.1) > 2018.11.05 - [Oracle/Oracle Script] - > -- 기잔별 증가가 높은 SEGMENT 뽑기 select obj.owner, obj.object_name, to_char(sn.BEGIN_INTERVAL_TIME,'YYYY/MM/DD') start_day, ROUND(sum(a.SPACE_USED_DELTA)/1024/1024) block_increase_MB from dba_hist_seg_stat a, dba_hist_snapshot sn, dba_objects obj where sn.snap_id = a..

Oracle/Oh Oracle 2022.12.07

Oracle 접속, IP 로 접속 차단 하기

Oracle 접속, IP 로 접속 차단 하기 출처 : https://logic.edchen.org/how-to-make-a-blacklist-for-db-connection/ 보안정책에 따라 정기적으로 패스워드 변경을 하고 있다 VDI + 웹로직 + 오렌지 + SQL Developer 로 개발환경인데 장기 휴가자, 출산 휴가, 공용 PC 등의 VDI 의 웹로직에서 Connection pool 비번 변경을 하지 않아서 비번 변경 후, 개발자(~DEV)계정이 LOCK 이 걸려서, 5분마다 체크 하여 UNLOCK 하고 있는데 근본적으로 비번 틀리는 IP에 대한 차단, 즉, DB 접속 전 Lister Level 에서 차단을 위한 Blacklist Test ## 정상접속 환경 [oracle@oel7 admin]$..

Oracle/Oh Oracle 2022.11.24

Why "_SYSTEM_TRIG_ENABLED=FALSE" needs to be set when Upgrading / Downgrading / Applying Patch Sets (문서 ID 149948.1)

Why "_SYSTEM_TRIG_ENABLED=FALSE" needs to be set when Upgrading / Downgrading / Applying Patch Sets (문서 ID 149948.1) 12c->19c Upgrade 하면서, 형상관리 이력을 위한 DDL Trigger 로 오류 발생, 사전에 설정한 flashback 설정으로, flashback database 로 원복 하고 다시 업그레이드 이력이 있는데, 왜 (DDL) Trigger 를 disable 해야 하는지 설명하는 내용이 있다. 아쉬운건 업그레이드나 이런 경우, 내부적으로 다이나믹 하게 disable 한다고 하는데 , 말 그대로 시스템 트리거만 disalbe 하는 듯 싶다. 문제가 된 트리거는 일반 유저의 시스템 레벨 DDL..

Oracle/Oh Oracle 2022.11.23

SMCO, "_kttext_warning", _max_spacebg_slaves"

A. 잦은 Resize Datafile 이슈 ( 약 2 TB 증가함 ) 가. 12c-> 19c Upgrade 이후, 잦은 Resize Datafile 이슈 ( 약 2 TB 증가함 ) 나. 조치 내용 SMCO (Space Management Coordinator) background 가 과도하게 Resize 한 결과로 파악 되어, SQL> alter system set "_kttext_warning"=2 scope=both ; 다. 참고 SMCO (Space Management Coordinator) For Autoextend On Datafiles And How To Disable/Enable(문서 ID 743773.1) AUTOEXTEND Grows To Full Size Without Reason (..

Oracle/Oh Oracle 2022.11.20