ZABBIX Forums  
  #1  
Old 21-04-2011, 12:37
dalle dalle is offline
Senior Member
Zabbix Certified Specialist
 
Join Date: Mar 2009
Location: Ticino, Switzerland
Posts: 382
Default Migrazione da Mysql a ORacle

Visto che è piuttosto complicato spiego brevemente come ho fatto
allora come prima cosa il DB va creato con
NLS_LANGUAGE=AMERICAN
NLS_TERRITORY=AMERICA
NLS_CHARACTERSET=WE8MSWIN1252
NLS_NCHAR_CHARACTERSET=UTF8

poi si crea un utente dedicato sul database con il relativo tablespace

CREATE USER ZABBIX
IDENTIFIED BY PASSWORD
DEFAULT TABLESPACE TBS_ZABBIX
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT
ACCOUNT UNLOCK;
-- 2 Roles for ZABBIX
GRANT CONNECT TO ZABBIX;
GRANT RESOURCE TO ZABBIX;
ALTER USER ZABBIX DEFAULT ROLE ALL;
GRANT UNLIMITED TABLESPACE TO ZABBIX;
-- 1 Tablespace Quota for ZABBIX
ALTER USER ZABBIX QUOTA UNLIMITED ON TBS_ZABBIX;


poi si prosegue con l'eseguzione dello script
zabbix-1.8.5\create\schema\oracle.sql

a questo punto ho utilizzato
sqldeveloper di oracle che ha un interessante funzione per migrare i dati da MySQL a oracle, lo si lasci lavorare.
Poi è necessario (nel mio caso la distribuzione è REDHAT EL 5.5):
oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm
reperibile qua
http://www.oracle.com/technetwork/to...ft-092277.html
infine si compila il demone con
./configure --enable-server --enable-agent --enable-proxy --with-oracle --with-net-snmp --with-libcurl --with-net-snmp --with-ldap --with-openipmi
NOTA: fate attenzione al profile dell'utente
il mio contiene:
export ORACLE_BASE=/usr/local/oracle/11.2/client64
export ORACLE_HOME=$ORACLE_BASE
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=/lib/:/usr/lib:$ORACLE_BASE/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin

infine va installato:
php-oci8-5.3.6-3.el5.remi.x86_64.rpm
(reperito dal repository di centos)
e installato con il --nodeps (perchè logicamente non trova i pacchetti che gli servono ma sono analoghi a quelli redhat solamente header differente)

si verifica che il driver oracle oci8.so sia caricato dal php
nel caso redhat deve essere presente il file
/etc/php.d/oci8.ini
contenente :
; Enable oci8 extension module
extension=oci8.so

a questo punto bisogna riconfigurare la connession alla base dati dell'interfaccia grafica, lanciare il demone e il gioco è fatto

NOTA:
vista la mole di dati e i tempi di migrazione molto lunghi io ho modificato l'housekeepr per lasciare solo 3 mesi di storico (necessari per le SLA)

spero vi sia utile
Ciao
__________________
Andrea Dalle Vacche
website:http://www.smartmarmot.com/
e-mail:info@smartmarmot.com
Author of:Mastering Zabbix Book
Reply With Quote
  #2  
Old 22-04-2011, 10:12
GArmao GArmao is offline
Zabbix Certified Specialist
Zabbix Certified Specialist
 
Join Date: Mar 2010
Location: Bologna, Italy
Posts: 53
Default

facci sapere la differenza in performance! immagino tu monitorassi lo stato di zabbix col db mysql e ora col db oracle, sono curioso di sapere quanta differenza c'è in termini di velocità e carico del server, io per ora rimango su MySQL ma non è detto che prima o poi non si pensi di passare a Oracle o Postgre
Reply With Quote
  #3  
Old 22-04-2011, 15:01
dalle dalle is offline
Senior Member
Zabbix Certified Specialist
 
Join Date: Mar 2009
Location: Ticino, Switzerland
Posts: 382
Default

ti posso garantire che la migrazione non è indolore ma decisamente complessa, sicuramente partendo direttamente su Oracle è molto meglio.
Purtroppo MySQL qui è affaticato dal carico di lavoro (siamo a oltre 1700 hosts monitorati) e MySQL sta mostrando di aver raggiunto il suo limite. Per questo è nata l'esigenza della migrazione.
__________________
Andrea Dalle Vacche
website:http://www.smartmarmot.com/
e-mail:info@smartmarmot.com
Author of:Mastering Zabbix Book
Reply With Quote
  #4  
Old 22-04-2011, 18:04
capitano capitano is offline
Junior Member
 
Join Date: Apr 2011
Posts: 4
Default

ho provato a migrare un db mysql su oracle Il log di zabbix_server è pieno di errori del tipo:
Delay period format is wrong
a te è capitato?
Reply With Quote
  #5  
Old 22-04-2011, 18:06
dalle dalle is offline
Senior Member
Zabbix Certified Specialist
 
Join Date: Mar 2009
Location: Ticino, Switzerland
Posts: 382
Default

Ciao
premetto che NON so se è corretto secondo me si ma... non ho scritto io il db quindi...

io ho risolto con una update sulla tabella items:
update zabbix.items set delay_flex='' where delay_flex=' ';
(in delay_flex c'è lo spazio e va tolto)
questo errore lo ha introdotto SQLDeveloper....
prova se è risolutivo
__________________
Andrea Dalle Vacche
website:http://www.smartmarmot.com/
e-mail:info@smartmarmot.com
Author of:Mastering Zabbix Book
Reply With Quote
  #6  
Old 01-06-2011, 12:34
dalle dalle is offline
Senior Member
Zabbix Certified Specialist
 
Join Date: Mar 2009
Location: Ticino, Switzerland
Posts: 382
Default

ho notato unaltro problema i dati contenuti nella tabella httpstep nella colonna posts nel mio database sono stati valorizzati a 20.... è assurdo perchè in mysql erano vuoti.... quindi è un altro errore inserito presumibilmente da SQLDeveloper...
si risolve con questo statement:

update httpstep set httpstep.posts='' where httpstep.posts='20';
__________________
Andrea Dalle Vacche
website:http://www.smartmarmot.com/
e-mail:info@smartmarmot.com
Author of:Mastering Zabbix Book
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 23:18.