Oracle에 Datapump 기능을 이용하여 기존 데이터베이스를 최대한 똑같이 복제하는 과정이다.
간략하게 요약하면!
- 소스db를 분석하고 타 서버에 타겟db환경을 똑같이 생성
- pfile 이관
- 소스db 테이블 스페이스 상태를 타겟db에 구축
- 소스db 프로파일 상태를 타겟db에 구축
- datapump로 데이터 이관
- 검증
datapump로는 테이블스페이스와 프로파일 까지는 이관하지 못하기 때문에 (db link, ogg 등 까지..)
미리 타겟에 구축후 이관해준다.
이관시 full이 아닌 schema 리스트를 옵션에 기재하여 옮겨주었고 한번에 옮기는것보단 각 스키마별로 옮겨주는게
pump 도중 오류시 대응에 좋긴하다.
덤프파일은 각 소스서버와 타겟서버에 연결된 nfs(network file system)를 directory로 이용했으며
nfs구축방법은 다루지않는다(모른다..).
학습용이면 그냥 같은 서버에 db복제해도 무방하니 상황에 맞게 참조하자.
- 복제 전략
서버, db 상태 구조와 datapump 아키텍처 구상도

그림으로 보실분은 아래 슬라이드 / 텍스트 기반 모음도 게시물 하단에 게시
- 이관 프로세스 요약본 (중간 중간 스크립트 파일 소스는 밑에 따로 작성함)
1. os 및 oracle 버전확인
cat /etc/os-release
uname -r
2. 디스크 용량, 메모리, 네트워크 설정 등 하드웨어 사양 확인
# 소스 db 용량 확인
SELECT ROUND(SUM(bytes)/1024/1024, 2) AS total_used_mb
FROM dba_data_files;
TOTAL_USED_MB
-------------
1006822.5
# 타겟 db서버 사용중 asm 디스크 확인
SELECT PATH FROM V$ASM_DISK;
asmcmd afd_lsdsk
-- dev/sdc asm디스크 사용중
SELECT
name AS diskgroup_name,
total_mb,
free_mb,
(total_mb - free_mb) AS used_mb,
ROUND((free_mb / total_mb) * 100, 2) AS free_percent
FROM
v$asm_diskgroup;
DISKGROUP_NAME TOTAL_MB FREE_MB USED_MB FREE_PERCENT
------------------------------ ---------- ---------- ---------- ------------
DATA 4194304 3081988 1112316 73.48
3. db_info_layout.sql로 소스 db 구조 확인
4. 타겟 db 생성
5. db_info_layout.sql 타겟 db 검증
6. 소스 db에서 create_tablespaces.sql 파일 생성
7. create_tablespaces.sql nfs로 이동
df -hT
cp create_tablespaces.sql /EDU_SYNC/create_tablespaces.sql
8. 파라미터 nfs로 이동
CREATE PFILE='/home/oracle/pfile_source1.ora' FROM SPFILE;
cp pfile_source.ora /EDU_SYNC/pfile_target.ora
9. 타겟 파라미터 적용
cp /EDU_SYNC/pfile_target.ora pfile_target.ora
- 환경에 맞게 수정 사항
검토
*.__oracle_base='/u01/app/oracle'# ORACLE_BASE set from environment
*._diag_adr_trace_dest='/u01/app/oracle/diag/rdbms/his011/HIS011/trace'
*.audit_file_dest='/u01/app/oracle/admin/HIS011/adump'
*.db_create_file_dest='+DATA'
*.db_name='HIS011'
*.diagnostic_dest='/u01/app/oracle'
*.local_listener='LISTENER_HIS011' // local_listener는 서버에서 데이터베이스가 리스너와 통신할 때 사용하는 기본 TNS 정보
*.db_files=2048
수정
*.control_files='+DATA/HIS011/CONTROLFILE/Current.1859.1190991641'
파라미터 백업
CREATE PFILE='/home/oracle/backup_pfile.ora' FROM SPFILE;
추출 파라미터 적용 시작
STARTUP PFILE='/home/oracle/pfile_target.ora';
CREATE SPFILE FROM PFILE='/home/oracle/pfile_target.ora';
srvctl config database -d HIS011
srvctl modify database -d HIS011 -spfile +DATA/spfileHIS011.ora
srvctl start database -d HIS011 or startup
재시작후 show parameter spfile 확인
9. 타겟 db create_tablespaces.sql 실행
cp /EDU_SYNC/create_tablespaces.sql create_tablespaces.sql
@create_tablespaces.sql
10. 소스 db expdp par파일 추출
11. expdp
nohup expdp \'/ as sysdba\' parfile=/EDU_SYNC/expdp_schema_lev_parameter_20250120.par &
12. dump 용량 확인
ls -lh ~
13. impdp 파라미터 셋
vi /EDU_SYNC/impdp_schema_lev_parameter_20250120.par
DIRECTORY=EDU_SYNC
DUMPFILE=20250120_expdp_%U.dmp
LOGFILE=20250120_impdp_log.log
PARALLEL=4
CLUSTER=NO
CONTENT=ALL
TABLE_EXISTS_ACTION=REPLACE
SCHEMAS=AST,ASTU02,ASTU03,ASTU04,ASTU05,ASTU06,CCS,CCSU01,CDI,CMR,CMRU01,COM,COMU01,CRD,CRDU01,CRM,CRMU01,DEVU01,DEVU02,DIF,DIFU01,DMUU01,DUS,DUSU01,EEMU01,EIS,EMR,EMRU01,FOMU01,HC,HISU01,HISU02,HMLU01,HOS011,HRMU01,INFU01,LIS,LISU01,LISU02,MASU01,MIS,MOB,MOBU01,NUU01,NUU02,PAC,PACU01,PAM,PAMU01,PCS,PHOGG,PHSWM,PKS,PKSU01,SLT,SMSU01,STS,STSU01,SZ,SZU01,SZU02,TIS,UPDBK,VUNU01,ZZ,ZZU01
14. 프로파일 이관
recreate_profiles.sql 추출
타겟 db 실행
15. impdp
CREATE OR REPLACE DIRECTORY EDU_SYNC AS '/EDU_SYNC';
GRANT READ, WRITE ON DIRECTORY EDU_SYNC TO PUBLIC;
ALTER SYSTEM SET "_system_trig_enabled" = FALSE; // https://topic.alibabacloud.com/a/ora-06502-plsql-number-or-value-error-string-buffer-too-small-error-analysis_1_13_32487673.html
ALTER SYSTEM SET SGA_TARGET = 8G SCOPE=SPFILE;
ALTER SYSTEM SET SHARED_POOL_SIZE = 2G SCOPE=SPFILE;
db 재시작
nohup impdp \'/ as sysdba\' parfile=/EDU_SYNC/impdp_schema_lev_parameter_20250120.par &
SELECT * FROM DBA_DATAPUMP_JOBS WHERE STATE = 'EXECUTING';
impdp \'/ as sysdba\' attach=SYS_IMPORT_SCHEMA_01
끝나고 파라미터 롤백
ALTER SYSTEM SET SGA_TARGET = 6G SCOPE=SPFILE;
ALTER SYSTEM SET SHARED_POOL_SIZE = 880M SCOPE=SPFILE;
db 재시작
16. 로그 분석
1. 파라미터 밸류
2. user 이관
3. 시스템 권한
4. 롤 권한
5. db link
5. synonym 이관
6. 시퀀스 이관 -> 객체 권한
8. 테이블(메타) 이관 -> 객체 권한
9. 데이터 이관 -> 객체권한 -> comment
11. 패키지 이관 -> 객체 권한
12. 함수 이관 -> 객체 권한
13. 프로시져 이관 -> 객체 권한
14. 뷰 이관 -> 객체 권한 -> comment 이관
15. 패키지 바디 이관
16. 인덱스
17. 제약
18. 인덱스 통계
19. 트리거
20. 테이블 통계
- db_info_layout.sql (db 상태 확인 스크립트. sqlplus에서 @파일.sql로 실행 / sqlplus 접속할 터미널 디렉토리에 파일저장)
SET LINESIZE 200
SET PAGESIZE 100
SET SERVEROUTPUT ON
PROMPT === 1. RAC 및 클러스터 확인 ===
SELECT VALUE AS DB_RAC_MODE
FROM V$PARAMETER
WHERE NAME = 'cluster_database';
SELECT INSTANCE_NAME, HOST_NAME FROM GV$INSTANCE;
PROMPT === 2. ASM 파일시스템 여부 확인 ===
SELECT 'ASM 사용 여부: ' ||
CASE WHEN VALUE IS NOT NULL THEN 'YES' ELSE 'NO' END AS ASM_STATUS
FROM V$PARAMETER
WHERE NAME = 'db_create_file_dest';
PROMPT === 3. DB Name 관련 ===
SELECT 'INSTANCE_NAME: ' || INSTANCE_NAME AS INFO FROM V$INSTANCE;
SELECT 'DB NAME: ' || NAME AS INFO FROM V$DATABASE;
SHOW PARAMETER DB_UNIQUE_NAME;
SELECT 'GLOBAL_NAME: ' || GLOBAL_NAME AS INFO FROM GLOBAL_NAME;
PROMPT === 4. DB 버전 ===
SELECT BANNER_FULL AS INFO FROM V$VERSION;
PROMPT === 5. ORACLE_BASE 경로 ===
SELECT DIRECTORY_PATH AS ORACLE_BASE FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME = 'ORACLE_BASE';
PROMPT === 6. 문자셋 확인 ===
SELECT PARAMETER, VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET');
PROMPT === 7. SGA 및 PGA 확인 ===
SHOW PARAMETER sga_target;
SHOW PARAMETER pga_aggregate_target;
PROMPT === 8. 컨테이너 DB 확인 ===
SELECT 'CDB: ' || CDB AS INFO FROM V$DATABASE;
SELECT NAME, CON_ID FROM V$CONTAINERS;
PROMPT === 9. 데이터 파일 확인 ===
SELECT
tablespace_name,
file_name,
ROUND(bytes/1024, 2) AS size_kb,
ROUND(bytes/1024/1024, 2) AS size_mb,
ROUND(bytes/1024/1024/1024, 2) AS size_gb,
autoextensible
FROM
dba_data_files
WHERE
tablespace_name IN ('SYSTEM', 'SYSAUX', 'TEMP', 'UNDOTBS1', 'USERS');
PROMPT === 10. TEMP 데이터 파일 확인 ===
SELECT
FILE_NAME,
TABLESPACE_NAME,
ROUND(BYTES/1024, 2) AS SIZE_KB,
ROUND(BYTES/1024/1024, 2) AS SIZE_MB,
ROUND(BYTES/1024/1024/1024, 2) AS SIZE_GB
FROM DBA_TEMP_FILES;
PROMPT === 11. 기본 테이블스페이스 블록 사이즈 확인 ===
SELECT
TABLESPACE_NAME,
STATUS,
CONTENTS,
BLOCK_SIZE
FROM
DBA_TABLESPACES
WHERE
TABLESPACE_NAME IN ('SYSTEM', 'SYSAUX', 'TEMP', 'UNDOTBS1', 'USERS');
PROMPT === 12. OMF 여부 확인 ===
SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME IN ('db_create_file_dest');
PROMPT === 13. 컨트롤 파일 확인 ===
SHOW PARAMETER control_files;
SELECT
*
FROM
V$CONTROLFILE_RECORD_SECTION
WHERE
TYPE IN ('DATAFILE', 'INSTANCE', 'LOG HISTORY', 'REDO LOG', 'REDO LOG MEMBER');
PROMPT === 14. 리두 로그 파일 확인 ===
SELECT
lf.GROUP# AS REDO_LOG_GROUP,
lf.MEMBER AS REDO_LOG_FILE,
ROUND(l.BYTES/1024, 2) AS SIZE_KB,
ROUND(l.BYTES/1024/1024, 2) AS SIZE_MB
FROM V$LOGFILE lf
LEFT JOIN V$LOG l ON lf.GROUP# = l.GROUP#
ORDER BY lf.GROUP#;
PROMPT === 15. FRA 확인 ===
SELECT
NAME,
ROUND(SPACE_LIMIT/1024, 2) AS SIZE_KB,
ROUND(SPACE_LIMIT/1024/1024, 2) AS SIZE_MB,
ROUND(SPACE_LIMIT/1024/1024/1024, 2) AS SIZE_GB
FROM V$RECOVERY_FILE_DEST;
PROMPT === 16. 아카이브 로그 모드 확인 ===
SELECT NAME, LOG_MODE FROM V$DATABASE;
PROMPT === 17. 컴포넌트 확인 ===
SELECT COMP_NAME, STATUS, VERSION FROM DBA_REGISTRY;
PROMPT === 18. AMM (1,2) 및 ASMM(3,4) 메모리 관리 여부 확인 ===
SHOW PARAMETER memory_target;
SHOW PARAMETER memory_max_target;
SHOW PARAMETER sga_target;
SHOW PARAMETER pga_aggregate_target;
PROMPT === 19. DB 동시 접속 최대 OS 사용자 프로세스 수 확인 ===
SHOW PARAMETER processes;
PROMPT === 20. 접속 모드 확인 (DEDICATED/SHARED) ===
SHOW PARAMETER service_names;
SHOW PARAMETER shared_servers;
PROMPT === 21. OEM 구성 여부 확인 ===
SELECT NAME, VALUE
FROM V$PARAMETER
WHERE NAME IN ('control_management_pack_access', 'em_express_enabled');
SELECT DBMS_XDB_CONFIG.GETHTTPSPORT AS HTTPS_PORT FROM DUAL;
PROMPT === 22. 데이터베이스 크기 확인 ===
SELECT
ROUND(SUM(BYTES)/1024, 2) AS TOTAL_SIZE_KB,
ROUND(SUM(BYTES)/1024/1024, 2) AS TOTAL_SIZE_MB,
ROUND(SUM(BYTES)/1024/1024/1024, 2) AS TOTAL_SIZE_GB
FROM DBA_DATA_FILES;
PROMPT === 모든 정보 출력 완료 ===
- create_tablespaces.sql(테이블 스페이스 생성) 파일 추출하는 sql 문(sql plus에서 실행)
SET ECHO OFF
SET FEEDBACK OFF
SET HEADING OFF
SET PAGESIZE 0
SET LINESIZE 200
SET TRIMSPOOL ON
SET TERMOUT OFF
SPOOL create_tablespaces.sql
SELECT
CASE
WHEN ROW_NUMBER() OVER (PARTITION BY tablespace_name ORDER BY file_name) = 1 THEN
'CREATE TABLESPACE ' || tablespace_name ||
' DATAFILE ''' || REGEXP_SUBSTR(file_name, '^\+[^/]+') || ''' ' ||
' SIZE ' || ROUND(bytes/1024/1024, 2) || 'M ' ||
CASE
WHEN autoextensible = 'YES' THEN 'AUTOEXTEND ON;'
ELSE 'AUTOEXTEND OFF;'
END
ELSE
'ALTER TABLESPACE ' || tablespace_name ||
' ADD DATAFILE ''' || REGEXP_SUBSTR(file_name, '^\+[^/]+') || ''' ' ||
' SIZE ' || ROUND(bytes/1024/1024, 2) || 'M ' ||
CASE
WHEN autoextensible = 'YES' THEN 'AUTOEXTEND ON;'
ELSE 'AUTOEXTEND OFF;'
END
END AS ddl_script
FROM
dba_data_files
WHERE
tablespace_name NOT IN ('UNDOTBS1', 'TEMP', 'SYSAUX', 'SYSTEM', 'USERS')
ORDER BY
tablespace_name, file_name;
SPOOL OFF
SET TERMOUT ON
- recreate_profile.sql(프로파일 생성)파일 추출하는 sql문(sql plus에서 실행)
SET PAGESIZE 50000
SET LINESIZE 32767
SET LONG 500000
SET LONGCHUNKSIZE 500000
SET HEADING OFF
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SET TERMOUT OFF
SET TRIMSPOOL ON
-- 1. 모든 프로파일 삭제 (DEFAULT 프로파일 제외, 중복 제거)
SPOOL recreate_profiles.sql
SELECT DISTINCT 'DROP PROFILE "' || PROFILE || '" CASCADE;'
FROM DBA_PROFILES
WHERE PROFILE <> 'DEFAULT';
SPOOL OFF
-- 2. 모든 프로파일 생성 (DEFAULT 프로파일 제외, 마지막 행 `;` 추가)
SPOOL recreate_profiles.sql APPEND
WITH PROFILE_DDL AS (
SELECT DISTINCT 'CREATE PROFILE "' || PROFILE || '"' || ' LIMIT' AS DDL, PROFILE, NULL AS RESOURCE_NAME
FROM DBA_PROFILES
WHERE PROFILE <> 'DEFAULT'
UNION ALL
SELECT ' ' || RESOURCE_NAME || ' ' || LIMIT ||
CASE
WHEN ROW_NUMBER() OVER (PARTITION BY PROFILE ORDER BY RESOURCE_NAME DESC) = 1 THEN ';'
ELSE ''
END AS DDL,
PROFILE, RESOURCE_NAME
FROM DBA_PROFILES
WHERE PROFILE <> 'DEFAULT'
)
SELECT DDL FROM PROFILE_DDL
ORDER BY PROFILE, RESOURCE_NAME NULLS FIRST;
SPOOL OFF
-- 3. DEFAULT 프로파일 설정 (ALTER PROFILE 사용, 마지막 행 `;` 추가)
SPOOL recreate_profiles.sql APPEND
WITH DEFAULT_PROFILE_DDL AS (
SELECT 'ALTER PROFILE DEFAULT LIMIT' AS DDL, NULL AS RESOURCE_NAME FROM DUAL
UNION ALL
SELECT ' ' || RESOURCE_NAME || ' ' ||
DECODE(RESOURCE_NAME, 'PASSWORD_ROLLOVER_TIME', CASE WHEN LIMIT > 1 THEN LIMIT ELSE '0' END , LIMIT) ||
DECODE(ROW_NUMBER() OVER (ORDER BY RESOURCE_NAME DESC), 1, ';', '') AS DDL,
RESOURCE_NAME
FROM DBA_PROFILES
WHERE PROFILE = 'DEFAULT'
)
SELECT DDL FROM DEFAULT_PROFILE_DDL
ORDER BY RESOURCE_NAME NULLS FIRST;
SPOOL OFF
expdp 용 parameter 파일 추출 PLSQL
DECLARE
v_directory_name VARCHAR2(128) := 'EDU_SYNC';
v_directory_path VARCHAR2(4000);
v_schemas_list CLOB;
v_parfile_content CLOB;
v_output_file UTL_FILE.FILE_TYPE;
BEGIN
-- 1. EDU_SYNC 디렉토리 확인 및 생성
BEGIN
SELECT DIRECTORY_PATH
INTO v_directory_path
FROM DBA_DIRECTORIES
WHERE DIRECTORY_NAME = v_directory_name;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_directory_path := '/EDU_SYNC';
EXECUTE IMMEDIATE 'CREATE OR REPLACE DIRECTORY ' || v_directory_name || ' AS ''' || v_directory_path || '''';
EXECUTE IMMEDIATE 'GRANT READ, WRITE ON DIRECTORY ' || v_directory_name || ' TO PUBLIC';
END;
-- 2. 활성화된 사용자 목록을 스키마 리스트로 추출
SELECT LISTAGG(USERNAME, ',') WITHIN GROUP (ORDER BY USERNAME)
INTO v_schemas_list
FROM DBA_USERS
WHERE ACCOUNT_STATUS = 'OPEN' -- 활성 계정만 선택
AND ORACLE_MAINTAINED <> 'Y'
AND USERNAME NOT IN ('SYSTEM', 'SYS'); -- SYSTEM, SYS 제외
-- 3. 파라미터 파일 내용 생성
v_parfile_content := 'DIRECTORY=' || v_directory_name || CHR(10) ||
'DUMPFILE=20250120_expdp_%U.dmp' || CHR(10) || -- 병렬 작업 시 %U 추가
'LOGFILE=20250120_expdp_log.log' || CHR(10) ||
'CLUSTER=NO' || CHR(10) ||
'CONTENT=ALL' || CHR(10) ||
'PARALLEL=4' || CHR(10) || -- 병렬 레벨 추가
'SCHEMAS=' || v_schemas_list;
-- 4. /home/oracle/expdp_schema.par 파일로 저장
v_output_file := UTL_FILE.FOPEN('EDU_SYNC', 'expdp_schema_lev_parameter_20250120.par', 'W');
UTL_FILE.PUT_LINE(v_output_file, v_parfile_content);
UTL_FILE.FCLOSE(v_output_file);
DBMS_OUTPUT.PUT_LINE('parfile 생성 완료');
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('오류 발생: ' || SQLERRM);
END;
- verify.sql (이관 검증. sqlplus에서 @파일.sql로 실행 / sqlplus 접속할 터미널 디렉토리에 파일저장 )
-- verify.sql
SET SERVEROUTPUT ON SIZE UNLIMITED
SET ECHO OFF
SET FEEDBACK OFF
SET HEADING ON
SET PAGESIZE 10000
SET LINESIZE 200
SET TRIMSPOOL ON
SET TERMOUT OFF
SET NULL 'NULL'
SET SQLPROMPT ''
SET VERIFY OFF
SET COLSEP '|'
SET ROWSEP ''
SET TIMING OFF
-- 1. 활성 사용자 목록 출력
PROMPT ======================= 활성 사용자 목록 =======================
SELECT USERNAME
FROM DBA_USERS
WHERE ACCOUNT_STATUS = 'OPEN'
AND ORACLE_MAINTAINED <> 'Y'
AND USERNAME NOT IN ('SYSTEM', 'SYS')
ORDER BY USERNAME;
-- 2. 스키마별 테이블 개수, 인덱스 개수, 제약조건 개수, 뷰 개수, 테이블 건수
PROMPT ======================= 스키마별 오브젝트 정보 =======================
BEGIN
FOR user_rec IN (
SELECT USERNAME
FROM DBA_USERS
WHERE ACCOUNT_STATUS = 'OPEN'
AND ORACLE_MAINTAINED <> 'Y'
AND USERNAME NOT IN ('SYSTEM', 'SYS')
ORDER BY USERNAME
) LOOP
-- 스키마별 테이블 개수
FOR tbl_count IN (
SELECT COUNT(*) AS table_count
FROM ALL_TABLES
WHERE OWNER = user_rec.USERNAME
) LOOP
DBMS_OUTPUT.PUT_LINE('스키마: ' || user_rec.USERNAME || ', 테이블 개수: ' || tbl_count.table_count);
END LOOP;
-- 스키마별 인덱스 개수
FOR idx_count IN (
SELECT COUNT(*) AS index_count
FROM DBA_INDEXES
WHERE OWNER = user_rec.USERNAME
) LOOP
DBMS_OUTPUT.PUT_LINE('스키마: ' || user_rec.USERNAME || ', 인덱스 개수: ' || idx_count.index_count);
END LOOP;
-- 스키마별 제약조건 개수
FOR cons_count IN (
SELECT COUNT(*) AS constraint_count
FROM DBA_CONSTRAINTS
WHERE OWNER = user_rec.USERNAME
AND CONSTRAINT_NAME NOT LIKE 'BIN$%'
) LOOP
DBMS_OUTPUT.PUT_LINE('스키마: ' || user_rec.USERNAME || ', 제약조건 개수: ' || cons_count.constraint_count);
END LOOP;
-- 스키마별 뷰 개수
FOR view_count IN (
SELECT COUNT(*) AS view_count
FROM DBA_VIEWS
WHERE OWNER = user_rec.USERNAME
) LOOP
DBMS_OUTPUT.PUT_LINE('스키마: ' || user_rec.USERNAME || ', 뷰 개수: ' || view_count.view_count);
END LOOP;
-- 스키마별 테이블 건수
FOR tbl_row_count IN (
SELECT TABLE_NAME, NUM_ROWS
FROM ALL_TABLES
WHERE OWNER = user_rec.USERNAME
ORDER BY TABLE_NAME
) LOOP
DBMS_OUTPUT.PUT_LINE('스키마: ' || user_rec.USERNAME || ', 테이블: ' || tbl_row_count.TABLE_NAME || ', 건수: ' || NVL(tbl_row_count.NUM_ROWS, 0));
END LOOP;
END LOOP;
END;
/
-- 3. DB 전체 용량 확인
PROMPT ======================= DB 전체 용량 =======================
SELECT ROUND(SUM(bytes)/1024/1024, 2) AS total_used_mb
FROM DBA_DATA_FILES;
-- 4. 테이블스페이스 사용량 확인
PROMPT ======================= 테이블스페이스 사용량 =======================
SELECT TABLESPACE_NAME, USED_SPACE * 8192 / 1024 / 1024 AS used_space_mb
FROM DBA_TABLESPACE_USAGE_METRICS;
-- 5. 파라미터 설정 확인
PROMPT ======================= 파라미터 설정 =======================
SELECT NAME, VALUE
FROM V$PARAMETER
ORDER BY NAME;
/'DataPump' 카테고리의 다른 글
| DataPump 옵션 모음 (0) | 2025.05.28 |
|---|---|
| Datapump estimate 옵션 (1) | 2025.05.09 |