martedì 25 agosto 2009

Package Oracle

Per vedere il corpo dei nostri package dobbiamo verificare prima che versione di Oracle abbiamo installata.

Se si tratta di versioni pari o successive alla nove basta sfruttare il package nativo dbms_metadata. Con questa query riusciamo a ricavare quello che vogliamo:

SQL> select dbms_metadata.get_ddl('PACKAGE', '') from dual;

Se invece abbiamo versioni precedenti alla nove bisogna sfruttare le tabelle all_source :

SQL> desc all_source;
Name Null? Type
--------------------------------- -------- -------------------------------------------------
OWNER VARCHAR2(30)
NAME VARCHAR2(30)
TYPE VARCHAR2(12)
LINE NUMBER
TEXT VARCHAR2(4000)

e fare questa query se si vuole la definizione del package :

SELECT text
FROM all_source
WHERE owner = 'OWNER_PACKAGE'
AND name = 'NOME_PACKAGE'
AND type = 'PACKAGE'
ORDER BY type, line;

e questa se si vuole pure il body:

SELECT text
FROM all_source
WHERE owner = 'OWNER_PACKAGE'
AND name = 'NOME_PACKAGE'
AND type = 'PACKAGE BODY'
ORDER BY type, line;


Si può guardare la descrizione del package semplicemente laciando la funzione desc :

SQL> desc OWNER_PACKAGE.NOME_PACKAGE;

Trigger Oracle

Le principali tabelle che riguardano i TRIGGER sono le seguenti:

user_sequences
user_triggers
all_triggers

ecco le loro descrizioni:

SQL> desc user_triggers
Name Null? Type
--------------------------- -------- -------------------------------------------------
TRIGGER_NAME VARCHAR2(30)
TRIGGER_TYPE VARCHAR2(16)
TRIGGERING_EVENT VARCHAR2(216)
TABLE_OWNER VARCHAR2(30)
BASE_OBJECT_TYPE VARCHAR2(16)
TABLE_NAME VARCHAR2(30)
COLUMN_NAME VARCHAR2(4000)
REFERENCING_NAMES VARCHAR2(128)
WHEN_CLAUSE VARCHAR2(4000)
STATUS VARCHAR2(8)
DESCRIPTION VARCHAR2(4000)
ACTION_TYPE VARCHAR2(11)
TRIGGER_BODY LONG

SQL> desc user_sequences
Name Null? Type
--------------------------- -------- -------------------------------------------------
SEQUENCE_NAME NOT NULL VARCHAR2(30)
MIN_VALUE NUMBER
MAX_VALUE NUMBER
INCREMENT_BY NOT NULL NUMBER
CYCLE_FLAG VARCHAR2(1)
ORDER_FLAG VARCHAR2(1)
CACHE_SIZE NOT NULL NUMBER
LAST_NUMBER NOT NULL NUMBER

SQL> desc all_triggers
Name Null? Type
--------------------------- -------- -------------------------------------------------
OWNER VARCHAR2(30)
TRIGGER_NAME VARCHAR2(30)
TRIGGER_TYPE VARCHAR2(16)
TRIGGERING_EVENT VARCHAR2(216)
TABLE_OWNER VARCHAR2(30)
BASE_OBJECT_TYPE VARCHAR2(16)
TABLE_NAME VARCHAR2(30)
COLUMN_NAME VARCHAR2(4000)
REFERENCING_NAMES VARCHAR2(128)
WHEN_CLAUSE VARCHAR2(4000)
STATUS VARCHAR2(8)
DESCRIPTION VARCHAR2(4000)
ACTION_TYPE VARCHAR2(11)
TRIGGER_BODY LONG


Questa select ci da una panoramica del trigger di nostro interesse:

SQL> SELECT trigger_name, trigger_body from all_triggers where trigger_name = '';

e questa invece ci da lo status:

SQL> select status from all_triggers where trigger_name = 'CUSTOM_CDR_DATA_RTRIG';

giovedì 23 luglio 2009

HOWTO : killare sessioni Oracle

Questa è la select che ci consente di vedere le sessioni attiv:

SELECT s.osuser,
s.username,
s.sid,
s.process,
s.serial#,
s.program
FROM v$session s;

per killare una sessione abbiamo bisogno della coppia SID e SERIAL#.

Una volta ottenuti questi valori basterà metterli nel seguente statement:

ALTER SYSTEM KILL SESSION 'sid,serial#'

In alcuni casi Oracle.exe non è abilitato a killare le sessioni immediatamente, perciò queste sessioni vengono marcate con "marked for kill" (MARKED) e saranno killate il prima possibile

Il comando ALTER SYSTEM KILL SESSION è l'unico modo per killare sessioni senza avere alcun tipo di problema. Se i "MARKED" persistono in alcuni casi si deve killare il processo a livello di sistema operativo, però questo non è raccomandato perchè può causare danni all'istanza Oracle

E' possibile forzare il kill aggiungendo la keyword IMMEDIATE:

ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE

venerdì 12 giugno 2009

Installazione plugin Flash Player

Ecco come si installa il plugin Flash Player per mozilla sotto ambiente Linux:

Per prima cosa dovete scaricare il file di installazione dal sito http://get.adobe.com/it/flashplayer/ in formato .tar.gz

Poi, spostate il file e decomprimetelo sotto /opt attraverso i comandi mv e tar

Per far funzionare il tutto bisogna creare la cartella /components in /usr/lib/mozilla


lanciare da root il comando ./flash-installer.


il gioco è fatto, ora potete visualizzare sul firefox i filmati flash

martedì 9 giugno 2009

Finalmente Leonidas : Fedora 11



Dopo una estenuante attesa oggi è finalmente uscita la versione definitiva di Fedora 11.





Finalmente possiamo testare a fondo le varie features:


Le principali caratteristiche di Fedora 11 sono per lo più: sistema automatico di installazione dei font dei mime-type, controllo volume centralizzato, miglioramento del kernel model setting(Intel, ATI e nVidia).


Oltre a questo altre caratteristiche degne di nota sono il supporto al filesystem EXT4, l’opzione di default in fase di installazione. Poi, c’è anche l’inclusione del cross-compilatore MinGW (Windows cross compiler). Con questo strumento sarà possibile compilare applicativi Windows anche in Linux, coprendo buona parte del ciclo di sviluppo (coding, compiling, debugging e testing). Avvio in 20 secondi.

venerdì 5 giugno 2009

Avvio di Linux : bootchart

Ho desiderato commentare questo semplice applicativo, presente nelle varie distribuzioni Linux, che permette anche agli utenti anche non molto esperti di valutare cosa avviene durante l’avvio del proprio PC.

Se devo essere sincero, l’ho installato tempo fa per controllare i tempi di caricamento di alcuni servizi aggiuntivi che ho installato sul mio sistema.

Bootchart consente di verificare la sequenza di avvio del proprio computer e genera un grafico dei processi che comprende il loro tempo di esecuzione e l’uso fatto della CPU e delle unità Input/Output. È possibile scaricare questo applicativo utilizzando direttamente il vostro gestore di pacchetti, oppure scegliendo il proprio sistema operativo nella pagina del sito omonimo.

Dopo l’installazione del programma è richiesto un riavvio del PC per generare il primo file in formato .png , che verrà salvato nella cartella di sistema /var/log/bootchart .

Fatene buon uso, se lo desiderate, ricordandovi di andare a cancellare tutte le immagini presenti in quella cartella, che andranno ad aggiungersi ad ogni avvio del PC.

Chiaramente l’uso di questo applicativo è indicato per chi desidera trovare il modo per velocizzare l’avvio del proprio PC e per chi desidera controllare / modificare l’avvio dei servizi / demoni.
Consiglio quindi, di disinstallare il pacchetto quando non sarà più necessario per evitare di riempire il disco rigido del sistema di inutili immagini aggiuntive.

martedì 19 maggio 2009

Nascondere l'accesso alla pagina di login per il back end

Oggi vi presento un interessante plugin che servirà per aumentare la sicurezza del vostro sito in Joomla: jSecure Authentication. E' un plugin comodo, semplice, non commerciale e nativo sia per la versione 1.0 sia per la 1.5. Si tratta di un plugin di sistema che impedisce l'accesso alla pagina di login per il back-end di un sito in di joomla (quella che noi comunemente chiamiamo con l'url http://.../administrator).
window.google_render_ad();
Per fare questo basta impostare una semplice stringa di caratteri alfanumerici che permetterà di raggiungere la pagina di login e questa stringa dovrà essere inserita nell'url, vediamo ora come.Per installarlo per esempio in un sito Joomla 1.5 bisogna accedere al back-end-->andare su "Estensioni"-->andare su "Installa/Disinstalla"-->cliccare su "Sfoglia"-->caricare il file scaricato-->cliccare su "Carica file & Installa".



Una volta installato bisogna andare a modificarne i parametri: andare su "Estensioni"-->scegliere "Gestione plugin"-->scegliere "System - jSecure Authentication"-->andare sulla scheda "Parametri".Come possiamo vedere in figura sono presenti tre parametri:
Key;
Redirect Options;
Custom Path;Alla voce Key bisogna impostare la stringa da aggiungere alla nostra url per avere l'accesso alla pagina di login. Per default la key è jSecure e consiglio vivamente di cambiarla.Supponiamo che tale stringa sia mysecureaccess.Allora per effettuare il login dovremo scrivere: http://.../administrator/?mysecureaccess .Gli altri due parametri invece servono per il redict nel caso una persona digiti il classico http://.../administrator oppure una stringa sbagliata.Se clicciamo su "Redict to index page" l'utente verrà reindirizzato all'homepage del sito.Se invece vogliamo che venga reindirizzato su un'altra pagina basta selezionare "Custom Path" e scrivere su Custom Path l'url della pagina.Per default ho il reindirizzamento alla pagina di errore 404 (che può essere anche personalizzata).Supponiamo di aver creato una pagina di errore che chiamiamo loginerrato.html e la mettiamo dentro una cartella chiamata File.


Allora basta aggiungere il nome di questo file con il percorso (File/loginerrato.html) sul Custom Path.Dopo basta cliccare su "si" alla voce "Attivato" nella scheda "Dettagli".Già che ci siamo cambiato il nome al plugin, per esempio invece di "System - jSecure Authentication" mettiamo "MyPersonalAuthentication".Adesso tutto è pronto per nascondere l'accesso al pannello di amministrazione del nostro sito.Se qualche malintenzionato decide di provare digitando l'url classica o un'altra url per l'accesso verrà reindirizzato alla pagina che abbiamo creato, come possiamo vedere nella seconda figura.Questo è uno dei tanti trucchi che possiamo usare per evitare intrusioni indesiderate al nostro sito.Nel frattempo vi consiglio di leggere anche altri articoli sulla sicurezza presenti nella sezione degli articoli della community, come quello di = odino = "Joomla! è un CMS sicuro?"