본문 바로가기
728x90

전체 글1380

[ORACLE] USER_TAB_PRIVS : 오브젝트 권한 관리의 핵심 뷰 완전 정복 1. USER_TAB_PRIVS란?USER_TAB_PRIVS는 현재 사용자에게 부여된 오브젝트(테이블, 뷰, 프로시저 등) 권한 정보를 확인할 수 있는 Oracle의 데이터 딕셔너리 뷰입니다. 보안 감사, 권한 분리 점검, 접근 통제 정책 수립에 있어 핵심적인 정보를 제공합니다. 특히 대규모 조직에서 수많은 테이블에 대한 접근 권한을 관리할 때, 어떤 객체에 어떤 권한이 부여되었는지를 체계적으로 파악하는 데 필수적인 뷰입니다.2. 주요 컬럼 설명컬럼명설명TABLE_NAME권한이 부여된 오브젝트의 이름GRANTOR권한을 부여한 사용자GRANTEE권한을 부여받은 사용자PRIVILEGE부여된 권한 (SELECT, INSERT 등)GRANTABLE해당 권한을 다른 사용자에게 부여 가능한지 여부TYPE오브젝트 타.. 2025. 8. 9.
[ORACLE] USER_TAB_PARTITIONS : 오라클 파티셔닝 정보를 꿰뚫는 전략 가이드 1. USER_TAB_PARTITIONS란?USER_TAB_PARTITIONS는 오라클 데이터베이스에서 사용자 스키마 내에 존재하는 파티션 테이블의 각 파티션 정보를 조회할 수 있는 데이터 딕셔너리 뷰입니다. 이 뷰는 테이블 파티션 전략을 설계하거나, 성능 이슈를 진단할 때 핵심적인 정보를 제공합니다.예를 들어, 로그 데이터를 월별로 분리해 저장한 테이블이 있다면, 각각의 파티션 이름, 생성 시점, 파티션 범위 등을 USER_TAB_PARTITIONS를 통해 파악할 수 있습니다.2. 주요 컬럼 설명USER_TAB_PARTITIONS의 대표적인 컬럼은 다음과 같습니다.컬럼명설명TABLE_NAME파티션이 속한 테이블 이름PARTITION_NAME파티션 이름HIGH_VALUE파티션의 범위 조건PARTITION.. 2025. 8. 9.
[ORACLE] USER_VIEWS 뷰로 사용자 정의 뷰 SQL 추적 및 최적화하기 1. USER_VIEWS란?USER_VIEWS는 Oracle 데이터베이스에서 현재 로그인된 사용자 스키마에 생성된 모든 뷰(View)에 대한 정보를 제공하는 데이터 딕셔너리 뷰입니다. 이 뷰는 뷰 이름, 정의된 SQL 문장, 텍스트 길이 등의 정보를 포함하며, SQL 추적, 뷰 재정의, 데이터 모델 점검 등에서 매우 유용합니다.2. 주요 컬럼 설명컬럼명설명VIEW_NAME사용자 정의 뷰의 이름TEXT뷰를 정의하는 SELECT SQL 문 (최대 4000자)TEXT_LENGTHVIEW 정의문의 문자 수3. 실전 활용 예제-- 내 스키마의 모든 뷰 목록 조회SELECT VIEW_NAME, TEXT_LENGTHFROM USER_VIEWSORDER BY VIEW_NAME;-- 특정 뷰의 SQL 정의문 조회SELE.. 2025. 8. 8.
[ORACLE] USER_USERS 뷰로 사용자 계정 정보 및 보안 정책 완벽 파악하기 1. USER_USERS란?USER_USERS는 Oracle 데이터베이스에서 현재 로그인한 사용자(계정)에 대한 기본 정보와 보안 설정을 확인할 수 있는 데이터 딕셔너리 뷰입니다. 이 뷰는 사용자 스키마 이름, 계정 생성일, 만료일, 잠금 여부, 기본 테이블스페이스, 프로파일 등 다양한 정보를 포함하고 있어, 보안 감시 및 계정 정책 점검에 매우 유용합니다.2. 주요 컬럼 설명컬럼명설명USERNAME현재 로그인한 사용자 이름 (스키마 이름)USER_ID내부적으로 부여된 사용자 고유 IDACCOUNT_STATUS계정 상태 (OPEN, LOCKED, EXPIRED 등)LOCK_DATE계정이 잠긴 날짜 (LOCKED 상태일 때만 표시)EXPIRY_DATE비밀번호 또는 계정 만료 예정일DEFAULT_TABLES.. 2025. 8. 8.
[ORACLE] USER_TAB_MODIFICATIONS 뷰로 통계 갱신 타이밍 완벽 제어하기 1. USER_TAB_MODIFICATIONS란?USER_TAB_MODIFICATIONS는 Oracle에서 통계 정보 갱신 필요성을 판단하기 위해 테이블의 변경 내역을 추적하는 데이터 딕셔너리 뷰입니다. 이 뷰는 데이터가 얼마나 변경되었는지를 기반으로 통계 갱신 타이밍을 결정할 수 있게 해주며, 대용량 데이터 관리 및 SQL 성능 유지에 매우 중요합니다.2. 주요 컬럼 설명컬럼명설명TABLE_NAME변경 이력을 추적하는 대상 테이블 이름INSERTS통계 수집 이후 발생한 INSERT 횟수UPDATES통계 수집 이후 발생한 UPDATE 횟수DELETES통계 수집 이후 발생한 DELETE 횟수TIMESTAMP마지막 통계 수집 이후 변경이 추적된 시간TRUNCATED테이블이 TRUNCATE 되었는지 여부 (Y.. 2025. 8. 8.
[ORACLE] USER_TAB_HISTOGRAMS 뷰로 SQL 옵티마이저 힌트 최적화하기 1. USER_TAB_HISTOGRAMS란?USER_TAB_HISTOGRAMS는 Oracle에서 컬럼 값의 **분포 상태를 히스토그램 형태로 저장하는 데이터 딕셔너리 뷰**입니다.Oracle 옵티마이저(CBO)는 히스토그램 정보를 활용하여 **비균등한 데이터 분포에 최적화된 실행 계획**을 수립합니다.2. 히스토그램이란?히스토그램은 컬럼의 값들이 얼마나 고르게 또는 쏠려 있는지를 보여주는 통계 모델입니다. 다음과 같은 유형이 있습니다:NONE: 히스토그램 없음 (기본 분포로 간주)HEIGHT BALANCED: 값 빈도 기준 분할FREQUENCY: 값 자체의 빈도 기록TOP-FREQUENCY: 자주 나오는 값만 추출HYBRID: 혼합형 (자동 생성 시 등장)3. 주요 컬럼 설명컬럼명설명TABLE_NAME히.. 2025. 8. 8.
728x90