۲۲ مطلب با موضوع «Database :: Oracle Data Guard» ثبت شده است

تست failover دیتاگارد 19.12 و خطای ORA-16629

داشتم تست failover و حداکثر پایداری برای اپلیکیشن رو انجام میدادم به دو نکته برخورد کردم.

اولین نکته اینه که شما اگه میخواین تست failover انجام بدید اگه تو دیتابیس primary و standby مکانیزم flashback فعال باشه میتونید بدون راه اندازی کامل standby از اول این کار رو انجام بدید ولی اگه flashback فعال نباشه باید از اول به طور کامل standby جدید راه اندازی بشه. به این مکانیزم REINSTATE گفته میشه

نحوه انجام با broker

ابتدا فعال بودن flashback رو در primary و standby چک میکنیم:

SELECT FLASHBACK_ON FROM V$DATABASE;

برای چک کردن وضعیت بهتره یکباره از دستور show configuration استفاده بکنیم:

DGMGRL> show configuration
Configuration - g90
Protection Mode: MaxAvailability
Members:
tehrang - Primary database
tehran - Physical standby database (disabled)
ORA-16661: the standby database needs to be reinstated
Fast-Start Failover: Disabled
Configuration Status:
SUCCESS (status updated 91 seconds ago)

حالا باید دیتابیس fail شده رو که به مدار و حالت mount ببریم:

SQL> startup mount
ORACLE instance started.
Total System Global Area 4294964072 bytes
Fixed Size 9143144 bytes
Variable Size 2634022912 bytes
Database Buffers 1644167168 bytes
Redo Buffers 7630848 bytes
Database mounted.

ادامه مطلب...
۱۰ آبان ۰۰ ، ۰۸:۴۶ ۰ نظر
مهدی غفاری

ساخت سرویس جدید در سناریو دیتاگارد بدون زیرساخت Grid

تو سناریوی اوراکل دیتاگارد ما یک مدار دیتابیسی تشکیل میدیم که هر وقت سرور اصلی در سایت A از دسترس خارج شد اپلیکیشن با وقفه کوتاهی بتونه به سرور دوم در سایت B متصل بشه (تو سناریو حداکثر پایداری بهتره اپلیکیشن های ریپورت به دیتاگارد متصل نشن و برای سناریو اکتیو دیتاگارد یک دیتاگارد مجزا و مختص به ریپورت به صورت آبشاری راه اندازی بشه که بار روی سرور اصلی هم نباشه)

جهت انجام خودکار این سناریو به طوری که اپلیکیشن به یک سرویس جدا وصل بشه و وابسته به سرویس و IP در هر Instance در مواقع Failover و Switchover نباشه میتونید به شیوه زیر عمل کنید:

ادامه مطلب...
۰۸ آبان ۰۰ ، ۱۴:۰۱ ۰ نظر
مهدی غفاری

نحوه ایجاد پیکربندی Dataguard Broker در دیتابیس 12c

بعد از پیکربندی دیتاگارد یکی از مسائل مهم راه‌اندازی سرویس بروکر است. نحوه پیکربندی این سرویس رو در ادامه باهم خواهیم دید.

مثال پیکربندی دیتابیس

db_unique_name در دیتابیس اصلی: tehran

db_unique_name در دیتابیس دیتاگارد: yazd

نیازمندی‌های قبل از پیکربندی

استارت پروسس Dataguard broker DMON در دیتابیس اصلی (primary) و دیتاگارد (standby)

SQL> alter system set dg_broker_start=true sid='*'; 

 

ادامه مطلب...
۱۸ مرداد ۹۸ ، ۲۰:۳۴ ۰ نظر
مهدی غفاری

سناریو نصب و راه‌اندازی اوراکل دیتاگارد 11g همراه با ASM - مرحله به مرحله - قسمت چهارم

ما ۴ تا name در دیتابیس داریم که از اول هر ۴ تای این اسامی در دیتابیس اوراکل نبوده‌اند و به مرور نسخه‌های مختلف و زمان ایجاد شده‌اند.

ORACLE_SID (در سطح OS) = این پارامتر در سطح OS ما است. اگر پارامتر db_name مقداردهی نگردند مقدار این پارامتر را می‌گیرد.

DB_NAME (اجباری، یکسان باشد*) = اسم دیتابیس و به معنای کلمه جایی که دیتاها ذخیره می‌شوند. عمیقاً کلمه دیتابیس به ۳ دسته از فایل‌ها گفته می‌شود:

۱) دیتافایل‌ها ۲) فایلهای ORL, CTL, SPFILE منظور DB_NAME فایلهای دیتابیس است که مجزا از Instance هستند.

ORACLE DB_NAME PARAMETER V11.2 - LINK

ادامه مطلب...
۲۶ مرداد ۹۷ ، ۱۰:۲۷ ۰ نظر
مهدی غفاری

سناریو نصب و راه‌اندازی اوراکل دیتاگارد 11g همراه با ASM - مرحله به مرحله - قسمت سوم

به قسمت سوم از راه‌اندازی سناریو Active DataGuard پایگاه داده اوراکل خوش آمدید

پیکربندی rlwrap

تو مرحله اول از این سری نصب و راه‌اندازی پکیج rlwrap رو معرفی و نصب کردیم. حالا نوبت به این رسیده که پیکربندی مورد نیاز رو انجام بدیم

[oracle@shafaq ~]$ vim ~/.bash_profile

# rlwrap configuration
alias condb='rlwrap sqlplus / as sysdba'
alias conrm='rlwrap rman target /'
alias condg='rlwrap dgmgrl /'

از این به بعد از aliasها برای اتصال به دیتابیس، rman و گلدن گیت استفاده می‌کنیم.

چک کردن وضعیت grid و database

از طریق کاربر grid به سیستم‌عامل login کرده و با دستور crsctl نسبت به بررسی وضعیت منابع grid و database به شکل زیر اقدام می‌کنیم

از آپشن help می‌توانید برای کمک بیشتر استفاده کنید

crsctl = cluster control
----
stat = status
res = resurces
option t = Tabular display

چک کردن سایت شفق (primary)

[grid@shafaq ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
               ONLINE  ONLINE       shafaq
ora.FRA.dg
               ONLINE  ONLINE       shafaq
ora.LISTENER.lsnr
               ONLINE  ONLINE       shafaq
ora.asm
               ONLINE  ONLINE       shafaq                   Started
ora.ons
               OFFLINE OFFLINE      shafaq
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
      1        ONLINE  ONLINE       shafaq
ora.diskmon
      1        OFFLINE OFFLINE
ora.evmd
      1        ONLINE  ONLINE       shafaq
ora.orcl.db
      1        ONLINE  ONLINE       shafaq                   Open

ادامه مطلب...
۱۲ مرداد ۹۷ ، ۱۲:۵۹ ۰ نظر
مهدی غفاری

سناریو نصب و راه‌اندازی اوراکل دیتاگارد 11g همراه با ASM - مرحله به مرحله - قسمت دوم

به قسمت دوم از راه‌اندازی سناریو Active DataGuard پایگاه داده اوراکل خوش آمدید

پیش‌فرض‌ها:

  • سایت شفق = سایت primary
  • سایت تابان = سایت standby

ایجاد دیتابیس با ابزار DBCA

به DBCA خوش آمدید

بر روی سایت primary از طریق کاربر oracle به سیستم‌عامل login کرده و ابزار Database Configuration Assistant را با دستور dbca اجرا میکنیم

به دستیار پیکربندی دیتابیس‌ها در پایگاه داده اوراکل خوش‌آمدید. این برنامه به شما در ایجاد دیتابیس، پیکربندی دیتابیس موجود، حذف یک دیتابیس و مدیریت تمپلیت‌های نصب دیتابیس کمک زیادی میکنه. بر روی Next کلیک می‌کنیم تا از صفحه Welcome گذر کرده باشیم:

ادامه مطلب...
۰۹ مرداد ۹۷ ، ۲۱:۰۸ ۰ نظر
مهدی غفاری

سناریو نصب و راه‌اندازی اوراکل دیتاگارد 11g همراه با ASM - مرحله به مرحله - قسمت اول

حداقل ۲۰ گیگ دیسک برای نصب ۲ محصول Oracle DatabaseOracle Grid Infrastructure بر روی OEL 6.x الزامی است.

نصب سیستم‌عامل OEL 6.8

ابتدا ISO را وارد میکنیم و ماشین را از روی دیسک boot میکنیم تا به نصاب Anaconda برسیم

ادامه مطلب...
۲۹ تیر ۹۷ ، ۱۲:۲۷ ۵ نظر
مهدی غفاری

بروزرسانی سرور دیتاگارد در حالتی که فایل‌های آرشیو وجود ندارند

خب اول روی سرور دیتا گارد دستور زیر را اجرا می کنیم تا آخرین SCN دیتاگارد را بدست می‌آوریم:

SQL> SELECT CURRENT_SCN FROM V$DATABASE;

CURRENT_SCN
-----------
1752252019

عملیات ریکاوری را روی دیتاگارد با دستور زیر متوقف می کنیم:

ادامه مطلب...
۰۵ شهریور ۹۶ ، ۱۴:۱۹ ۱ نظر
مهدی غفاری

تعویض پسورد SYS در محیط DataGuard

خب اگه شما پسورد کاربر SYS رو با دستور ALTER USER SYS IDENTIFIED BY NEWPASSWORD در دیتابیسprimary عوض کنید SYNC از طرف سرور Primary متوقف می‌شود و آرشیولاگهای جدید به سمت دیتابیس Standby فرستاده نمی‌شودند. در این حالت شما خطای زیر رو در فایل alertlog می‌بینید:

------------------------------------------------------------------
Check that the primary and standby are using a password file
and remote_login_passwordfile is set to SHARED or EXCLUSIVE,
and that the SYS password is same in the password files.
returning error ORA-16191
------------------------------------------------------------------

این به این دلیله که شما از دستور ALTER USER برای تعویض پسورد کاربر SYS استفاده کرده‌اید و پسورد شما هم در فایل پسورد و هم در دیتادیکشنری به درستی در سرور Primary آپدیت شده ولی در سرور Standby تغییرات اعمال نشده‌اند.

شما با دستور زیر می‌تونید پسورد SYS رو در سرور Standby آپدیت کنید:

orapwd file=$ORACLE_HOME/dbs/orapwSID password=newpassword;

فراموش نکنید که فایل قبلی رو حذف کنید (توصیه میشه فقط اسم فایل رو عوض کنید تا اگه به مشکلی خوردید بتونید از فایل قبلی استفاده کنید، من خودم آخر فایلها یه پسوند old اضافه میکنم.)

نکته: حواستون باشه اصلاً مهم نیست پسورد SYS سمت Primary رو عوض کردید یا Standby در آخر باید این پسوردها یکی باشن

۰۵ بهمن ۹۵ ، ۱۱:۰۷ ۱ نظر
مهدی غفاری

ORA-03113: end-of-file on communication channel

بعد از تغییراتی روی زیرساخت ماشین‌های کلاستر rac با ۲ نود (دیتابیس 11.2.0.4.0) به مشکلی برخوردم که در نوع خودش برام جالب بود در حقیقت یکی از instanceهای کلاستر بدون مشکل startup می‌شد ولی instance دوم به هیچ عنوان open نمی‌شد و خطای زیر رو نشون میداد:

ORA-03113: end-of-file on communication channel
Process ID: 20194
Session ID: 1655 Serial number: 5

بعد از چک کردن فایل log دیتابیس مربوط

WARNING: The 'LOG_ARCHIVE_CONFIG' init.ora parameter settings
are inconsistent with another started instance. This may be
caused by the 'DB_UNIQUE_NAME' init.ora parameter being specified
differently on one or more of the other RAC instances; the
DB_UNIQUE_NAME parameter value MUST be identical for all
instances of the database.

خب اینجا بود که فهمیدم باید یه سری به پارامتر log_archive_config بزنم بعد از بررسی این پارامتر فهمیدم که مقدار null برای اون set شده و همچنین db_unique_name یکسان داریم که از این بابت مشکلی نیست.

برای ریست کردن این پارامت از دستور زیر در وضعیت mount استفاده کنید

alter system set log_archive_config='dg_config=(nodg_config)' scope=both sid='*';

با دستور زیر می‌تونید پیکربندی دیتاگاردتون رو چک کنید:

SQL> Select * from v$dataguard_config;

DB_UNIQUE_NAME

------------------------------
dwh
dwh_stby
و اگه کانفیگ دیتاگاردتون هنوز موردنیازه دستور رو طبق نیاز خود سفارشی کنید:
alter system set log_archive_config='dg_config=(dwh,dwh_stby)' scope=both sid='*';
۱۹ آبان ۹۵ ، ۰۰:۲۵ ۱ نظر
مهدی غفاری