oracle migrare
This commit is contained in:
173
oracle/migration-scripts/04-import-to-oracle21c.sh
Normal file
173
oracle/migration-scripts/04-import-to-oracle21c.sh
Normal file
@@ -0,0 +1,173 @@
|
||||
#!/bin/bash
|
||||
#==============================================================================
|
||||
# Script: 04-import-to-oracle21c.sh
|
||||
# Descriere: Import SYS objects + CONTAFIN_ORACLE + schema secundara în Oracle 21c
|
||||
# Data: 30 Septembrie 2025
|
||||
# Rulare: bash 04-import-to-oracle21c.sh
|
||||
#==============================================================================
|
||||
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo "IMPORT IN ORACLE 21c XE - PDB ROA"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
ORACLE_PWD="OraclePass123"
|
||||
PDB_CONNECT="sys/${ORACLE_PWD}@localhost:1521/roa as sysdba"
|
||||
|
||||
# Detectare schema secundara (din variabila exportata de 01-setup sau master)
|
||||
if [ -z "$SCHEMA2_NAME" ]; then
|
||||
SCHEMA2_NAME="MARIUSM_AUTO"
|
||||
echo "Schema secundara (default): MARIUSM_AUTO"
|
||||
else
|
||||
echo "Schema secundara (custom): $SCHEMA2_NAME"
|
||||
fi
|
||||
|
||||
echo "[1/5] Import SYS objects custom..."
|
||||
ssh root@10.0.20.201 "pct exec 108 -- docker exec oracle-xe sqlplus -s ${PDB_CONNECT}" <<'EOF'
|
||||
SET SERVEROUTPUT ON
|
||||
WHENEVER SQLERROR CONTINUE
|
||||
|
||||
-- Verificare conexiune PDB ROA
|
||||
SELECT 'Connected to: ' || name || ' (CDB=' || cdb || ')' FROM v$database;
|
||||
|
||||
-- Import SYS objects
|
||||
@/tmp/SYS_OBJECTS.sql
|
||||
|
||||
-- Verificare obiecte create
|
||||
SELECT object_name, object_type, status
|
||||
FROM dba_objects
|
||||
WHERE owner='SYS'
|
||||
AND object_name IN ('AUTH_PACK','NEWSCHEMA','NEWSCHEMAJOB','NEWSCHEMAPROGRESS','VAUTH_SERII','AUTH_SERII','AUTH_DETALII')
|
||||
ORDER BY object_type, object_name;
|
||||
|
||||
EXIT;
|
||||
EOF
|
||||
echo "✓ SYS objects importat"
|
||||
echo ""
|
||||
|
||||
echo "[2/5] Grant-uri SYS → CONTAFIN_ORACLE..."
|
||||
ssh root@10.0.20.201 "pct exec 108 -- docker exec oracle-xe sqlplus -s ${PDB_CONNECT}" <<'EOF'
|
||||
WHENEVER SQLERROR CONTINUE
|
||||
|
||||
GRANT SELECT ON SYS.AUTH_SERII TO CONTAFIN_ORACLE;
|
||||
GRANT SELECT ON SYS.AUTH_DETALII TO CONTAFIN_ORACLE;
|
||||
GRANT SELECT ON SYS.VAUTH_SERII TO CONTAFIN_ORACLE;
|
||||
GRANT EXECUTE ON SYS.AUTH_PACK TO CONTAFIN_ORACLE;
|
||||
GRANT EXECUTE ON SYS.NEWSCHEMA TO CONTAFIN_ORACLE;
|
||||
GRANT EXECUTE ON SYS.NEWSCHEMAJOB TO CONTAFIN_ORACLE;
|
||||
GRANT EXECUTE ON SYS.NEWSCHEMAPROGRESS TO CONTAFIN_ORACLE;
|
||||
GRANT EXECUTE ON SYS.UPDATESQLPLUS TO CONTAFIN_ORACLE;
|
||||
GRANT EXECUTE ON SYS.EXECUTESCRIPTOS TO CONTAFIN_ORACLE;
|
||||
|
||||
EXIT;
|
||||
EOF
|
||||
echo "✓ Grant-uri SYS acordate"
|
||||
echo ""
|
||||
|
||||
echo "[3/5] Import CONTAFIN_ORACLE..."
|
||||
echo "Durată estimată: 10-15 minute"
|
||||
ssh root@10.0.20.201 "pct exec 108 -- docker exec oracle-xe bash -c '
|
||||
CONTAFIN_DMP=\$(ls /tmp/CONTAFIN_ORACLE*.dmp | head -1)
|
||||
imp system/${ORACLE_PWD}@localhost:1521/roa \
|
||||
FILE=\$CONTAFIN_DMP \
|
||||
LOG=/tmp/contafin_import.log \
|
||||
FROMUSER=CONTAFIN_ORACLE \
|
||||
TOUSER=CONTAFIN_ORACLE \
|
||||
IGNORE=Y \
|
||||
COMMIT=Y \
|
||||
BUFFER=10485760 \
|
||||
FEEDBACK=10000
|
||||
|
||||
echo ""
|
||||
echo "Verificare obiecte importate:"
|
||||
sqlplus -s system/${ORACLE_PWD}@localhost:1521/roa <<EOSQL
|
||||
SET PAGESIZE 50
|
||||
SELECT object_type, COUNT(*) as total
|
||||
FROM dba_objects
|
||||
WHERE owner='"'CONTAFIN_ORACLE'"'
|
||||
GROUP BY object_type
|
||||
ORDER BY object_type;
|
||||
EXIT;
|
||||
EOSQL
|
||||
'"
|
||||
echo "✓ CONTAFIN_ORACLE importat"
|
||||
echo ""
|
||||
|
||||
echo "[4/5] Import ${SCHEMA2_NAME}..."
|
||||
if [ "$SCHEMA2_NAME" = "MARIUSM_AUTO" ]; then
|
||||
echo "Durată estimată: 45-90 minute (707 tabele!)"
|
||||
else
|
||||
echo "Durată estimată: variabilă (depinde de dimensiune DMP)"
|
||||
fi
|
||||
|
||||
# Determinare fisier DMP (MARIUSM_AUTO*.dmp sau schema custom)
|
||||
if [ "$SCHEMA2_NAME" = "MARIUSM_AUTO" ]; then
|
||||
DMP_PATTERN="MARIUSM_AUTO*.dmp"
|
||||
FROMUSER="MARIUSM_AUTO"
|
||||
else
|
||||
# Pentru schema custom, cautam fisierul specificat in SCHEMA2_TEMPLATE
|
||||
DMP_PATTERN="${SCHEMA2_TEMPLATE:-*${SCHEMA2_NAME}*.dmp}"
|
||||
FROMUSER="${SCHEMA2_NAME}"
|
||||
fi
|
||||
|
||||
ssh root@10.0.20.201 "pct exec 108 -- docker exec oracle-xe bash -c '
|
||||
SCHEMA2_DMP=\$(ls /tmp/${DMP_PATTERN} | head -1)
|
||||
if [ -z \"\$SCHEMA2_DMP\" ]; then
|
||||
echo \"ERROR: Nu gasesc fisier DMP pentru ${SCHEMA2_NAME}!\"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo \"Import DMP: \$SCHEMA2_DMP\"
|
||||
imp system/${ORACLE_PWD}@localhost:1521/roa \
|
||||
FILE=\$SCHEMA2_DMP \
|
||||
LOG=/tmp/${SCHEMA2_NAME}_import.log \
|
||||
FROMUSER=${FROMUSER} \
|
||||
TOUSER=${SCHEMA2_NAME} \
|
||||
IGNORE=Y \
|
||||
COMMIT=Y \
|
||||
BUFFER=10485760 \
|
||||
FEEDBACK=10000
|
||||
|
||||
echo \"\"
|
||||
echo \"Verificare obiecte importate:\"
|
||||
sqlplus -s system/${ORACLE_PWD}@localhost:1521/roa <<EOSQL
|
||||
SET PAGESIZE 50
|
||||
SELECT object_type, COUNT(*) as total
|
||||
FROM dba_objects
|
||||
WHERE owner='"'${SCHEMA2_NAME}'"'
|
||||
GROUP BY object_type
|
||||
ORDER BY object_type;
|
||||
EXIT;
|
||||
EOSQL
|
||||
'"
|
||||
echo "✓ ${SCHEMA2_NAME} importat"
|
||||
echo ""
|
||||
|
||||
echo "[5/5] Verificare finală import..."
|
||||
ssh root@10.0.20.201 "pct exec 108 -- docker exec oracle-xe sqlplus -s ${PDB_CONNECT}" <<EOF
|
||||
SET PAGESIZE 50
|
||||
|
||||
SELECT owner, COUNT(*) as total_objects,
|
||||
SUM(CASE WHEN status='VALID' THEN 1 ELSE 0 END) as valid,
|
||||
SUM(CASE WHEN status='INVALID' THEN 1 ELSE 0 END) as invalid
|
||||
FROM dba_objects
|
||||
WHERE owner IN ('CONTAFIN_ORACLE','${SCHEMA2_NAME}')
|
||||
GROUP BY owner
|
||||
ORDER BY owner;
|
||||
|
||||
EXIT;
|
||||
EOF
|
||||
echo ""
|
||||
|
||||
echo "=========================================="
|
||||
echo "✅ IMPORT COMPLET!"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "Log-uri import:"
|
||||
echo " - /tmp/contafin_import.log"
|
||||
echo " - /tmp/${SCHEMA2_NAME}_import.log"
|
||||
echo ""
|
||||
echo "Următorul pas: 05-create-synonyms-grants.sh"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user