কম্পিউটার

ফিজিক্যাল স্ট্যান্ডবাই থেকে ডাটাবেসের ডুপ্লিকেশন

এই ব্লগটি বর্ণনা করে কিভাবে একটি ফিজিক্যাল স্ট্যান্ডবাইডেটাবেস থেকে একটি ডাটাবেস ডুপ্লিকেট করা যায়।

ডাটাবেস ডুপ্লিকেশন নেটওয়ার্কের মাধ্যমে টার্গেট ডাটাবেসকে সহায়ক গন্তব্যে কপি করে এবং তারপর ডুপ্লিকেট ডাটাবেস তৈরি করে। আপনার প্রাক-বিদ্যমান RMAN ব্যাকআপ এবং কপির প্রয়োজন নেই।

একটি ফিজিক্যাল স্ট্যান্ডবাই থেকে ডুপ্লিকেট ডাটাবেস Oracle® 11grelease 2 এবং পরবর্তীতে সমর্থিত।

শারীরিক স্ট্যান্ডবাই থেকে RMAN সক্রিয় ডুপ্লিকেশন সঞ্চালনের জন্য আপনাকে নিম্নলিখিতগুলি করতে হবে:

  • ডাটাবেস:Oracle 11g থেকে সর্বশেষ সংস্করণ
  • প্ল্যাটফর্ম:Linux® 7
  • স্ট্যান্ডবাই DB নাম:PROD_DR
  • টার্গেট DB নাম:TEST

স্ট্যান্ডবাই ডাটাবেসটি শুধুমাত্র-পঠন মোডে খুলুন

ফিজিক্যাল স্ট্যান্ডবাই ডাটাবেসে পুনরুদ্ধার বন্ধ করুন এবং তারপর ডুপ্লিকেশন মঞ্জুর করতে শুধুমাত্র পঠন মোডে ডাটাবেস খুলুন।

স্ট্যান্ডবাই ডাটাবেসের স্থিতি পরীক্ষা করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

PROD_DR> select name, open_mode, log_mode from v$database;

আপনি নিম্নলিখিত অনুরূপ আউটপুট দেখতে হবে:

NAME      	OPEN_MODE             LOG_MODE
--------- 	--------------------  ------------
PROD_DR    	 MOUNTED              ARCHIVELOG

স্ট্যান্ডবাই ডাটাবেসের পুনরুদ্ধার বন্ধ করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

SQL> alter database recover managed standby database cancel;
Database altered.

তারপর, শুধুমাত্র-পঠন মোডে ডাটাবেস খুলুন:

SQL> alter database open read only;
Database altered.

ডাটাবেসের স্থিতি আবার পরীক্ষা করে দেখুন যে এটি মাউন্ট করার পরিবর্তে শুধুমাত্র পঠনযোগ্য:

PROD_DR> select name, open_mode,log_mode from v$database;

NAME   	      OPEN_MODE           	 LOG_MODE
--------- 	  -------------------- 	 ------------
PROD_DR   	  READ ONLY         	   ARCHIVELOG

লক্ষ্য সার্ভার প্রস্তুত করুন

এই বিভাগে, আমরা সম্পূর্ণ স্ট্যান্ডবাই ওরাকল হোম বাইনারিগুলিকে টার্গেট ইনস্ট্যান্স সার্ভারে কপি করব, pfile প্রস্তুত করব উৎস ডাটাবেস থেকে, এবং নতুন ডাটাবেসের নাম অনুসারে পরিবর্তন করুন।

দ্রষ্টব্য: আপনি যদি একই সার্ভারে ডাটাবেস নকল করে থাকেন, তাহলে আপনাকে অবশ্যই DB_NAME এর জন্য যথাযথ মান ব্যবহার করতে হবে , DB_UNIQUE_NAME , DB_FILE_NAME_CONVERT , এবং LOG_FILE_NAME_CONVERT .

প্রথমে, pfile প্রস্তুত করুন নিম্নলিখিত কমান্ড ব্যবহার করে:

cd $ORACLE_HOME/dbs
initTEST.ora

*.control_files='+DATA/cntrl01.dbf', '+DATA/cntrl02.dbf'
*.db_create_file_dest='+DATA'
*.db_file_name_convert='+PROD_DR_DATA','+DATA'
*.db_name='TEST'
*.db_unique_name='TEST'
*.diagnostic_dest='/u01/app/diag'
*.log_file_name_convert='+PROD_DR_DATA','+DATA'

বিদ্যমান স্ট্যান্ডবাই পাসওয়ার্ড ফাইলটি অনুলিপি করুন এবং TEST ডাটাবেসের জন্য ব্যবহৃত SID-এর সাথে মেলে এটির নাম পরিবর্তন করুন, অথবা আপনি একই উত্স পাসওয়ার্ড দিয়ে টার্গেট সার্ভারে একটি নতুন পাসওয়ার্ড ফাইল তৈরি করতে পারেন৷

cd $ORACLE_HOME/dbs
cp orapwPROD_DR orapwTEST

স্ট্যাটিক লিসেনার কনফিগার করুন

টেস্টডেটাবেসের জন্য স্ট্যাটিক লিসেনার কনফিগার করতে নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন:

cd $ORACLE_HOME/network/admin
cat listener.ora

ADR_BASE_LISTENER_LOCAL = /u01/app/oracle

LISTENER_LOCAL =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = TEST.ras.com)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
SID_LIST_LISTENER_LOCAL = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = DGNEER) (ORACLE_HOME = /u01/app/oracle/product/12.1.0.2/dbhome_1) (SID_NAME = TEST)))

নিম্নলিখিত কমান্ড ব্যবহার করে শ্রোতা শুরু করুন:

lsnrctl status listener_local

আপনি নিম্নলিখিত উদাহরণের অনুরূপ আউটপুট দেখতে হবে:

LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 09-JUN-2020 02:57:35

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST= TEST.ras.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     listener_local
Version                   TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date                04-JAN-2020 04:53:15
Uptime                    156 days 21 hr. 4 min. 19 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/12.1.0.2/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/product/12.1.0.2/dbhome_1/admin/diag/tnslsnr/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST= TEST.ras.com)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
  Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "TEST" has 2 instance(s).
  Instance "TEST", status UNKNOWN, has 1 handler(s) for this service...
  Instance "TEST", status READY, has 1 handler(s) for this service...
The command completed successfully

একটি ওরাকল নেট উপনাম তৈরি করুন

এর পরে, স্ট্যান্ডবাই ডাটাবেসে পৌঁছানোর জন্য আপনাকে একটি ওরাকল নেট উপনাম তৈরি করতে হবে:

PROD_DR=
        (DESCRIPTION=
                (ADDRESS=(PROTOCOL=tcp)(HOST= standbydb.ras.com)(PORT=1523))
            (CONNECT_DATA=
                (SID=PROD_DR)
            )
        )

লক্ষ্য ডেটাবেস শুরু করুন

তারপর আপনাকে একটি nomount এ লক্ষ্য ডাটাবেস শুরু করতে হবে নিম্নলিখিত কমান্ডগুলি ব্যবহার করে রাজ্য করুন:

sqlplus "/ as sysdba"

startup nomount

SQL> show parameter db_name
NAME                                 TYPE        VALUE
------------------------------------ ----------- -------------
db_name                              string      TEST

SQL> show parameter uniq
NAME                                 TYPE        VALUE
------------------------------------ ----------- -------------
db_unique_name                       string      TEST

সংযোগ পরীক্ষা করতে RMAN ব্যবহার করুন

টার্গেট ডাটাবেস nomount এ চলার পর রাজ্য, সংযোগ পরীক্ষা করতে RMAN ব্যবহার করুন:

[oracle@TEST.ras.com dbs]$ rman target sys@PROD_DR  auxiliary sys@TEST

Recovery Manager: Release 12.1.0.2.0 - Production on Thu Jun 09 03:25:22 2020

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

target database Password:
connected to target database: PROD_DR (DBID=4252464621)
auxiliary database Password:
connected to auxiliary database: TEST (not mounted)

ডাটাবেস পুনরুদ্ধার করুন এবং নকল করুন

স্ট্যান্ডবাই ডাটাবেসকে টার্গেট ডাটাবেসে পুনরুদ্ধার এবং নকল করতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন:

RMAN> target sys@PROD_DR  auxiliary sys@TEST
RMAN> duplicate target database to TEST from active database nofilenamecheck;

ডুপ্লিকেট কমান্ড সম্পূর্ণ হওয়ার পরে, আপনাকে স্ট্যান্ডবাইডেটাবেস পুনরায় চালু করতে হবে এবং নিম্নলিখিত কমান্ডগুলি ব্যবহার করে পুনরুদ্ধার পুনরায় সক্ষম করতে হবে:

PROD_DR> shut immediate
PROD_DR> startup mount;
PROD_DR> alter database recover managed standby database disconnect from session;

টার্গেট ডাটাবেসের স্থিতি পরীক্ষা করুন

লক্ষ্য ডাটাবেসের স্থিতি পরীক্ষা করতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন:

[oracle@TEST.ras.com dbs]$ sqlplus "/ as sysdba"

SQL*Plus: Release 12.1.0.2.0 Production on Tue Jun 9 05:15:53 2020

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


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
and Real Application Testing options

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

NAME      OPEN_MODE            LOG_MODE     DATABASE_ROLE
--------- -------------------- ------------ ----------------
TEST      READ WRITE           ARCHIVELOG   PRIMARY

উপসংহার

এই ব্লগে, আমরা কোনো ফিজিক্যাল ব্যাকআপ না নিয়েই ফিজিক্যাল স্ট্যান্ডবাই থেকে একটি ডাটাবেস ডুপ্লিকেট করেছি এবং আমরা টার্গেট ডাটাবেসটিকে স্ট্যান্ডবাই ডাটাবেসে সরবরাহ করা সর্বশেষ আর্কাইভে পুনরুদ্ধার করেছি।

রেফারেন্স

  • একটি নতুন ক্লোন তৈরি করতে স্ট্যান্ডবাই থেকে RMAN ডুপ্লিকেট করা হচ্ছে (Doc ID 1665784.1)

ডেটাবেস সম্পর্কে আরও জানুন।

কোনো মন্তব্য করতে বা প্রশ্ন জিজ্ঞাসা করতে প্রতিক্রিয়া ট্যাব ব্যবহার করুন। এছাড়াও আপনিসেলস চ্যাট এ ক্লিক করতে পারেন৷ এখন চ্যাট করতে এবং কথোপকথন শুরু করতে।


  1. কাউচবেসের ভূমিকা- এনগেজমেন্ট ডাটাবেস

  2. RMAN এর সাথে একটি স্ট্যান্ডবাই ডাটাবেস এগিয়ে দিন

  3. Oracle SE v2.0 দুর্যোগ পুনরুদ্ধারের জন্য Dbvisit স্ট্যান্ডবাই

  4. ইনক্রিমেন্টাল ব্যাকআপ ব্যবহার করে একটি ফিজিক্যাল স্ট্যান্ডবাই ডাটাবেস পুনরুদ্ধার করুন