سلام

قصد داریم در مقالاتی انواع و روش های Upgrade به نسخه های مختلف oralce را توضیح بدم .در این مقاله هدف ارتقا دیتابیس از 11.2.0.4 به 12.1.0.2 هست

 روش های مختلف ارتقا  میتونیم به 

  • Database Upgrade Assistant (DBUA)
  • Manual Upgrade
  • Transportable Tablespaces
  • Datapump export/import
  • Oracle Streams
  • Oracle GoldenGate
اشاره کنیم.

من میخوام در اینجا از روش DBUA برای ارتقا بانکم استفاده کنم

Oracle Database Version:             Oracle Database 11gR2 (11.2.0.4) (64-bit)

Operating System:                         Oracle Enterprise Linux 6.4 (64-bit)


مرحله 1:
 چک کردن registry برای پایگاه داده 11.2.0.4

SQL>SELECT COMP_NAME , VERSION, STATUS  FROM   DBA_REGISTRY;


dba_registry_11

قبل از ارتقا بهتره لیست object های invalid رو داشته باشیم و هم اینکه اگه ممکنه این invalid object ها رو compile کنیم و رفع خطا برای invalid شدنشون رو انجام بدیم

مرحله 2:

SQL>SELECT DISTINCT OBJECT_NAME,OBJECT_TYPE,OWNER FROM DBA_OBJECTS WHERE  STATUS='INVALID'

invalid_object


خب حالا ما دیتابیس 12.1 رو باید نصبل کنیم برای این کار اول مسیری رو برای نصب باید درست بکنیم


[oralce@testupgrade ~]#mkdir -p /u01/app/oracle/product/12.1.0/dbhome1

و شروu به نصب دیتابیس 12.1 میکنیم

[oralce@testupgrade ~]#./runInstaller

مرحله 3:صرف نظر از  Email address و بعد گزینه Next را میزنیم

install12.1



مرحله 4:

انتخاب Install Software Only و زبان English

install12.1_2


مرحله5 :

انتخاب enterprise edition

install12.1_3

مرحله 6:

انتخاب مسیر نصب 

install12.1_4

مرحله7 :

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

install12.1_5


مرحله 8 :

install12.1_6


مرحله 9 :

install12.1_7



مرحله 10 :

اجرای script زیر با کاربر root

install12.1_8

مرحله 11:

خب حالا یه بکاپ از دیتابیس میگیریم

[oralce@testupgrade ~]#rman target /

run
{
backup database plus archivelog;
backup current controlfile;
backup spfile;
}

مرحله 12:

خب حالا بعد از بکاپ ما listener دیتابیس رو stop میکنیم÷

lsnrctl stop LISTENER


مرحله 13:

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

اوراکل به شدت توصیه می کنه که قبل از شروع ارتقا با DBUA ابزار پیش از ارتقا را اجرا کنید. اگر چه DBUA ابزار پیش از ارتقا را به عنوان بخشی از چک های لازم مورد استفاده قرار می ده ، ولی تمرین خوبیه که قبل از DBUA با این ابزار ما تجزیه و تحلیل کنیم database رو و کارهایی انجام بدیم که میتونه زمان dwontime ما برای Upgrade رو بسیار کاهش بده.


خب حالا ابزار pre-upgrade رو اجرا میکنیم:

برای اینکار از دو اسکریپت preupgrd.sql , utluppkg.sql   که در مسیر oracle12c قرار دارند کمک میگیریم به این صورت

ابتدا به مسیر زیر میریم

[oralce@testupgrade ~]# cd $ORACLE_HOME(12C ORACLE HOME)/rdbms/admin

برای این کار ابتدابا کاربر SYS به دیتابیس 10.2.0.4 متصل میشیم(Connect to 11.2.0.4)(ما این دو اسکریپت رو که در مسیر 12 قرار دارند رو با oracle 11 اجرا میکنیم)

[oralce@testupgrade ~]#sqlplus / as sysdba


SQL>@preupgrd.sql

خب بعد از اجرای اسکریپت بالا به مسیر زیر میریم تا اسکریپت fixup ی که به ما میده رو اجرا میکنیم


[oralce@testupgrade ~]# cd $ORACLE_BASE/cftoollogs/$ORACLE_SID/preupgrade



[oralce@testupgrade ~]# sqlplus / as sysdba


SQL> @preupgrade_fixups.sql

خب اوراکل توی فایل preupgrade.log هم کارهای که میکنه برای fixup کردن رو لاگ میکنه و ما میتونیم بررسی کنیم که چه Object  هایی اخطار و یا  خطا داشتن که بتونیم رفع خطا بکنیم


مرحله 14 :

متغیر های محیطی رو به 12 تغییر میدیم


{
ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
export ORACLE_HOME
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_SID=prod
export ORACLE_SID
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:.
export LD_LIBRARY_PATH
LIBPATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib:/usr/lib:/lib
export LIBPATH
TNS_ADMIN=${ORACLE_HOME}/network/admin
export TNS_ADMIN
PATH=$ORACLE_HOME/bin:$PATH:.
export PATH
}



خب حالا وقت اجرای dbua از 11.2.0.4 به 12c هست

 مرحله 15 :

[oralce@testupgrade ~]#dbua


انتخاب Upgrade Oracle Database


dbua_1


مرحله 16 :

در لیست نمایش داده شده ما درتابیس مدنظرمون برای Upgrade رو انتخاب میکنیم


dbua_2


مرحله 17  :

اگر در این قسمت prerequisite checks  هر مسله ای نشون بده که نیاز به رفع داره بهتره این کارو انجام بدمیم

dbua_3



مرحله 18 :

در صورت لزوم گزینه های ارتقا را اصلاح کنید، سپس Next  کلیک کنید  تا به مرحله بعد بریم

dbua_4


مرحله 19 :

تنظیمات EM  در صورت لزوم میتونیم  تنظیمات رو انحام بدیم

dbua_18


مرحله 20:

اگه نیار به انتقال دیتافایل های پایگاه داده هسنیم از فایل سیستم به ASM با بالعکسیا برای تمظیمات FRA میتونیم از این گزینه ها استفاده کنیم

dbua_19



مرحله  21 :

اگر ما از listener پیش فرض استفاده میکنیم اوارکل میتونه این listener رو Upgrade کنه در غیر این صورت ما میتونیم به صورت دستی یک listener جدید ایجاد کنیم

dbua_20


مرحله 22  :

انتخاب مسیری برای recovery در صورت upgrade failure

dbua_21


مرحله 23:

Post checks for upgrade:

dbua_22


مرحله23 :dbua_24



و در اخر

dbua_25


خب در اخر باید اسکریپت postupgrade_fixups.sql را اجرا کنیم که در مسیر زیر هست

[oralce@testupgrade ~]# cd $ORACLE_BASE/cftoollogs/$ORACLE_SID/preupgrade


[oralce@testupgrade ~]# sqlplus / as sysdba


SQL> @postupgrade_fixups.sql

خب حالا اگه به دیتابیس متصل بشیم و query زیر رو یزنیم متوجه میشیم که دبیتاس به صورت read write باز شده

SQL>select open_mode,name,status from v$database,instance

SQL>select COMP_NAME,VERSION,STATUS from dba_registry;

خب امیدوارم تا اینجا مفید بوده باشه البته دوستانی که سوال داشتن میتونن یا در قسمت نظرات سوال بپرسن یا در گروه این کار رو بکنن


در مرحله بعد Manual Upgrade  to 12.2  را قرار خواهم داد و سعی میکنم upgrade 12.2  به 18cR3 قرار بدیم

امیدوارم دوستان استفاده بکنند.





و