Міграція бази даних з NON-ASM до ASM, Інші СУБД, Бази даних, статті








Рекомендовано для:

  • Oracle Database 10g R1
  • Oracle Database 10g R2
  • Oracle Database 11g R1
 

Ця стаття присвячена перекладу існуючої бази даних до ASM. І є якоюсь step-by-step інструкцією.


Крок: 1
Спершу як SYSDBA і змініть три параметри для controlfile, datafile і flash recovery area з опцією SPFILE.
Зауваження: Є дві дискові групи, використовується дискова група GRP2.


SQL> alter system set control_files=”+DGRP2″ scope=spfile;
System altered.
SQL> alter system set db_create_file_dest=”+DGRP2″ scope=spfile;
System altered.
SQL> alter system set db_recovery_file_dest=”+DGRP2″ scope=spfile;
System altered.

Крок: 2 Перезапуск сервера баз даних, що б параметри вступили в силу


 
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 263639040 bytes
Fixed Size 1332552 bytes
Variable Size 218106552 bytes
Database Buffers 37748736 bytes
Redo Buffers 6451200 bytes

Крок: 3З’єднання з сеансом RMAN і відновлення керуючого файлу на ASM системі.


C:>RMAN target=sys
Recovery Manager: Release 11.1.0.6.0 – Production on Thu Apr 17 10:12:53 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
target database Password:connected to target database: TEST (not mounted)
Restore Controlfile.
RMAN> restore controlfile from “C:appora11goradata estCONTROL01.ctl”;
Starting restore at 17-APR-08using target database control file instead of recovery
catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: SID=151
device type=DISK
channel ORA_DISK_1: copied control file copyoutput file
name=+DGRP2/test/controlfile/current.256.652270419Finished restore at 17-APR-08

Крок: 4 Монтування бази даних Oracle і отримання резервної копії.


RMAN> alter database mount;
database mountedreleased channel: ORA_DISK_1
RMAN> backup as copy database format “+DGRP2”;
Starting backup at 17-APR-08allocated channel: ORA_DISK_1channel ORA_DISK_1:
SID=151 device type=DISKchannel ORA_DISK_1: starting datafile copyinput datafile
file number=00001 name=C:APPORA11GORADATATESTSYSTEM01.DBFoutput
file name=+DGRP2/test/datafile/system.257.652270565 tag=TAG20080417T101550
RECID=1 STAMP=652270748channel ORA_DISK_1: datafile copy complete, elapsed
time: 00:03:06channel ORA_DISK_1: starting datafile copyinput datafile file number=
00002 name=C:APPORA11GORADATATESTSYSAUX01.DBFoutput file
name=+DGRP2/test/datafile/sysaux.258.652270761 tag=TAG20080417T101550
RECID=2 STAMP=652270908channel ORA_DISK_1: datafile copy complete,
elapsed time: 00:02:35channel ORA_DISK_1: starting datafile copyinput datafile
file number=00003 name=C:APPORA11GORADATATESTUNDOTBS01.DBFoutput
file name=+DGRP2/test/datafile/undotbs1.259.652270927 tag=TAG20080417T101550
RECID=3 STAMP=652270952channel ORA_DISK_1: datafile copy complete, elapsed
time: 00:00:35channel ORA_DISK_1: starting datafile copycopying current control
fileoutput file name=+DGRP2/test/controlfile/backup.260.652270971
tag=TAG20080417T101550 RECID=4 STAMP=652270975channel ORA_DISK_1:
datafile copy complete, elapsed time: 00:00:07channel ORA_DISK_1: starting
datafile copyinput datafile file number=00004
name=C:APPORA11GORADATATESTUSERS01.DBFoutput file
name=+DGRP2/test/datafile/users.261.652270989 tag=TAG20080417T101550
RECID=5 STAMP=652270991channel ORA_DISK_1: datafile copy complete,
elapsed time: 00:00:03channel ORA_DISK_1: starting full datafile backup setchannel
ORA_DISK_1: specifying datafile(s) in backup setincluding current SPFILE in backup
setchannel ORA_DISK_1: starting piece 1 at 17-APR-08channel ORA_DISK_1:
finished piece 1 at 17-APR-08piece handle=+DGRP2/test/backupset/2008_04_17
/nnsnf0_tag20080417t101550_0.262.652271003 tag=TAG20080417T101550
comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time:
00:00:02Finished backup at 17-APR-08
RMAN> switch database to copy;
datafile 1 switched to datafile copy “+DGRP2/test/datafile/system.257.652270565”
datafile 2 switched to datafile copy “+DGRP2/test/datafile/sysaux.258.652270761”
datafile 3 switched to datafile copy “+DGRP2/test/datafile/undotbs1.259.652270927”
datafile 4 switched to datafile copy “+DGRP2/test/datafile/users.261.652270989”

Крок: 5 Знову з’єднуємося з sqlplus і виконуємо неповне відновлення


C:>sqlplus sys/oracle as sysdba
SQL*Plus: Release 11.1.0.6.0 – Production on Thu Apr 17 10:26:24 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to:Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 – ProductionWith
the Partitioning, OLAP, Data Mining and REAL Application Testing options
SQL> recover database using backup controlfile until cancel;
ORA-00279: change 1071679 generated at 04/17/2008 10:11:10 needed for thread
1ORA-00289: suggestion : +DGRP2ORA-15173: entry “ARCHIVELOG” does not exist
in directory “TEST”ORA-00280:
change 1071679 for thread 1 is in sequence #14
Specify log: {=suggested filename AUTO CANCEL}
CANCEL
Media recovery cancelled.

Крок: 6Відкриваємо базу даних з опцією RESETLOGS.


SQL> alter database open resetlogs;
Database altered.


Крок: 7 Видаляємо старі тимчасові файли і створюємо нові в існуючому табличному просторі


 
SQL> alter database tempfile “c:appora11goradata	est	emp01.dbf”
2 drop including datafiles;
Database altered.
SQL> alter tablespace temp add tempfile size 512m
2 autoextend on next 250m maxsize unlimited;
Tablespace altered.
SQL> select tablespace_name, file_name, bytes from dba_temp_files;
TABLESPACE_NAME FILE_NAME BYTES
————— ————————————— ———-
TEMP +DGRP2/test/tempfile/temp.266.536870912 652271571

Крок: 8 Перетворюємо все redolog group на дискової групі ASM


SQL> select a.group#, a.member, b.bytes
2 from v$logfile a, v$log b where a.group# = b.group#;
GROUP# MEMBER BYTES
—— ————————————- ———
3 C:APPORA11GORADATATESTREDO03.LOG 52428800
2 C:APPORA11GORADATATESTREDO02.LOG 52428800
1 C:APPORA11GORADATATESTREDO01.LOG 52428800
SQL> select group#,status from v$log;
GROUP# STATUS
———- —————-
1 CURRENT
2 UNUSED
3 UNUSED
SQL> alter system switch logfile;
System altered.
SQL> alter system switch logfile;
System altered.
SQL> select group#,status from v$log;
GROUP# STATUS
———- —————-
1 ACTIVE
2 ACTIVE
3 CURRENT
SQL> alter database drop logfile group 1;
alter database drop logfile group 1*ERROR at line 1:ORA-01624: LOG 1
needed for crash recovery of instance test (thread 1)ORA-00312: online LOG 1
thread 1: “C:APPORA11GORADATATESTREDO01.LOG”
When you get above error message then set checkpoint with below command.
SQL> alter system checkpoint global;
System altered.
SQL> alter database drop logfile group 1;
Database altered.
SQL> alter database add logfile group 1 size 10m;
Database altered.
SQL> alter system checkpoint global;
System altered.
SQL> alter database drop logfile group 2;
Database altered.
SQL> alter database add logfile group 2 size 10m;
Database altered.
SQL> alter system checkpoint global;
System altered.
SQL> alter database drop logfile group 3;
Database altered.
SQL> alter database add logfile group 3 size 10m;
Database altered.
SQL> column member format a30
SQL> select a.group#, a.member, b.bytes
2 from v$logfile a, v$log b where a.group# = b.group#;
GROUP# MEMBER BYTES
———- —————————— ———-
3 +DGRP2/test/onlinelog/group_3. 10485760 277.652273117
2 +DGRP2/test/onlinelog/group_2. 10485760 274.652273019
1 +DGRP2/test/onlinelog/group_1. 10485760 271.652272977
1 +DGRP2/test/onlinelog/group_1. 10485760 272.652272979
2 +DGRP2/test/onlinelog/group_2. 10485760 275.652273021
3 +DGRP2/test/onlinelog/group_3. 10485760 278.652273119
6 rows selected.

Крок: 9 Перетворюємо SPFILE на дискової групі ASM


SQL> create pfile=”c:initTEST.ora” from spfile;
File created.
SQL> create spfile=”+DGRP2/spfileTEST.ora” from pfile=”c:initTEST.ora”;
File created.

Крок: 10 Видаляємо старі резервні копії RMAN


RMAN> delete noprompt force copy;

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*