Newsgroup: it.comp.retrocomputing
Titolo: OpenVMS & simh - Network ed altro

Terminata la configurazione di TCP/IP e DECnet Phase IV.
Semplicissima :)
Non posso ancora provare collegamenti "esterni", ma tutto ciò che 
riguarda localhost funziona.
Verificati telnet, ftp, set host nodo, set host 1.943 e mail.
Ora, una domandina.
1) Volendo installare un web server, consigliate Apache o wasd ?
2) SSL o no ? Ho scaricato sia HP SSL che OpenSSL.
-----
In attesa di strumenti di sviluppo, mi sto divertendo col macro32 :)

 In attesa di strumenti di sviluppo, mi sto divertendo col macro32 :)
Sei proprio masochista, eh?! :P
Allora, dato che ci sei, scaricati il compilatore Bliss e prova quello.
Buona parte di VMS è (era?) scritta in Macro e Bliss, quindi è un linguaggio
glorioso per definizione. :-)
Lo trovi qua: 
http://www.decuslib.com/freeware/freewarev80/bliss/
(quello per VAX è nei saveset BLS32047.* suppongo).
Vedi anche i seguenti:
http://www.decuslib.com/freeware/freewarev80/bliss-intro/
http://www.decuslib.com/freeware/freewarev80/bliss-article/
http://www.decuslib.com/freeware/freewarev80/bliss-article-ps/
Ciao,
G.

Provengo da una lunga (?) programmazione in assembler per processori 
80x86, e gli assemblatori non mi fanno paura :)
Il manuale del macro l'ho scaricato ... resta da leggerli, 'sti benedetti 
manuali ...
Per la seconda copia di simh (praticamente è una VM) devo aspettare il 
rientro a casa :(

 A naso direi WASD perché č nato su VMS e per VMS. Non per una questione di
[...]
Vorrei solo aggiungere alle informazioni come al solito "Impeccabili" di 
Gerry che su WASD sono comunque disponibili i tool piů utilizzati con i 
server HTTP come PHP Perl e Python. :)
Prima o poi lo devo installare pure io... :)
Ciao.
	Fabio.
--- news://
freenews.netfront.net/
 - complaints: 
ne...@netfront.net
 ---

La mia idea era di trasferire il serverino casalingo da LAMP su VMS 
(oltre ad un servizio ftp). Non necessita di grandi cose e mi farebbe 
piacere sperimentarlo.
Dato che wasd c'è anche per vax, lo proverò prima su simh.


Insmma vorresti fare un VWMP :)
Mi sembra che anche MySQL sia disponibile per VMS, io per giocare un po' 
ho installato sulla mia PWS RDB.
RDB è un database relazionale originariamente sviluppato da Digital, poi 
passato alla Oracle.
E' potente e complesso come Oracle, però è nativo di VMS.
Ovviamente ci sono poi tutti i sw a contorno (tipo ODBC ecc. ecc.) e la 
licenza è gratuita per l'utilizzo non profit.
Trovi i dettagli quì:
http://www.oracle.com/technology/products/rdb/index.html


 licenza è gratuita per l'utilizzo non profit.
Una domanda, sapete per caso se e dove sia possibile trovare RDB per 
VAX? La versione DEC Alpha l'ho trovata sul sito della Oracle da lei 
indicato, mentre quella VAX sembra essere introvabile (tipico delle 
politiche Oracle/SUN: le ultime versioni sono disponibili per tutti, 
mentre quelle più vecchie cadono nell'oblio).
Gia che ci siamo, mi piacerebbe sapere se esistono altri software 
commerciali per OpenVMS coperti dalla licenza hobbystica.
Grazie dell'attenzione
Saluti
EngiNerd

> Insomma vorresti fare un VWMP :)
:) :)

 passato alla Oracle.
RDB È Oracle per VMS. :-)
RDB nacque tanto tempo fa in Digital come DB relazionale per VAX e divenne
un prodotto di tutto rispetto, poi nel 1994 passò di proprietà da DEC a
Oracle e c'è chi sostiene che Oracle ci abbia guadagnato parecchio perché il
suo allora unico prodotto (di fatto senza nome, chiamandosi come l'azienda)
era sì valido e diffuso, ma gli mancavano alcune caratteristiche per farlo
grande. E queste caratteristiche furono copiate più o meno di sana pianta da
RDB, tanto che tutt'ora dentro Oracle si trovano un sacco di indizi del suo
passato Digital, per esempio le tabelle di sistema che contengono un $ nel
nome o altre variabili di sistema (non so il loro nome tecnico specifico)
nella forma xxx$_xxxxxx che è tipica e particolare degli internals di VMS.
Ormai i due prodotti sono così fusi insieme che non credo ci siano più
grandi differenze funzionali.  Una differenza notevole però c'è: RDB si può
interrogare e gestire non solo con SQL (come avviene per Oracle classico),
ma anche con RDO, cioè con il linguaggio nativo inventato da DEC proprio per
RDB (e che credo somigli a quello di altri prodotti Digital per la gestione
e la manipolazione di dati, per esempio Datatrieve).
Equivalente di SELECT con JOIN e WHERE:
| FOR E IN EMPLOYEES CROSS JH IN JOB_HISTORY
|   OVER EMPLOYEE_ID
|   WITH JH.JOB_END MISSING
|   PRINT E.LAST_NAME, JH.JOB_CODE
| END_FOR
Ancora (con equivalente di ORDER BY):
| FOR FIRST 5 C IN CURRENT-SALARY
|     SORTED BY DESCENDING C.SALARY_AMOUNT
|  PRINT
|     C.FIRST-NAME,
|     C.LAST-NAME
| END_FOR
Altro esempio ancora (con equivalente di GROUP BY):
| FOR J IN JOB_HISTORY
|    WITH J.JOB_END MISSING
|    REDUCED TO J.JOB_CODE
|    SORTED BY J.JOB_CODE
| PRINT J.JOB_CODE
| END_FOR
Equivalente di INSERT:
| STORE D IN DEPARTMENTS USING
|   D.DEPARTMENT_CODE = "RECR";
|   D.DEPARTMENT_NAME = "Recreation";
|   D.MANAGER_ID = "00175";
|   D.BUDGET_PROJECTED = 240000;
|   D.BUDGET_ACTUAL = 128776;
| END_STORE
Equivalente di UPDATE con subquery (e JOIN):
| FOR S IN SALARY_HISTORY
|     WITH S.SALARY_END MISSING AND
|          (ANY D IN DEGREES CROSS DP IN DEPARTMENTS
|           WITH S.EMPLOYEE_ID = D.EMPLOYEE_ID AND
|           D.DEGREE = "MA")
|     MODIFY S USING S.SALARY_AMOUNT - S.SALARY_AMOUNT * 1.1
| END_FOR
Equivalente di DELETE (con transazione e tutto):
| START_TRANSACTION READ_WRITE RESERVING
|   COLLEGES FOR EXCLUSIVE WRITE
|     FOR C IN COLLEGES
|       ERASE C
|     END_FOR
| COMMIT
Ciao,
G.
P.S: Fabio, tu fai il furbo: non dici cos'ALTRO hai installato di ex DEC ora
Oracle sulla tua PWS, senza che nessuno te lo chiedesse... :P

 commerciali per OpenVMS coperti dalla licenza hobbystica.
Per esempio ci sono diversi prodotti della Process (stack TCP/IP e gestione
della posta), il compilatore PL/I della Kednos, Oracle Database e altri.
Alcuni rilasciano una chiave di licenza, altri semplicemente concedono l'uso
del prodotto senza però la necessità di avere chiavi specifiche.
Nella FAQ ufficiale di VMS al punto 2.8.1.1 c'è breve elenco, ma non so
quanto sia aggiornato (vedi 
http://h71000.www7.hp.com/faq/vmsfaq_002.html
):
* GrayMatter Software
 
http://www.graysoft.com/GSCHobbyPR.html
 
* Argent Software
 
http://jams.argent-software.com/hobby.html
* Kednos
 
http://www.kednos.com/
* LJK
 
http://ljk.com
* Process Software
 
http://www.process.com/openvms/hobbyist.html
* Raxco
 
http://www.raxco.com/hobbyist/
* Software Resources International (SRI)
 
http://www.softresint.com/charon-vax/Tools_and_tips.htm
(a una rapida occhiata sembra che alcuni link non siano proprio
aggiornatissimi, ma probabilmente i nomi delle società sono giusti.)
Ciao,
G.

 Oracle sulla tua PWS, senza che nessuno te lo chiedesse... :P
Se ero furbo te lo facevo installare a te.... :P :P :P
Diciamo che furbescamente qualcuno di cui non faccio il nome mi ha 
chiesto se potevo scaricare un qualcosa di "Storico" per VMS nell'ambito 
dei databases e che casualmente per qualche motivo sconosciuto è ancora 
prodotto e disponibile sul sito Oracle.... :)
Ovviamente la pulce nell'orecchio è diventata un elefante quando poi 
avendo appena scaricato il pacchetto sulla PWS mi sono chiesto:
"E mo'?" :)
Insomma per farla breve, con gerry abbiamo messo sulla pws un prodotto 
storico di Digital per i databases, guarda caso anche questo passato poi 
in mano di Oracle.
Ora però io mi fermo qui in quanto il prodotto è per me sconosciuto ed 
incomprensibile e sinceramente non ho avuto neanche il tempo di leggermi 
uno straccio di documento per vedere solo come accederci.. :)
Gerry...... perché non dici alla platea cosa abbiamo messo su Hobbit? :)


 :)
state creando la suspence necessaria all'annuncio?   ;-P
saluti da un curioso e silenzioso lettore delle discussioni su VMS
-- 
_________
Simone DG
_________ 


Rdb?
Mauro


Codasyl?


RDB è installato e funzionante, ogni tanto ci faccio un giretto su ma 
sono ormai 15 anni che non metto le mani su un DB "serio" e quindi sono 
un po arrugginito... :)
Abbiamo caricato Codasyl, però su questo non ho proprio messo mani, 
anche perché per lavorarci bisogna utilizzare un interfaccia che non sa 
neanche cosa sia SQL... :)
Se gerry trova qualche minuto penso saprà dirvi molto più del 
sottoscritto su codasyl.


 curioso e silenzioso lettore delle discussioni su VMS
Non so cosa abbiate messo su Hobbit (l'accesso guest non c'è, luther 
neanche :) ) ma io so cosa sto mettendo su VMS ...
...
...
...
le MANI :)
Mentre leggo tutti (e dico tutti !) i manuali scaricati !
Sono sommerso dalle pagine ;)

 Sono sommerso dalle pagine ;)
E Ti va bene che sono manuali scaricati da Internet!
Pensa se erano manuali cartacei originali!!
Ti facevi una *cultura* anche di "infezioni storiche". ;-)
-- 
#include <std.disclaimer.h>
Signature automatica inserita a mano.
In God we trust, all others we monitor.(NSA)
Punteggiatura: Nel caso mancasse nel messaggio, aggiungete!!

Anzitutto grazie mille per le informazioni, preziose come sempre.
In seconda battuta avrei il seguente problema: ho trovato in rete alcuni 
programmi per VMS distribuiti in formato .tap (da quel che ho capito è 
una specie di immagine del nastro di installazione); sono riuscito a 
montare questi ultimi su SIMH e ad installare i programmi contenuti sul 
vax virtuale (usuale operazione @sys$update:vmsinstal); mentre non sono 
riuscito in alcun modo ad estrarre dal nastro i savesets di 
installazione: ho tentato il comando copy mua0:*.* dua0:[cartella] ma 
quest'ultimo restituisce i seguenti errori:
%COPY-E-READERR, error reading MUA0:[]NOMEFILE.A;1
-RMS-F-RER, file read error
-SYSTEM-F-TAPEPOSLOST, magnetic tape position lost
%COPY-W-NOTCMPLT, MUA0:[]NOMEFILE.A;1 not completely copied
%COPY-E-OPENIN, error opening MUA0:[]*.*; as input
-RMS-E-FND, ACP file or directory lookup failed
-SYSTEM-F-TAPEPOSLOST, magnetic tape position lost
%COPY-E-OPENIN, error opening MUA0:[]NOMEFILE.A;1 as input
-RMS-S-NORMAL, normal successful completion
Dopodichè è impossibile accedere all'unità nastro.
Cos'altro potrei tentare per poter poi spostare i savesets sul mio vax 
"vero"? (premetto che non ho unità a nastro DEC TK50, ma solo unità SCSI 
DDS 4mm da 4GB)
Vorrei inoltre sapere se esiste un programma per accedere alle immagini 
CD e/o Hard Disk in formato ODS2: avevo trovato questo programma 
http://www.goatley.com/hunter/w2k.html
 ma prima si è lamentato 
dell'assenza di wnaspi32.dll e poi, una volta installata la libreria (in 
verità ne ho provate diverse varianti), continua ad andare in crash ogni 
volta che tento di montare un volume.
Come sempre suggerimenti di ogni sorta sono bene accetti.
Grazie dell'attenzione
EngiNerd



Non ho capito una cosa ...
Monti i files .tap assegnandoli (attach) ad un'unità virtuale a nastro 
(MUA0:, ad esempio) ed ed esegui @sys$update:vmsinstal con successo ma se 
tenti di copiare un file dall'unità fallisce ?
Il comando dir MUA0:.... restituisce qualcosa ?
Per le immagini ODS2 utilizzo vmscd su Linux senza problemi, ma a quanto 
vedo utilizzi windows, e lascio il campo ad altri.
Se la tua necessità è quella di leggere un disco ODS2, se la cosa è 
possibile, lo puoi collegare ad un'altra macchina, farne un immagine (su 
Linux con dd, ad esempio) e montarla su simh. I dati li porti poi via 
tramite rete...

 tramite rete...
La necessità era prevalentemente copiare i dati dall'hdd virtuale di 
simh al sistema host, in modo da poi poterli trasferire facilmente (p.e. 
via ftp) sulla mia VAXstation "vera", nonchè salvarli su dvd come backup.
Certo, come dice lei potrei configurare decnet, tcpip e ftp su simh, 
però volevo cercare una soluzione più "immediata" (in ogni caso se non 
ci fossero alternative farò così).
Grazie mille per l'interessamento
Saluti
EngiNerd

Ovviamente, a beneficio anche di altri, vmscd legge anche immagini HD in 
formato ODS-2, non solo CDROM ...

Pensavo ... se mi fornisci i links ai files .tap, faccio una prova io.
Chissà riesco a metter a frutto tutte le pagine di manuali che mi sono 
sciroppato... magari è un problema di simh...


C'è posta per lei.
Saluti,
EngiNerd

Allora ...
1) I files .tap dovrebbero essere in formato SIMH
2) vmsinstal esegue il suo lavoro senza la necessità di montare il nastro 
in precedenza (cioé mount /label mua0: cdd, ad esempio, non è necessario)
3) Ho visto che dismount disconnette anche il file dall'emulatore, se non 
si aggiunge /nounload (è necessario ctrl/e, att tq0 nomefile, cont, 
simulando la reinserzione )
4) I nastri dovrebbero derivare da un VMS backup, e credo non siano 
direttamente leggibili (o copiabili con COPY). Un nastro (anche se 
virtuale), dovrebbe contenere più files/headers separati da un EOF ed un 
EOT finale. I singoli elementi si possono estrarre, vedi il seguente link
http://a2.pluto.it/a21096.htm
Compilato su Linux e provato sul tuo backup, senza problemi.
Se non vado errato, fra i vari files ci sono anche i due savesets 
cd0034.A e cd0034.B, oltre agli headers.
Domani provo a vedere se i savesets estratti possano essere installati 
direttamente oppure le informazioni "scartate" e contenute negli headers 
siano essenziali.

Se esegui il comando
$ backup /list mua0:
Listing of save set(s)
%MOUNT-I-MOUNTED, CDD mounted on _SVXVAX$MUA0:
Save set:          CDD034.A
Written by:        RELENG      
UIC:               [000050,000051]
Date:               2-SEP-1987 09:22:01.91
Command:           BACKUP/INTERCHANGE/VERIFY/NOREWIND/BUFFER=5 DAA2:
[KITDIR.CDD034.A]*.* MFA0:CDD034.A/SAVE
Operating system:  OpenVMS VAX version V4.5
BACKUP version:    V4.4
CPU ID register:   01388C19
Node name:         _BANZAI::
Written on:        _BANZAI$MFA0:
Block size:        8192
Group size:        10
Buffer count:      5
[KITDIR.CDD034.A]CDD034.RELEASE_NOTES;1                    45  18-
AUG-1987 17:51
[KITDIR.CDD034.A]
CDDHELP.COM
;1                              7   1-
JUN-1987 09:41
[KITDIR.CDD034.A]
CDDIDENT.COM
;1                             1  20-
AUG-1987 13:40
[KITDIR.CDD034.A]
CDD_CHECK_GLOBALS.COM
;1                    2  19-
JUN-1987 14:17
[KITDIR.CDD034.A]
KITINSTAL.COM
;1                           54  20-
AUG-1987 14:27
[KITDIR.CDD034.A]
VAXINFOINSTALL.COM
;1                     126  18-
AUG-1987 16:11
Total of 6 files, 235 blocks
End of save set
Ottieni la lista dei files, che possono successivamente essere estratti 
dal comando backup stesso.

Per esser più precisi:
$ backup /list /rewind mua0:
fornisce il contenuto del primo saveset cdd034.A
$ backup /list mua0: (di seguito)
fornisce il contenuto del secondo saveset cdd034.B
$ backup /list mua0:
restituisce un errore, siamo alla fine del nastro :)
$ backup mua0:cdd034.A /rewind [destination_dir] estrae i files del primo 
saveset ... e così via.
Sicuramente qualcuno nel NG ha più esperienza di me nel trattare i 
nastri, savesets e backups ... io mi sono "arrangiato" :)

Un'ultima cosa ...
Se monti il nastro virtuale e:
$ copy MUA0:[000000]cdd034.A [dest_dir]
errori ...
smonti e rimonti il nastro
$ copy MUA0:[000000]cdd034.B [dest_dir]
errori ...
I due files sembrano correttamente copiati (ho controllato le dimensioni) 
e la procedura
$ @sys$update:vmsinstal sembra riconoscerli ed avviare l'installazione.


Grazie mille delle preziose informazioni: con il suo aiuto e con il 
programma C da lei segnalato sembra che sia riuscito ad estrarre i 
saveset. A dire il vero avevo già trovato anch'io quel programma, ma lo 
avevo compilato con MinGW sotto Windows e lì si limitava ad estrarre un 
paio di files di qualche KB, totalmente inutili. Avendo letto che a lei 
funzionava correttamente, l'ho compilato con gcc sotto Linux (OpenSuse 
11.2) e lì funziona alla perfezione (o almeno così sembra). Più tardi 
sposterò i saveset estratti nell'hdd del vax virtuale e vi farò sapere.
Grazie ancora dell'aiuto.
EngiNerd


Confermo: i savesets estratti col programma c sono perfettamente 
leggibili da OpenVMS.
Per curiosità, che metodo usate per trasferire i files dal pc host a 
Simh (o un VAX vero)? Io creo immagini CD in formato ISO9660, solo che 
gli attributi dei files vengono persi e così sono costretto a copiare i 
files sull'hdd virtuale ed eseguire lo script 
RESET_BACKUP_SAVESET_ATTRIBUTES.COM
, oppure usare il qualifier /repair 
di backup con OpenVMS Alpha 8.3.
Saluti,
EngiNerd



Attualmente sono "isolato" dal mondo esterno, ed uso le immagini CD 
anch'io ... in futuro penso di effettuare i trasferimenti via rete.

 errori ...
Gli errori credo siano dovuti a COPY che tenta copie multiblocco o cose del
genere, quindi se il numero di blocchi del file su nastro non è esattamente
un multiplo del blocking factor di COPY, all'ultimo segmento trasferito si
genera un errore perché il buffer non viene completamente riempito. Cosa ti
ha segnalato? Gli stessi messaggi che indicava Enginerd?
Ciao,
G.

 Codasyl?
Ebbene, sì: il misterioso prodotto Oracle che Fabio ha installato è (rullo
di tamburi) Oracle CODASYL DBMS.
La cosa interessante è la discendenza oserei dire antica di questo prodotto,
che va indietro fino agli anni '50. Il Codasyl (anzi, CODASYL, visto che è
un acronimo) fu il comitato promotore dello sviluppo e standardizzazione di
un linguaggio di programmazione che fosse di alto livello, facile da usare e
comune a più  architetture anche molto differenti tra loro. Il risultato
forse più noto di questo grande progetto fu il mitico (famigerato?) COBOL.
L'altro grande lavoro per cui è ricordata la conferenza CODASYL (Conference
on Data Systems Languages) ha come argomento la definizione di uno standard
per la gestione di basi dati, sia da un punto di vista formale sia da un
punto di vista pratico, mediante estensioni standard del linguaggio COBOL.
Il risultato del lavoro del DBTG (Data Base Task Group) del CODASYL fu la
specifica per i database reticolari, considerati come un'estensione e una
generalizzazione in senso migliorativo della struttura gerarchica già
sperimentata dalla IBM con il suo IMS qualche anno prima alla NASA.
Negli anni '70, uno dei database reticolari più noti era prodotto dalla
Digital per la sua linea di macchine PDP-10 con sistema operativo TOPS-10:
si chiamava (con molta fantasia) DBMS-10. Da quello poi derivarono anche
DBMS-20 e DBMS-11, rispettivamente per il sistema operativo TOPS-20 (sempre
per PDP-10) e per PDP-11. Quando poi la DEC si concentrò su VAX e VMS ecco
che venne rilasciato il relativo VAX/DBMS (che ho visto citato anche come
DBMS-32). Infine, il prodotto fu migrato su Alpha e venne rinominato DEC
DBMS. Quando poi nel 1994 la Digital cedette a Oracle tutti i suoi prodotti
database, DEC DBMS finì nel mucchio insieme a RDB e al resto ed è tutt'ora
lì, rinominato Oracle CODASYL DBMS, mantenuto e abbastanza (?) sviluppato. 
Trovo che ci sia una sottile ironia nel fatto che la Oracle, paladina dei
database relazionali e quasi standard de facto nel campo, abbia fra i suoi
prodotti un database che relazionale non è e non è mai stato. :-)
Quella che inizialmente era nata come un'estensione per il linguaggio COBOL,
divenne poi uno strumento del tutto a sé stante, tanto che già DBMS-10
rendeva possibile l'accesso ai dati anche da un programma Fortran, per mezzo
di un precompilatore che leggeva il sorgente originale e sostituiva gli
statement di controllo DBMS con semplici chiamate a funzioni contenute in
moduli esterni, utilizzate come qualunque altra routine esterna.
Tuttora mi risulta che il compilatore COBOL HP per VMS accetti direttamente
gli statement DBMS senza bisogno di precompilatori, che però sono necessari
e disponibili per tutti gli altri linguaggi ufficiali di VMS (in realtà c'è
un unico precompilatore in grado di comprendere tutti i tipi di sorgente).
I seguenti due articoli di Wikipedia descrivono un po' come funziona:
http://en.wikipedia.org/wiki/CODASYL
http://en.wikipedia.org/wiki/IDMS
Altrimenti potete cercare i manuali AA-0899C-TB e AA-0901C-TB, che sono i
manuali per l'amministratore e il programmatore di DBMS-10. O ancora il
manuale HP 30391-90012, relativo a TurboIMAGE, il prodotto dello stesso
genere che ha fatto la fortuna di MPE e delle macchine HP3000.
Il grande vantaggio dei database relazionali, nonstante il maggior carico
per il sistema rispetto ad altri tipi di database, è la grande facilità con
cui è possibile costruire nuove relazioni fra i dati, anche se non previste
all'atto della creazione del database stesso. Le query vengono analizzate in
tempo reale e i risultati vengono ricavati leggendo dinamicamente le varie
tabelle: il massimo che possa capitare è che sia necessario qualche indice
in più, cosa che si può sempre aggiungere in qualunque momento. Si possono
anche creare nuove tabelle e in certi casi modificare quelle già esistenti
senza impatto per i programmi esistenti e senza dover fermare il lavoro.
Al contrario, un database reticolare esprime le relazioni tra i dati per
mezzo di puntatori fra i record, in strutture uno-a-molti che formano quindi
dei "percorsi", percorrendo i quali è possibile recuperare le informazioni.
Si tratta certamente di un approccio rapidissimo e anche molto valido,
specialmente per certe tipologie di dato e in un periodo in cui la potenza
di calcolo delle macchine non permetteva altri tipi di elaborazione, ma che
rende il database abbastanza rigido e quindi più lungo da progettare a causa
dell'attenzione da dedicare alla stesura inziale della struttura (non che
sia un difetto in senso stretto, anzi). Il problema più evidente è la
complessità delle operazioni necessarie quando si deve apportare una
modifica alla struttura del database: spesso occorre scaricare il database,
modificare lo schema, rigenerarlo, ricaricare i dati e infine modificare o
per lo meno ricompilare tutti i programmi coinvolti nella parte di schema
modificata, anche se non direttamente interessati alla modifica.
Resta il fatto che anche oggi, con il 99% dei database di tipo relazionale,
rimangono problemi che sono naturalmente più adatti a una rappresentazione
gerarchica, tanto che cercando in rete si trovano diverse discussioni
riguardanti i modi più efficienti e rapidi per rappresentare questo genere
di questioni in un mondo completamente relazionale. :-)
Mi piacerebbe scambiare quattro chiacchiere, se ci sono altri appassionati
di (storia) dei database... :-)
Ciao,
G.

 siano essenziali.
Se per header intendi i label ANSI standard, la risposta è no: non sono
informazioni essenziali. All'atto pratico si tratta di piccoli file formati
da uno o più record da 80 caratteri contenenti informazioni "amministrative"
relative al vero e proprio file dati che segue o precede il label. Senza
quelli si può perdere il nome del file (se non è in qualche modo contenuto
all'interno dei dati veri e propri), le informazioni di protezione, le varie
date relative al file in questione e qualche altro dettaglio come ad esempio
la lunghezza. Ma i dati sono sempre del tutto contenuti nei data block tra
un label e l'altro, tanto che esistono sistemi che i label proprio non li
usano (Unix, tanto per dirne uno) eppure possono leggere e scrivere nastri. 
Su Unix, se scrivi un file tar su nastro, il nome del file lo recuperi
dall'interno del tar stesso; se scrivi dei dati con cp direttamente sul
device senza utilizzare un archiviatore tipo tar, il nome del file si perde
e lo devi sapere tu quando vai a recuperare il file dal nastro.
Uno dei vantaggi dei label ANSI è che contengono oltre al nome del file
anche la sua lunghezza, quindi la ricerca di un determinato file o lo skip
da un file al successivo può essere più veloce perché non occorre leggere o
scorrere tutti i data block per trovare quel che si cerca, ma si può
direttamente saltare in avanti di N blocchi (cosiddetto fast skip hardware).
Ciao,
G.

 nastri, savesets e backups ... io mi sono "arrangiato" :)
Direi che te la cavi benissimo. :-)
Ciao,
G.

 
Così, se ci ripenso, posso sempre scrivere
$ dism /unload ;)
In caso di opzioni contrastanti DCL applica l'ultima...