Solutions | Oracle

تغییر Cluster Name در Oracle Cluster 12c

سلام 

یکی از دوستان درخواست تغییر clustername رو داشتن که من این مقاله رو برای این گذاشتم که دیگر دوستان هم استفاده کنن

خب برای اینکار ما باید ابتدا کلاستر رو deconfig کنیم و دوباره config کنیم 

اینکه این کار باعث downtime میشه و اینکه دیتابس ما حذف نمیشه بعد از config ما این دیتابیس رو به cluster اضافه میکنیم

خب برای اینکار ابتدا ما با کاربر root کلاستر رو deconfig میکنیم

روی تمام نود ها بجز نود اخر این دستور رو میزنیم

[root@prod1 install]# cd /grid/app/12.2/grid/crs/install
[root@prod1 install]# ./rootcrs.pl -deconfig -force -verbose
Using configuration parameter file: ./crsconfig_params
The log of current session can be found at:
  /grid/grid_base/crsdata/prod1/crsconfig/crsdeconfig_prod1_2019-05-14_04-51-07PM.log
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'prod1'
CRS-2673: Attempting to stop 'ora.crsd' on 'prod1'
CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on server 'prod1'
CRS-2673: Attempting to stop 'ora.mciprod.db' on 'prod1'
CRS-2673: Attempting to stop 'ora.chad' on 'prod1'
CRS-2677: Stop of 'ora.mciprod.db' on 'prod1' succeeded
CRS-2673: Attempting to stop 'ora.DATA.dg' on 'prod1'
CRS-2673: Attempting to stop 'ora.FRA.dg' on 'prod1'
CRS-2673: Attempting to stop 'ora.OCRVOTING.dg' on 'prod1'
CRS-2677: Stop of 'ora.FRA.dg' on 'prod1' succeeded
CRS-2677: Stop of 'ora.DATA.dg' on 'prod1' succeeded
CRS-2677: Stop of 'ora.OCRVOTING.dg' on 'prod1' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'prod1'
CRS-2677: Stop of 'ora.asm' on 'prod1' succeeded
CRS-2673: Attempting to stop 'ora.ASMNET1LSNR_ASM.lsnr' on 'prod1'
CRS-2673: Attempting to stop 'ora.ASMNET2LSNR_ASM.lsnr' on 'prod1'
CRS-2677: Stop of 'ora.ASMNET2LSNR_ASM.lsnr' on 'prod1' succeeded
CRS-2677: Stop of 'ora.chad' on 'prod1' succeeded
CRS-2677: Stop of 'ora.ASMNET1LSNR_ASM.lsnr' on 'prod1' succeeded
CRS-2792: Shutdown of Cluster Ready Services-managed resources on 'prod1' has completed
CRS-2677: Stop of 'ora.crsd' on 'prod1' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'prod1'
CRS-2673: Attempting to stop 'ora.crf' on 'prod1'
CRS-2673: Attempting to stop 'ora.drivers.acfs' on 'prod1'
CRS-2673: Attempting to stop 'ora.gpnpd' on 'prod1'
CRS-2673: Attempting to stop 'ora.mdnsd' on 'prod1'
CRS-2677: Stop of 'ora.drivers.acfs' on 'prod1' succeeded
CRS-2677: Stop of 'ora.crf' on 'prod1' succeeded
CRS-2677: Stop of 'ora.gpnpd' on 'prod1' succeeded
CRS-2677: Stop of 'ora.mdnsd' on 'prod1' succeeded
CRS-2677: Stop of 'ora.asm' on 'prod1' succeeded
CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on 'prod1'
CRS-2677: Stop of 'ora.cluster_interconnect.haip' on 'prod1' succeeded
CRS-2673: Attempting to stop 'ora.ctssd' on 'prod1'
CRS-2673: Attempting to stop 'ora.evmd' on 'prod1'
CRS-2677: Stop of 'ora.ctssd' on 'prod1' succeeded
CRS-2677: Stop of 'ora.evmd' on 'prod1' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'prod1'
CRS-2677: Stop of 'ora.cssd' on 'prod1' succeeded
CRS-2673: Attempting to stop 'ora.gipcd' on 'prod1'
CRS-2677: Stop of 'ora.gipcd' on 'prod1' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'prod1' has completed
CRS-4133: Oracle High Availability Services has been stopped.
2019/05/14 16:53:06 CLSRSC-4006: Removing Oracle Trace File Analyzer (TFA) Collector.
2019/05/14 16:54:10 CLSRSC-4007: Successfully removed Oracle Trace File Analyzer (TFA) Collector.
2019/05/14 16:54:10 CLSRSC-336: Successfully deconfigured Oracle Clusterware stack on this node
ادامه مطلب...
۲۴ ارديبهشت ۹۸ ، ۱۳:۱۳ ۱ نظر موافقین ۰ مخالفین ۰
علی فکاری

تغییر ip های scan در Oracle Clusterware

سلام به همه دوستان


همین طور که میدونید ‌ما در Cluster اوراکل جندین نوع IP‌داریم اولین IP‌های که ما کار میکنیم برای اتصال به OS از طریق putty با استفاده از Public  IP‌ها هستن که این نوع IP‌های در اختیار و کنترل OS می  باشند

Virtual IP  یا به عبارتی VIP‌این  IP  ادرس ها در رنج public‌IP‌ ما هستند و تحت کنترل Oracle Cluster  هستن یه عبارتی زمنی که cluster ware  ما start می شه این Ip های روی کارت شبکه ما ایحاد میشن و زمانی که stop‌شد این Ip‌ها وجود خارجی نخواهند داشت خب مثلا ما وقتی cluster‌نود یک رو stop‌میکنیم این VIP به علت اینکه اورکل میخواهد application‌متوجه قطعی نود یک نگردد این IP‌را در نود دو بالا می اورد به عبارت بهتر روی کارت شبکه نود دو set  میکند.

در oracle 10g بیشتر مورد استفاده بود.


scanIP: در اواکل 11g معرفی گردید به عبارتی مانند VIP‌هست یعنی در رنج PUBLIC‌ IP هست و این دو نکته رو در نظر داشته باشید که وقتی به VIP‌وصل میشید یعنی به node  وصل شدید و وقتی با scan‌کار میکنید یعنی به cluster وصل شدید(این رو هم یادتون باشه که اگه کلاستر ۱۰ نود هم داشته باشید تنها ۳ تا IP Scan  نیاز دارید) این concept رو یادتون باشه .اوراکل با استفاده از internal algoritm های خودمتوحه میشه که هر نورد کلاستر وضعیت Load اون نود در چه وضعیتی هست . اوراکل تاکید داره که باید Ip scan‌های در DNS قرار داده باشه .فرض کنید که scan 1 , scan2 روی نود ۱  هستن و scan 3 روی نود ۲ خب شما برای اتصال نام scan رو توی connection string خودتون میزارید.خب وقتی درخواست IP‌میکنه DNS یک IP‌به شما میده حالا فرض کنید که scan 2 رو داد که گفته بودیم روی نود ۱ در حال سرویس دهی هست. خب وقتی به این scan‌وصل شدید scan listener  اوارکل چک میکنه که load کدوم نود کمتره و re-direct  می کنه به -vip - local listener‌ نودی که load کمتری داره.

برای این کار باید پارامتر remote_listener شما با مقدار scan name شما پر شده باشه

SQL> show parameter remote_listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
remote_listener string rac-scan:1521
خب در اینجا IP‌های scan‌من برابر مقدار زیر هستن
[oracle@atm01 ~]$ cat /etc/hosts
#SCAN (Single Client Access Name) create new host in dns server for rac-scan
10.0.1.130 rac-scan.oracle.net rac-scan
10.0.1.132 rac-scan.oracle.net rac-scan
10.0.1.131 rac-scan.oracle.net rac-scan

گاهی در سازمان ها اعلام میشه که IP‌های سرور رو عوض کنند من در این مقاله قصد عوض کردن IP‌های scan‌رو دارم 

 IP های قدیمی 10.0.1.130,10.0.1.131,10.0.1.132

ّIP های جدید:10.0.1.150,10.0.1.151,10.0.1.152

ادامه مطلب...
۰۷ ارديبهشت ۹۸ ، ۱۸:۴۴ ۰ نظر موافقین ۰ مخالفین ۰
علی فکاری

رفع گپ در دیتاگارد 12c

سلام به همه دوستان

یکی از ویژگی هایی که از اوراکل 12 به وجود اومد این بود تا حدودی نقش OS رو سعی کرد در خیلی از کارها حذف کنه


ما در نسخه قبل از 12 برای برطرف کردن gap های موجود در گارد که archivelog های آن موجود نباشه مجبور بودیم که چنیدین کار انجام بدیم مثل

1-در دیتابیس اصلی از controlfile بکاپ میگرفتیم بریا standby

2-در standby باید کوچکتری scn رو پیدا میکردیم و در دیتابیس اصلی یک backup incremental from SCN میگرفتیم

3-سپس باید هم کنترل فایل و هم بکاپمونو به سرور standby منتقل میکردیم و در سرورو standby باید در rman catalog  انجام میدادیم

4-دیتابیس standby رو باید از حالت recovery خارج میکردیم و دیتابیس در حالت mount قرار میدادیم  و سپس بکاپ رو باید برمیگردوندیم .

و در اخر هم MRP رو فعال میکردیم


اما در 12  به بعد کار خیلی اسون تر شده  ما میتونیم فقط با یک دستور revover...from service عملیات sync شدن رو انجام بدیم به این صورت که خودش از کوچکتری scn  شروع میکنه به بکاپ گرفتن در دیتابس اصلی و بعد از اتمام از روی شبکه برای دیتابیس standby ارسال میکنه و recovery رو انجام میده.


خب همین طور که در زیر میبینید در arlertlog گارد من این خطا رو دارم دریافت میکنم 

PR00 (PID:14498): Fetching gap from T-1.S-187 to T-1.S-200
2019-04-10T17:24:32.999877+04:30
PR00 (PID:14498): FAL: Failed to request gap sequence
PR00 (PID:14498):  GAP - thread 1 sequence 187-200
PR00 (PID:14498):  DBID 609790210 branch 1000029830
PR00 (PID:14498): FAL: All defined FAL servers have been attempted
PR00 (PID:14498): -------------------------------------------------------------------------
PR00 (PID:14498): Check that the CONTROL_FILE_RECORD_KEEP_TIME initialization
PR00 (PID:14498): parameter is defined to a value that's sufficiently large
PR00 (PID:14498): enough to maintain adequate log switch information to resolve
PR00 (PID:14498): archived redo log gaps.
PR00 (PID:14498): -------------------------------------------------------------------------
2019-04-10T18:13:50.252395+04:30
SQL> select sequence#,thread#,applied,deleted from v$archived_log;

 SEQUENCE#    THREAD# APPLIED   DEL
---------- ---------- --------- ---
       181          1 YES       YES
       182          1 YES       YES
       183          1 YES       YES
       184          1 YES       NO
       185          1 YES       NO
       186          1 YES       NO
       201          1 NO        NO
       202          1 NO        NO
       203          1 NO        NO
       204          1 NO        NO
       205          1 NO        NO

11 rows selected.
ادامه مطلب...
۲۱ فروردين ۹۸ ، ۱۳:۲۹ ۰ نظر موافقین ۰ مخالفین ۰
علی فکاری

مدیریت Cluster Health Monitor در 18C

سلام به همه دوستان


اوراکل‌با استفاده از cluster health monitor  به صورت خودکار ارزیابی معیارهای عملکرد سیستم عامل برای تشخیص node evictions، قطع ویروس ها و سایر مسائل مربوط به عملکرد OS مانیتور میکنه  . Cluster Health Monitor جزئیات مربوط به استفاده از حافظه، پردازش ها، و همچنین CPU، I / O و استفاده از شبکه را جمع آوری می کند. در Oracle Grid Infrastructure 12c، Cluster Health Monitor متریک های  OS را هر 5 ثانیه جمع اوری میکنه  و در نسخه های قبل از 12c هر ثانیه متریک ها  را جمع آوری می کرد

نکنه ای که خیلی مهمه بدونیم اینه که این MGMTDB با سرویسی کار میکنه به نام Cluster Robustness Framework (CRF)

System Monitor Service:

در کلاستر بر روی هر نود یک سرویسی قرار دارد به نام system monitor service (osysmond) که به صورت لحظه ای متریک های که تعریف شده رو جمع اوری میکنه و برای سرویس cluster logger service ارسال میکنه 

  Cluster Logger Service:

این سرویس روی روی تمام نود های کلاستر اجرا میشه در صورت افتادن در یک نود در نود دیگه بالا میاد و شروع به سرویس دادن میکنه

ادامه مطلب...
۱۲ فروردين ۹۸ ، ۱۲:۴۴ ۰ نظر موافقین ۰ مخالفین ۰
علی فکاری

duplicate کردن یک PDB در CDB دیتابیس دیگر در oracle 18c

سلام به همه دوستان


از اوراکل 12.1 یک ویژگی خوبی که ما میتونیم استفاده کنیم استفاده از duplicate rman pdb هست یعنی میتونیم یک PDB رو در دیتابیس دیگه به راحتی بالا بیاوریم مثلا برای برنامه نویس ها و یا محیط تست خیلی به کار میاد

خب من در اینجا دو سرور دارم با دو دیتابیس CDB  به نام های atmdb و cdb18c و بر روی سرور اول من میخواهم atmpdb رو به سرور cdb18c انقال بدم

CDB$ROOT@ATMDB> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ATMPDB                         READ WRITE NO
         4 PDB2                           MOUNTED
PDB های سمت مقصد رو هم چک میکنیم 
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
SQL>
ادامه مطلب...
۱۱ فروردين ۹۸ ، ۱۱:۱۲ ۰ نظر موافقین ۰ مخالفین ۰
علی فکاری

انتقال دیتابیس از NON-CDB به CDB با استفاده از DBMS_PDB

سلام به همه دوستان

خب اگه با من همراه باشید به خاطر دارید که ما دیتابیس 11.2.0.4 را upgrade کردیم به 18.3 و با استفاده از patch های که زدیم به نسخه 18.4 مهاجرت کردیم 


یکی از Feature های خوبی که از 12.1 معرفی شد استفاده از PDB های بود که در مقاله ای سعی میکنم توضیح در مورد این نوع دیتابیس های بدم .


خب خیلی از دوستان که  دیتابیس های 11.3 و11.4 را upgrade میکنن میخواهند از این feature  جدید هم استفاده کنن که وقتی دیتابیس را 12 یا 18 کردن به صورت non CDB هست که در این پست من انتقال دیتابس از Non-cdb به cdb رو توضیح میدم که سعی میکنم حالت های مختلف رو اینجا و در پست های مختلف توضیح بدم


ما یه دیتابیسی داریم که 18.4 و به صورت non cdb هست 

[oracle@testupgradedb ~]$ !sql
sqlplus / as sysdba

SQL*Plus: Release 18.0.0.0.0 - Production on Fri Mar 29 22:18:02 2019
Version 18.4.1.0.0

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


Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.4.1.0.0

SQL> select name,cdb,con_id,log_mode,database_role from v$database;

NAME      CDB     CON_ID LOG_MODE     DATABASE_ROLE
--------- --- ---------- ------------ ----------------
ORCLTEST  NO           0 ARCHIVELOG   PRIMARY

SQL>

ادامه مطلب...
۱۰ فروردين ۹۸ ، ۱۲:۳۲ ۰ نظر موافقین ۰ مخالفین ۰
علی فکاری

نصب Oracle Enterprise Manager Cloud Control 13cR3

سلام دوستان

سال نو همگی مبارک

همین طور که میدونید اوراکل برای مدیریت و مانیتوریگ همه component های که ما استفاده میکنیم tools ی داده به نام cloud control که خب در ورژن های قبل grid control بود خب ما بیشتر برای مانیتوریگ دیتابیس ازش استفاده میکنیم ولی یادمه در جلسه کاربران اوارکل سال 97 اقای مسعود سلطانی خیلی در مورد این ابزار توضیحات دادن که به نظرم خیلی خوب بود و اگه میخواهید بیشتر در موردش قابلیت های این ابزار بونید بهتره پاور پونت اون جلسه رو بگیرید و نگاهی بندازید


خب من از قبل Grid Infrastructure 18.3  و Database 18.3 رو نصب کردم  به صورت CDB و روی این Container من یه pdb به اسم emrep دارم.یکسری تغییرات پارامتر باید انجام بشه در سطح دیتابیس که من این تغییرات رو اعمال نمیکنم تا باهم پیغامی که موقع نصب میده رو ببینیم


خب بعد از کپی source ما به مسیر مربوطه فایل نصب میریم و به این صورت اجرا میکنیم


[oracle@cloud13c ~]$ cd /source/
[oracle@cloud13c source]$ ./em13300_linux64.bin

بعد از اجرا دو پنجره زیر میاد که ما skip میکنیم


ادامه مطلب...
۰۱ فروردين ۹۸ ، ۱۲:۵۰ ۰ نظر موافقین ۰ مخالفین ۰
علی فکاری

Oracle Database release updates revision (Revision). 18.3.2 to 18.4

سلام

اگه پست قبلی منو خونده باشید میبینید که ما ابتدا از 11,2,0,4 Upgrade کردیم به 18.3 و بعد با زدن patch  به 18.3.2 اومدیم امروز میخواهیم با زدن patch جدید نسخه اواکل رو به 18.4 ارتقا بدیم.  

Database Release Update Revision 18.4.1.0.190115

ابتدا که وارد sqlplusبشیم نسخه دیتابیس رو هم میکه با هم ببینیم

[oracle@testupgradedb 28790643]$ sqlplus / as sysdba

SQL*Plus: Release 18.0.0.0.0 - Production on Mon Mar 18 02:59:04 2019
Version 18.3.2.0.0

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

SQL>  select BANNER,BANNER_FULL from v$version;

BANNER
--------------------------------------------------------------------------------
BANNER_FULL
--------------------------------------------------------------------------------
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.2.0.0
در توضیخات داده شده در patch  گفته شده که باید ورژن opatch حداقل 12.2.0.1.14 باشه که برای ما این ورژن هست
[oracle@testupgradedb OPatch]$ ./opatch version
OPatch Version: 12.2.0.1.14

OPatch succeeded.
ادامه مطلب...
۲۸ اسفند ۹۷ ، ۱۰:۱۷ ۰ نظر موافقین ۰ مخالفین ۰
علی فکاری

Patching oracle database (RUR)18.3 to 18.3.2

سلام

انواع محتلفی patch داریم که توضیحاتش در پست دیگه داده میشه .

 امروز میخواهیم patch RUR رو روی دیتابیس 18.3 میزنیم تا نسخه به 18.3.2 ارتقا پیدا کنه 

ابتدا که وارد sqlplusبشیم نسخه دیتابیس رو هم میکه با هم ببینیم

[oracle@testupgradedb ~]$ sqlplus / as sysdba

SQL*Plus: Release 18.0.0.0.0 - Production on Sun Mar 17 22:50:42 2019
Version 18.3.0.0.0

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


Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0

SQL>
خب ما میخواهیم patch شماره 28790643 را بروی دیتابیس خودمون اعمال کنیم



خب ببینیم ورژن دیتابیس چنده 

[oracle@testupgradedb ~]$ sqlplus / as sysdba
SQL*Plus: Release 18.0.0.0.0 - Production on Mon Mar 18 02:14:14 2019 Version 18.3.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Connected to: Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.3.0.0.0 SQL>
ادامه مطلب...
۲۷ اسفند ۹۷ ، ۱۲:۰۲ ۰ نظر موافقین ۰ مخالفین ۰
علی فکاری

انتقال دیتابیس 12 ازFileSystem به ASM

سلام به همه دوستان

گاهی شده که ما دیتابیس هایی داریم روی فایل سیستم و شده اون مسیر (mount point) پر بشه و بخواهیم اون دیتابیس رو به asm انتقال بدیم

روش های مختلفی برای  انتقال پایگاه داده از فایل سیستم  به ASM وجود دارد.میتونیم از RMAN Image copy  و بعدش switch to database copy کنیم یا بکاپ رو برگردونیم روی asm ،به هر حال روش rman تا قبل از 12C وجود داشتن ،من در این اینجا روش انتقال آنلاین دیتابیس به ASM  رو توضیح میدم

من در اینجا یک دیتابیس 12 non cdb دارم 

RMAN> report schema;
using target database control file instead of recovery catalog
Report of database schema for database with db_unique_name ORCLDB
List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    1216     SYSTEM               YES     /oradata2/ORCLDB/datafile/o1_mf_system_g7dr13np_.dbf
2    25668    MGMT_TABLESPACE      NO      /oradata2/ORCLDB/datafile/o1_mf_mgmt_tab_g7drww9w_.dbf
3    3495     SYSAUX               NO      /oradata2/ORCLDB/datafile/o1_mf_sysaux_g7dqsbbm_.dbf
4    420      UNDOTBS1             YES     /oradata2/ORCLDB/datafile/o1_mf_undotbs1_g7dr4jms_.dbf
5    2580     MGMT_ECM_DEPOT_TS    NO      +DATA/ORCLDB/DATAFILE/mgmt_ecm_depot_ts.258.1001414099
6    12       USERS                NO      +DATA/ORCLDB/DATAFILE/users.257.1001413955
7    5005     MGMT_AD4J_TS         NO      /oradata2/ORCLDB/datafile/o1_mf_mgmt_ad4_g7dr5z2z_.dbf
List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
2    400      TEMP2                32767       /oradata2/ORCLDB/datafile/o1_mf_temp2_g7dvsvrm_.tmp
ادامه مطلب...
۰۹ اسفند ۹۷ ، ۱۱:۰۶ ۰ نظر موافقین ۰ مخالفین ۰
علی فکاری