oracle migrare
This commit is contained in:
634
oracle/migration-scripts/00-MASTER-MIGRATION.sh
Normal file
634
oracle/migration-scripts/00-MASTER-MIGRATION.sh
Normal file
@@ -0,0 +1,634 @@
|
||||
#!/bin/bash
|
||||
#==============================================================================
|
||||
# Script: 00-MASTER-MIGRATION.sh
|
||||
# Descriere: Master control script - Orchestrare completa migrare Oracle
|
||||
# Data: 30 Septembrie 2025
|
||||
# Autor: Generare automata - Asistent migrare Oracle
|
||||
#==============================================================================
|
||||
#
|
||||
# Acest script controleaza intregul proces de migrare Oracle 10g → 21c XE
|
||||
# - Ghideaza utilizatorul prin fiecare pas
|
||||
# - Cere confirmare inainte de executie
|
||||
# - Suporta doua moduri: MIGRARE si INSTALARE NOUA
|
||||
#
|
||||
# IMPORTANT: Ruleaza din WSL/Linux cu conexiune SSH la Proxmox
|
||||
#
|
||||
#==============================================================================
|
||||
|
||||
set -e
|
||||
|
||||
# Culori pentru output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Functii helper
|
||||
print_header() {
|
||||
echo ""
|
||||
echo -e "${BLUE}========================================${NC}"
|
||||
echo -e "${BLUE}$1${NC}"
|
||||
echo -e "${BLUE}========================================${NC}"
|
||||
echo ""
|
||||
}
|
||||
|
||||
print_step() {
|
||||
echo -e "${GREEN}[STEP $1/$2]${NC} $3"
|
||||
}
|
||||
|
||||
print_warning() {
|
||||
echo -e "${YELLOW}⚠️ $1${NC}"
|
||||
}
|
||||
|
||||
print_error() {
|
||||
echo -e "${RED}❌ $1${NC}"
|
||||
}
|
||||
|
||||
print_success() {
|
||||
echo -e "${GREEN}✅ $1${NC}"
|
||||
}
|
||||
|
||||
ask_continue() {
|
||||
local default=${2:-N}
|
||||
echo ""
|
||||
if [ "$default" = "Y" ]; then
|
||||
read -p "$(echo -e ${YELLOW}"$1 (Y/n): "${NC})" -n 1 -r
|
||||
REPLY=${REPLY:-Y}
|
||||
else
|
||||
read -p "$(echo -e ${YELLOW}"$1 (y/N): "${NC})" -n 1 -r
|
||||
REPLY=${REPLY:-N}
|
||||
fi
|
||||
echo ""
|
||||
[[ $REPLY =~ ^[Yy]$ ]]
|
||||
}
|
||||
|
||||
# Banner
|
||||
clear
|
||||
print_header "🚀 MASTER MIGRARE ORACLE 10g → 21c XE"
|
||||
|
||||
echo "Acest script te va ghida prin intregul proces de migrare Oracle."
|
||||
echo ""
|
||||
echo "IMPORTANT: Configurare conexiuni necesare!"
|
||||
echo ""
|
||||
|
||||
# =============================================================================
|
||||
# CONFIGURARE MEDIU
|
||||
# =============================================================================
|
||||
|
||||
print_header "CONFIGURARE CONEXIUNI ORACLE"
|
||||
|
||||
echo "Unde este instalat Oracle 21c XE?"
|
||||
echo " 1) LXC Proxmox (Docker container)"
|
||||
echo " 2) VM/Server Linux (direct sau Docker)"
|
||||
echo " 3) VM/Server Windows"
|
||||
echo ""
|
||||
read -p "Alegere (1/2/3): " ORACLE_LOCATION
|
||||
|
||||
case $ORACLE_LOCATION in
|
||||
1)
|
||||
read -p "IP/hostname Proxmox (ex: 10.0.20.201): " PROXMOX_HOST
|
||||
read -p "ID LXC (ex: 108): " LXC_ID
|
||||
read -p "Nume container Docker (ex: oracle-xe): " CONTAINER_NAME
|
||||
ORACLE_CONNECT_TYPE="LXC"
|
||||
export PROXMOX_HOST LXC_ID CONTAINER_NAME
|
||||
;;
|
||||
2)
|
||||
read -p "IP/hostname server Oracle (ex: 10.0.20.201): " ORACLE_HOST
|
||||
read -p "Rulează Oracle în Docker? (y/N): " DOCKER_REPLY
|
||||
if [[ $DOCKER_REPLY =~ ^[Yy]$ ]]; then
|
||||
read -p "Nume container Docker (ex: oracle-xe): " CONTAINER_NAME
|
||||
ORACLE_CONNECT_TYPE="LINUX_DOCKER"
|
||||
else
|
||||
ORACLE_CONNECT_TYPE="LINUX_NATIVE"
|
||||
fi
|
||||
export ORACLE_HOST CONTAINER_NAME
|
||||
;;
|
||||
3)
|
||||
read -p "IP/hostname Windows Oracle (ex: 10.0.20.201): " ORACLE_HOST
|
||||
ORACLE_CONNECT_TYPE="WINDOWS"
|
||||
export ORACLE_HOST
|
||||
;;
|
||||
*)
|
||||
print_error "Alegere invalida!"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
export ORACLE_CONNECT_TYPE
|
||||
|
||||
echo ""
|
||||
print_success "Configurare Oracle 21c: $ORACLE_CONNECT_TYPE"
|
||||
echo ""
|
||||
|
||||
echo "Unde este Oracle SURSA (pentru export)?"
|
||||
read -p "IP/hostname Oracle sursa (ex: 10.0.20.122): " ORACLE_SOURCE_HOST
|
||||
export ORACLE_SOURCE_HOST
|
||||
|
||||
echo ""
|
||||
echo "Cum vrei să faci EXPORTUL din Oracle sursa?"
|
||||
echo " 1) AUTOMAT - SSH către server sursa (export automat)"
|
||||
echo " 2) MANUAL - Tu exporti, scriptul preia fișierele DMP"
|
||||
echo " 3) LOCAL - Migrare pe același server (porturi diferite)"
|
||||
echo " 4) UPGRADE IN-PLACE - Oracle vechi → Oracle nou (același PC, ghidare completă)"
|
||||
echo ""
|
||||
read -p "Alegere (1/2/3/4): " EXPORT_CHOICE
|
||||
|
||||
case $EXPORT_CHOICE in
|
||||
1)
|
||||
# Export AUTOMAT via SSH
|
||||
read -p "User SSH pentru export (ex: romfast): " ORACLE_SOURCE_USER
|
||||
read -p "Tip server sursa (Linux/Windows): " ORACLE_SOURCE_OS
|
||||
export ORACLE_SOURCE_USER ORACLE_SOURCE_OS
|
||||
export EXPORT_MODE="AUTO"
|
||||
echo " → Export AUTOMAT via SSH"
|
||||
;;
|
||||
2)
|
||||
# Export MANUAL (user exportă local)
|
||||
read -p "Director unde vei pune fișierele DMP (ex: /mnt/e/ORACLE_EXPORT/dumps): " EXPORT_DIR
|
||||
export EXPORT_DIR
|
||||
export EXPORT_MODE="MANUAL"
|
||||
echo " → Export MANUAL (tu exporti local)"
|
||||
;;
|
||||
3)
|
||||
# Migrare LOCALĂ (același server, porturi diferite)
|
||||
print_warning "Migrare LOCALĂ detectată (același server)"
|
||||
echo ""
|
||||
echo "Pentru migrare locală, ai nevoie de:"
|
||||
echo " - Oracle SURSA pe un port (ex: 1521)"
|
||||
echo " - Oracle DESTINAȚIE pe alt port (ex: 1522)"
|
||||
echo ""
|
||||
read -p "Port Oracle SURSA (ex: 1521): " ORACLE_SOURCE_PORT
|
||||
read -p "SID Oracle SURSA (ex: XE sau ROA): " ORACLE_SOURCE_SID
|
||||
read -p "Password SYSTEM pentru Oracle SURSA: " ORACLE_SOURCE_PASS
|
||||
read -p "Port Oracle DESTINAȚIE (ex: 1522): " ORACLE_DEST_PORT
|
||||
read -p "SID Oracle DESTINAȚIE (ex: roa): " ORACLE_DEST_SID
|
||||
read -p "Director pentru export local (ex: /tmp/oracle-export): " EXPORT_DIR
|
||||
|
||||
export ORACLE_SOURCE_PORT ORACLE_SOURCE_SID ORACLE_SOURCE_PASS
|
||||
export ORACLE_DEST_PORT ORACLE_DEST_SID
|
||||
export EXPORT_DIR="${EXPORT_DIR:-/tmp/oracle-export}"
|
||||
export EXPORT_MODE="LOCAL"
|
||||
echo " → Export LOCAL (același server: $ORACLE_SOURCE_PORT → $ORACLE_DEST_PORT)"
|
||||
;;
|
||||
4)
|
||||
# UPGRADE IN-PLACE (ghidare completă)
|
||||
print_success "🎯 Mod UPGRADE IN-PLACE selectat!"
|
||||
echo ""
|
||||
echo "╔══════════════════════════════════════════════════════════════╗"
|
||||
echo "║ UPGRADE ORACLE IN-PLACE - GHIDARE COMPLETĂ ║"
|
||||
echo "╚══════════════════════════════════════════════════════════════╝"
|
||||
echo ""
|
||||
echo "Acest mod te va ghida prin următorii pași:"
|
||||
echo " 1. 📤 Export DMP din Oracle vechi (pe Windows)"
|
||||
echo " 2. ⏸️ Oprire servicii Oracle vechi"
|
||||
echo " 3. 📥 Instalare Oracle 21c XE nou"
|
||||
echo " 4. 📦 Import DMP în Oracle 21c"
|
||||
echo " 5. ✅ Verificare și finalizare"
|
||||
echo ""
|
||||
|
||||
read -p "Unde este instalat Oracle VECHI (Linux/Windows): " OLD_ORACLE_OS
|
||||
read -p "Port Oracle VECHI (default 1521): " OLD_ORACLE_PORT
|
||||
OLD_ORACLE_PORT=${OLD_ORACLE_PORT:-1521}
|
||||
|
||||
read -p "SID Oracle VECHI (ex: XE, ROA): " OLD_ORACLE_SID
|
||||
read -p "Password SYSTEM pentru Oracle VECHI: " OLD_ORACLE_PASS
|
||||
read -p "Director pentru salvare DMP (ex: D:\\oracle-export sau /tmp/export): " EXPORT_DIR
|
||||
|
||||
# Detectare tip server
|
||||
if [[ "$OLD_ORACLE_OS" =~ [Ww]indows ]]; then
|
||||
ORACLE_SOURCE_OS="Windows"
|
||||
EXPORT_LOCATION_HINT="📁 Salvează DMP-urile în: $EXPORT_DIR"
|
||||
else
|
||||
ORACLE_SOURCE_OS="Linux"
|
||||
EXPORT_LOCATION_HINT="📁 Salvează DMP-urile în: $EXPORT_DIR"
|
||||
fi
|
||||
|
||||
export ORACLE_SOURCE_OS OLD_ORACLE_PORT OLD_ORACLE_SID OLD_ORACLE_PASS
|
||||
export EXPORT_DIR
|
||||
export EXPORT_MODE="INPLACE"
|
||||
|
||||
echo ""
|
||||
print_success "Configurare UPGRADE IN-PLACE completă!"
|
||||
echo " Oracle vechi: $OLD_ORACLE_SID @ localhost:$OLD_ORACLE_PORT ($ORACLE_SOURCE_OS)"
|
||||
echo " $EXPORT_LOCATION_HINT"
|
||||
;;
|
||||
*)
|
||||
print_error "Alegere invalidă!"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
echo ""
|
||||
print_success "Configurare completa!"
|
||||
echo ""
|
||||
echo "Rezumat:"
|
||||
echo " Oracle 21c: $ORACLE_CONNECT_TYPE"
|
||||
if [ "$ORACLE_CONNECT_TYPE" = "LXC" ]; then
|
||||
echo " Proxmox: $PROXMOX_HOST"
|
||||
echo " LXC ID: $LXC_ID"
|
||||
echo " Container: $CONTAINER_NAME"
|
||||
elif [ "$ORACLE_CONNECT_TYPE" = "LINUX_DOCKER" ]; then
|
||||
echo " Host: $ORACLE_HOST"
|
||||
echo " Container: $CONTAINER_NAME"
|
||||
else
|
||||
echo " Host: $ORACLE_HOST"
|
||||
fi
|
||||
echo " Oracle 10g: $ORACLE10G_USER@$ORACLE10G_HOST"
|
||||
echo ""
|
||||
|
||||
if ! ask_continue "Configurarea este corecta?"; then
|
||||
print_error "Reconfigureaza si ruleaza din nou"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
# Selectare MOD
|
||||
print_header "SELECTARE MOD OPERARE"
|
||||
|
||||
echo "Selecteaza modul de lucru:"
|
||||
echo " 1) MIGRARE COMPLETA (Oracle 10g → 21c)"
|
||||
echo " 2) INSTALARE NOUA (din template-uri)"
|
||||
echo ""
|
||||
read -p "Alegere (1/2): " MODE_CHOICE
|
||||
echo ""
|
||||
|
||||
case $MODE_CHOICE in
|
||||
1)
|
||||
MODE="MIGRATION"
|
||||
print_success "Mod selectat: MIGRARE COMPLETA"
|
||||
;;
|
||||
2)
|
||||
MODE="NEW_INSTALL"
|
||||
print_success "Mod selectat: INSTALARE NOUA"
|
||||
;;
|
||||
*)
|
||||
print_error "Alegere invalida!"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Export variabile pentru scripturile copil
|
||||
export MIGRATION_MODE=$MODE
|
||||
|
||||
# Variabile configurare
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
TOTAL_STEPS=7
|
||||
|
||||
if [ "$MODE" = "NEW_INSTALL" ]; then
|
||||
TOTAL_STEPS=6 # Fara export Oracle 10g
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# PASUL 0: INSTALARE ORACLE 21c XE (OPTIONAL)
|
||||
# =============================================================================
|
||||
|
||||
print_header "PASUL 0/7: INSTALARE ORACLE 21c XE (OPTIONAL)"
|
||||
|
||||
echo "Daca Oracle 21c XE este deja instalat pe LXC 108, poti sari peste acest pas."
|
||||
echo ""
|
||||
if ask_continue "Vrei sa instalezi Oracle 21c XE acum?"; then
|
||||
print_step "0" "7" "Instalare Oracle 21c XE pe LXC 108..."
|
||||
echo ""
|
||||
echo "Ce face acest script:"
|
||||
echo " - Verifica LXC 108 exista"
|
||||
echo " - Instaleaza Docker (daca nu exista)"
|
||||
echo " - Download Oracle 21c XE image (2-3 GB)"
|
||||
echo " - Sterge XEPDB1 automat"
|
||||
echo " - Creaza PDB ROA"
|
||||
echo " - Optional: PDB ROA2"
|
||||
echo ""
|
||||
echo "Durata estimata: ~15-20 minute"
|
||||
echo ""
|
||||
|
||||
if ask_continue "Continua cu instalarea?"; then
|
||||
if [ -f "$SCRIPT_DIR/00-install-oracle21c-xe.sh" ]; then
|
||||
bash "$SCRIPT_DIR/00-install-oracle21c-xe.sh"
|
||||
if [ $? -eq 0 ]; then
|
||||
print_success "Oracle 21c XE instalat cu succes!"
|
||||
else
|
||||
print_error "Eroare la instalarea Oracle 21c XE!"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
print_error "Script 00-install-oracle21c-xe.sh nu gasit!"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
print_warning "Instalare Oracle 21c XE omisa"
|
||||
fi
|
||||
else
|
||||
print_warning "Pasul 0 omis - presupun ca Oracle 21c XE este deja instalat"
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# PASUL 1: SETUP ORACLE 21c XE
|
||||
# =============================================================================
|
||||
|
||||
print_header "PASUL 1/$TOTAL_STEPS: SETUP ORACLE 21c XE"
|
||||
|
||||
echo "Ce face acest script:"
|
||||
echo " - Verifica container oracle-xe"
|
||||
echo " - Verifica PDB ROA"
|
||||
echo " - Creaza tablespace ROA (20GB, autoextend)"
|
||||
echo " - Creaza useri CONTAFIN_ORACLE si MARIUSM_AUTO"
|
||||
if [ "$MODE" = "NEW_INSTALL" ]; then
|
||||
echo " - Prompt pentru nume schema noua (nu MARIUSM_AUTO)"
|
||||
fi
|
||||
echo " - Acorda system privileges + DBMS packages"
|
||||
echo ""
|
||||
echo "Durata estimata: ~3-5 minute"
|
||||
echo ""
|
||||
|
||||
if ask_continue "Executa SETUP Oracle 21c?" "Y"; then
|
||||
print_step "1" "$TOTAL_STEPS" "Setup Oracle 21c XE..."
|
||||
|
||||
if [ -f "$SCRIPT_DIR/01-setup-oracle21c.sh" ]; then
|
||||
bash "$SCRIPT_DIR/01-setup-oracle21c.sh"
|
||||
if [ $? -eq 0 ]; then
|
||||
print_success "Setup Oracle 21c complet!"
|
||||
else
|
||||
print_error "Eroare la setup Oracle 21c!"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
print_error "Script 01-setup-oracle21c.sh nu gasit!"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
print_error "Setup Oracle 21c este obligatoriu! Iesire..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# PASUL 2: EXPORT ORACLE 10g (doar pentru MIGRATION)
|
||||
# =============================================================================
|
||||
|
||||
if [ "$MODE" = "MIGRATION" ]; then
|
||||
print_header "PASUL 2/$TOTAL_STEPS: EXPORT ORACLE SURSA"
|
||||
|
||||
if [ "$EXPORT_MODE" = "AUTO" ]; then
|
||||
echo "Export AUTOMAT via SSH către server sursa"
|
||||
echo ""
|
||||
echo "Ce face:"
|
||||
echo " - Conectare SSH către $ORACLE_SOURCE_HOST"
|
||||
echo " - Export schema CONTAFIN_ORACLE (~15 min)"
|
||||
echo " - Export schema secundară (~60 min)"
|
||||
if [ "$ORACLE_SOURCE_OS" = "Windows" ]; then
|
||||
echo " - Rulare batch Windows pentru export"
|
||||
else
|
||||
echo " - Rulare script Linux pentru export"
|
||||
fi
|
||||
echo ""
|
||||
echo "Durata estimata: ~75 minute"
|
||||
elif [ "$EXPORT_MODE" = "LOCAL" ]; then
|
||||
echo "Export LOCAL (același server, porturi diferite)"
|
||||
echo ""
|
||||
echo "Ce face:"
|
||||
echo " - Export direct din Oracle sursa (port $ORACLE_SOURCE_PORT)"
|
||||
echo " - Salvare în $EXPORT_DIR"
|
||||
echo " - Verificare conectivitate ambele instanțe Oracle"
|
||||
echo ""
|
||||
echo "Durata estimata: ~75 minute"
|
||||
else
|
||||
echo "Export MANUAL - ghidare pas cu pas"
|
||||
echo ""
|
||||
echo "Vei primi instrucțiuni detaliate pentru export manual"
|
||||
echo ""
|
||||
fi
|
||||
echo ""
|
||||
|
||||
if ask_continue "Executa EXPORT din Oracle sursa?" "Y"; then
|
||||
print_step "2" "$TOTAL_STEPS" "Export Oracle sursa..."
|
||||
|
||||
if [ -f "$SCRIPT_DIR/02-export-source.sh" ]; then
|
||||
bash "$SCRIPT_DIR/02-export-source.sh"
|
||||
if [ $? -eq 0 ]; then
|
||||
print_success "Export Oracle sursa complet!"
|
||||
else
|
||||
print_error "Eroare la export Oracle sursa!"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
print_error "Script 02-export-source.sh nu gasit!"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
print_error "Export Oracle sursa este obligatoriu pentru migrare!"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
# NEW_INSTALL mode - prompt pentru locatie template-uri
|
||||
print_header "PASUL 2/$TOTAL_STEPS: VERIFICARE TEMPLATE-URI"
|
||||
|
||||
echo "Pentru instalare noua, ai nevoie de fisiere template DMP:"
|
||||
echo " - contafin_oracle.dmp (template CONTAFIN_ORACLE)"
|
||||
echo " - firmanoua.dmp (template pentru schema noua)"
|
||||
echo ""
|
||||
read -p "Introdu calea catre template-uri (ex: /mnt/e/templates): " TEMPLATE_DIR
|
||||
|
||||
if [ ! -f "$TEMPLATE_DIR/contafin_oracle.dmp" ]; then
|
||||
print_error "Nu gasesc: $TEMPLATE_DIR/contafin_oracle.dmp"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
read -p "Nume fisier template pentru schema noua (ex: firmanoua.dmp): " SCHEMA2_TEMPLATE
|
||||
|
||||
if [ ! -f "$TEMPLATE_DIR/$SCHEMA2_TEMPLATE" ]; then
|
||||
print_error "Nu gasesc: $TEMPLATE_DIR/$SCHEMA2_TEMPLATE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
print_success "Template-uri gasite!"
|
||||
|
||||
# Export variabile pentru pasii urmatori
|
||||
export TEMPLATE_DIR
|
||||
export SCHEMA2_TEMPLATE
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# PASUL 3: TRANSFER FISIERE
|
||||
# =============================================================================
|
||||
|
||||
print_header "PASUL 3/$TOTAL_STEPS: TRANSFER FISIERE CATRE ORACLE 21c"
|
||||
|
||||
if [ "$MODE" = "MIGRATION" ]; then
|
||||
echo "Ce face acest script:"
|
||||
echo " - Verifica fisiere DMP in /mnt/e/ORACLE_EXPORT/dumps"
|
||||
echo " - Transfer fisiere catre Proxmox /tmp/oracle-import"
|
||||
echo " - Copiaza fisiere in container oracle-xe"
|
||||
else
|
||||
echo "Ce face acest script:"
|
||||
echo " - Transfer template-uri catre Proxmox"
|
||||
echo " - Copiaza in container oracle-xe"
|
||||
fi
|
||||
echo ""
|
||||
echo "Durata estimata: ~10 minute"
|
||||
echo ""
|
||||
|
||||
if ask_continue "Executa TRANSFER fisiere?" "Y"; then
|
||||
print_step "3" "$TOTAL_STEPS" "Transfer fisiere..."
|
||||
|
||||
if [ -f "$SCRIPT_DIR/03-transfer-to-oracle21c.sh" ]; then
|
||||
bash "$SCRIPT_DIR/03-transfer-to-oracle21c.sh"
|
||||
if [ $? -eq 0 ]; then
|
||||
print_success "Transfer fisiere complet!"
|
||||
else
|
||||
print_error "Eroare la transfer fisiere!"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
print_error "Script 03-transfer-to-oracle21c.sh nu gasit!"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
print_error "Transfer fisiere este obligatoriu! Iesire..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# PASUL 4: IMPORT IN ORACLE 21c
|
||||
# =============================================================================
|
||||
|
||||
print_header "PASUL 4/$TOTAL_STEPS: IMPORT IN ORACLE 21c"
|
||||
|
||||
if [ "$MODE" = "MIGRATION" ]; then
|
||||
echo "Ce face acest script:"
|
||||
echo " - Import SYS objects custom (~5 min)"
|
||||
echo " - Grant-uri SYS → CONTAFIN_ORACLE"
|
||||
echo " - Import CONTAFIN_ORACLE (~15 min)"
|
||||
echo " - Import MARIUSM_AUTO (~90 min)"
|
||||
echo " - Verificare obiecte importate"
|
||||
echo ""
|
||||
echo "Durata estimata: ~2 ore"
|
||||
else
|
||||
echo "Ce face acest script:"
|
||||
echo " - Import template CONTAFIN_ORACLE"
|
||||
echo " - Import template pentru schema noua"
|
||||
echo " - Prompt pentru nume schema"
|
||||
echo ""
|
||||
echo "Durata estimata: ~30 minute"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
if ask_continue "Executa IMPORT scheme?" "Y"; then
|
||||
print_step "4" "$TOTAL_STEPS" "Import scheme in Oracle 21c..."
|
||||
|
||||
if [ -f "$SCRIPT_DIR/04-import-to-oracle21c.sh" ]; then
|
||||
bash "$SCRIPT_DIR/04-import-to-oracle21c.sh"
|
||||
if [ $? -eq 0 ]; then
|
||||
print_success "Import scheme complet!"
|
||||
else
|
||||
print_error "Eroare la import scheme!"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
print_error "Script 04-import-to-oracle21c.sh nu gasit!"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
print_error "Import scheme este obligatoriu! Iesire..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# PASUL 5: CREARE SINONIME + GRANT-URI
|
||||
# =============================================================================
|
||||
|
||||
print_header "PASUL 5/$TOTAL_STEPS: CREARE SINONIME PUBLICE + GRANT-URI"
|
||||
|
||||
echo "Ce face acest script:"
|
||||
echo " - Creaza 53 sinonime publice (SYN_*)"
|
||||
echo " - Acorda 147 grant-uri catre PUBLIC"
|
||||
echo " - Verificare sinonime si grant-uri"
|
||||
echo ""
|
||||
echo "Durata estimata: ~5 minute"
|
||||
echo ""
|
||||
|
||||
if ask_continue "Executa CREARE sinonime + grant-uri?" "Y"; then
|
||||
print_step "5" "$TOTAL_STEPS" "Creare sinonime + grant-uri..."
|
||||
|
||||
if [ -f "$SCRIPT_DIR/05-create-synonyms-grants.sh" ]; then
|
||||
bash "$SCRIPT_DIR/05-create-synonyms-grants.sh"
|
||||
if [ $? -eq 0 ]; then
|
||||
print_success "Sinonime + grant-uri create!"
|
||||
else
|
||||
print_error "Eroare la creare sinonime + grant-uri!"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
print_error "Script 05-create-synonyms-grants.sh nu gasit!"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
print_error "Creare sinonime este obligatorie! Iesire..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# PASUL 6: FINALIZARE MIGRARE
|
||||
# =============================================================================
|
||||
|
||||
print_header "PASUL 6/$TOTAL_STEPS: FINALIZARE MIGRARE"
|
||||
|
||||
echo "Ce face acest script:"
|
||||
echo " - Recompilare obiecte invalide"
|
||||
echo " - Verificare completa migrare (10 teste)"
|
||||
echo " - Raport final"
|
||||
echo ""
|
||||
echo "Durata estimata: ~10 minute"
|
||||
echo ""
|
||||
|
||||
if ask_continue "Executa FINALIZARE migrare?" "Y"; then
|
||||
print_step "6" "$TOTAL_STEPS" "Finalizare migrare..."
|
||||
|
||||
if [ -f "$SCRIPT_DIR/06-finalize-migration.sh" ]; then
|
||||
bash "$SCRIPT_DIR/06-finalize-migration.sh"
|
||||
if [ $? -eq 0 ]; then
|
||||
print_success "Finalizare completa!"
|
||||
else
|
||||
print_error "Eroare la finalizare!"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
print_error "Script 06-finalize-migration.sh nu gasit!"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
print_warning "Finalizare omisa - recomand sa rulezi manual!"
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# FINAL - RAPORT COMPLET
|
||||
# =============================================================================
|
||||
|
||||
print_header "🎉 MIGRARE COMPLETA CU SUCCES!"
|
||||
|
||||
echo "Rezumat:"
|
||||
if [ "$MODE" = "MIGRATION" ]; then
|
||||
echo " ✅ Oracle 10g → 21c XE migrat complet"
|
||||
else
|
||||
echo " ✅ Instalare noua completa din template-uri"
|
||||
fi
|
||||
echo " ✅ PDB ROA creat si configurat"
|
||||
echo " ✅ Tablespace ROA (20GB, autoextend)"
|
||||
echo " ✅ Utilizatori creati cu privilegii complete"
|
||||
echo " ✅ Scheme importate cu succes"
|
||||
echo " ✅ Sinonime publice: 53"
|
||||
echo " ✅ Grant-uri PUBLIC: 147"
|
||||
echo " ✅ Obiecte recompilate"
|
||||
echo ""
|
||||
echo "Conexiune test:"
|
||||
echo " sqlplus CONTAFIN_ORACLE/OraclePass123@10.0.20.201:1521/roa"
|
||||
echo ""
|
||||
echo "Verificare PDB:"
|
||||
echo " sqlplus sys/OraclePass123@10.0.20.201:1521/roa as sysdba"
|
||||
echo " SQL> SELECT name, cdb FROM v\$database; -- Trebuie: ROA, NO"
|
||||
echo ""
|
||||
echo "Log-uri disponibile:"
|
||||
echo " - ssh root@10.0.20.201 \"pct exec 108 -- docker exec oracle-xe cat /tmp/contafin_import.log\""
|
||||
echo " - ssh root@10.0.20.201 \"pct exec 108 -- docker exec oracle-xe cat /tmp/mariusm_import.log\""
|
||||
echo ""
|
||||
print_success "TOATE PASII COMPLETI!"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user