Académique Documents
Professionnel Documents
Culture Documents
===========================
##
## Objective
##
In this example I have two ASM disk groups for redo logs:
DATA
FRA
There are FOUR instances, each instance will have TWO redo groups
with TWO members each, one on DATA the other on FRA.
Originally this database was created with a single REDO member in
DATA disk group sized 750mb -- my goal here is to:
a) "resize" it to 1000mb
b) multiplex to FRA
##
## Procedure
##
sqlplus /nolog
connect / as sysdba
SQL> col member format a35
SQL> select * from v$logfile;
GROUP# STATUS TYPE
MEMBER
-------------------- ------- ------- ----------------------------------2
ONLINE +DATA/ghsprod/redo02.log
1
ONLINE +DATA/ghsprod/redo01.log
3
ONLINE +DATA/ghsprod/redo03.log
4
ONLINE +DATA/ghsprod/redo04.log
IS_
--NO
NO
NO
NO
4 rows selected.
SQL> set lines 132
SQL> set trims on
SQL> select * from v$log;
GROUP#
THREAD#
SEQUENCE#
BY
TES
BLOCKSIZE
MEMBERS ARC STATUS
FIRST_
CHANGE# FIRST_TIM
NEXT_CHANGE# NEXT_TIME
-------------------- -------------------- -------------------- ------------------- -------------------- -------------------- --- ---------------- ------------------- --------- -------------------- --------1
1
18089
786432
000
512
1 NO CURRENT
177
8127039 28-APR-15
281474976710655
2
1
18088
786432
000
512
1 YES ACTIVE
177
7972741 28-APR-15
1778127039 28-APR-15
3
2
17845
786432
000
512
1 YES ACTIVE
177
7972413 28-APR-15
4
000
8126575 28-APR-15
1778126575 28-APR-15
2
17846
512
1 NO CURRENT
281474976710655
786432
177
4 rows selected.
---------
GROUP#
THREAD# SEQUENCE#
BYTES
MEMBERS ARC STATUS
FIRS
T_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------ --------40
2
0 10485760
2 YES UNUSED
0
50
3
0 10485760
2 YES UNUSED
0
60
3
0 10485760
2 YES UNUSED
0
70
4
0 10485760
2 YES UNUSED
0
80
4
0 10485760
2 YES UNUSED
0
16 rows selected.
SQL>
-- now run "alter system switch logfile;" on all instances
-- untill all of the GROUP 1-8 become "INACTIVE"
-- like shown below:
-SQL> r
1* select * from v$log
GROUP#
THREAD# SEQUENCE#
BYTES
MEMBERS
T_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ------------------ --------1
1
61 52428800
1
2288120 08-OCT-08 <-- should be "INACTIVE"
2
1
60 52428800
1
2288098 08-OCT-08 <-- should be "INACTIVE"
3
2
31 52428800
1
2288234 08-OCT-08 <-- should be "INACTIVE"
4
2
30 52428800
1
2288221 08-OCT-08 <-- should be "INACTIVE"
5
3
21 52428800
1
2288289 08-OCT-08 <-- should be "INACTIVE"
6
3
22 52428800
1
2288294 08-OCT-08 <-- should be "INACTIVE"
7
4
25 52428800
1
2288317 08-OCT-08 <-- should be "INACTIVE"
8
4
24 52428800
1
2288311 08-OCT-08 <-- should be "INACTIVE"
10
1
62 10485760
2
2288123 08-OCT-08
20
1
59 10485760
2
2288084 08-OCT-08
30
2
32 10485760
2
2288243 08-OCT-08
ARC STATUS
FIRS
GROUP#
THREAD# SEQUENCE#
BYTES
MEMBERS ARC STATUS
FIRS
T_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------ ---------
40
2288217 08-OCT-08
50
2288296 08-OCT-08
60
2288287 08-OCT-08
70
2288319 08-OCT-08
80
2288322 08-OCT-08
29
10485760
2 NO INACTIVE
23
10485760
2 NO CURRENT
20
10485760
2 NO INACTIVE
26
10485760
2 NO ACTIVE
27
10485760
2 NO CURRENT
16 rows selected.
database
database
database
database
drop
drop
drop
drop
logfile
logfile
logfile
logfile
group
group
group
group
1;
2;
3;
4;
--------- --------1
0
2
0
3
0
4
0
5
0
6
0
7
0
8
0
10
2288123 08-OCT-08
20
2288084 08-OCT-08
30
2288243 08-OCT-08
0 262144000
2 YES UNUSED
0 262144000
2 YES UNUSED
0 262144000
2 YES UNUSED
0 262144000
2 YES UNUSED
0 262144000
2 YES UNUSED
0 262144000
2 YES UNUSED
0 262144000
2 YES UNUSED
0 262144000
2 YES UNUSED
62
10485760
2 NO CURRENT
59
10485760
2 NO INACTIVE
32
10485760
2 NO CURRENT
GROUP#
THREAD# SEQUENCE#
BYTES
MEMBERS ARC STATUS
FIRS
T_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------ --------40
2
29 10485760
2 NO INACTIVE
2288217 08-OCT-08
50
3
23 10485760
2 NO CURRENT
2288296 08-OCT-08
60
3
20 10485760
2 NO INACTIVE
2288287 08-OCT-08
70
4
26 10485760
2 NO INACTIVE
2288319 08-OCT-08
80
4
27 10485760
2 NO CURRENT
2288322 08-OCT-08
16 rows selected.
-- now run "alter system switch logfile;" on all instances
-- untill all of the GROUP 10-80 become "INACTIVE"
-- like shown below:
-1* select * from v$log
GROUP#
THREAD# SEQUENCE#
BYTES
MEMBERS ARC STATUS
FIRS
T_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------ --------1
1
67 262144000
2 NO CURRENT
2289166 08-OCT-08
2
1
64 262144000
2 NO INACTIVE
2289154 08-OCT-08
3
2
37 262144000
2 NO INACTIVE
2289194 08-OCT-08
4
2
38 262144000
2 NO CURRENT
2289199 08-OCT-08
5
2289258 08-OCT-08
6
2289266 08-OCT-08
7
2289332 08-OCT-08
8
2289315 08-OCT-08
10
2289163 08-OCT-08
20
2289157 08-OCT-08
30
2289192 08-OCT-08
28 262144000
2 NO INACTIVE
29 262144000
2 NO CURRENT
32 262144000
2 NO CURRENT
29 262144000
2 NO INACTIVE
66
10485760
2 NO INACTIVE
65
10485760
2 NO INACTIVE
36
10485760
2 NO INACTIVE
GROUP#
THREAD# SEQUENCE#
BYTES
MEMBERS ARC STATUS
FIRS
T_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------ --------40
2
35 10485760
2 NO INACTIVE
2289189 08-OCT-08
50
3
27 10485760
2 NO INACTIVE
2289254 08-OCT-08
60
3
26 10485760
2 NO INACTIVE
2289243 08-OCT-08
70
4
30 10485760
2 NO INACTIVE
2289322 08-OCT-08
80
4
31 10485760
2 NO INACTIVE
2289329 08-OCT-08
16 rows selected.
database
database
database
database
database
database
database
database
drop
drop
drop
drop
drop
drop
drop
drop
logfile
logfile
logfile
logfile
logfile
logfile
logfile
logfile
group
group
group
group
group
group
group
group
10;
20;
30;
40;
50;
60;
70;
80;
4
2289199 08-OCT-08
5
2289258 08-OCT-08
6
2289266 08-OCT-08
7
2289332 08-OCT-08
8
2289315 08-OCT-08
38 262144000
2 NO CURRENT
28 262144000
2 NO INACTIVE
29 262144000
2 NO CURRENT
32 262144000
2 NO CURRENT
29 262144000
2 NO INACTIVE
8 rows selected.
SQL>
## and finally remove the actuall files (GROUP 10-80) from the ASM
##
##
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/asm
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=+ASM2
sqlplus /nolog
connect / as sysdba
ALTER DISKGROUP REDOA DROP FILE '+REDOA/DBNAME/redo01-tmp.log';
ALTER DISKGROUP REDOA DROP FILE '+REDOA/DBNAME/redo02-tmp.log';
ALTER DISKGROUP REDOA DROP FILE '+REDOA/DBNAME/redo03-tmp.log';
ALTER DISKGROUP REDOA DROP FILE '+REDOA/DBNAME/redo04-tmp.log';
ALTER DISKGROUP REDOA DROP FILE '+REDOA/DBNAME/redo05-tmp.log';
ALTER DISKGROUP REDOA DROP FILE '+REDOA/DBNAME/redo06-tmp.log';
ALTER DISKGROUP REDOA DROP FILE '+REDOA/DBNAME/redo07-tmp.log';
ALTER DISKGROUP REDOA DROP FILE '+REDOA/DBNAME/redo08-tmp.log';
ALTER DISKGROUP REDOB DROP FILE '+REDOB/DBNAME/redo01-tmp.log';
ALTER DISKGROUP REDOB DROP FILE '+REDOB/DBNAME/redo02-tmp.log';
ALTER DISKGROUP REDOB DROP FILE '+REDOB/DBNAME/redo03-tmp.log';
ALTER DISKGROUP REDOB DROP FILE '+REDOB/DBNAME/redo04-tmp.log';
ALTER DISKGROUP REDOB DROP FILE '+REDOB/DBNAME/redo05-tmp.log';
ALTER DISKGROUP REDOB DROP FILE '+REDOB/DBNAME/redo06-tmp.log';
ALTER DISKGROUP REDOB DROP FILE '+REDOB/DBNAME/redo07-tmp.log';
ALTER DISKGROUP REDOB DROP FILE '+REDOB/DBNAME/redo08-tmp.log';
exit
## verify files were removed
##
asmcmd
ASMCMD> cd REDOA
ASMCMD> find . *
+REDOA/DBNAME/
+REDOA/DBNAME/CONTROLFILE/
+REDOA/DBNAME/CONTROLFILE/Current.256.666981619
+REDOA/DBNAME/ONLINELOG/
+REDOA/DBNAME/ONLINELOG/group_1.264.667596567
+REDOA/DBNAME/ONLINELOG/group_2.263.667596569
+REDOA/DBNAME/ONLINELOG/group_3.262.667596571
+REDOA/DBNAME/ONLINELOG/group_4.261.667596573
+REDOA/DBNAME/ONLINELOG/group_5.260.667596575
+REDOA/DBNAME/ONLINELOG/group_6.259.667596577
+REDOA/DBNAME/ONLINELOG/group_7.258.667596579
+REDOA/DBNAME/ONLINELOG/group_8.257.667596581
+REDOA/DBNAME/control01.ctl
+REDOA/DBNAME/redo01.log
+REDOA/DBNAME/redo02.log
+REDOA/DBNAME/redo03.log
+REDOA/DBNAME/redo04.log
+REDOA/DBNAME/redo05.log
+REDOA/DBNAME/redo06.log
+REDOA/DBNAME/redo07.log
+REDOA/DBNAME/redo08.log
ASMCMD> cd +REDOB/
ASMCMD> pwd
+REDOB
ASMCMD> find . *
+REDOB/DBNAME/
+REDOB/DBNAME/CONTROLFILE/
+REDOB/DBNAME/CONTROLFILE/Current.256.666981619
+REDOB/DBNAME/ONLINELOG/
+REDOB/DBNAME/ONLINELOG/group_1.265.667596567
+REDOB/DBNAME/ONLINELOG/group_2.266.667596569
+REDOB/DBNAME/ONLINELOG/group_3.267.667596571
+REDOB/DBNAME/ONLINELOG/group_4.268.667596573
+REDOB/DBNAME/ONLINELOG/group_5.269.667596575
+REDOB/DBNAME/ONLINELOG/group_6.270.667596577
+REDOB/DBNAME/ONLINELOG/group_7.271.667596579
+REDOB/DBNAME/ONLINELOG/group_8.272.667596583
+REDOB/DBNAME/control02.ctl
+REDOB/DBNAME/redo01.log
+REDOB/DBNAME/redo02.log
+REDOB/DBNAME/redo03.log
+REDOB/DBNAME/redo04.log
+REDOB/DBNAME/redo05.log
+REDOB/DBNAME/redo06.log
+REDOB/DBNAME/redo07.log
+REDOB/DBNAME/redo08.log
ASMCMD> exit