Procedura completa import DMP client pentru teste in LXC 108 Oracle 21c. Parfile expdp ACN cu tabele mari excluse (40 tabele, ~2.4GB date excluse). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3.7 KiB
Import DMP client pentru teste — LXC 108 Oracle 21c
Procedură pentru importul unui DMP din producție (Oracle 19c SE2) în LXC 108 (Oracle 21c XE, PDB ROA) în scopul testelor. Schema se șterge după teste.
Pregătire: ce trebuie știut dinainte
| Valoare | |
|---|---|
| Schema client | ex: ACN |
| Parola Oracle LXC 108 | romfastsoft |
| Director DMP pe producție (Windows) | C:\DMPDIR |
| Director DMP pe LXC 108 | /opt/oracle/oradata/dmpdir/ |
| PDB țintă | roa (port 1521) |
Pasul 1 — Export din producție (Windows)
Identifici tabelele mari ca să le excluzi din export (DMP mai mic):
-- Rulează pe producție cu sqlplus
SELECT * FROM (
SELECT segment_name, ROUND(SUM(bytes)/1024/1024, 2) AS mb
FROM dba_segments
WHERE segment_type = 'TABLE' AND owner = 'SCHEMA_CLIENT'
GROUP BY segment_name
ORDER BY mb DESC
) WHERE ROWNUM <= 20;
Creezi parfile C:\DMPDIR\export.par (ajustezi lista de tabele excluse):
SCHEMAS=SCHEMA_CLIENT
DIRECTORY=DMPDIR
DUMPFILE=client_nodata_%U.dmp
FILESIZE=2G
LOGFILE=client_export_nodata.log
EXCLUDE=TABLE_DATA:"IN ('TABEL_MARE1','TABEL_MARE2','TABEL_MARE3')"
Rulezi exportul din CMD:
expdp system/PAROLA@localhost:1521/SERVICIU PARFILE=C:\DMPDIR\export.par
Pasul 2 — Transfer DMP pe LXC 108
Din Windows CMD/PowerShell, copiezi DMP-urile pe Proxmox:
scp C:\DMPDIR\client_nodata_*.dmp root@10.0.20.201:/tmp/
De pe Proxmox, muți în containerul Oracle (repetă pentru fiecare fișier):
ssh root@10.0.20.201
pct push 108 /tmp/client_nodata_01.dmp /opt/oracle/oradata/dmpdir/client_nodata_01.dmp
pct push 108 /tmp/client_nodata_02.dmp /opt/oracle/oradata/dmpdir/client_nodata_02.dmp
Pasul 3 — Creare user în Oracle LXC 108
Cu sqlplus direct din Windows:
sqlplus sys/romfastsoft@10.0.20.121:1521/roa as sysdba
CREATE USER SCHEMA_CLIENT IDENTIFIED BY ROMFASTSOFT
DEFAULT TABLESPACE ROA QUOTA UNLIMITED ON ROA;
GRANT CONNECT, RESOURCE, DBA TO SCHEMA_CLIENT;
EXIT;
Pasul 4 — Import DMP
Din Windows CMD:
impdp system/romfastsoft@10.0.20.121:1521/roa SCHEMAS=SCHEMA_CLIENT DIRECTORY=DMPDIR DUMPFILE=client_nodata_%U.dmp REMAP_TABLESPACE=SCHEMA_CLIENT:ROA LOGFILE=client_import.log
Log import: /opt/oracle/oradata/dmpdir/client_import.log
Warning ORA-28002 (parola expiră în N zile) — inofensiv, importul merge. Fix permanent (o singură dată per PDB):
-- conectat la roa ca sysdba ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Pasul 5 — Verificare după import
sqlplus SCHEMA_CLIENT/ROMFASTSOFT@10.0.20.121:1521/roa
-- Număr obiecte importate
SELECT object_type, COUNT(*) FROM user_objects GROUP BY object_type ORDER BY 2 DESC;
-- Tabele goale (cele excluse din export)
SELECT table_name, num_rows FROM user_tables WHERE num_rows = 0 ORDER BY table_name;
EXIT;
Pasul 6 — Timeout ODBC (dacă apare ORA-12609)
Dacă aplicația Windows primește eroare de timeout la operații lungi, șterge sau
mărește SQLNET.RECV_TIMEOUT din sqlnet.ora pe clientul Windows.
Locație tipică: C:\oracle\instantclient\network\admin\sqlnet.ora
Șterge sau comentează linia:
# SQLNET.RECV_TIMEOUT=60
Pasul 7 — Cleanup după teste
sqlplus sys/romfastsoft@10.0.20.121:1521/roa as sysdba
DROP USER SCHEMA_CLIENT CASCADE;
EXIT;
Șterge și DMP-urile de pe LXC 108 (opțional):
ssh root@10.0.20.201 "pct exec 108 -- rm /opt/oracle/oradata/dmpdir/client_nodata_*.dmp"
Referințe
- Parfile ACN (exemplu real):
expdp_acn_nodata.par - Configurare LXC 108:
../README.md - PDB ROA conexiune:
10.0.20.121:1521/roa