Questa è una vecchia versione del documento!
Indice
Installazione Oracle
Versioni
- Oracle 10-11 ufficialmente supportate
- Postgress 9.1/2/3 supportate ma Bonita consiglia la 9.3 per la versione 6.4
- Bonita 6.4
- Java Oracle 1.7 per Bonita 6.4
- Java Oracle 1.8 per tomcat 8.5
- Tomcat 8.5
- eXtraWay EE
Preparazione ambiente
Disabilitare selinux e firewall.
Aggiungere gruppi:
groupadd -g 501 oinstall groupadd -g 502 dba groupadd -g 503 oper
Aggiungere utente:
useradd -u 502 -g oinstall -G dba,oper oracle
Impostare password:
passwd oracle
vim /etc/sysctl.conf ed aggiungere:
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967295 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
Eseguire:
sysctl -p
vim /etc/security/limits.conf ed aggiungere:
oracle soft nproc 131072 oracle hard nproc 131072 oracle soft nofile 131072 oracle hard nofile 131072 oracle soft core unlimited oracle hard core unlimited oracle soft memlock 50000000 oracle hard memlock 50000000
vim /etc/pam.d/login ed aggiungere:
session required pam_limits.so
Vim /etc/hosts ed aggiungere ip nome macchina completo e nome macchina. Esempio:
10.17.61.190 auac.bo.priv auac
Modificare .bash_profile per utente oracle nella sua home /home/oracle
# Oracle Settings export TMP=/tmp export ORACLE_HOSTNAME=auac.bo.priv export ORACLE_UNQNAME=orcl export ORACLE_BASE=/ora01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_SID=orcl PATH=/usr/sbin:$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; alias cdob='cd $ORACLE_BASE' alias cdoh='cd $ORACLE_HOME' alias tns='cd $ORACLE_HOME/network/admin' alias envo='env | grep ORACLE' umask 022
Installare :
yum install binutils -y yum install compat-libstdc++-33 -y yum install compat-libstdc++-33.i686 -y yum install gcc -y yum install gcc-c++ -y yum install glibc -y yum install glibc.i686 -y yum install glibc-devel -y yum install glibc-devel.i686 -y yum install ksh -y yum install libgcc -y yum install libgcc.i686 -y yum install libstdc++ -y yum install libstdc++.i686 -y yum install libstdc++-devel -y yum install libstdc++-devel.i686 -y yum install libaio -y yum install libaio.i686 -y yum install libaio-devel -y yum install libaio-devel.i686 -y yum install libXext -y yum install libXext.i686 -y yum install libXtst -y yum install libXtst.i686 -y yum install libX11 -y yum install libX11.i686 -y yum install libXau -y yum install libXau.i686 -y yum install libxcb -y yum install libxcb.i686 -y yum install libXi -y yum install libXi.i686 -y yum install make -y yum install sysstat -y yum install unixODBC -y yum install unixODBC-devel -y yum install zlib-devel -y yum install elfutils-libelf-devel -y yum install xorg-x11-server-Xorg xorg-x11-xauth xorg-x11-apps xorg-x11-server-utils xdpyinfo -y
Creare struttura cartelle:
mkdir -p /ora01/app chown oracle:oinstall /ora01/app chmod 775 /ora01/app
Creare ORACLE_BASE directory per oracle:
mkdir -p /ora01/app/oracle chown oracle:oinstall /ora01/app/oracle chmod 775 /ora01/app/oracle
Creare ORACLE_HOME directory per oracle:
mkdir -p /ora01/app/oracle/product/11.2.0/db_1 chown oracle:oinstall -R /ora01/app/oracle
In Centos Linux 7 /tmp per convertire il tmp in storage, eseguire il comando e fare riavvio.
systemctl mask tmp.mount
Setup di Oracle tramite console
Entrare come utente oracle:
su - oracle
Scaricare il file dalla cartella in rete RESOURCES/ORACLE/11g sulla home /home/oracle e fare unzip i due file.
Modificare vim /etc/ssh/sshd_config in:
X11Forwarding yes
systemctl restart sshd
Come root eseguire:
xhost +<nome macchina>
Come oracle eseguire:
DISPLAY=<machine-name>:0.0; export DISPLAY
Installare Xming sulla tua macchina Windows. Avvia Xming Launcher. Scegli tutto default e disabilita solo ACl. Quando fai il login con putty prima abilita x11 forwarding sulle opzioni del SSH.
Entrare come utente oracle e far partire il setup ./runInstaller nella cartella database che abbiamo estratto prima.
Disabilita security update nella prima shermata. Ignora il messagio della mail. Scegliere versione Enterprise. E non Creare nuovo DB se non si sa il nome db. Quando fa il check, potrebbero essere dei problemi con le versioni pacchetti ed un campo kernel che non lo riconosce anche se è giusto. Ignorare tutto e proseguire.
Quando appare l'errore “install”:
vim /ora01/app/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk
Da:
ctxhx: $(CTXHXOBJ) $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
a:
ctxhx: $(CTXHXOBJ) -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib/gcc/x86_64-redhat-linux/4.8.2/libstdc++.a
Poi prova “Retry”
Quando apare l'errore “agent nmhs” :
Editare $ORACLE_HOME/sysman/lib/ins_emagent.mk, cerca:
$(MK_EMAGENT_NMECTL)
e sostituire con:
$(MK_EMAGENT_NMECTL) -lnnz11
Riprova “Retry”
Alla schermata degli script, eseguirli come root dalla console quelli indicati.
Per come sysdba. Fare login come oracle e poi eseguire :
sqlplus / as sysdba
Creare, cancellare e modificare DB tramite console
Creare DB, CDB e PDB tramite la console con la connesione X11 forwarding come sopra indicato. Come utente oracle eseguire:
dbca
e seguire i passi come preferenze. Nel caso di PDB scegliere anche l'opzione del container e mettere il nome che si preferisce.
Usare il comando dbca anche per cancellare o modificare i DB.
Per aprire il pdb connesso con utente sys si lancia il comando
ALTER DATABASE OPEN;
per controllare lo stato
select status from v$instance;
Post Installation
Editare “/etc/oratab” file setting ed aggiungere il flag come nell'esempio, 'Y'. La riga esisterà quando sarà creato un DB.
auac:/ora01/app/oracle/product/11.2.0/db_1:Y orcl:/ora01/app/oracle/product/11.2.0/db_1:Y
Editare “dbstart” & “dbshut” file, in $ORACLE_HOME\bin per non avere il messaggio di ORACLE_HOME_LISTNER. Cambiare da:
ORACLE_HOME_LISTNER=$1
a:
ORACLE_HOME_LISTNER=$ORACLE_HOME
Abilitare web console
Per la console EMC dopo aver acceso il servizio oracle eseguire:
emca -config dbcontrol db -repos create
Seguire i passi.
Aggiungere oracle come servizio in systemd
Creare cartella lock:
mkdir /home/oracle/lock
Creare file vim /etc/init.d/oracle con il contenuto:
#!/bin/bash # # /etc/init.d/oracledb # # Run-level Startup script for the Oracle Instance, Listener, and Web Interface export ORACLE_HOME=/ora01/app/oracle/product/11.2.0/db_1 export PATH=$PATH:$ORACLE_HOME/bin export ORACLE_UNQNAME=orcl export ORACLE_HOME_LISTNER="$ORACLE_HOME" ORA_OWNR="oracle" if [ x"$(whoami)" != x"$ORA_OWNR" ] then echo "Switching to user $ORA_OWNR" su "$ORA_OWNR" -c "$0 $@" exit 0 fi # if the executables do not exist -- display error if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ] then echo "Oracle startup: cannot start" exit 1 fi case "$1" in start) # Oracle listener and instance startup echo -n "Starting Oracle: " $ORACLE_HOME/bin/lsnrctl start $ORACLE_HOME/bin/dbstart touch /home/oracle/lock/oracle $ORACLE_HOME/bin/emctl start dbconsole echo "OK" ;; stop) # Oracle listener and instance shutdown echo -n "Shutdown Oracle: " $ORACLE_HOME/bin/lsnrctl stop $ORACLE_HOME/bin/dbshut rm -f /home/oracle/lock/oracle $ORACLE_HOME/bin/emctl stop dbconsole echo "OK" ;; reload|restart) $0 stop $0 start ;; *) echo "Usage: `basename $0` start|stop|restart|reload" exit 1 esac exit 0
Renderlo eseguibile con:
chmod +x /etc/init.d/oracle
Creare file /etc/systemd/system/oracle.service con contenuto:
[Unit] Description=Servizio di oracle After=network.target remote-fs.target nss-lookup.target [Service] Type=forking ExecStart=/etc/init.d/oracle start ExecStop=/etc/init.d/oracle stop SuccessExitStatus=0 143 RestartSec=10 Restart=always User=oracle Group=oinstall [Install] WantedBy=multi-user.target
Eseguire i seguenti comandi:
systemctl daemon-reload systemctl enable oracle.service systemctl start oracle.service
Export/import Oracle DB
Export DB
Creare cartella bolzano in $ORACLE_HOME/admin/orcl/dpdump/
Enter nella console di Oracle:
sqlplus / as sysdba
CREATE DIRECTORY bolzano AS '/opt/oracle/Oracle11gee/admin/orcl/dpdump/bolzano';
GRANT READ, WRITE ON DIRECTORY bolzano TO system;
Exit console. Eseguire:
expdp AUAC_USR_EXT/auac_pwd_test@ORCL SCHEMAS=AUAC_USR_EXT DIRECTORY=bolzano
Copiare il file .dmp nel nuovo server nella cartella dpdump/bolzano
Import DB
Creare cartella bolzano in $ORACLE_HOME/admin/orcl/dpdump/
Entrare nella console del Oracle:
sqlplus / as sysdba
CREATE BIGFILE TABLESPACE TSD_AUACUSR_1 DATAFILE 'tbs_tsd_auac.dat' SIZE 4G AUTOEXTEND ON; CREATE BIGFILE TABLESPACE AUAC_USR_EXT DATAFILE 'tbs_usr_auac.dat' SIZE 4G AUTOEXTEND ON; CREATE BIGFILE TABLESPACE STABLE DATAFILE 'tbs_stable.dat' SIZE 1G AUTOEXTEND ON; CREATE BIGFILE TABLESPACE TSD_MRAAUACUSR_1 DATAFILE 'tbs_tds_mraauacusr_1.dat' SIZE 1G AUTOEXTEND ON; CREATE USER AUAC_USR_EXT identified by auac_pwd_test default tablespace TSD_AUACUSR_1; GRANT CREATE SESSION,CONNECT to AUAC_USR_EXT; GRANT DBA to AUAC_USR_EXT; CREATE DIRECTORY bolzano AS '/ora01/app/oracle/admin/orcl/dpdump/bolzano'; GRANT READ, WRITE ON DIRECTORY bolzano TO system;
Exit console. Eseguire:
impdp AUAC_USR_EXT SCHEMAS=AUAC_USR_EXT DIRECTORY=bolzano
Installazione postgresql
Eseguire:
yum install postgresql-server postgresql-contrib postgresql-setup initdb systemctl enable postgresql
Editare il file /var/lib/pgsql/data/pg_hba.conf aggiungendo anche la seguente rigae cambiare tutti i ident in md5:
host all all 127.0.0.1/32 md5 host all all 0.0.0.0/0 md5
Editare il file /var/lib/pgsql/data/postgresql.conf ed aggiungere o modificare in:
listen_addresses = '*'
Riavviare il servizio postgres.
Operazioni su postgres
In Linux di default, si crea un utente postgres dopo l'installazione. Puoi cambiare la sua password eseguendo:
passwd postgres
L'utente postgres è senza password di default. Dopo, puoi entrare nel promt di PostgreSQL e cambiare la password per PostgreSQL postgres user eseguendo:
su - postgres
Se ricevi un errore, puoi impostare una shell valida con il seguente comando:
su --shell /bin/bash postgres
Dopodiché, eseguire:
su - postgres
Per cambiare la password, usa il seguente comando:
psql -d template1 -c "ALTER USER postgres WITH PASSWORD 'NewPassword';"
Puoi entrare nel PostgreSQL client shell usando:
psql postgres
Per uscire scriviere \q.
Per creare un DB eseguire:
createdb testDB
Puoi creare un ruolo come nell'esempio:
createuser samplerole –pwprompt
Ti verrà chiesta una password per l'utente.
Altrimenti puoi assegnare ownership del nouvo DB ad un specifico utente o ruolo. Si può realizzare eseguendo :
createdb testDB -O samplerole
Nell'esempio qui sopra, specificare il ruolo che si desidera.
Ti puoi collegare al nuovo DB eseguendo:
psql testDB
Se si vuol entrare con un utente o ruolo specifico, eseguire:
psql testDB -U samplerole
Puoi cancellare un DB usando il comando dropdb:
dropdb testDB
Creare o cancellare DB bonita
Entrare nel psql console ed eseguire:
postgres=#CREATE USER bonita WITH PASSWORD 'bonita'; postgres=#CREATE DATABASE bonita WITH ENCODING 'UTF8' OWNER bonita;
Vedere la lista DB eseguire:
\l
Cancellare DB. Entrare nel psql console ed eseguire:
postgres=#DROP DATABASE bonita;
Backup per export ed importare DB
Per backup eseguire come root o utente posgres:
pg_dump -h localhost -U bonita bonita > db_bonita_exp.pgsql
Per restore eseguire:
cat db_bonita_exp.pgsql |psql -U bonita -d bonita -h localhost
File di config per le app
AuAc
1) webapps/AuAc/WEB-INF/web.xml
Configurazione CAS
2) webapps/AuAc/WEB-INF/spring-servlet.xml
Configurazione CAS
3) webapps/AuAc/WEB-INF/classes/auac.properties
Configurazione 3diws, SMTP, database oracle, CAS (url logout), bonitaview, bonita
SanitaRegioneVeneto
1) webapps/SanitaRegioneVeneto/WEB-INF/web.xml
Configurazione CAS
2) webapps/SanitaRegioneVeneto/WEB-INF/classes/auac.properties
Configurazione SMTP, database oracle
AREA
1) webapps/area/WEB-INF/classes/application-venetoprod.properties
Configurazione database oracle e CAS
Bonita
1) bin/setenv.sh
Modificare il vendor da “h2” a “postgres”
2) conf/Catalina/localhost/bonita.xml
Configurazione database postgress
3) webapps/bonita/WEB-INF/classes/bonita-connectors.properties ( nella versione 6 non esiste)
Configurazione 3diws e database oracle
4) conf/bitronix-resources.properties
Configurazione database postgress
5) copiare il driver jdbc nella cartella lib/bonita
BonitaView
1) webapps/bonitaview/WEB-INF/classes/bonitaView.properties
Configurazione bonita