artarad-oracle-database

انتقال گروه‌های دیسک ASM بین سرورها

انتقال گروه‌های دیسک ASM بین سرورها

یکی از رویدادهای محتمل در سناریو مدیریت خودکار دیسک اوراکل از بین رفتن سرور فیزیکی می‌باشد. در این وضعیت نرم‌افزار اوراکل به طور کلی از بین رفته است و دسترسی به Instance برای همیشه قطع شده است. در چنین شرایطی دیسک‌های ASM و اطلاعات آن‌ها که بر روی ذخیره‌سازهای شبکه‌ای قرار دارند کماکان قابل‌استفاده می‌باشند. البته این فرض برقرار است که از بین رفتن سرور باعث از بین رفتن دیسک‌ها و اطلاعات آن نشده باشد.
راه‌کار نخست برای بازیابی اطلاعات استفاده از آخرین پشتیبان‌های پایگاه‌داده و بازیابی آن‌ها بر روی یک سرور دیگر به وسیله ابزار Rman است. راه‌حل دوم راه‌اندازی یک سرور دیگر و شناسایی دیسک‌ها و دسترسی به اطلاعات درون آن‌ها می‌باشد. در این مستند به پیاده‌سازی سناریو دوم پرداخته می‌شود.

۱ پیاده‌سازی
در این مستند از سیستم‌عامل OEL 6.5 به عنوان میزبان و همچنین از نگارش ۱۱٫۲٫۰٫۴ پایگاه‌داده اوراکل استفاده شده است. ابتدا سیستم‌عامل نصب و سپس برای نصب پایگاه‌داده مراحل پیش از نصب بر روی آن انجام می‌شود. سپس نرم‌افزار GI به صورت Software Only از طریق کاربری Grid نصب می‌شود. در ادامه با استفاده از ابزار netmgr و یا netca یک Listener ایجاد و پردازش آن آغاز می‌شود. از آن جایی که دیسک‌های ASM به سیستم‌عامل متصل می‌باشد و ASMLib در حین مراحل پیش از نصب پایگاه‌داده تنظیم شده است؛ با استفاده از دستور زیر دیسک‌های ASM مشاهده خواهد شد.

[root@orcl ~]# oracleasm scandisks

Reloading disk partitions: done

Cleaning any stale ASM disks…

Scanning system for ASM disks…

Instantiating disk “DAT00”

Instantiating disk “DAT01”

Instantiating disk “DAT02”

[root@orcl ~]# oracleasm listdisks

DAT00

DAT01

DAT02

حال برای دسترسی به داده‌های درون دیسک‌های ASM لازم است یک Instance برای ASM و یک Instance برای پایگاه‌داده ایجاد شود. در صورتی که فایل‌های تنظیمات زیر از سرور مبدأ موجود باشند و یا پیش‌تر پشتیبانی از آن‌ها ایجاد شده باشد، راه‌اندازی این دو Instance راحت‌تر خواهد بود. در غیر این صورت لازم است فایل‌های تنظیمات ایجاد شوند. این فایل‌ها به شرح زیر می‌باشند.

۱٫ SPFile

۲٫ Password File

۳٫ SQL*Net Files (listener.ora, tnsnames.ora, sqlnet.ora)

در شرایطی که پایگاه‌داده در وضعیت سالم باشد می‌توان با استفاده از دستورات زیر از spfile پشتیبان‌گیری کرد.

۱٫ RDBMS Instance

RMAN> create pfile=’/home/oracle/initorcl.ora’ from spfile ;

۲٫ ASM Instance

RMAN> create pfile=’/home/grid/init+ASM.ora’ from spfile ;

همچنین با استفاده از دستور cp سیستم‌عامل می‌توان از فایل‌های تنظیمات شبکه و رمزهای عبور پشتیبان تهیه کرد. پیش از آغاز Instance ASM لازم است Listener آغاز گردد. برای این منظور در صورت وجود پشتیبان فایل‌های تنظیمات شبکه، آن فایل‌ها به آدرس $ORACLE_HOME/network/admin در محل نصب نرم‌افزار GI منتقل و Listener با استفاده از دستور lsnrctl start آغاز می‌شود. در غیر این صورت یک Listener جدید ایجاد و آغاز می‌شود.

[grid@oraserv ~]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.4.0 – Production on 01-AUG-2017 19:36:56

Copyright (c) 1991, 2013, Oracle. All rights reserved.

Starting /u01/app/grid/product/11.2.0/grid/bin/tnslsnr: please wait…

TNSLSNR for Linux: Version 11.2.0.4.0 – Production

System parameter file is /u01/app/grid/product/11.2.0/grid/network/admin/listener.ora

Log messages written to /u01/app/grid/diag/tnslsnr/oraserv/listener/alert/log.xml

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oraserv)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

STATUS of the LISTENER

————————

Alias LISTENER

Version TNSLSNR for Linux: Version 11.2.0.4.0 – Production

Start Date 01-AUG-2017 19:36:56

Uptime 0 days 0 hr. 0 min. 0 sec

Trace Level off

Security ON: Local OS Authentication

SNMP OFF

Listener Parameter File /u01/app/grid/product/11.2.0/grid/network/admin/listener.ora

Listener Log File /u01/app/grid/diag/tnslsnr/oraserv/listener/alert/log.xml

Listening Endpoints Summary…

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oraserv)(PORT=1521)))

The listener supports no services

The command completed successfully

سپس پشتیبان PFile و Password File به آدرس $ORACLE_HOME/dbs در محل نصب نرم‌افزار GI منتقل می‌شود. در صورتی که پشتیبانی از این دو فایل وجود نداشته باشد، لازم است این دو فایل ایجاد گردند. برای ایجاد فایل رمزهای عبور می‌توان از ابزار orapwd که به همراه نرم‌افزار GI نصب شده است استفاده کرد.
برای ایجاد فایل PFile راه‌کارهای متنوعی وجود دارد. برای مثال می‌توان با استفاده از دستور زیر یک فایل PFile در ASM Instance دیگر ایجاد و پس از انجام اصلاحات در مقادیر آن، به سرور جاری منتقل کرد.
در این مرحله و پیش از آغاز Instance ASM لازم است سرویس Oracle Restart تنظیم گردد. برای این منظور از دستور زیر استفاده می‌شود. دستور سرویس Oracle Restart را تنظیم و سپس وضعیت کلی سرویس‌های نرم‌افزار GI را بررسی می‌کند. در ادامه سرویس Oracle Cluster Synchronization Service Daemon آغاز گردیده و صحت آن بررسی می‌شود.

[root@oraserv ~]# /u01/app/grid/product/11.2.0/grid/perl/bin/perl -I/u01/app/grid/product/11.2.0/grid/perl/lib -I/u01/app/grid/product/11.2.0/grid/crs/install /u01/app/grid/product/11.2.0/grid/crs/install/roothas.pl

Using configuration parameter file: /u01/app/grid/product/11.2.0/grid/crs/install/crsconfig_params

Creating trace directory

User ignored Prerequisites during installation

LOCAL ADD MODE

Creating OCR keys for user ‘grid’, privgrp ‘oinstall’..

Operation successful.

LOCAL ONLY MODE

Successfully accumulated necessary OCR keys.

Creating OCR keys for user ‘root’, privgrp ‘root’..

Operation successful.

CRS-4664: Node oraserv successfully pinned.

Adding Clusterware entries to upstart

oraserv 2017/08/01 20:03:29 /u01/app/grid/product/11.2.0/grid/cdata/oraserv/backup_20170801_200329.olr

Successfully configured Oracle Grid Infrastructure for a Standalone Server

[grid@oraserv ~]$ crsctl stat res -t

——————————————————————————–

NAME TARGET STATE SERVER STATE_DETAILS

——————————————————————————–

Local Resources

——————————————————————————–

ora.ons

OFFLINE OFFLINE oraserv

——————————————————————————–

Cluster Resources

——————————————————————————–

ora.cssd

۱ OFFLINE OFFLINE

ora.diskmon

۱ OFFLINE OFFLINE

ora.evmd

۱ ONLINE ONLINE oraserv

[grid@oraserv ~]$ crsctl start resource ora.cssd

CRS-2672: Attempting to start ‘ora.cssd’ on ‘oraserv’

CRS-2672: Attempting to start ‘ora.diskmon’ on ‘oraserv’

CRS-2676: Start of ‘ora.diskmon’ on ‘oraserv’ succeeded

CRS-2676: Start of ‘ora.cssd’ on ‘oraserv’ succeeded

[grid@oraserv ~]$ crsctl stat res -t

——————————————————————————–

NAME TARGET STATE SERVER STATE_DETAILS

——————————————————————————–

Local Resources

——————————————————————————–

ora.ons

OFFLINE OFFLINE oraserv

——————————————————————————–

Cluster Resources

——————————————————————————–

ora.cssd

۱ ONLINE ONLINE oraserv

ora.diskmon

۱ OFFLINE OFFLINE

ora.evmd

۱ ONLINE ONLINE oraserv

اکنون Instance ASM آغاز گردیده و سپس گروه دیسک DATA در وضعیت Mount قرار می‌گیرد.

[grid@oraserv dbs]$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.4.0 Production on Tue Aug 1 21:01:50 2017

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup pfile=’init+ASM.ora’ ;

ASM instance started

Total System Global Area 1135747072 bytes

Fixed Size 2260728 bytes

Variable Size 1108320520 bytes

ASM Cache 25165824 bytes

ORA-15110: no diskgroups mounted

SQL> alter diskgroup data mount ;

Diskgroup altered.

با استفاده از دستور زیر مشخصات گروه دیسک نمایش داده می‌شود.

[grid@oraserv ~]$ asmcmd -p

ASMCMD [+] > lsdg

State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name

MOUNTED EXTERN N 512 4096 4194304 5112 3144 0 3144 0 N DATA/

در پایان این مرحله عملیات کاربری Grid به پایان می‌رسد. اکنون به تنظیمات کاربری Oracle پرداخته می‌شود. در ابتدا پشتیبان فایل Pfile و Password در مسیر /u02/app/oracle/product/11.2.0/dbhome_1/dbs قرار داده می‌شوند. در صورتی که پشتیبانی از این دو فایل وجود نداشته باشد، این فایل‌ها به صورتی دستی ایجاد می‌شوند.

[oracle@oraserv ~]$ orapwd file=/u02/app/oracle/product/11.2.0/dbhome_1/dbs/orapworcl password=mypass

برای ایجاد فایل PFile می‌توان از ایجاد و اصلاح فایل مربوطه در سرور دیگر و انتقال آن به سرور جاری استفاده کرد.
لازم است مسیر ایجاد فایل‌های رویدادها به آدرس $ORACLE_BASE/admin/$ORACLE_SID/adump ایجاد گردد. همچنین دو متغیر db_recovery_file_dest و db_recovery_file_dest_size از PFile حذف می‌شوند. پس از اصلاح فایل PFile پایگاه‌داده آغاز می‌گردد.

[oracle@oraserv ~]$ sqlplus / as sysdba

SQL> startup pfile=’/home/oracle/initorcl.ora’ ;

ORACLE instance started.

Total System Global Area 1536602112 bytes

Fixed Size 2253504 bytes

Variable Size 1090522432 bytes

Database Buffers 436207616 bytes

Redo Buffers 7618560 bytes

Database mounted.

Database opened.

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *