프린트 하기

OS환경 : Oracle Linux 7.6 (64bit)

 

DB 환경 : Oracle Database 19.10.0.0

 

방법 : 오라클 19c 테이블별 카운트 확인 쿼리(마이그레이션 검증용)

마이그레이션 전후 asis db와 tobe db에서 테이블 카운트를 확인하는 쿼리임

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
SQL>
SET SERVEROUTPUT ON
EXEC DBMS_OUTPUT.ENABLE(1000000);
DECLARE
   CURSOR CUR_MYTABLES IS
   SELECT * FROM DBA_TABLES WHERE OWNER IN ('IMSI')
   ORDER BY OWNER, TABLE_NAME ;
   V_CNT NUMBER;
BEGIN
FOR I IN CUR_MYTABLES
LOOP
    EXECUTE IMMEDIATE ('SELECT COUNT(*) FROM ' ||I.OWNER||'.'||I.TABLE_NAME) INTO V_CNT;
  --EXECUTE IMMEDIATE ('SELECT /*+ PARALLEL('||I.TABLE_NAME||',4) */ COUNT(*) FROM '||I.OWNER||'.'||I.TABLE_NAME) INTO V_CNT;
    DBMS_OUTPUT.PUT_LINE(I.OWNER||'.'||I.TABLE_NAME||' '||V_CNT);
END LOOP;
END;
/
 
IMSI.COUNTRIES 25
IMSI.DEPARTMENTS 27
IMSI.DEPT 4
IMSI.EMP 14
IMSI.EMPLOYEES 107
IMSI.EMP_P 70000
IMSI.EXPTEST 100000
IMSI.JOBS 19
IMSI.JOB_HISTORY 10
IMSI.LOCATIONS 23
IMSI.MANUF20 10100
IMSI.MONJIP 1
IMSI.ORDER20 100000
IMSI.ORDER_P 1500000
IMSI.PRODUCT20 1000
IMSI.REGIONS 4
IMSI.SAMPLE_P 70000
IMSI.SQLP_Q1 6000009
IMSI.T 14
IMSI.TEMP_T 4
IMSI.TTT 1
IMSI.WB_BBM 1500
IMSI.WB_USR 100
IMSI.개통접수 3
IMSI.작업지시 6
IMSI.장애접수 3
 
PL/SQL procedure successfully completed.

plsql 실행시 owner과 테이블명, 건수가 나옴

 

 

주석처리된 두번째 exec 구문을 주석해제하고 실행하면 테이블 건수 조회 쿼리를 병렬로 실행함

 

 

참조 : https://o-m-i.tistory.com/249