Bonjour,


Je suis en plein tests de CRASH artificiels de base ORACLE, à but de constitution de procédures de RECOVER.

J'ai corrompu ma base de TESTS et je suis dans la situation suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
tstecc6:oratst 2> sqlplus
 
SQL*Plus: Release 11.2.0.3.0 Production on Tue Apr 28 10:30:02 2015
 
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
 
Enter user-name: sys as sysdba
Enter password:
ERROR:
ORA-01075: you are currently logged on
 
 
Enter user-name: sys/manager as sysdba
ERROR:
ORA-01075: you are currently logged on
 
 
Enter user-name: / as sysdba
ERROR:
ORA-01075: you are currently logged on
 
 
SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
tstecc6:oratst 3>
 
Corruption de la base. Shutdown impossible.
On passe au KILL des process ORACLE au niveau de l'OS.
 
Identification des processes à tuer :
root@tstecc6-/# ps -eaf|grep ora
    root  3080412        1   0   Mar 12      - 12:48 /usr/tivoli/tsm/tdp_r3/ora64/prole -p tdpr3ora64
  oratst  4194348 19267602   0 10:20:37  pts/5  0:00 -csh
  oratst  4849678        1   0   Mar 12      -  2:02 /oracle/TST/112_64/bin/tnslsnr LISTENER -inherit
  oratst 15073364        1   0 09:15:08      -  0:00 ora_arc3_TST
  oratst 15466542        1   0 09:15:08      -  0:00 ora_arc2_TST
  oratst 15597604        1   0 09:15:08      -  0:00 ora_arc1_TST
  oratst 15728880        1   0 09:15:08      -  0:00 ora_arc0_TST
  oratst 16646230        1   0 09:14:58      -  0:00 ora_pmon_TST
  oratst 16777320        1   1 09:14:59      -  0:01 ora_mmnl_TST
  oratst 17039380        1   0 09:14:58      -  0:00 ora_psp0_TST
  oratst 17170610        1   0 09:14:59      -  0:00 ora_mmon_TST
  oratst 17236130        1   0 09:14:59      -  0:00 ora_reco_TST
    root 17432618 16974076   0 10:32:19  pts/6  0:00 grep ora
  oratst 17760396        1   0 09:14:59      -  0:00 ora_smon_TST
  oratst 18022502        1   0 09:14:59      -  0:00 ora_ckpt_TST
  oratst 18153582        1   0 09:14:59      -  0:00 ora_lgwr_TST
  oratst 18284702        1   0 09:14:59      -  0:00 ora_dbw0_TST
  oratst 18481388        1   0 09:14:59      -  0:00 ora_mman_TST
  oratst 18612322        1   0 09:20:29      -  0:00 ora_smco_TST
  oratst 18678014        1   0 09:14:59      -  0:01 ora_dia0_TST
  oratst 19071066        1   0 09:14:59      -  0:00 ora_dbrm_TST
  oratst 19202054        1   0 09:14:59      -  0:00 ora_diag_TST
  oratst 19333174        1   0 09:14:59      -  0:00 ora_gen0_TST
  oratst 19398772        1   0 10:20:32      -  0:00 ora_w000_TST
  oratst 19660976        1   0 09:14:59      -  0:00 ora_vktm_TST
root@tstecc6-/#
Un simple KILL (=please shut down) ou KILL -9 (=you shut up) en prenant les process les uns à la suite des autres, fait un arrêt brutal de tout.
La question que je me pose, pour être le plus propre possible, c'est : quel ordonnancement puis-je faire pour que la base soit le moins corrompu possible ?

arrêter le PMON en premier ? le SMON en dernier ?