Files
ROMFASTSQL/proxmox/lxc108-oracle/clienti/import-test-lxc108.md
Claude Agent 2e7f337a5b docs(lxc108): add import test guide + ACN export parfile
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>
2026-05-20 07:33:06 +00:00

163 lines
3.7 KiB
Markdown

# 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):
```sql
-- 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:
```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:
```cmd
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):
```bash
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:
```cmd
sqlplus sys/romfastsoft@10.0.20.121:1521/roa as sysdba
```
```sql
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:
```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):
> ```sql
> -- conectat la roa ca sysdba
> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
> ```
---
## Pasul 5 — Verificare după import
```cmd
sqlplus SCHEMA_CLIENT/ROMFASTSOFT@10.0.20.121:1521/roa
```
```sql
-- 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
```cmd
sqlplus sys/romfastsoft@10.0.20.121:1521/roa as sysdba
```
```sql
DROP USER SCHEMA_CLIENT CASCADE;
EXIT;
```
Șterge și DMP-urile de pe LXC 108 (opțional):
```bash
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`](expdp_acn_nodata.par)
- Configurare LXC 108: [`../README.md`](../README.md)
- PDB ROA conexiune: `10.0.20.121:1521/roa`