مقدمه:
حالت های بسیاری در خرابی پایگاه داده اوراکل و اجزای آن داریم که می توان برای هرکدام راهکاری را داشت. در یکی از حالت ها که سرور دچار مشکل می شود و Instance های موجود در سرور از بین می روند، یکی از این Instance ها مربوط به ASM می باشند اما دیسک های ASM که داده های ما بر روی آنها قرار دارند سالم هستند در این شرایط می توان با راه اندازی سرور جدید و انتقال دیسک ها به آن، داده ها را بازیابی کرد. در این مستند، سناریو مربوطه را با هم مرور خواهیم کرد.
MOUNT کردن دیسک های ORACLE ASM به یک ASM Instance جدید
سناریو بازیابی دیسک های ASM در سرور جدید:
برای اینکار سیستم عامل را با تمام نیازمندی های مربوطه نصب و Oracle and Grid Software را همان ورژن سرور قدیم انتخاب و بر روی سرور نصب کنیم.
دیسک ها را بر روی سرور جدید Mount کرده و دستور زیر آنها را اسکن می کنیم و آنها را در لیست دیسک ها مشاهده خواهیم کرد.
# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks…
Scanning system for ASM disks…
# oracleasm listdisks
DISK1
DISK2
DISK3
DISK4
DISK5
FRA1
در ادامه Grid را در حالت Oracle Grid Infrastructure software only نصب کنید تا بقیه موارد را در ادامه به صورت دستی تنظیم کنیم.
بعد از اینکه نصب پایان یافت اسکریپت زیر را اجرا می کنیم
To configure Grid Infrastructure for a Stand-Alone Server run the following command as the root user:
/u01/app/11.2.0.1/grid/perl/bin/perl -I/u01/app/11.2.0.1/grid/perl/lib -I/u01/app/11.2.0.1/grid/crs/install /u01/app/11.2.0.1/grid/crs/install/roothas.pl
در ادامه CSSD را استارت می کنیم .
# ./crsctl stat res -t
——————————————————————————–
NAME TARGET STATE SERVER STATE_DETAILS
——————————————————————————–
Cluster Resources
——————————————————————————–
ora.cssd
1 OFFLINE OFFLINE
ora.diskmon
1 OFFLINE OFFLINE
# ./crs_start ora.cssd
Attempting to start `ora.cssd` on member `asterix`
Attempting to stop `ora.diskmon` on member `asterix`
Stop of `ora.diskmon` on member `asterix` succeeded.
Attempting to start `ora.diskmon` on member `asterix`
Start of `ora.diskmon` on member `asterix` succeeded.
Start of `ora.cssd` on member `asterix` succeeded.
در ادامه پارامتر فایل مربوط به ASM را می سازیم.
init+ASM.ora
*.asm_diskstring=’/dev/oracleasm/disks’
*.asm_power_limit=1
*.diagnostic_dest=’/u01/app/grid’
*.instance_type=’asm’
*.large_pool_size=12M
*.remote_login_passwordfile=’EXCLUSIVE’
در ادامه ASM Instance را استارت می کنیم
$ export ORACLE_SID=+ASM
$ export ORACLE_HOME=/u01/app/11.2.0.1/grid
$ srvctl add asm -p $ORACLE_HOME/dbs/init+ASM.ora
$ srvctl start asm
$ srvctl status asm
ASM is running on asterix
از اینجا به بعد در محیط گرافیکی دیسک ها را Mount می کنیم.
asmca
در ادامه Oracle RDBMS را نصب می کنیم و پارامتر فایل آن را می سازیم و پایگاه داده را استارت می کنیم
$ export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
$ export ORACLE_SID=ora11gr2
$ cd $ORACLE_HOME/dbs
$ cat initora11gr2.ora
*.spfile=’+DATA1/ora11gr2/spfileora11gr2.ora’
$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Wed Oct 29 14:29:37 2014
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 668082176 bytes
Fixed Size 2216344 bytes
Variable Size 222301800 bytes
Database Buffers 436207616 bytes
Redo Buffers 7356416 bytes
Database mounted.
Database opened.
SQL>
SQL>
SQL> select name from v$datafile;
NAME
——————————————————————————–
+DATA1/ora11gr2/datafile/system.297.844627929
+DATA1/ora11gr2/datafile/sysaux.265.844627967
+DATA1/ora11gr2/datafile/undotbs1.266.844627991
+DATA1/ora11gr2/datafile/users.267.844628031
+DATA2/ora11gr2/datafile/marko.261.859213577
پایگاه داده استارت شده و با دستور SRVCTL آن را رجیستر می کنیم
$ srvctl add database -d $ORACLE_SID -o $ORACLE_HOME -p $ORACLE_HOME/dbs/initora11gr2.ora
$ srvctl start database -d $ORACLE_SID
کار تمام شد و پایگاه داده جدید با داده های قدیم را خواهیم داشت .
وضعیت آن را بررسی می کنیم
$ ./crsctl stat res -t
——————————————————————————–
NAME TARGET STATE SERVER STATE_DETAILS
——————————————————————————–
Local Resources
——————————————————————————–
ora.DATA1.dg
ONLINE ONLINE asterix
ora.DATA2.dg
ONLINE ONLINE asterix
ora.FRA1.dg
ONLINE ONLINE asterix
ora.asm
ONLINE ONLINE asterix Started
——————————————————————————–
Cluster Resources
——————————————————————————–
ora.cssd
1 ONLINE ONLINE asterix
ora.diskmon
1 ONLINE ONLINE asterix
ora.ora11gr2.db
1 ONLINE ONLINE asterix Open