bloc_note
Ceci est une ancienne révision du document !
Bloc Note rapide
$LOG = "/traces/pre_lanceur.log" function mk_extract_sql { param ( [string]$ORACLE_SID, [string]$FILEOUT ) $sqlContent = @" SET LINESIZE 1000 SET TRIMSPOOL ON SET TRIMOUT ON SET TERMOUT OFF SET PAGESIZE 0 SET WRAP OFF SET ECHO OFF COL PRODUIT FORMAT A15 COL APPLICATION FORMAT A15 spool $FILEOUT alter SESSION set NLS_DATE_FORMAT = 'dd-MON-yyyy'; select PRODUIT, APPLICATION, VERSION_SERVEUR, NVL(VERSION_IHM_BACKUP,'null'), VERSION_IHM_COURANTE, NVL(VERSION_IHM_BETA,'null'), DATE_MAJ from LANCEUR.T_VERSIONS_IHM; exit; "@ Set-Content -Path "/tmp/tmp_sql.sql" -Value $sqlContent Add-Content -Path $LOG -Value "--- selection des version en BD (/tmp/tmp_sql.sql)" Get-Content -Path "/tmp/tmp_sql.sql" | Add-Content -Path $LOG # Adaptation nécessaire pour l'exécution de sqlplus via PowerShell Start-Process -FilePath "sqlplus" -ArgumentList "-s / as sysdba @/tmp/tmp_sql.sql" -NoNewWindow -Wait (Get-Content $FILEOUT) -replace '\s\s+', '|' | Set-Content $FILEOUT Remove-Item "/tmp/tmp_sql.sql" } function get_version_serveur_active { param ( [string]$ORACLE_SID ) $sqlContent = @" SET LINESIZE 1000 SET TRIMSPOOL ON SET TRIMOUT ON SET TERMOUT OFF SET PAGESIZE 0 SET WRAP OFF SET ECHO OFF COL VERSION_SERVEUR spool /tmp/VERSION_SERVEUR_INSTALLEE.txt select VERSION_SERVEUR from $USERBD.T_VERSIONS_IHM_COMPATIBLES; exit; "@ Set-Content -Path "/tmp/tmp_sql.sql" -Value $sqlContent Add-Content -Path $LOG -Value "--- selection des version en BD (/tmp/tmp_sql.sql)" Get-Content -Path "/tmp/tmp_sql.sql" | Add-Content -Path $LOG Start-Process -FilePath "sqlplus" -ArgumentList "-s / as sysdba @/tmp/tmp_sql.sql" -NoNewWindow -Wait (Get-Content "/tmp/VERSION_SERVEUR_INSTALLEE.txt") -replace '\s\s+', '|' | Set-Content "/tmp/VERSION_SERVEUR_INSTALLEE.txt" Get-Content "/tmp/VERSION_SERVEUR_INSTALLEE.txt" Remove-Item "/tmp/VERSION_SERVEUR_INSTALLEE.txt" Remove-Item "/tmp/tmp_sql.sql" } function get_t_version_ihm { param ( [string]$ORACLE_SID, [string]$APPLICATION ) $OUTFILE = "/tmp/tmp_t_ihm_version.tmp" mk_extract_sql -ORACLE_SID $ORACLE_SID -FILEOUT $OUTFILE Get-Content $OUTFILE | ForEach-Object { $fields = $_ -split '\|' $PRODUIT = $fields[0] $APPLICATION = $fields[1] $VERSION_SERVEUR = $fields[2] $VERSION_IHM_BACKUP = $fields[3] $VERSION_IHM_COURANTE = $fields[4] $VERSION_IHM_BETA = $fields[5] $DATE_MAJ = $fields[6] if ($ORACLE_SID -and $PRODUIT -and $APPLICATION -and $VERSION_SERVEUR -and $VERSION_IHM_BACKUP -and $VERSION_IHM_COURANTE -and $VERSION_IHM_BETA) { $global:POST += "&t_version_ihm[]=$ORACLE_SID:$PRODUIT:$APPLICATION:$VERSION_SERVEUR:$VERSION_IHM_BACKUP:$VERSION_IHM_COURANTE:$VERSION_IHM_BETA:$DATE_MAJ" Add-Content -Path "/tmp/ALL_VERSION_IHM.txt" -Value $VERSION_IHM_BACKUP Add-Content -Path "/tmp/ALL_VERSION_IHM.txt" -Value $VERSION_IHM_COURANTE Add-Content -Path "/tmp/ALL_VERSION_IHM.txt" -Value $VERSION_IHM_BETA } } Add-Content -Path $LOG -Value " --- Fichier $OUTFILE ---" Get-Content -Path $OUTFILE | Add-Content -Path $LOG Add-Content -Path $LOG -Value "--- --- FIN ---`n" Remove-Item $OUTFILE } function valide_t_version_ihm { param ( [string]$ORACLE_SID ) Write-Host "$GREY - Validation du schema lanceur ($ORACLE_SID) $NORM" $sqlContent = @" SET WRAP OFF; set underline off; set heading off; spool /tmp/out1.sql; select count(DIRECTORY_NAME) from all_directories where DIRECTORY_NAME='LANCEUR_DEPOT_VERSIONS'; spool off; spool /tmp/out2.sql; select count(*) from all_tables where OWNER='LANCEUR'; spool off; spool /tmp/out3.sql; ALTER VIEW LANCEUR.V_VERSIONS_IHM_COMPATIBLES COMPILE; spool off; exit; "@ Set-Content -Path "/tmp/sql1.sql" -Value $sqlContent Start-Process -FilePath "sqlplus" -ArgumentList "-s / as sysdba @/tmp/sql1.sql" -NoNewWindow -Wait $ETAT_DIRECTORY = (Get-Content "/tmp/out1.sql" | Where-Object { $_ -notmatch "^\$" }) -replace '\s\s+', '' $ETAT_TABLE = (Get-Content "/tmp/out2.sql" | Where-Object { $_ -notmatch "^\$" }) -replace '\s\s+', '' $ETAT_VIEW = (Get-Content "/tmp/out3.sql" | Select-String "altered.").Count Remove-Item "/tmp/out1.sql", "/tmp/out2.sql", "/tmp/out3.sql" if ($ETAT_DIRECTORY -eq 1 -and $ETAT_TABLE -eq 2 -and $ETAT_VIEW -eq 1) { $VALIDATION = 0 Add-Content -Path $LOG -Value "Validation ok pour le schema lanceur" } else { $VALIDATION = 1 Add-Content -Path $LOG -Value "Validation KO pour le schema lanceur" Add-Content -Path $LOG -Value "ETAT_DIRECTORY:$ETAT_DIRECTORY (1), ETAT_TABLE:$ETAT_TABLE (2), ETAT_VIEW:$ETAT_VIEW (1)" } }
bloc_note.1736925238.txt.gz · Dernière modification : 2025/01/15 08:13 de admin