SQL> select group#, member from v$logfile;
GROUP# MEMBER
---------- --------------------------------------------------
1
+FRA/MYDB/onlinelog/group_1.257.715620719
2
+FRA/MYDB/onlinelog/group_2.258.715620719
3
+FRA/MYDB/onlinelog/group_3.259.715620719
SQL> select group#, status, bytes/1024 from v$log;
GROUP#
STATUS
BYTES/1024
---------- ---------------- ----------
1
ACTIVE
51200
2
CURRENT
51200
3
ACTIVE
51200
SQL> alter system switch logfile;
SQL> alter system switch logfile;
SQL> alter system switch logfile;
SQL> alter system checkpoint global;
SQL> select group#, status from v$log;
GROUP# STATUS
---------- ----------------
1 CURRENT
2 INACTIVE
3 INACTIVE
Prendre un des groupes en état INACTIVE et le supprimer, puis le recréer avec
deux membres.
Dans cet exemple, on suppose que l'instance est en mode OMF.
SQL> alter database drop logfile group 3;
(si le groupe 3 est en état INACTIVE)
SQL> select group#, status, bytes/1024 from v$log;
GROUP#
STATUS
BYTES/1024
---------- ---------------- ----------
1
CURRENT
51200
2
INACTIVE
51200
SQL> alter database add logfile group 3 ('+DATA','+FRA') size 51200K;
SQL> alter system switch logfile;
On vérifie que le groupe 3 possède désormais deux membres
SQL> select group#, status, members, bytes/1024 from v$log;
GROUP#
STATUS
MEMBERS BYTES/1024
---------- ---------------- ---------- ----------
1
ACTIVE
1 51200
2
INACTIVE
1 51200
3
CURRENT
2 51200
SQL> select group#, member from v$logfile order by 1
GROUP# MEMBER
---------- --------------------------------------------------
1
+FRA/MYDB/onlinelog/group_1.257.715710709
1
+DATA/MYDB/onlinelog/group_1.285.715710709
2
+FRA/MYDB/onlinelog/group_2.258.715710073
2
+DATA/MYDB/onlinelog/group_2.284.715710073
3
+FRA/MYDB/onlinelog/group_3.259.715709881
3
+DATA/MYDB/onlinelog/group_3.282.715709881
Et faire ainsi de suite pour les trois groupes... Ici, on peut dropper et
recréer le groupe 2 car il est inactif
Attention à ne pas dropper les trois groupes de logs en même temps ou de
dropper un logfile group actif!
N'hésitez pas à un message si cet article vous a été utile.
Nixman
Tag - ASM
jeudi 8 avril 2010
Multiplexer les redo logs Oracle sous ASM
Par Nixman le jeudi 8 avril 2010, 15:04 - Oracle
mercredi 7 avril 2010
Multiplexing an Oracle controlfile in ASM
Par Nixman le mercredi 7 avril 2010, 15:54 - Oracle
1) Check current controlfile's name and restart the database
NOMOUNT
SQL> show parameter control_files
NAME
TYPE VALUE
------------------------------------ -----------
-----------------------------------------------
control_files
string
+FRA/MYDB/controlfile/current.256.715620719
SQL> shutdown immediate
SQL> startup nomount
2) Copy/restore current controlfile through RMAN
$ rman target /
RMAN> restore controlfile to '+DATA' from
'+FRA/MYDB/controlfile/current.256.715620719';
Starting restore at 07-APR-10
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=272 device type=DISK
channel ORA_DISK_1: copied control file copy
Finished restore at 07-APR-10
3) Find out the name of the new controlfile through
asmcmd
ASMCMD> ls -lsa +DATA/MYDB/controlfile
Type Redund Striped
Time
Sys Block_Size Blocks
Bytes Space Name
CONTROLFILE UNPROT FINE APR 07
14:00:00 Y
16384 595 9748480 16777216 none =>
current.283.715704921
4) Modify your spfile to take into account the new
controlfile
SQL> alter system set
control_files='+DATA/MYDB/controlfiles/current.283.715704921','+FRA/MYDB/controlfile/current.256.715620719'
scope=spfile;
5) Restart the database and check
SQL> shutdown immediate
SQL> startup
SQL> show parameter control_files;
NAME
TYPE VALUE
------------------------------------ -----------
------------------------------
control_files
string +DATA/MYDB/controlfiles/cu
rrent.283.715704921, +FRA/mmtw
ebdv/controlfile/current.256.7
15620719
Leave me a line if this note has been useful to you.
Happy computing
Nixman
Multiplexer le fichier de contrôle Oracle sous ASM
Par Nixman le mercredi 7 avril 2010, 15:50 - Oracle
1) Vérifier le nom du fichier de contrôle actuel:
SQL> show parameter control_files
NAME
TYPE VALUE
------------------------------------ -----------
-----------------------------------------------
control_files
string
+FRA/MYDB/controlfile/current.256.715620719
SQL> shutdown immediate
SQL> startup nomount
2) Effetuer la copie du fichier de contrôle via rman
$ rman target /
RMAN> restore controlfile to '+DATA' from
'+FRA/MYDB/controlfile/current.256.715620719';
Starting restore at 07-APR-10
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=272 device type=DISK
channel ORA_DISK_1: copied control file copy
Finished restore at 07-APR-10
3) Retrouver le nom du nouveau fichier de contrôle via
asmcmd:
ASMCMD> ls -lsa +DATA/MYDB/controlfile
Type Redund Striped
Time
Sys Block_Size Blocks
Bytes Space Name
CONTROLFILE UNPROT FINE APR 07
14:00:00 Y
16384 595 9748480 16777216 none =>
current.283.715704921
4) Modifier les paramètres d'init pour prendre en compte le nouveau
fichier de contrôle:
SQL> alter system set
control_files='+DATA/MYDB/controlfiles/current.283.715704921','+FRA/MYDB/controlfile/current.256.715620719'
scope=spfile;
5) Redémarrer la base et vérifier:
SQL> shutdown immediate
SQL> startup
SQL> show parameter control_files;
NAME
TYPE VALUE
------------------------------------ -----------
------------------------------
control_files
string +DATA/MYDB/controlfiles/cu
rrent.283.715704921, +FRA/mmtw
ebdv/controlfile/current.256.7
15620719
Laissez-moi une note si cet article vous a été utile.
Bonne journée.
Nixman