Scripts SQL

Modifications du paramétrage Oracle.

Comment faire ?

La requête suivante permets de trouver l’historique des modifications du paramétrage Oracle qui a pu être effectué au niveau de l’instance dans et stocké dans AWR. La rétention des informations est donc équivalente à celle de rétention des snapshots. Si vous utilisez un AWR Warehouse, potentiellement, vous conservez cet historique depuis son initialisation.

select eit
     , param
     , last_val
     , cur_val
     , is_def
  from ( select end_interval_time eit
              , parameter_name param
              , lag ( value, 1 ) over ( partition by dbid, instance_number, parameter_hash order by snap_id) last_val
              , value cur_val
              , isdefault is_def
           from dba_hist_parameter natural join dba_hist_snapshot
          where dbid = :dbid )
 where last_val != cur_val 
   and last_val is not null
/

En complément

La requête nécessite que la variable DBID soit positionnée afin pouvoir requêter aussi bien la base locale que le reository AWR Warehouse. En local on positionnera la bind variable de la manière suivante :

var dbid number

exec select dbid into :dbid from v$database 
/

Quelle utilité ?

Avoir l’historique des modifications du paramétrage Oracle permet, surtout lorsqu’on travaille à plusieurs sur une même base de données, d’apporter des éléments de réponse à la question : “Pourquoi mon appli marche-t-elle moins bien depuis 12 jour ?”. Donc savoir accéder à ces informations est une aide précieuse surtout lors d’interventions occasionnelles.

Enregistrement automatique des services par PMON

  • Si votre base est bien installée.
  • Si votre serveur est bien configuré.
  • Si un service est créé dans la base (ok, il y en a toujours un).
  • Si le listener LISTENER est démarré sur le port 1521.
  • Et même si les paramètres local_listener ou remote_listener ne sont pas renseignés.

ALORS pmon enregistre le service auprès du listener.

Oui mais des fois, ça ne marche pas, et on ne sait pas trop pourquoi.
(suite…)

AWR en 11gR2 me dit “No data exists for this section of the report”

Franchement quel vilain cet AWR… Non ? Me faire ça à moi, No data exists for this section of the report, n’ai je donc tant administré de bases que pour cette infamie ? Un peu de respect que diable !!!

Pourtant j’ai vérifié statistics_level est bien positionné à ‘TYPICAL’ et il y a des clichés dans dba_hist_snapshot

SQL> select snap_id
  2       , to_char(end_interval_time,'YY/MM/DD HH24:MI:SS') EIT
  3  from dba_hist_snapshot
  4   where end_interval_time > trunc(sysdate)
  5  order by 1
  6  /

(suite…)