INSTALLAZIONE QUASAR-X
Creare logical volume oraclelv di 600 Mb.
Creare logical volume userslv di 60Mb.
Creare logical volume QUASARXlv di 600Mb.
Creare file system /oracle sul logical volume oraclelv
Creare file system /users sul logical volume userslv
Creare file system /QUASARX sul logical volume QUASARXlv
Creare utente con nome del cliente. Es: <soft>
Copiare le shell da installazione base.
Modificare la shell /users/soft/V8/dbs/aix/ crlvPOK.sh
Nella shell modificare il nome del volume group dove verranno creati i logical volume (e’ qui che si deve intervenire se
si vuole creare il database su dischi diversi)
mklv -y log${var}POK rootvg 1 >>crlvPOK.log 2>&1
in ogni riga di creazione di un logical volume specificare anche il numero di partizioni da usare con queste si definisce
anche la size. Attenzione che la dimensione di una singola partizione varia in base al disco motanto, per vedere la
partition size basta lanciare il comando lsvg <nome volume group>
es: lsvg rootvg
$ lsvg rootvg
VOLUME GROUP: rootvg
VG IDENTIFIER: 00203422a98e584b
VG STATE:
active
PP SIZE:
8 megabyte(s)
Nel seguente esempio verra’creato un logical volume di nome dati1POK su volume group rootvg della dimensione di
125 partizioni di 8Mb ciascuna per un totale di 1Gb.
mklv -y'dati1POK' rootvg 125 >>crlvPOK.log 2>&1
Installare Oracle. (Vedi Installa_Oracle.doc).
Fare partire l’istanza del db in oratab
Cd /etc
Vi oratab
POK:/oracle:Y
Aprire la shell build_db.sql
Cd /users/soft/V8/dbs/aix
Vi build_db.sql
Nella shell bisogna modificare tutte le size con la seguente regola:
se il logical volume systPOK e’di 10 partizioni (per vedere le partizioni lsvg –l rootvg)
la size e’: [(Numero partizioni * dimensione in Mega della partizione * 1024 * 1024) – (costante di 10240) – (8192 ??)]
/ 1024.
Es: (((10 * 8 * 1024 * 1024) – 10240 ) - 8192) / 1024 = 81902
datafile '/dev/rsystPOK' size 81902K reuse
Nel file system QUASARX creare la seguente struttra di directory assicurandosi che tutte abbiano utente ORACLE e
gruppo DBA e i diritti di scrittura.
QUASARX
|______POK
|______ ctrl
|______
|
|______
|
|
|______
archive
|______ log
network
|______ log
|______ trace
trace
|______ log
Nel file system users creare la directory backup con utente ORACLE.DBA e diritti. Linkare la directory nella root /
con:
ln –fs /users/backup /backup
Copiare con un tar tutta la struttura da un'altra installazione anche. Contiene i file per il backup e le istruzioni da inserire
nel crontab per la partenza delle copie
Assicurarsi che all’interno di /backup ci sia la seguente struttura di directory necessaria al build_db.sql.
/backup
|______ POK
|______ ctrl
Copiare tutte le shell da /users/simio/V8/dbs/aix in /oracle /dbs
Lanciare build_db.sql Fare molta attenzione affinche’le directory in QUASARX e in /backup abbiano i diritti oracle.dba
Svrmgrl
SVRMGR> @build_db.sql
ATTIVAZIONE DEL SERVIZIO NET8
Cd /oracle/network/admin
Aprire il file listener.ora, commentare con un # le due righe.
LISTENER =
(ADDRESS_LIST =
#
(ADDRESS= (PROTOCOL= IPC)(KEY= <oracle_sid>))
#
(ADDRESS= (PROTOCOL= IPC)(KEY= PNPKEY))
(ADDRESS= (PROTOCOL= TCP)(Host= f40)(Port= 1521))
)
sostituire in tutti i punti dove appare <oracle_sid> con il nome dell’istanza POK
aggiungere in fondo
TRACE_DIRECTORY_LISTENER = /QUASARX/POK/network/trace
TRACE_FILE_LISTENER = listener.trc
LOG_DIRECTORY_LISTENER = /QUASARX/POK/network/log
LOG_FILE_LISTENER = listener.log
Nella stessa directory creare un file sqlnet.ora con all’ interno
AUTOMATIC_IPC = OFF
names.default_zone = world
names.default_domain = world
modificare nel file tnsnames.ora
da
<oracle_sid> =
(DESCRIPTION =
(ADDRESS = (PROTOCOL= TCP)(Host= f40)(Port= 1521))
(CONNECT_DATA = (SID = <oracle_sid>))
)
in
POK.world =
(DESCRIPTION =
(ADDRESS = (PROTOCOL= TCP)(Host= f40)(Port= 1521))
(CONNECT_DATA = (SID = POK))
)
Fare partire il servizio con il comando lsnrctl start ( si puo’verificare un servizio con lsnrctl status)
Provare la connessione con il comando tnsping <nome del servizio> <numero prove>
Es: tnsping POK 10
Come root modificare il file /etc/inittab aggiungendo
oracle:2:wait:/bin/su oracle -c "/oracle/bin/dbstart"
listener:2:wait:/bin/su - oracle -c "/oracle/bin/lsnrctl start"
per far partire rispettivamente il database e il servizio net8
Si dovrebbe far partire l’ intelligent agent non ci siamo riusciti ho visto che senza librertie X11 da un errore, con le
librerie non da l’ errore ma lo status segnala che non e’partito. Per me ci vuole tuttp l’ ambiente grafico
Nella direcotry /oracle/dbs modificare il file initPOK.ora aggiungendo:
remote_os_roles
=
TRUE
remote_login_passwordfile
=
EXCLUSIVE
dbshut e dbstart per rendere effettive le modifiche
creare file di password per gli utenti internal e system per l’amministrazione remota via Enterprise Manager con il
comando:
orapwd file=orapwPOK password=<password> entries=<users>
di solito password = change_on_install
entries = 2
Se si desidera usare Enterprime Manager per l’ amministrazione remota (utile per creare l’utente generale) del database
e consiglibile creare un utente dedicato con un suo tablespace poiche’ l’ Enterprise Manager si crea un suo repository.
Mklv –y ‘oem_reposPOK rootvg 3’
Creare un tablespace su questo device
create tablespace oem_repository
datafile '/dev/oem_reposPOK' size <calcolare> K reuse
default storage(initial
16K next
16K
minextents
1
maxextents
249
pctincrease 10);
create user oem indentified by oem
default tablespace oem_repository
quota unlimited on oem_repository;
grant connect resource, dba, sysoper, sysdba to oem with admin options;
creare utente generale con gli stessi diritti del utente ditta
creare le directory in /users/<nome ditta>/sql
mkdir tabelle
mkdir trigger
mkdir viste
mkdir sequences
mkdir synonyms
copiare da c:\QUASAR-X\customer\ristrutt tutto in /users/<nome ditta>/sql/tabelle
copiare da c:\QUASAR-X\customer\sql\s*.sql in /users/<nome ditta>/sql/sequences
copiare da c:\QUASAR-X\customer\sql\pr*.sql in /users/<nome ditta>/sql/trigger
copiare da c:\QUASAR-X\customer\sql\tr*.sql in /users/<nome ditta>/sql/trigger
copiare da c:\QUASAR-X\customer\sql\v*.sql in /users/<nome ditta>/sql/viste
copiare la directory dbascripts in /users/<nome ditta>/dbascripts
copiare le shell genera_script_grant.sql e genera_script_syn.sql da dbascripts a /users/<nome ditta>/synonyms
Lanciare in tabelle genera_c.sql come generale
Sqlplus –s generale/generale@POK @genera_c.sql
Controllare il log GENERA_C.log
Lanciare in tabelle <nome ditta>_a.sql come utente <nome ditta>
Sqlplus –s <nome ditta>/<nome ditta>@POK @<nome ditta>_a.sql
Controllare i file di log.
Lanciare manualmente eventuali tabelle mancanti (in S.Stefano e simionato brework.sql e cr0001.sql)
Lanciare in sequences tutti gli sql con la shell lancia prima come utente ditta poi anche come utente generale
$ lancia
Direttorio di posizionamento ? .
( punto per indicare la directory corrente)
Database Alias:
( Invio )
Utente Oracle: <nome ditta>
( Utente proprietario della ditta )
Password: < nome ditta >
Controllare i file di log.
Lanciare in synonyms le due script genera??????.sql come utente simionato
$ sqlplus -s simionato/simionato@POK @genera_script_syn.sql
USER is "<nome ditta>"
Digitare user proprietario tabelle da condividere: <nome ditta>
$ sqlplus -s simionato/simionato@POK @genera_script_grant.sql
USER is "<nome ditta>"
Digitare user a cui assegnare i privilegi:generale
Le due shell generano rispettivamente i file creasyn_<nome ditta>.sql e grantall_generale.sql
Lanciare la shell creasyn_xxxxxxx.sql come utente generale
$ sqlplus -s generale/generale@POK @creasyn_simionato.sql
Digitare user proprietario tabelle da condividere: <utente ditta>
( utente proprietario ditta)
Lanciare la shell grantall_generale.sql come utente <utente ditta>
$ sqlplus -s <utente ditta>/<utente ditta>@POK @grantall_generale.sql
Digitare user a cui assegnare i privilegi: generale
Lanciare in tabelle genera_g.sql come generale
Sqlplus –s generale/generale@POK @genera_g.sql
Controllare i file di log.
Lanciare in tabelle <nome ditta>_d.sql come <utente ditta>
Sqlplus –s <utente ditta>/<utente ditta>@POK @<utente ditta>_d.sql
Controllare i file di log.
Lanciare in tabelle <nome ditta>_s.sql come <utente ditta>
Sqlplus –s <utente ditta>/<utente ditta>@POK @<utente ditta>_s.sql
Controllare i file di log.
Nella directory viste lanciare con la shella lancia tutti i v*.sql prima come <utente ditta> poi come generale
Nella directory trigger lanciare con la shella lancia tutti i pr*.sql e tr*.sql prima come <utente ditta> poi come
generale attenzione e’ importante prima i pr*.sql
Alcuni errori segnalati nel log sono dovuti al fatto che i trigger bisognerebbe lanciarli solo per il proprietario della
tabella.
Al termine dell'esecuzione degli scripts deve essere verificata la validità degli oggetti compilati e delle rispettive
dipendenze. Per fare in modo di produrre uno script SQL che provveda a ricompilare tutti gli oggetti in stato
"INVALID" bisogna collegarsi al database con "sqlplus system/<password>" ed eseguire:
SQL> set pause off
SQL> set trimspool on
SQL> set feed off
SQL> set head off
SQL> select 'ALTER '||object_type||' '||owner||'.'||object_name||' COMPILE;'
2> from dba_objects
3> where status = 'INVALID'
4> order by owner, object_type
5> .
SQL> spool recompile.sql
SQL> /
SQL> spool off
SQL> quit
E' necessario poi ri-editare il file di spool prodotto ("recompile.sql") per modificare gli statements di "ALTER
PACKAGE BODY" spostando la stringa "BODY" dopo la parola "COMPILE".
(Es.: "ALTER PACKAGE INTERCOM_PROC COMPILE BODY;")
Il file SQL prodotto va poi eseguito con SQL*Plus (connessi con "system/manager").
Per controllare se si verificano degli errori in compilazione va interrogato il data dictionary nel seguente modo:
SQL> select owner, type, name, text
2> from dba_errors;
Una volta sistemata la causa dell'errore va ricompilato l'oggetto in errore tramite lo statement:
SQL> ALTER <type> <name> COMPILE;
-- se si tratta di una PACKAGE BODY
-- aggiungere la parola "BODY"
 dopo "COMPILE"
Sistemati gli eventuali errori copiare c:\QUASAR-X\customer\trx\*.trx in c:\qx\trx
Caricare l’elenco delle tabelle e delle stampanti con:
Dal menu dell ‘ IDF scegliere Deployement – Convert Data, nel data entry scielgliere File e inserire il nome tabelle
Selezionare la conversione from TRX TRX Format to ORA ORACLE
Ripetere l’operazione per il file pratt
Modifiare l’icona dell’ IDF aggiungendo in fondo un ?
Lanciare l’ IDF alla richiesta Enter command line parameters inserire /tst P_SDF2
Selezionare Importa Aggiornamenti premere il tasto F4 Cerca poi F11 Stampa selezionare un stampante NULL e
stampare. Cosi partira’l’import di tutti i *.trx presenti in Qx\trx
Assicurarsi che nel file c:\QUASAR-X\ini\Qx.ini le dll siano quelle della versione giusta dell’ oracle
In particolare se:
[dlls]
demandload=msw9520.dll, wid9510.dll, ole9510.dll, db31010.dll, gfp9511.dll, ora8035.dll se oracle 8.0.4.
BACKUP
Entrare come utente oracle
Posizionarsi sotto la directory /users/<utente ditta>/backup
Lanciare la shell bckinst
$./bckinst
Indicare il mount_point (directory) dove creare le directory
backup e db_admin (Es.: "/" o "/users"):/users
seguire le istruzioni fino alla seconda volta che chiede ORACLE_SID digitare . per uscire
inserire la partenza delle copie nel crontab.
Come utente root:
$ crontab –e
aggiungere in fondo
#
# Minute Hour Day Month Weekday Command
# ----- ---- --- ----- ------- ------59 23 * * 1-5 /users/backup/dbbackup POK /users
00 03 * * * /users/backup/clean_log
SHUTDOWN
Creare in /etc un file rc.shutdown contente
su - oracle -c "/oracle/bin/lsnrctl stop"
su oracle -c "/oracle/bin/dbshut"