Oracle/운영132 dba_tables 과 dba_segments의 차이 reorg시 dba_tables 과 dba_segments에 둘다 blocks라는 컬럼이 존재하고 그것을 토대로 reorg 전 후 block수를 비교하게되는데요. 사이트에 따라 dba_tables를 조회할 때도 있고, dba_segments를 조회할 때도 있어서 둘의 차이가 어떤것이 있을까 궁금증이 생겼습니다. reorg 시 물리적인 object block의 변화를 체크하기 위해서는 dba_tables가 아니라 dba_segments 내의 blocks를 조회하여 비교해야 한다는 사실을 파악했습니다. 검색해본 결과 외국 사이트에 정리를 잘해놓은 사이트가 있어서 한글로 번역하면서 정리해보도록 하겠습니다. dba_tables는 논리적인 구조를 보여주고, dba_segments는 물리적인 구조(데이터파일과 같은.. 2021. 2. 5. [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. 이전 1 ··· 18 19 20 21 22 23 24 ··· 33 다음