La VADECO, backupora.exe rula in fiecare noapte, se termina cu cod 0 si scria "DONE" pentru fiecare schema - dar directorul zilei ramanea gol. Intre 25 si 28.08.2026 nu a existat niciun export. Cauza: schema.txt cere "@XEPDB1", iar 01-setup-database.ps1 scria in tnsnames.ora doar aliasul ROA. expdp cadea instant cu ORA-12154, iar backupora.exe nu-i verifica codul de iesire. Doua scripturi din acelasi kit nu erau de acord asupra numelui bazei, si nimic nu tipa. Indiciul din log, daca reapare: fiecare schema dura exact 16 secunde, indiferent de marime. Timp uniform = expdp moare la conectare, nu exporta. Reparatii, ca sa nu se repete la alt client: - 01-setup-database.ps1 scrie acum doua aliasuri, ROA si numele serviciului, in ambele tnsnames.ora. Curatarea dinaintea rescrierii parcurge fiecare alias gestionat de noi, altfel al doilea s-ar dubla la fiecare rulare. Aliasurile generate de Oracle (XE, LISTENER_XE, ORACLR_CONNECTION_DATA) raman neatinse. - 11-setup-backup-export.ps1 face tnsping inainte de a scrie schema.txt si opreste instalarea daca aliasul nu se rezolva. Mai bine o instalare care se plange decat un backup care nu exista. - lectii-actualizare-roa-alias-tns.md capata sectiunea despre a doua victima a aceleiasi cauze. Lectia generala: unde un script lanseaza un proces extern Oracle, verifica efectul, nu raportul procesului care l-a lansat. Include si blocul NTS din config/sqlnet.ora, ramas necomis: autentificarea OS cere si apartenenta la ORA_OraDB21Home1_DBA, si setarea din sqlnet.ora. Nota: CLAUDE.md apare ca modificat integral - blob-ul din git avea CRLF, iar core.autocrlf=true il normalizeaza la LF. Modificarea reala e o singura linie. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X9Sa54oFKpE2XhD6A7NTch
126 lines
5.2 KiB
Plaintext
126 lines
5.2 KiB
Plaintext
# =============================================================================
|
|
# Oracle sqlnet.ora - Compatibility Configuration for Old Instant Client
|
|
# =============================================================================
|
|
#
|
|
# Purpose: Allow connections from Oracle Instant Client 10g/11g to Oracle 21c
|
|
#
|
|
# IMPORTANT - Oracle 21c Location:
|
|
# Oracle 21c uses a read-only Oracle Home. Configuration files must go in
|
|
# the "Oracle Base Home" directory, NOT in ORACLE_HOME.
|
|
#
|
|
# For Oracle 21c XE, copy to:
|
|
# %ORACLE_BASE%\product\21c\homes\OraDB21Home1\network\admin\sqlnet.ora
|
|
# Example:
|
|
# C:\app\<user>\product\21c\homes\OraDB21Home1\network\admin\sqlnet.ora
|
|
#
|
|
# For older Oracle versions, copy to:
|
|
# %ORACLE_HOME%\network\admin\sqlnet.ora
|
|
#
|
|
# After copying:
|
|
# 1. STOP and START listener (not just reload!):
|
|
# lsnrctl stop
|
|
# lsnrctl start
|
|
# 2. Wait ~10 seconds for database services to re-register
|
|
# 3. Reset user passwords (required to generate 10G password verifier):
|
|
# ALTER USER CONTAFIN_ORACLE IDENTIFIED BY ROMFASTSOFT;
|
|
# ALTER USER <company> IDENTIFIED BY <password>;
|
|
#
|
|
# Note: The password MUST be reset after sqlnet.ora change - this regenerates
|
|
# the password hash to include the 10G verifier needed by old clients.
|
|
#
|
|
# =============================================================================
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Authentication Protocol Compatibility
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Allow older authentication protocols (required for Instant Client 10/11)
|
|
# Value 8 allows all protocols from Oracle 8i onwards
|
|
# Default in 21c is 12, which blocks clients older than 12c
|
|
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
|
|
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Password Case Sensitivity (Optional)
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Disable password case sensitivity for compatibility with old applications
|
|
# that may send passwords in uppercase
|
|
# Uncomment if needed:
|
|
# SEC_CASE_SENSITIVE_LOGON=FALSE
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Name Resolution
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Standard name resolution order
|
|
NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT)
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Connection Settings (Optional)
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Timeout for establishing connection (seconds)
|
|
# SQLNET.INBOUND_CONNECT_TIMEOUT = 60
|
|
|
|
# Dead connection detection interval (minutes)
|
|
# SQLNET.EXPIRE_TIME = 10
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Encryption (Optional - for secure connections)
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Enable native encryption (AES256)
|
|
# SQLNET.ENCRYPTION_SERVER = REQUIRED
|
|
# SQLNET.ENCRYPTION_TYPES_SERVER = (AES256)
|
|
# SQLNET.CRYPTO_CHECKSUM_SERVER = REQUIRED
|
|
# SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = (SHA256)
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Logging (for troubleshooting)
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Enable tracing (set to OFF in production)
|
|
# TRACE_LEVEL_CLIENT = OFF
|
|
# TRACE_LEVEL_SERVER = OFF
|
|
|
|
# Log file locations
|
|
# LOG_DIRECTORY_CLIENT = C:\app\oracle\network\log
|
|
# LOG_DIRECTORY_SERVER = C:\app\oracle\network\log
|
|
|
|
# =============================================================================
|
|
# After applying this configuration:
|
|
#
|
|
# 1. Reload listener:
|
|
# lsnrctl reload
|
|
#
|
|
# 2. Reset passwords for users connecting with old clients:
|
|
# sqlplus sys/romfastsoft@SERVICE as sysdba
|
|
# ALTER USER CONTAFIN_ORACLE IDENTIFIED BY ROMFASTSOFT;
|
|
# ALTER USER [COMPANY] IDENTIFIED BY [PASSWORD];
|
|
#
|
|
# 3. Test connection from old client:
|
|
# sqlplus CONTAFIN_ORACLE/ROMFASTSOFT@//host:1521/SERVICE
|
|
#
|
|
# =============================================================================
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Autentificare OS (NTS) - Windows
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Permite "sqlplus / as sysdba" si "rman target /" de pe server, FARA parola.
|
|
# Necesar pentru task-ul de backup RMAN: altfel ar trebui tinuta parola SYS
|
|
# in clar intr-un fisier de pe disc.
|
|
#
|
|
# ATENTIE - sunt necesare AMANDOUA, una fara alta da ORA-01017:
|
|
# 1. linia de mai jos, si
|
|
# 2. contul Windows sa fie membru al grupului DBA al ACESTUI Oracle Home
|
|
# (ORA_OraDB21Home1_DBA, nu ORA_DBA generic):
|
|
# net localgroup ORA_OraDB21Home1_DBA <cont> /add
|
|
# Apartenenta se activeaza abia la o sesiune de logon noua.
|
|
#
|
|
# Verificat pe VADECO 2026-08-28: cu grupul corect dar FARA linia asta,
|
|
# "/ as sysdba" tot da ORA-01017. Nu afecteaza conectarile cu parola si nici
|
|
# clientii vechi Instant Client (ambele testate dupa modificare).
|
|
SQLNET.AUTHENTICATION_SERVICES = (NTS)
|