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>
This commit is contained in:
@@ -10,6 +10,12 @@ scripturile reutilizabile generate din fiecare caz.
|
||||
|--------|--------|----------|---------|----------|
|
||||
| **ROMPETROL ENERGY** | `ROMPETROLE` | Oracle XE 21c CDB plin (ORA-12954, limita 12 GB) — SYSAUX umflat de SQL Tuning Sets, AWR, audit policies. Cleanup parțial nu a recuperat spațiul (datafile-uri nu s-au putut shrink-ui). | Recreare PDB `XEPDB1` din `PDB$SEED` + reimport scheme cu `remap_tablespace=USERS:ROA`. Total alocat: 13.5 GB → ~3 GB. | [`oracle-xe-21c/`](oracle-xe-21c/) |
|
||||
|
||||
## Proceduri generale
|
||||
|
||||
| Procedură | Fișier |
|
||||
|-----------|--------|
|
||||
| Import DMP client pentru teste în LXC 108 | [`import-test-lxc108.md`](import-test-lxc108.md) |
|
||||
|
||||
## Convenție
|
||||
|
||||
Fiecare caz are propriul director cu:
|
||||
|
||||
8
proxmox/lxc108-oracle/clienti/expdp_acn_nodata.par
Normal file
8
proxmox/lxc108-oracle/clienti/expdp_acn_nodata.par
Normal file
@@ -0,0 +1,8 @@
|
||||
SCHEMAS=ACN
|
||||
DIRECTORY=DMPDIR
|
||||
DUMPFILE=acn_nodata_%U.dmp
|
||||
FILESIZE=2G
|
||||
PARALLEL=2
|
||||
COMPRESSION=ALL
|
||||
LOGFILE=acn_export_nodata.log
|
||||
EXCLUDE=TABLE_DATA:"IN ('GEST_INVENTAR','ACT','IPS_VOYAGE_LOCKS','IREG_PARTENERI','LOG','STOC_OBINV','BALANTA_PARTENERI','IPS_VOYAGE_MEMBERS','IPS_VOYAGE_MEMBERS_VANZARI','INFO','VANZARI_DETALII','VANZARI','IPS_REGDOC','IPS_CARGOES','ANAF_EFACTURA','STOC','IPS_VOYAGES','JV2007','RUL','IPS_REGDOC_190822','IPS_BERTHINGS','DOCUMENTE','ANAF_EFACTURA_DETALII','TUW_SEL_TAB','JC2007','IPS_VOYAGES_VANZARI','IPS_BERTHINGS_VANZARI','RUL_OBINV','BALANA','PENALITATI','PLCONT','SERII_NUMERE','IPS_BERTHING_DETAILS_VANZARI','VANZARI_CURSURI','STOC_OBINV_2024','IMOBF_CALCUL_RATE','IPS_VESSELS','IMOB_CALCUL_RATE','IPS_BERTHINGS14','BAL')"
|
||||
162
proxmox/lxc108-oracle/clienti/import-test-lxc108.md
Normal file
162
proxmox/lxc108-oracle/clienti/import-test-lxc108.md
Normal file
@@ -0,0 +1,162 @@
|
||||
# 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`
|
||||
Reference in New Issue
Block a user