Les requêtes coté admin oracle.
connecté en sysdba :
select s.sid, sn.serial#, sn.machine, n.name, s.value, sn.username, sn.program, sn.type, sn.module from v$sesstat s join v$statname n on n.statistic# = s.statistic# join v$session sn on sn.sid = s.sid where name like '%redo entries%' order by value desc ;
connecté en sysdba :
select a.tablespace_name, b.free,a.total,round((a.used-b.free)/a.total * 100,2) prc from ( select tablespace_name,sum(bytes) used, sum(maxbytes) total from dba_data_files group by tablespace_name) A, ( select tablespace_name,sum(bytes) free from dba_free_space group by tablespace_name) B where a.tablespace_name=b.tablespace_name ;
utilisable dans un plugin munin pour grapher le pourcentage d'utilisation par exemple
De base on ne peut pas exporter en CSV
Pour exporter le resultat d'une requête oracle en fichier csv (séparé par des ;) :
select column1, column2, column3 from MYVIEW WHERE MYCONDITIONS;
qui devient (replacement des , entre champs par “||';'||”):
select column1||';'||column2||';'||column3 from MYVIEW WHERE MYCONDITIONS;
set pagesize 5000 set linesize 200 spool /tmp/resultat.csv @/tmp/requete.sql spool off;
Voici l'equivalent SQLplus du “SHOW CREATE TABLE” MySQL, en remplaçant $TABLE_NAME et $SCHEMA_NAME par les valeurs souhaitées :
set pages 0 set long 999999 select dbms_metadata.get_ddl('TABLE', '$TABLE_NAME', '$SCHEMA_NAME') from dual;
select dbms_metadata.get_ddl('TABLE', '$TABLE_NAME') from dual ;
sur une table du schéma courant
Il faut utiliser :
set timing on
comme par exemple dans l'exemple suivant :
SQL> set timing on SQL> select * from dual ; D - X Elapsed: 00:00:00.05
L'equivalent MySQL de
select col from tbl limit 20;
est
select col from tbl where rownum<=20;
select * from (select col from tbl order by moncul asc) where rownum<=20;
SELECT table_name FROM user_tables;
SELECT table_name FROM all_tables;
SELECT table_name FROM dba_tables;
pour changer temporairement le format de date pour la session actuelle :
alter session set nls_date_format = 'dd/mm/yyyy HH24:MI:SS';