본문 바로가기

Oracle242

[Reorg] 대상 테이블 추출하기 (DBMS_ROWID,DBMS_SPACE) 리오그 대상 테이블을 선정할 때 실제 Table에서 사용하고 있는 blocks를 계산하는 쿼리를 사용중인데요, 그냥 사용하기보다는 정리를 통해서 이해하고 사용하기 위해서 이번 글을 포스팅합니다. 1.DBMS_ROWID와 DBA_SEGMENTS로 확인 아래는 실제 사용하고 있는 block을 계산하는 쿼리입니다. SELECT COUNT(DISTINCT DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)||DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID)) "USED" FROM [테이블 명]; 그리고 DBA_SEGMENTS 뷰를 조회하여 현재 테이블이 점유하고 있는 Block수도 구할 수 있습니다. SELECT OWNER,SEGMENT_NAME, BLOCKS, bytes/1024.. 2021. 2. 4.
권한으로 다른유저의 Package body 확인하기 Package와 Package body가 있습니다. 기본적으로 grant execute on 권한을 패키지에 부여하면 패키지의 내용만 확인이 가능하고 package body의 내용은 확인이 불가능합니다. 아래의 권한을 추가하여 Package body의 내용을 확인할 수 있습니다. grant debug on [패키지] to [권한 받을 유저]; HR이 SCOTT에 있는 패키지 바디를 조회하려고 할 때. HR이 가지고 있는 패키지(PAC_TEST)의 권한 확인(EXECUTE 권한이 있음을 확인) SQL> select * from dba_tab_privs where grantee='HR' and table_name='PAC_TEST'; GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEG.. 2021. 2. 3.
DBA_SCHEDULER_JOB_LOG Oracle에서 등록된 스케줄러에 대해서 성공/실패 로그를 볼 수 있는 테이블입니다. SQL> desc dba_scheduler_job_log; Name Null? Type ----------------------------------------- -------- ---------------------------- LOG_ID NOT NULL NUMBER LOG_DATE TIMESTAMP(6) WITH TIME ZONE OWNER VARCHAR2(30) JOB_NAME VARCHAR2(260) JOB_SUBNAME VARCHAR2(260) JOB_CLASS VARCHAR2(30) OPERATION VARCHAR2(30) STATUS VARCHAR2(30) USER_NAME VARCHAR2(30) CLIE.. 2021. 1. 29.
[일일점검] 쿼리 및 Shell 파일 - Linux& Unix 제가 일일점검 시 사용하는 Shell 파일을 올리고 사용법에 대해서 포스팅하겠습니다. 1.일일점검용 디렉토리를 생성해줍니다. (저의 경우에는 /u01/app/oracle 아래에 생성하였습니다.) $mkdir dailycheck $mkdir dailycheck/sql 2. dailycheck아래에 daily_chk.sh 파일을 생성합니다. (각자의 폴더에 맞게 수정하여 사용하면됩니다.) cd /u01/app/oracle/diag/rdbms/xe/XE/trace clear tail -1000 al* | awk '{if (($5=="2021") && $6 =="") {vdate = $0} else {print vdate,"|", $0} }' | grep -E -i "ORA-|error" ## sqlplus s.. 2021. 1. 27.