Category: oracle

utilisation de DBMS_SCHEDULER

liste des job :

SELECT * FROM user_scheduler_jobs;

ajouter un job :
BEGIN
DBMS_SCHEDULER.create_job (
job_name => 'load_vendeur_resa',
job_type => 'STORED_PROCEDURE',
job_action => 'MAJ_VENDEURS',
start_date => to_date('17/09/2009 19:00:00','dd/mm/yyyy HH24:MI:SS'),
repeat_interval => 'FREQ=DAILY',
enabled => TRUE,
comments => 'affectation des codes vendeurs de la resa');
END;
/

lancer un job (pour le testé) :
BEGIN
DBMS_SCHEDULER.run_job('load_vendeur_resa',true);
end;
/
supprimer un job :

BEGIN
DBMS_SCHEDULER.drop_job('load_vendeur_resa');
end;
/

tuto oracle :

http://blogorak.estsurinternet.com/jobs-queues-et-ordonnancement

extraire le dictionnaire des données d’un user oracle

commentaire des tables :
select * from user_tab_comments where table_name not like '%$%';

dictionnaire des données :
select
utc.table_name,
utc.column_name,
utc.data_type,
utc.data_length,
utc.nullable,
utc.data_default,
utc.qualified_col_name,
ucc.comments
from
user_tab_cols utc,
user_col_comments ucc
where
ucc.table_name = utc.table_name
and ucc.column_name = utc.column_name
and utc.table_name not like '%$%'
order by
table_name,
column_id;

Affecter les droit d’un utlisateur sur un autre

pour affecter les droits d'un utilisateur TOTO sur un utilisateur TITI on peux faire :

SELECT 'GRANT ' || privilege || ' TO TITI;' FROM DBA_SYS_PRIVS
where grantee = 'TOTO'

on récupère le résultat de la requête que l'on exécute comme un script.

lien : http://download.oracle.com/docs/cd/B10501_01/server.920/a96521/privs.htm#15665

lister les tablespaces + infos


select
a.TABLESPACE_NAME,
a.CONTENTS,
a.EXTENT_MANAGEMENT,
a.ALLOCATION_TYPE,
a.SEGMENT_SPACE_MANAGEMENT,
a.BIGFILE,
a.STATUS,
nvl(sum(b.count_files),0) FILES,
nvl(sum(b.bytes),0) "SIZE",
nvl(sum(b.maxbytes),0) MAX_SIZE,
nvl(sum(b.bytes),0)-nvl(sum(c.free_bytes),0) "USED"
from DBA_TABLESPACES a,
(
select TABLESPACE_NAME,
sum(BYTES) bytes,
count(*) count_files,
sum(greatest(MAXBYTES,BYTES)) maxbytes
from DBA_DATA_FILES
group by TABLESPACE_NAME
union all
select TABLESPACE_NAME,
sum(BYTES),
count(*),
sum(greatest(MAXBYTES,BYTES)) maxbytes
from DBA_TEMP_FILES
group by TABLESPACE_NAME
) b,
(
select TABLESPACE_NAME,
sum(BYTES) free_bytes
from DBA_FREE_SPACE
group by TABLESPACE_NAME
union all
select TABLESPACE_NAME,
sum(BYTES_FREE) free_bytes
from V$TEMP_SPACE_HEADER
group by TABLESPACE_NAME
) c
where a.TABLESPACE_NAME = b.TABLESPACE_NAME (+)
and a.TABLESPACE_NAME = c.TABLESPACE_NAME (+)
group by
a.TABLESPACE_NAME,
a.CONTENTS,
a.EXTENT_MANAGEMENT,
a.ALLOCATION_TYPE,
a.SEGMENT_SPACE_MANAGEMENT,
a.BIGFILE,
a.STATUS
order by a.TABLESPACE_NAME;

sources : http://oracle.developpez.com/faq/?page=4

oracle trigger – auto-incrémentation

dans les exemples ci-dessous, remplacer "MaTable" par le nom de votre table et le champs MaTable_S par le nom du champs (en générale la clé primaire de votre table).
Read more »

oracle trigger

dans les exemples ci-dessous, remplacer "MaTable" par le nom de votre table et les champs UPDATED_AT & CREATED_AT par les noms de vos champs.
Read more »

oracle rachète sun : quid pour MySQL ?

alors que j'écrivais un billet pour me rappeler des commandes de creation de trigger sur oracle, je tombe sur l'info suivante :

http://www.zdnet.fr/blogs/2009/04/20/oracle-s-offre-un-printemps-ensoleille-a/

Oracle rachète sun microsystèms pour 5,6 milliards de dollars...

Read more »

WordPress Themes