وبلاگ وحید نوروزی

تجربه و ترجمه و تحقیق درباره اوراکل را در این وبلاگ خواهید یافت.

وبلاگ وحید نوروزی

تجربه و ترجمه و تحقیق درباره اوراکل را در این وبلاگ خواهید یافت.

  • ۰
  • ۰

guard12c

سلام خدمت همه دوستان عزیز

تو این مقاله نحوه راه اندازی گارد 12 رو گذاشتم. در صورتی که پیشنهادی برای بهبود این داکیومنت دارید یا جایی رو میتونیم بهترش کنیم، حتماً بفرمائید که اعمال کنم.

دیتابیس اصلی باید در مد آرشیو باشد.

در دیتابیس اصلی متناسب با سایر redo group باید standby logfile ساخت و از لحاظ تعداد به ازای هر thread یک عدد بیشتر.

اسم دیتابیس اصلی vahiddb و اسم استندبای رو vahiddbg در نظر می گیریم.

اول از دیتابیس اصلی یه pfile درست می کنیم و می فرستیمش سمت سرور گارد:

create pfile from spfile

بعد پسورد فایل دیتابیس اصلی رو هم می فرستیم سمت گارد. می تونید با زدن دستور زیر به مشخصات دیتابیس پی ببرید:

srvctl config database -db vahiddb

مشخصات یا همون env رو تو bash profile دیتابیس گارد ست می کنیم.

تو فایل pfile ی که آوردیم ، این موارد رو تنظیم می کنیم یا تغییر میدیم:

file_dest
converts
db_unique_name
db_recovery_file
standby_file_management auto
log_file_name_convert
log_archive_config

در مورد log_archive_config باید بگویم که در اصلی هم باید تغییر یابد. در صورتی که اسم دایرکتوری ها در asm فرق می کنه، اونها رو می سازیم. 

pfile جدید رو به محل زیر انتقال میدیم:

$ORACLE_HOME/dbs/

دیتابیس رو به حالت nomout در میاریم و یک spfile از  pfile می سازیم:

sqlplus / as sysdba

sql> startup nomount;

sql> create spfile from pfile;

sql>shut immediate;

sql>startup nomount;

sql>show parameter spfile

قشنگتر هست که پسورد فایل و spfile رو به asm در جاهای خودشان که پوشه های پسورد و پارامترفایل هست و تحت اسم خود دیتابیس وجود دارد انتقال دهیم. مخصوصاً اگر rac باشد این امر ضروری میشود.

حالا دیتابیس را با دستور زیر رجیستر می کنیم:

srvctl add database -db vahiddbg -oraclehome $ORACLE_HOME -spfile $ORACLE_HOME/dbs/spfilevahiddb.ora -pwfile $ORACLE_HOME/dbs/pwdvahiddb.256.1062884631 -role PHYSICAL_STANDBY -dbname vahiddb

یا این دستور:

srvctl add database -db vahiddbg -oraclehome $ORACLE_HOME -spfile +AGDATADG/vahiddbG/PARAMETERFILE/spfilevahiddbg.ora -pwfile +AGDATADG/vahiddbG/PASSWORD/pwvahiddbg -role PHYSICAL_STANDBY -dbname vahiddb

در حالت rac باید instance ها را هم اضافه کنیم:

[oracle@vahiddbg1 ~]$ srvctl add instance -db vahiddbg -i vahiddbg1 -n vahiddbg1
[oracle@vahiddbg1 ~]$ srvctl add instance -db vahiddbg -i vahiddbg2 -n vahiddbg2
[oracle@vahiddbg1 ~]$ srvctl add instance -db vahiddbg -i vahiddbg3 -n vahiddbg3
[oracle@vahiddbg1 ~]$ srvctl add instance -db vahiddbg -i vahiddbg4 -n vahiddbg4
[oracle@vahiddbg1 ~]$ srvctl add instance -db vahiddbg -i vahiddbg5 -n vahiddbg5

در home grid در گارد باید در listener این تغییرات را اضافه کنیم:

 

 

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = vahiddg)
      (ORACLE_HOME = /u01/app/oracle/product/12.2.0/dbhome_1)
      (SID_NAME = vahiddg)
    )
  )

در هر دو سمت اصلی و گارد در oracle home  در  تمامی نودها  tnsnames.ora را ویرایش کرده و مشخصات زیر را اضافه می کنیم:

 

vahiddb =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = vahiddb-scan)(PORT = 1521))
(CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = vahiddb.rh)
)
)


vahiddbG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = vahiddbg.rhdbrac.rh )(PORT = 1521))
(CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = vahiddbg.rh)
  ( UR=A )
)
)

حالا اگر دیتابیس گارد روشن است آن را stop می کنیم و با srvctl آن را start می کنیم:

srvctl start database -db vahiddbg -o nomount

بر روی دیتابیس اصلی بصورت زیر به rman وصل می شویم و کار راه اندازی گارد را شروع می کنیم:

rman target sys/CCCCCCCC  auxiliary sys/XXXXXX@vahiddbg

حالا دستور زیر را میزنیم که دیتاگارد ساخته شود:

run{
allocate auxiliary channel ac1 device type disk;
allocate auxiliary channel ac2 device type disk;
allocate auxiliary channel ac3 device type disk;
allocate auxiliary channel ac4 device type disk;
allocate auxiliary channel ac5 device type disk;
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
allocate channel c4 device type disk;
allocate channel c5 device type disk;
allocate channel c6 device type disk;
allocate channel c7 device type disk;
allocate channel c8 device type disk;
allocate channel c9 device type disk;
allocate channel c10 device type disk;
allocate channel c11 device type disk;
allocate channel c12 device type disk;
allocate channel c13 device type disk;
allocate channel c14 device type disk;
allocate channel c15 device type disk;
allocate channel c16 device type disk;
allocate channel c17 device type disk;
allocate channel c18 device type disk;
allocate channel c19 device type disk;
allocate channel c20 device type disk;
DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE DORECOVER NOFILENAMECHECK;
}

وقتی کار ساخت گارد به اتمام رسید، باید broker را فعال کنیم:

در صورتی که از asm استفاده می کنیم، مسیرهای broker را می سازیم و سپس پارامتر را بر اساس آن تنظیم می کنیم. هم در اصلی و هم در گارد:

SQL> show parameter broker
NAME TYPE VALUE
———————————— ———– ——————————
dg_broker_config_file1 string /u01/app/oracle/product/12.2.0/dbhome_1/dbs/dr1vahiddbg.dat
dg_broker_config_file2 string /u01/app/oracle/product/12.2.0/dbhome_1/dbs/dr2vahiddbg.dat
dg_broker_start boolean FALSE

create path on asm:


ASMCMD [+datadg/vahiddbg] > mkdir broker
ASMCMD [+datadg/vahiddbg] > cd broker
ASMCMD [+datadg/vahiddbg/broker] > pwd
+datadg/vahiddbg/broker

sqlplus / as sysdba
alter system set dg_broker_config_file1='+datadg/vahiddbg/broker/dr1vahiddbg.dat';
alter system set dg_broker_config_file2='+datadg/vahiddbg/broker/dr2vahiddbg.dat';
alter system set dg_broker_start=TRUE;
 
بر روی دیتابیس اصلی با دستور زیر وصل می شویم و سپس به دیتابیس اصلی متصل می شویم:
[oracle@vahiddb1 ~]$ dgmgrl
DGMGRL for Linux: Release 12.2.0.1.0 - Production on Sat Jan 30 12:11:39 2021

Copyright © 1982, 2017, Oracle and/or its affiliates. All rights reserved.

Welcome to DGMGRL, type “help” for information.
DGMGRL> connect sys/Sysdba12@vahiddb
Connected to “vahiddb”
Connected as SYSDBA.
DGMGRL>

حالا فایل کانفیگ و دیتابیس اصلی را اضافه می کنیم:

DGMGRL> CREATE CONFIGURATION dg_config AS PRIMARY DATABASE IS vahiddb CONNECT IDENTIFIER IS vahiddb;

حالا فایل گانفیگ دیتابیس گارد را اضافه می کنیم:

DGMGRL> ADD DATABASE vahiddbg AS CONNECT IDENTIFIER IS vahiddbg MAINTAINED AS PHYSICAL;

حالا کانفیگ را فعال می کنیم:

DGMGRL> enable configuration;

در alert دیتابیس اصلی و گارد می بینیم که log shipping فعال شده.

نکته : اگر به آرشیو لاگ بعد از duplicate ایراد گرفت، اون آرشیو لاگ رو از دیتابیس اصلی کپی می کنیم به گارد و همچنین یه کنترل فایل از اصلی می آوریم و در گارد آنرا ریستور می کنیم. بعد با دستور catalog تمام دیتافایلها و آرشیو لاگها را در هر مسیری که بود را می گوییم بخواند و سپس switch database to copy می زنیم و کانفیگ بروکر را مجدداً فعال می کنیم.

------------------------------------------------------------------------------------------------------------

در هنگام رانندگی به احترام عابرین پیاده بایستیم.

  • ۰۰/۱۲/۰۸
  • قدیر نوروزی میرصادقی

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی