Newsgroup: it.comp.software.database
Titolo: Oracle script: per -=Giorgio=-

Allora, la Developer Suite l'ho installata, alla fine il problema erano 
le librerie openmotif (non c'erano, le ho installate);ho anche 
installato la Red Hat con versione precedente, la 8.0.Poi quando esce la 
9.1 se hanno messo a posto la compatibilità con le librerie vecchie 
rifaccio tutto con quella, almeno non dovrei aver bisogno di fare i 
giochetti con le glibc.
Sulla Slack invece non ho potuto fare nulla, anzi, pasticciando con la 
openmotif ho pure smandrappato la grafica.La soluzione l'ho trovata su 
internet per una botta di c.. oops, fortuna,visto che la ricerca su 
google mi ha fruttato solo 5 risultati di cui 2 in tedesco, uno in 
cinese e gli ultimi 2 erano i miei (domanda e risposta su un forum).
Domande sugli script:se io creo un db col dbca, che bello, fà tutto lui 
ed io non faccio nulla a mano.Se invece creo un db con uno script, con 
tabelle ed oggetti vari, finchè uso sqlplus da console funziona.Volendo 
inserirlo nei vari servizi grafici come faccio?Ho provato ad usare 
netca,dbca, oemapp dbastudio,ma si pianta quando arriva alla fine del 
wizard (netca)e mi tocca killarlo.Quando cerco di testare il listener, 
mi dice che l'utenza oppure il servizio non sono validi.Lo status mi 
dice che è 'blocked' anzichè ready. Ho provato ad aggiornare a mano 
oratab, listener.ora, tnsnames.ora ed ho anche provato a rinominare uno 
dei init.ora coi dati del db, ma evidentemente non basta, manca qualcosa 
che lui si genera quando lo fa col dbca (il file init.ora per 
esempio).Come faccio?Il listener avvia l'istanza, il db con dbstart 
anche,ma dalla grafica non accedo neanche come sysdba.
Altra domanda:
a cosa serve l'utente che mi chiede l'istruzione 'imp' nell'ultimo 
prompt?Qualunque utente scriva non cambia il risultato finale.
Grazie, ciao

 prompt?Qualunque utente scriva non cambia il risultato finale.
sinceramente non so quello che tu abbia fatto... ma se non posti ulteriori
indizi nessuno ti può aiutare.
La mia macchina è stata messa su tutta a mano senza wizard (eccetto
la configurazione di rete che non mi ricordo tutti i parametri a
memoria) e funziona benissimo... 
ripeto controlla i log e/o posta gli errori.
/G

 > che centra openmotif col data server? boh...
Ne so quanto te.Ad un certo punto mi usciva  "Error invoking target 
install of makefile /opt/oracle/product/9.0.1/plsql/lib/
ins_plsql.mk
", 
correggevo il file ../bin/genclntsh ma non bastava e se ignoravo, gli 
errori si moltiplicavano e poi non funzionava.
 >sinceramente non ho capito una mazza di quello che cerchi di fare..
Ci hai raggione...
Se io creo un db manualmente e successivamente lo voglio includere nei 
vari servizi grafici di configurazione basta seguire i passaggi che mi 
hai suggerito?
In pratica sul manuale si dice di eseguire due scripts che non tengono 
conto della grafica, quindi non si dice di creare il file initdb.ora, 
non parla di creare il sid e tantomeno di cataloghi.Per creare il db 
'sales' in uno script c'erano istruzioni di questo tipo:
CREATE TABLESPACE st_data01
	DATAFILE '/opt/oracle/oradata/orcl/st_data01.dbf' SIZE 10M REUSE
      etc....
Nell'altro si creavano le tabelle, gli indici, i triggers, i constraint 
e basta.Non dice altro.Li ho eseguiti, il primo come dba ed il secondo 
come user e poi volevo appunto usufruire delle console grafiche e qui 
son dolori
 >- fai girare i cataloghi che ti servono (minimo catalog e catproc)
Qui non ti seguo.
 >si ma se non dai uno straccio di suggerimento in più...
 >controllato i file di log per vedere se c'è qualcosa di strano?
Si ma non ne vengo a capo.Te li posto a parte sennò qui è troppo lungo.
Avviando il forms developer se cerco di connettermi al db mi dice 
ORA-12154:TNS could not resolve service name, ma files listener.ora e 
tnsnames.ora sono a posto.Avviando oemapp dbastudio,mi fà connettere al 
db come sysdba ma non accedo agli oggetti, mi dice 'ORA-01219 database 
non aperto, query effettuabili solo in tabelle o viste fisse', invece il 
db risulta avviato con dbstart;
se cerco di loggarmi come user normale, l'errore è '01033:ORACLE 
inizialization or shutdown in progress'.
Ho visto che se si crea il db col wizard, genera dei files .ctl che 
mette in oracle/admin/db;per il db creato manualmente questi files non 
ci sono, sarà mica quello il problema?
Grazie mille e scusa la lunghezza

SQLNET.LOG:
Fatal NI connect error 12547, connecting to:
 
(DESCRIPTION=(ADDRESS=(PROTOCOL=beq)(PROGRAM=/opt/oracle/product/9.2.0/bin/oracle)(ARGV0=oracleoracleDb)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))')(DETACH=NO))(CONNECT_DATA=(CID=(PROGRAM=)(HOST=server1)(USER=oracle))))
   VERSION INFORMATION:
	TNS for Linux: Version 9.2.0.1.0 - Production
	Oracle Bequeath NT Protocol Adapter for Linux: Version 9.2.0.1.0 - 
Production
	TCP/IP NT Protocol Adapter for Linux: Version 9.2.0.1.0 - Production
   Time: 15-OCT-2003 21:14:54
   Tracing not turned on.
   Tns error struct:
     nr err code: 0
     ns main err code: 12547
     TNS-12547: TNS:lost contact
     ns secondary err code: 12560
     nt main err code: 517
     TNS-00517: Lost contact
     nt secondary err code: 32
     nt OS err code: 0
LISTENER.LOG:
TNSLSNR for Linux: Version 9.2.0.1.0 - Production on 16-OCT-2003 16:53:35
Copyright (c) 1991, 2002, Oracle Corporation.  All rights reserved.
System parameter file is 
/opt/oracle/product/9.2.0/network/admin/listener.ora
Log messages written to /opt/oracle/product/9.2.0/network/log/listener.log
Trace information written to 
/opt/oracle/product/9.2.0/network/trace/listener.trc
Trace level is currently 0
Started with pid=1762
Listening on: 
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=server1)(PORT=1521)))
TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
16-OCT-2003 16:53:35 * 
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=server1)(USER=oracle))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=153092352)) 
* status * 0
16-OCT-2003 16:53:44 * service_register * oracleDb * 0
16-OCT-2003 16:53:50 * service_update * oracleDb * 0
Listening on: 
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=server1)(PORT=8080))(Presentation=HTTP)(Session=RAW))
Listening on: 
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=server1)(PORT=2100))(Presentation=FTP)(Session=RAW))
16-OCT-2003 16:53:56 * service_update * oracleDb * 0
16-OCT-2003 16:53:58 * service_register * sales * 0
16-OCT-2003 16:58:06 * 
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=server1)(USER=oracle))(COMMAND=status)(ARGUMENTS=64)(SERVICE=sales)(VERSION=153092352)) 
* status * 0
16-OCT-2003 17:03:57 * service_update * oracleDb * 0
16-OCT-2003 17:03:59 * service_update * sales * 0
LISTENER STATUS:
intestazione....
Listening Endpoints Summary...
   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=server1)(PORT=1521)))
 
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=server1)(PORT=8080))(Presentation=HTTP)(Session=RAW))
 
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=server1)(PORT=2100))(Presentation=FTP)(Session=RAW))
Services Summary...
Service "OEMREP" has 1 instance(s).
   Instance "OEMREP", status UNKNOWN, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
   Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this 
service...
Service "oracleDb" has 2 instance(s).
   Instance "oracleDb", status UNKNOWN, has 1 handler(s) for this service...
   Instance "oracleDb", status READY, has 1 handler(s) for this service...
Service "oracleDbXDB" has 1 instance(s).
   Instance "oracleDb", status READY, has 1 handler(s) for this service...
Service "sales" has 2 instance(s).
   Instance "sales", status UNKNOWN, has 1 handler(s) for this service...
   Instance "sales", status BLOCKED, has 1 handler(s) for this service...
The command completed successfully

 ci sono, sarà mica quello il problema?
no il problema è che Oracle è un prodotto complessso e non ci
si può improvvisare sopra. Non è un point and click e tutto 
funziona e si risolve... dai una letta anche veloce alla guida
che ti ho detto prima e le cose inizieranno a esserti più chiare
/G

 > si non devi fare nulla...
Ok, allora poi proverò daccapo con le tue indicazioni.
 > tu di Oracle non ne sai nulla ve?... io mi leggerei almeno almeno
 > il manuale Oracle 9i Concept... minimo!
Eh, il manuale che sto studiando è lato client ed è l'unico con degli 
esercizi, sto cominciando da zero.Per quel che riguarda le 
configurazioni, l'autore consiglia di rivorgersi al proprio 
amministratore di sistema (sempre io, oppure tu finchè resisti).Spero 
che la documentazione che dici non sia cicciona perchè ho il modem a 
56k.La mia idea era di cominciare dal basso e poi prendere un manuale 
apposta per l'installazione di Oracle ed i suoi 10000 servizi da 
configurare, il casino è che sto facendo tutto da me e gli strumenti a 
disposizione non sono molti, soldini compresi.
 > ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
Ahimè, non cadermi dalla sedia!
Quel file l'avevo già guardato ma ho scordato di postarlo...E' da lì che 
mi è venuto il dubbio dei files .ctl, perchè (adesso ti strapperai i 
capelli) ho ricopiato quelli di un altro db per vedere se si 
sistemava.Poi ho commentato le righe del init.ora dove si richiamavano i 
.ctl, ma ormai il danno è fatto.A meno che io non possa ricrearli a 
mano.Non mi odiare, ho pensato che questi files li creasse in runtime e 
li sovrascrivesse ad ogni riavvio, come i log.
Ecco il risultato:
Thu Oct 16 20:14:58 2003
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
SCN scheme 2
Using log_archive_dest parameter default value
LICENSE_MAX_USERS = 0
SYS auditing is disabled
etc....
instance_name            = sales
   dispatchers              = (PROTOCOL=TCP) (SERVICE=salesXDB)
   job_queue_processes      = 10
   hash_join_enabled        = TRUE
   hash_area_size           = 1048576
   background_dump_dest     = /opt/oracle/admin/sales/bdump
   user_dump_dest           = /opt/oracle/admin/sales/udump
   core_dump_dest           = /opt/oracle/admin/sales/cdump
   sort_area_size           = 1048576
   db_name                  = sales
   open_cursors             = 300
   star_transformation_enabled= TRUE
   query_rewrite_enabled    = TRUE
   pga_aggregate_target     = 33554432
   aq_tm_processes          = 1
PMON started with pid=2
DBW0 started with pid=3
LGWR started with pid=4
CKPT started with pid=5
SMON started with pid=6
RECO started with pid=7
CJQ0 started with pid=8
Thu Oct 16 20:14:59 2003
starting up 1 shared server(s) ...
QMN0 started with pid=9
Thu Oct 16 20:14:59 2003
starting up 1 dispatcher(s) for network address 
'(ADDRESS=(PARTIAL=YES)(PROTOC=TCP))'...
Thu Oct 16 20:14:59 2003
ALTER DATABASE   MOUNT
Thu Oct 16 20:14:59 2003
ORA-00202: controlfile: '?/dbs/cntrl@.dbf'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
Thu Oct 16 20:14:59 2003
ORA-205 signalled during: ALTER DATABASE   MOUNT...

 ORA-205 signalled during: ALTER DATABASE   MOUNT...
mi sembra evidente che hai sputtanato i control file...
dubito che tu abbia una copia di backup... e crearli a mano è
quantomeno un impresa...
procediamo con ordine...
cerca qualche file del tipo cntrlsales.dbf 
se lo trovi
 nella riga commentata dei control file  (nel file init) 
 e mettici il path più il file.. es:
 control_files = "..path../cntrlsales.dbf"
 $ sqlplus /nolog
 SQL> conn / as sysdba
 SQL> startup
 se ti parte hai risolto
se non lo trovi (lo hai cancellato) o se non ti parte 
 imposta comunque il parametro control_files su un path
 valido con un file che sarà creato poi come il tuo control
 file.
 controlla tutti i data files e i redo log della istanza
 sales... fattene una lista con i path assoluti.
 Il file più importante è uno che si chiama %system% qualcosa
 $ sqlplus /nolog
 SQL> conn / as sysdba
 SQL> shutdown (devi essere sicuro che l'istanza è giù)
 SQL> startup nomount
 qui di seguito uno script che ti crea da 0 il control file
CREATE CONTROLFILE REUSE DATABASE "SALES" RESETLOGS NOARCHIVELOG
    MAXLOGFILES 5
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 1
    MAXLOGHISTORY 680
LOGFILE
  GROUP 1 'path del tuo redo'  SIZE dimensione del tuo redo,
--  questo per il # dei redo che hai, sotto un esempio del
--  mio DB
--  GROUP 1 '/u03/oradata/topo/redo01a.log'  SIZE 1M,
--  GROUP 2 '/u03/oradata/topo/redo02a.log'  SIZE 1M,
--  GROUP 3 '/u03/oradata/topo/redo03a.log'  SIZE 1M
DATAFILE
  '...path+file',
  ...
--  qui i datafile che hai trovato
--  l'importante è avere il system come primo!!!
--  sotto l'esempio del mio db
--  '/u02/oradata/topo/system01.dbf',
--  '/u04/oradata/topo/undotbs01.dbf',
CHARACTER SET AL32UTF8
Se ti dice (culo) tutto ok ... 
SQL> alter database mount;
Se ti dice (culo) tutto ok ... 
SQL> alter database open;
Se ti dice (culo) tutto ok ... 
Fine recovery... ora se non hai il database aperto per 
qualsiasi errore, cancella tutto e ricrealo da zero..
/G

 cancella tutto e ricrealo da zero..
Hai capito perfettamente perchč preferisco perdere tempo a 
recuperarlo.Almeno capisco cosa sto facendo.E poi lo ricreo daccapo ma 
col tuo metodo, che č piů preciso di quello del mio manuale.
Grazie!

Allora, l'esito della procedura di ripristino per ora non č stato 
positivo, ritenterň.La creazione ex-novo invece funziona.
La creazione dei forms funziona, riesco ad accedere alle tabelle del db 
perň non riesco ad avviarli.C'č qualche impostazione particolare che 
devo dare?La cartella dei forms l'ho messa sotto /oracle_home1/forms90, 
proprietario l'utente oradev.Mi chiede un listener in ascolto sulla 
porta 8888 (?).Oppure l'avvio del form devo lanciarlo con qualche 
comando particolare?
Arrigrazie

 comando particolare?
devi lanciare OC4j
C:\oracle_home1\j2ee\Oracle9iDS\startinst.bat
oppure Start - programmi ......forms developer - start oc4j istance
ciao
    SPI

Sei molto gentile, però il mio so è Linux

 Sei molto gentile, però il mio so è Linux
acc, non vedo l'inizio del thread per cui non so se l'avevi detto....
potresti usare:
http://www.onjava.com/pub/a/onjava/2002/01/16/oracle.html
oppure dai un'occhiata a questo documento:
http://otn.oracle.com/sample_code/tutorials/vsm1.3/over/setup.htm
ciao
    SPI

Grazie per avermi risposto.Allora, io avevo capito che i forms si 
potevano attivare sia col
web che senza.Ho installato la Developer Suite, quindi non so se c'č 
AS.Ho poi trovato il comando che dicevi tu ed in effetti apre una porta 
8888.Devo per forza usare Apache o c'č un modo piů semplice per lanciare 
i forms?Ho scaricato i tutorial che mi hai segnalato.Tra l'altro non mi 
funziona l'help sulla Developer Suite, quindi remo alla grande.

 funziona l'help sulla Developer Suite, quindi remo alla grande.
senza help č dura....
puoi cercare qualche pdf sulla OTN
SPI

Infatti ieri sera ho scaricato qualcosa da lě.Grazie per l'aiuto, se ho 
ancora problemi senza dubbi lo vedrai da un nuovo mio post.
Ciao