{"id":22721,"date":"2023-02-21T00:47:23","date_gmt":"2023-02-20T23:47:23","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=22721"},"modified":"2023-02-21T08:16:18","modified_gmt":"2023-02-21T07:16:18","slug":"oda-and-dbvisit-create-a-snapshot-database","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/","title":{"rendered":"ODA and Dbvisit : Create a SNAPSHOT database?"},"content":{"rendered":"\n<p>As you might know, Oracle doesn&#8217;t offer any disaster recovery solution for their Oracle Standard Edition databases. Oracle Data Guard ensures high availability, data protection and disaster recovery for Oracle Enterprise Edition database only. Dbvisit is a great disaster recovery solution for Oracle Standard Edition database, and you might be aware that you can now, as well, create snapshot databases on your Oracle Standby database through dbvisit. We have Reporting Replicas option and Test\/Dev Snapshots option. This will give you the advantage to take benefit from your standby database for reporting application or for development team to have a refreshed production database to develop and test new application version. The only problem is that one of the requirement of Dbvisit snapshot is to have the Oracle database files stored on LVM file system. On an ODA the database files will be stored either directly on the ASM or on an ACFS file system. Thus this Dbvisit snapshot feature is for the moment not compatible with the ODA. What a pity! But ACFS is a layer up to the ASM having one advantage to be able to create snapshots. Let&#8217;s have a try then and have our Dbvisit standby Oracle database be used for an ACFS snapshot database!<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">My lab environment<\/h2>\n\n\n\n<p>For my test I will be using 2 ODAs :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>an ODA X5-2-HA with 2 nodes dbioda02 and dbioda03<\/li>\n\n\n\n<li>an ODA X8-2M with node named dbi-oda-x8<\/li>\n<\/ul>\n\n\n\n<p>My primary database is an ACFS database:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">[root@dbioda02 ~]# odacli list-databases | grep -i dbisnap\n89b41944-b246-4afe-ad54-ec9fb3c235fd     DBISNAP    SI       19.15.0.0.220419     false      OLTP     odb1     ACFS       CONFIGURED   5b0b3769-0c05-435e-b7c8-5d295c05934c\n<\/pre>\n<\/br>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,14,17,29]\">oracle@dbioda02:\/home\/oracle\/ [DBISNAP] DBISNAP\n********* dbi services Ltd. *********\nSTATUS                 : OPEN\nDB_UNIQUE_NAME         : DBISNAP\nOPEN_MODE              : READ WRITE\nLOG_MODE               : ARCHIVELOG\nDATABASE_ROLE          : PRIMARY\nFLASHBACK_ON           : NO\nFORCE_LOGGING          : YES\nVERSION                : 19.15.0.0.0\nCDB Enabled            : NO\n*************************************\n\noracle@dbioda02:\/home\/oracle\/ [DBISNAP] df -h | grep -i dbisnap\n\/dev\/asm\/datdbisnap-70              100G  2.6G   98G   3% \/u02\/app\/oracle\/oradata\/DBISNAP\n\noracle@dbioda02:\/home\/oracle\/ [DBISNAP] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Fri Feb 17 16:51:26 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production\nVersion 19.15.0.0.0\n\nSQL&gt; show parameter db_create_file_dest\n\nNAME                                 TYPE        VALUE\n------------------------------------ ----------- --------------------------------\ndb_create_file_dest                  string      \/u02\/app\/oracle\/oradata\/DBISNAP\/\n<\/pre>\n<\/br>\n\n\n\n<p>My standby database is an ACFS database as well:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">[root@dbi-oda-x8 ~]# odacli list-databases | grep -i dbisnap\nf55ef7bc-219f-4abd-b942-0a82c9078718     DBISNAP    SI       19.15.0.0.220419     false      OLTP     odb1     ACFS       CONFIGURED   c2e153aa-88af-45ce-98e1-2dab638453d2\n<\/pre>\n<\/br>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,14,18,30]\">oracle@dbi-oda-x8:\/home\/oracle\/ [DBISNAP] DBISNAP\n********* dbi services Ltd. *********\nSTATUS                 : MOUNTED\nDB_UNIQUE_NAME         : DBISNAP_STD\nOPEN_MODE              : MOUNTED\nLOG_MODE               : ARCHIVELOG\nDATABASE_ROLE          : PHYSICAL STANDBY\nFLASHBACK_ON           : NO\nFORCE_LOGGING          : YES\nVERSION                : 19.15.0.0.0\nCDB Enabled            : NO\n*************************************\n\noracle@dbi-oda-x8:\/home\/oracle\/ [DBISNAP] df -h | grep -i dbisnap\n\/dev\/asm\/datdbisnap-265             100G  2.4G   98G   3% \/u02\/app\/oracle\/oradata\/DBISNAP_STD\n\/dev\/asm\/rdodbisnap-233              14G  3.4G   11G  25% \/u04\/app\/oracle\/redo\/DBISNAP\n\noracle@dbi-oda-x8:\/home\/oracle\/ [DBISNAP] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Fri Feb 17 16:54:02 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production\nVersion 19.15.0.0.0\n\nSQL&gt; show parameter db_create_file_dest\n\nNAME\t\t\t\t                         TYPE\t       VALUE\n------------------------------------ ----------- ------------------------------------\ndb_create_file_dest\t\t               string\t     \/u02\/app\/oracle\/oradata\/DBISNAP_STD\/\n<\/pre>\n<\/br>\n\n\n\n<p>And both are synchronized with dbvisit StandbyMP software:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">oracle@dbioda02:\/home\/oracle\/ [DBISNAP] \/u01\/app\/dbvisit\/standbymp\/oracle\/dbvctl -d DBISNAP -i\n=============================================================\nDbvisit Standby Database Technology (11.2.1_0_g8a57214c) (pid 9914)\ndbvctl started on dbvisitvippri: Fri Feb 17 16:58:26 2023\n=============================================================\n\nDbvisit Standby log gap report for DBISNAP at 202302171658:\n-------------------------------------------------------------\nDescription       | SCN          | Timestamp\n-------------------------------------------------------------\nSource              2554367        2023-02-17:16:58:27 +01:00\nDestination         2552652        2023-02-17:16:04:04 +01:00\n\nStandby database time lag (DAYS-HH:MI:SS): +00:54:23\n\nReport for Thread 1\n-------------------\nSOURCE\nCurrent Sequence 8\nLast Archived Sequence 7\nLast Transferred Sequence 7\nLast Transferred Timestamp 2023-02-17 16:04:32\n\nDESTINATION\nNext Required Recovery Sequence 8\n\nTransfer Log Gap 0\nApply Log Gap 0\n\n=============================================================\ndbvctl ended on dbvisitvippri: Fri Feb 17 16:58:29 2023\n=============================================================\n<\/pre>\n<\/br>\n\n\n\n<h2 class=\"wp-block-heading\">Create the instance for the snapshot database<\/h2>\n\n\n\n<p>We first need to create an instance for the future snapshot database. Let&#8217;s call it SNAPDEV. On the ODA this will be performed with odacli create-database command and option -io (instance only). Neither database file nor srvctl service will be created at this point.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,16]\">[root@dbi-oda-x8 ~]# odacli create-database -u SNAPDEV -n SNAPDEV -dh c2e153aa-88af-45ce-98e1-2dab638453d2 -r ACFS -io\nEnter SYS and SYSTEM user password:\nRetype SYS and SYSTEM user password:\n\nJob details\n----------------------------------------------------------------\n                     ID:  2945b560-bd6b-40f0-b045-155fe7e3331f\n            Description:  Database service creation with db name: SNAPDEV\n                 Status:  Created\n                Created:  February 17, 2023 5:07:39 PM CET\n                Message:\n\nTask Name                                Start Time                          End Time                            Status\n---------------------------------------- ----------------------------------- ----------------------------------- ----------\n\n[root@dbi-oda-x8 ~]# odacli describe-job -i 2945b560-bd6b-40f0-b045-155fe7e3331f\n\nJob details\n----------------------------------------------------------------\n                     ID:  2945b560-bd6b-40f0-b045-155fe7e3331f\n            Description:  Database service creation with db name: SNAPDEV\n                 Status:  Success\n                Created:  February 17, 2023 5:07:39 PM CET\n                Message:\n\nTask Name                                Start Time                          End Time                            Status\n---------------------------------------- ----------------------------------- ----------------------------------- ----------\nSetting up ssh equivalance               February 17, 2023 5:07:43 PM CET    February 17, 2023 5:07:44 PM CET    Success\nSetting up ssh equivalance               February 17, 2023 5:07:44 PM CET    February 17, 2023 5:07:44 PM CET    Success\nCreating volume datSNAPDEV               February 17, 2023 5:07:44 PM CET    February 17, 2023 5:07:58 PM CET    Success\nCreating volume rdoSNAPDEV               February 17, 2023 5:07:58 PM CET    February 17, 2023 5:08:11 PM CET    Success\nCreating ACFS filesystem for DATA        February 17, 2023 5:08:11 PM CET    February 17, 2023 5:08:25 PM CET    Success\nCreating ACFS filesystem for RECO        February 17, 2023 5:08:25 PM CET    February 17, 2023 5:08:38 PM CET    Success\nDatabase Service creation                February 17, 2023 5:08:38 PM CET    February 17, 2023 5:08:56 PM CET    Success\nAuxiliary Instance Creation              February 17, 2023 5:08:38 PM CET    February 17, 2023 5:08:50 PM CET    Success\nPassword file creation                   February 17, 2023 5:08:50 PM CET    February 17, 2023 5:08:52 PM CET    Success\nArchive and redo log location creation   February 17, 2023 5:08:52 PM CET    February 17, 2023 5:08:52 PM CET    Success\nUpdating the Database version            February 17, 2023 5:08:52 PM CET    February 17, 2023 5:08:55 PM CET    Success\n<\/pre>\n<\/br>\n\n\n\n<p>I have currently only an instance, and my database is started in nomount:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">oracle@dbi-oda-x8:\/u01\/app\/odaorabase\/oracle\/local\/dmk\/etc\/ [SNAPDEV] SNAPDEV\n********* dbi services Ltd. *********\nSTATUS                 : STARTED\nVERSION                : 19.15.0.0.0\n*************************************\n<\/pre>\n<\/br>\n\n\n\n<h2 class=\"wp-block-heading\">Get and adapt spfile from the standby database<\/h2>\n\n\n\n<p>Create a pfile from spfile on the standby database:<\/p>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,19,31]\">\noracle@dbi-oda-x8:~\/ [DBISNAP] DBISNAP\n\n ***********************************\n INSTANCE_NAME   : DBISNAP\n DB_NAME         : DBISNAP\n DB_UNIQUE_NAME  : DBISNAP_STD\n STATUS          : MOUNTED\n LOG_MODE        : ARCHIVELOG\n USERS\/SESSIONS  : 2\/3\n DATABASE_ROLE   : PHYSICAL STANDBY\n FLASHBACK_ON    : NO\n FORCE_LOGGING   : YES\n VERSION         : 19.0.0.0.0\n CDB_ENABLED     : NO\n ***********************************\n Statustime: 2023-02-20 14:40:10\n\noracle@dbi-oda-x8:~\/ [DBISNAP] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Mon Feb 20 14:40:12 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production\nVersion 19.15.0.0.0\n\nSQL&gt; create pfile='\/u01\/app\/odaorabase\/oracle\/admin\/DBISNAP\/pfile\/initDBISNAP_STBY.ora' from spfile;\n\nFile created.\n<\/pre>\n<\/br>\n\n\n\n<p>Copy the created instance parameter file to the snapshot database admin directory:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@dbi-oda-x8:\/u01\/app\/odaorabase\/oracle\/admin\/DBISNAP\/pfile\/ [DBISNAP] cp -p initDBISNAP_STBY.ora \/u01\/app\/odaorabase\/oracle\/admin\/SNAPDEV\/pfile\/initSNAPDEV.ora\n<\/pre>\n<\/br>\n\n\n\n<p>Update new instance parameter file for snapshot database:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Remove all dynamique value DBISNAP.__parameter<\/li>\n\n\n\n<li>Adapt *.audit_file_dest with snapshot database entry<\/li>\n\n\n\n<li>Remove *.control_files<\/li>\n\n\n\n<li>Update OMF parameter db_create_file_dest and db_create_online_log_dest_X with snapshot database ACFS file system. Any new datafile value for snapshot database should go in its file system<\/li>\n\n\n\n<li>Update *.db_name and *.db_unique_name with snapshot database name<\/li>\n\n\n\n<li>Update *.dispatchers with snapshot database name<\/li>\n\n\n\n<li>Update any log_archive_dest_X with snapshot database name if needed<\/li>\n<\/ul>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3]\">\noracle@dbi-oda-x8:\/u01\/app\/odaorabase\/oracle\/admin\/SNAPDEV\/pfile\/ [SNAPDEV] vi initSNAPDEV.ora\n\noracle@dbi-oda-x8:\/u01\/app\/odaorabase\/oracle\/admin\/SNAPDEV\/pfile\/ [SNAPDEV] diff initSNAPDEV.ora \/u01\/app\/odaorabase\/oracle\/admin\/DBISNAP\/pfile\/initDBISNAP_STBY.ora\n0a1,13\n&gt; DBISNAP.__data_transfer_cache_size=0\n&gt; DBISNAP.__db_cache_size=3238002688\n&gt; DBISNAP.__inmemory_ext_roarea=0\n&gt; DBISNAP.__inmemory_ext_rwarea=0\n&gt; DBISNAP.__java_pool_size=33554432\n&gt; DBISNAP.__large_pool_size=16777216\n&gt; DBISNAP.__oracle_base='\/u01\/app\/odaorabase\/oracle'#ORACLE_BASE set from environment\n&gt; DBISNAP.__pga_aggregate_target=2147483648\n&gt; DBISNAP.__sga_target=4294967296\n&gt; DBISNAP.__shared_io_pool_size=134217728\n&gt; DBISNAP.__shared_pool_size=805306368\n&gt; DBISNAP.__streams_pool_size=0\n&gt; DBISNAP.__unified_pga_pool_size=0\n8c21\n *.audit_file_dest='\/u01\/app\/odaorabase\/oracle\/admin\/DBISNAP_STD\/adump'\n11a25\n&gt; *.control_files='\/u04\/app\/oracle\/redo\/DBISNAP\/DBISNAP_STD\/controlfile\/o1_mf_kyz55gxr_.ctl'#Restore Controlfile\n17,18c31,32\n&lt; *.db_create_file_dest=&#039;\/u02\/app\/oracle\/oradata\/SNAPDEV\/&#039;\n *.db_create_file_dest='\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/'\n&gt; *.db_create_online_log_dest_1='\/u04\/app\/oracle\/redo\/DBISNAP\/'\n22c36\n *.db_name='DBISNAP'\n25c39\n *.db_unique_name='DBISNAP_STD'\n27c41\n *.dispatchers='(PROTOCOL=TCP) (SERVICE=DBISNAPXDB)'\n34,35c48,49\n&lt; *.log_archive_dest_1=&#039;LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) MAX_FAILURE=1 REOPEN=5 DB_UNIQUE_NAME=SNAPDEV ALTERNATE=log_archive_dest_10&#039;\n *.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) MAX_FAILURE=1 REOPEN=5 DB_UNIQUE_NAME=DBISNAP_STD ALTERNATE=log_archive_dest_10'\n&gt; *.log_archive_dest_10='LOCATION=\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/arc10 VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=DBISNAP_STD ALTERNATE=log_archive_dest_1'\n<\/pre>\n<\/br>\n\n\n\n<p>Create spfile from the new pfile.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,13]\">\noracle@dbi-oda-x8:\/u01\/app\/odaorabase\/oracle\/admin\/SNAPDEV\/pfile\/ [SNAPDEV] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Mon Feb 20 15:16:50 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production\nVersion 19.15.0.0.0\n\nSQL&gt; create spfile='\/u02\/app\/oracle\/oradata\/SNAPDEV\/dbs\/spfileSNAPDEV.ora' from pfile='\/u01\/app\/odaorabase\/oracle\/admin\/SNAPDEV\/pfile\/initSNAPDEV.ora';\n\nFile created.\n<\/pre>\n<\/br>\n\n\n\n<p>Create init file in $ORACLE_HOME\/dbs folder.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3,5]\">\noracle@dbi-oda-x8:~\/ [SNAPDEV] cd $ORACLE_HOME\/dbs\n\noracle@dbi-oda-x8:\/u01\/app\/odaorahome\/oracle\/product\/19.0.0.0\/dbhome_8\/dbs\/ [SNAPDEV] vi initSNAPDEV.ora\n\noracle@dbi-oda-x8:\/u01\/app\/odaorahome\/oracle\/product\/19.0.0.0\/dbhome_8\/dbs\/ [SNAPDEV] cat initSNAPDEV.ora\nspfile='\/u02\/app\/oracle\/oradata\/SNAPDEV\/dbs\/spfileSNAPDEV.ora'\n<\/pre>\n<\/br>\n\n\n\n<p>Create missing folders.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,2,3,4]\">\noracle@dbi-oda-x8:~\/ [SNAPDEV] mkdir \/u01\/app\/odaorabase\/oracle\/admin\/SNAPDEV\/adump\noracle@dbi-oda-x8:~\/ [SNAPDEV] mkdir \/u02\/app\/oracle\/oradata\/SNAPDEV\/arc10\noracle@dbi-oda-x8:~\/ [SNAPDEV] mkdir -p \/u04\/app\/oracle\/redo\/SNAPDEV\/SNAPDEV\/onlinelog\noracle@dbi-oda-x8:~\/ [SNAPDEV] mkdir -p \/u02\/app\/oracle\/oradata\/SNAPDEV\/SNAPDEV\/datafile\/\n<\/pre>\n<\/br>\n\n\n\n<p>Startup the snapshot database in nomount with the spfile.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,7]\">\nSQL&gt; shutdown immediate\nORA-01507: database not mounted\n\n\nORACLE instance shut down.\n\nSQL&gt; startup nomount\nORACLE instance started.\n\nTotal System Global Area 4294963264 bytes\nFixed Size\t\t    8904768 bytes\nVariable Size\t\t  805306368 bytes\nDatabase Buffers\t 3439329280 bytes\nRedo Buffers\t\t   41422848 bytes\n<\/pre>\n<\/br>\n\n\n\n<h2 class=\"wp-block-heading\">Copy password file<\/h2>\n\n\n\n<p>We will also copy the password file from the standby database to the new snapshot database. Remember that both databases are using same ORACLE_HOME.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,2]\">\noracle@dbi-oda-x8:\/u01\/app\/odaorahome\/oracle\/product\/19.0.0.0\/dbhome_8\/dbs\/ [SNAPDEV] mv orapwSNAPDEV orapwSNAPDEV.old\noracle@dbi-oda-x8:\/u01\/app\/odaorahome\/oracle\/product\/19.0.0.0\/dbhome_8\/dbs\/ [SNAPDEV] cp -p \/u02\/app\/oracle\/oradata\/DBISNAP_STD\/dbs\/orapwDBISNAP .\/orapwSNAPDEV\n<\/pre>\n<\/br>\n\n\n\n<h2 class=\"wp-block-heading\">Stop dbvisit on standby side<\/h2>\n\n\n\n<p>We will stop dbvisit on the standby side and ensure there is no modification done on the database. So no new archive log transaction will be executed on the standby database.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Start the standby database in read only<\/h2>\n\n\n\n<p>We will start the standby database in read only to ensure the database is in a coherent status and perform next steps in that mode.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,18,30]\">\noracle@dbi-oda-x8:~\/ [rdbms1900] DBISNAP\n\n ***********************************\n INSTANCE_NAME   : DBISNAP\n DB_NAME         : DBISNAP\n DB_UNIQUE_NAME  : DBISNAP_STD\n STATUS          : MOUNTED\n LOG_MODE        : ARCHIVELOG\n USERS\/SESSIONS  : 2\/3\n DATABASE_ROLE   : PHYSICAL STANDBY\n FLASHBACK_ON    : NO\n FORCE_LOGGING   : YES\n VERSION         : 19.0.0.0.0\n CDB_ENABLED     : NO\n ***********************************\n Statustime: 2023-02-20 16:39:44\n\noracle@dbi-oda-x8:~\/ [DBISNAP] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Mon Feb 20 16:39:46 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production\nVersion 19.15.0.0.0\n\nSQL&gt; alter database open read only;\n\nDatabase altered.\n<\/pre>\n<\/br>\n\n\n\n<p>And get the current SCN from the standby database.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; select current_scn from v$database;\n\nCURRENT_SCN\n-----------\n    2552651\n<\/pre>\n<\/br>\n\n\n\n<p>We will use this SCN when recovering the snapshot database. We can get the timestamp running following query on the primary database.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; select SCN_TO_TIMESTAMP(2552651) from dual;\n\nSCN_TO_TIMESTAMP(2552651)\n---------------------------------------------------------------------------\n17-FEB-23 04.04.03.000000000 PM\n<\/pre>\n<\/br>\n\n\n\n<h2 class=\"wp-block-heading\">Create control file for the snapshot database<\/h2>\n\n\n\n<p>Generate a backup control file from the standby database.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,18,30]\">\noracle@dbi-oda-x8:~\/ [DBISNAP] DBISNAP\n\n ***********************************\n INSTANCE_NAME   : DBISNAP\n DB_NAME         : DBISNAP\n DB_UNIQUE_NAME  : DBISNAP_STD\n STATUS          : OPEN READ ONLY\n LOG_MODE        : ARCHIVELOG\n USERS\/SESSIONS  : 2\/4\n DATABASE_ROLE   : PHYSICAL STANDBY\n FLASHBACK_ON    : NO\n FORCE_LOGGING   : YES\n VERSION         : 19.0.0.0.0\n CDB_ENABLED     : NO\n ***********************************\n Statustime: 2023-02-20 16:40:47\n\noracle@dbi-oda-x8:~\/ [DBISNAP] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Mon Feb 20 16:40:49 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production\nVersion 19.15.0.0.0\n\nSQL&gt; alter database backup controlfile to trace as '\/u01\/app\/odaorabase\/oracle\/admin\/SNAPDEV\/create\/ctl_SNAPDEV.sql';\n\nDatabase altered.\n<\/pre>\n<\/br>\n\n\n\n<p>Update the generated control file as following:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CREATE CONTROLFILE line should be : <code>CREATE CONTROLFILE SET DATABASE \"SNAPDEV\" RESETLOGS FORCE LOGGING ARCHIVELOG<\/code><\/li>\n\n\n\n<li>Online log file should go in the new snapshot database redo log folder. Update <code>\/u04\/app\/oracle\/redo\/DBISNAP\/DBISNAP_STD\/onlinelog\/<\/code> with <code>\/u04\/app\/oracle\/redo\/SNAPDEV\/SNAPDEV\/onlinelog\/<\/code><\/li>\n\n\n\n<li>The path to the datafiles should now be the one from the future snapshot files. We will name the ACFS snapshot SNAPDEV. The path <code>\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/DBISNAP_STD\/datafile\/<\/code> needs then to be updated with <code>\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/.ACFS\/snaps\/SNAPDEV\/DBISNAP_STD\/datafile\/<\/code><\/li>\n\n\n\n<li>Temp file should go in the new snapshot database datafile folder. Update <code>\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/DBISNAP_STD\/datafile\/<\/code> with <code>\/u02\/app\/oracle\/oradata\/SNAPDEV\/SNAPDEV\/datafile\/<\/code><\/li>\n<\/ul>\n\n\n\n<p>The updated control file script is the following one:<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@dbi-oda-x8:\/u01\/app\/odaorabase\/oracle\/admin\/SNAPDEV\/create\/ [DBISNAP] cat ctl_SNAPDEV.sql\nSTARTUP NOMOUNT\nCREATE CONTROLFILE SET DATABASE \"SNAPDEV\" RESETLOGS FORCE LOGGING ARCHIVELOG\n    MAXLOGFILES 16\n    MAXLOGMEMBERS 3\n    MAXDATAFILES 100\n    MAXINSTANCES 8\n    MAXLOGHISTORY 292\nLOGFILE\n  GROUP 1 '\/u04\/app\/oracle\/redo\/SNAPDEV\/SNAPDEV\/onlinelog\/o1_mf_1_kyz56td7_.log'  SIZE 1024M BLOCKSIZE 512,\n  GROUP 2 '\/u04\/app\/oracle\/redo\/SNAPDEV\/SNAPDEV\/onlinelog\/o1_mf_2_kyz56tt9_.log'  SIZE 1024M BLOCKSIZE 512,\n  GROUP 3 '\/u04\/app\/oracle\/redo\/SNAPDEV\/SNAPDEV\/onlinelog\/o1_mf_3_kyz56vb6_.log'  SIZE 1024M BLOCKSIZE 512\n-- STANDBY LOGFILE\nDATAFILE\n  '\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/.ACFS\/snaps\/SNAPDEV\/DBISNAP_STD\/datafile\/o1_mf_system_kyz55qq0_.dbf',\n  '\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/.ACFS\/snaps\/SNAPDEV\/DBISNAP_STD\/datafile\/o1_mf_sysaux_kyz56798_.dbf',\n  '\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/.ACFS\/snaps\/SNAPDEV\/DBISNAP_STD\/datafile\/o1_mf_undotbs1_kyz56gr5_.dbf',\n  '\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/.ACFS\/snaps\/SNAPDEV\/DBISNAP_STD\/datafile\/o1_mf_users_kyz56j5h_.dbf'\nCHARACTER SET AL32UTF8\n;\n\n-- Configure RMAN configuration record 2\n-- Replace * with correct password.\nVARIABLE RECNO NUMBER;\nEXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CHANNEL','DEVICE TYPE DISK MAXPIECESIZE 2 G');\n-- Commands to re-create incarnation table\n-- Below log names MUST be changed to existing filenames on\n-- disk. Any one log file from each branch can be used to\n-- re-create incarnation records.\n-- ALTER DATABASE REGISTER LOGFILE '\/u03\/app\/oracle\/fast_recovery_area\/SNAPDEV\/archivelog\/2023_02_20\/o1_mf_1_1_%u_.arc';\n-- ALTER DATABASE REGISTER LOGFILE '\/u03\/app\/oracle\/fast_recovery_area\/SNAPDEV\/archivelog\/2023_02_20\/o1_mf_1_1_%u_.arc';\n-- Recovery is required if any of the datafiles are restored backups,\n-- or if the last shutdown was not normal or immediate.\nRECOVER DATABASE USING BACKUP CONTROLFILE\n\n-- Database can now be opened zeroing the online logs.\nALTER DATABASE OPEN RESETLOGS;\n\n-- Commands to add tempfiles to temporary tablespaces.\n-- Online tempfiles have complete space information.\n-- Other tempfiles may require adjustment.\nALTER TABLESPACE TEMP ADD TEMPFILE '\/u02\/app\/oracle\/oradata\/SNAPDEV\/SNAPDEV\/datafile\/o1_mf_temp_kz72fnos_.tmp'\n     SIZE 250609664  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;\n-- End of tempfile additions.\n--\n-- Registering these archivelog entries will help rebuild\n-- information displayed by the V$ARCHIVED_LOG fixed view\n<\/pre>\n<\/br>\n\n\n\n<h2 class=\"wp-block-heading\">Create the ACFS snapshot<\/h2>\n\n\n\n<p>We will now create the ACFS snapshot. We do not need to put the database in begin\/end backup knowing the database is opened read only. There is no modification done on any data file.<\/p>\n\n\n\n<p>There is no snapshot for the moment.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@dbi-oda-x8:\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/.ACFS\/snaps\/ [DBISNAP] ls -al\ntotal 64\ndrwxr-xr-x 2 root root 32768 Feb 20 16:06 .\ndrwxr-xr-x 5 root root 32768 Feb 17 15:25 ..\n<\/pre>\n<\/br>\n\n\n\n<p>We will connect as grid user and create the snapshot named SNAPDEV. Here we will create a snapshot as read\/write (option -w).<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[grid@dbi-oda-x8 ~]$ acfsutil snap create -w SNAPDEV \/u02\/app\/oracle\/oradata\/DBISNAP_STD\nacfsutil snap create: Snapshot operation is complete.\n<\/pre>\n<\/br>\n\n\n\n<p>We now have a snapshot named SNAPDEV.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@dbi-oda-x8:\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/.ACFS\/snaps\/ [DBISNAP] ls -al\ntotal 96\ndrwxr-xr-x 3 root   root     32768 Feb 20 17:09 .\ndrwxr-xr-x 5 root   root     32768 Feb 17 15:25 ..\ndrwxr-x--- 7 oracle oinstall 32768 Feb 20 17:09 SNAPDEV\n<\/pre>\n<\/br>\n\n\n\n<p>We have our snapshot files.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@dbi-oda-x8:\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/.ACFS\/snaps\/ [DBISNAP] ls -ltrh SNAPDEV\/DBISNAP_STD\/datafile\/\ntotal 2.2G\n-rw-r----- 1 oracle asmadmin  240M Feb 20 15:54 o1_mf_temp_kz72fnos_.tmp\n-rw-r----- 1 oracle asmadmin 1001M Feb 20 16:39 o1_mf_system_kyz55qq0_.dbf\n-rw-r----- 1 oracle asmadmin  871M Feb 20 16:39 o1_mf_sysaux_kyz56798_.dbf\n-rw-r----- 1 oracle asmadmin  5.1M Feb 20 16:39 o1_mf_users_kyz56j5h_.dbf\n-rw-r----- 1 oracle asmadmin   96M Feb 20 16:39 o1_mf_undotbs1_kyz56gr5_.dbf\n<\/pre>\n<\/br>\n\n\n\n<h2 class=\"wp-block-heading\">Recover the snapshot database<\/h2>\n\n\n\n<p>We will use the updated control file script content to recover the snapshot database.<\/p>\n\n\n\n<p>We will first create the control file.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,15,27]\">\noracle@dbi-oda-x8:~\/ [SNAPDEV] SNAPDEV\n\n *****************************\n INSTANCE_NAME   : SNAPDEV\n DB_NAME         : SNAPDEV\n DB_UNIQUE_NAME  : SNAPDEV\n STATUS          : STARTED\n USERS\/SESSIONS  : 1\/2\n VERSION         : 19.0.0.0.0\n NLS_LANG        : n\/a\n CDB_ENABLED     : n\/a\n *****************************\n Statustime: 2023-02-20 18:40:28\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Mon Feb 20 18:40:30 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production\nVersion 19.15.0.0.0\n\nSQL&gt; CREATE CONTROLFILE SET DATABASE \"SNAPDEV\" RESETLOGS FORCE LOGGING ARCHIVELOG\n    MAXLOGFILES 16\n    MAXLOGMEMBERS 3\n    MAXDATAFILES 100\n    MAXINSTANCES 8\n    MAXLOGHISTORY 292\nLOGFILE\n  GROUP 1 '\/u04\/app\/oracle\/redo\/SNAPDEV\/SNAPDEV\/onlinelog\/o1_mf_1_kyz56td7_.log'  SIZE 1024M BLOCKSIZE 512,\n  GROUP 2 '\/u04\/app\/oracle\/redo\/SNAPDEV\/SNAPDEV\/onlinelog\/o1_mf_2_kyz56tt9_.log'  SIZE 1024M BLOCKSIZE 512,\n  GROUP 3 '\/u04\/app\/oracle\/redo\/SNAPDEV\/SNAPDEV\/onlinelog\/o1_mf_3_kyz56vb6_.log'  SIZE 1024M BLOCKSIZE 512\n-- STANDBY LOGFILE\nDATAFILE\n  '\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/.ACFS\/snaps\/SNAPDEV\/DBISNAP_STD\/datafile\/o1_mf_system_kyz55qq0_.dbf',\n  '\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/.ACFS\/snaps\/SNAPDEV\/DBISNAP_STD\/datafile\/o1_mf_sysaux_kyz56798_.dbf',\n  '\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/.ACFS\/snaps\/SNAPDEV\/DBISNAP_STD\/datafile\/o1_mf_undotbs1_kyz56gr5_.dbf',\n  '\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/.ACFS\/snaps\/SNAPDEV\/DBISNAP_STD\/datafile\/o1_mf_users_kyz56j5h_.dbf'\nCHARACTER SET AL32UTF8\n 18  ;\n\nControl file created.\n<\/pre>\n<\/br>\n\n\n\n<p>The database is now in mount status, and we can recover it. We will use the timestamp of the SCN taken at the beginning on the standby database and go one second beyond.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,18,25,29,30,31,32]\">\noracle@dbi-oda-x8:~\/ [SNAPDEV] SNAPDEV\n\n *****************************\n INSTANCE_NAME   : SNAPDEV\n DB_NAME         : SNAPDEV\n DB_UNIQUE_NAME  : SNAPDEV\n STATUS          : MOUNTED\n LOG_MODE        : ARCHIVELOG\n USERS\/SESSIONS  : 1\/2\n DATABASE_ROLE   : PRIMARY\n FLASHBACK_ON    : NO\n FORCE_LOGGING   : YES\n VERSION         : 19.0.0.0.0\n CDB_ENABLED     : NO\n *****************************\n Statustime: 2023-02-20 19:02:04\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] rmanh\n\nRecovery Manager: Release 19.0.0.0.0 - Production on Mon Feb 20 19:02:46 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2019, Oracle and\/or its affiliates.  All rights reserved.\n\nRMAN&gt; connect target\n\nconnected to target database: SNAPDEV (DBID=2598626450, not open)\n\nRMAN&gt; run {\n2&gt; SET UNTIL TIME \"to_date('17\/02\/2023 16:04:04','DD\/MM\/YYYY HH24:MI:SS')\";\n3&gt; recover database;\n4&gt; }\n\nexecuting command: SET until clause\n\nStarting recover at 20-FEB-2023 19:04:08\nusing channel ORA_DISK_1\n\nstarting media recovery\nmedia recovery complete, elapsed time: 00:00:00\n\nFinished recover at 20-FEB-2023 19:04:14\n\nRMAN&gt;\n<\/pre>\n<\/br>\n\n\n\n<h2 class=\"wp-block-heading\">Start the snapshot database<\/h2>\n\n\n\n<p>We can now start the snapshot database in open read\/write.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,18,30]\">\noracle@dbi-oda-x8:~\/ [SNAPDEV] SNAPDEV\n\n *****************************\n INSTANCE_NAME   : SNAPDEV\n DB_NAME         : SNAPDEV\n DB_UNIQUE_NAME  : SNAPDEV\n STATUS          : MOUNTED\n LOG_MODE        : ARCHIVELOG\n USERS\/SESSIONS  : 1\/2\n DATABASE_ROLE   : PRIMARY\n FLASHBACK_ON    : NO\n FORCE_LOGGING   : YES\n VERSION         : 19.0.0.0.0\n CDB_ENABLED     : NO\n *****************************\n Statustime: 2023-02-20 19:11:22\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Mon Feb 20 19:11:31 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production\nVersion 19.15.0.0.0\n\nSQL&gt; ALTER DATABASE OPEN RESETLOGS;\n\nDatabase altered.\n<\/pre>\n<\/br>\n\n\n\n<p>The snapshot database is opened read\/write!<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@dbi-oda-x8:~\/ [SNAPDEV] SNAPDEV\n\n **********************************\n INSTANCE_NAME   : SNAPDEV\n DB_NAME         : SNAPDEV\n DB_UNIQUE_NAME  : SNAPDEV\n STATUS          : OPEN READ WRITE\n LOG_MODE        : ARCHIVELOG\n USERS\/SESSIONS  : 1\/2\n DATABASE_ROLE   : PRIMARY\n FLASHBACK_ON    : NO\n FORCE_LOGGING   : YES\n VERSION         : 19.0.0.0.0\n CDB_ENABLED     : NO\n **********************************\n Statustime: 2023-02-20 19:11:58\n<\/pre>\n<\/br>\n\n\n\n<p>We can add a tempfile to the temp tablespace.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,5,9]\">\nSQL&gt; select FILE_NAME, TABLESPACE_NAME from dba_temp_files;\n\nno rows selected\n\nSQL&gt; ALTER TABLESPACE TEMP ADD TEMPFILE SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 2G;\n\nTablespace altered.\n\nSQL&gt; select FILE_NAME, TABLESPACE_NAME from dba_temp_files;\n\nFILE_NAME                                                                        TABLESPACE_NAME\n-------------------------------------------------------------------------------- ------------------------------\n\/u02\/app\/oracle\/oradata\/SNAPDEV\/SNAPDEV\/datafile\/o1_mf_temp_kz8vltyf_.tmp        TEMP\n<\/pre>\n<\/br>\n\n\n\n<h2 class=\"wp-block-heading\">Start Dbvisit synchronisation again<\/h2>\n\n\n\n<p>We can put the standby database back to the MOUNT mode and synchronise it again with the primary database.<\/p>\n\n\n\n<p>Starting the standby database back in mount mode will make the new archive log application possible again.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,13,18]\">\noracle@dbi-oda-x8:~\/ [DBISNAP] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Mon Feb 20 19:15:53 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production\nVersion 19.15.0.0.0\n\nSQL&gt; shutdown immediate\nDatabase closed.\nDatabase dismounted.\nORACLE instance shut down.\n\nSQL&gt; startup mount\nORACLE instance started.\n\nTotal System Global Area 4288245824 bytes\nFixed Size\t\t    8904768 bytes\nVariable Size\t\t  872415232 bytes\nDatabase Buffers\t 3372220416 bytes\nRedo Buffers\t\t   34705408 bytes\nDatabase mounted.\n<\/pre>\n<\/br>\n\n\n\n<p>Create a few archive logs from the primary side.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,14,26,30,34]\">\noracle@dbioda02:\/home\/oracle\/ [DBISNAP] DBISNAP\n********* dbi services Ltd. *********\nSTATUS                 : OPEN\nDB_UNIQUE_NAME         : DBISNAP\nOPEN_MODE              : READ WRITE\nLOG_MODE               : ARCHIVELOG\nDATABASE_ROLE          : PRIMARY\nFLASHBACK_ON           : NO\nFORCE_LOGGING          : YES\nVERSION                : 19.15.0.0.0\nCDB Enabled            : NO\n*************************************\n\noracle@dbioda02:\/home\/oracle\/ [DBISNAP] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Mon Feb 20 19:19:17 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production\nVersion 19.15.0.0.0\n\nSQL&gt; alter system archive log current;\n\nSystem altered.\n\nSQL&gt; \/\n\nSystem altered.\n\nSQL&gt; \/\n\nSystem altered.\n\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>Send the new archive logs to the standby side.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@dbioda02:\/home\/oracle\/ [DBISNAP] \/u01\/app\/dbvisit\/standbymp\/oracle\/dbvctl -d DBISNAP\n=============================================================\nDbvisit Standby Database Technology (11.2.1_0_g8a57214c) (pid 71904)\ndbvctl started on dbvisitvippri: Mon Feb 20 19:20:42 2023\n=============================================================\n\n&gt;&gt;&gt; Obtaining information from standby database (RUN_INSPECT=Y)... done\n    Thread: 1 Archive log gap: 5. Transfer log gap: 5\n&gt;&gt;&gt; Sending heartbeat message... skipped\n&gt;&gt;&gt; Transferring Log file(s) from DBISNAP on dbvisitvippri to dbi-oda-x8:\n\n    thread 1 sequence 8 (o1_mf_1_8_kz7bc755_.arc)... done\n    thread 1 sequence 9 (o1_mf_1_9_kz7cjk2d_.arc)... done\n    thread 1 sequence 10 (o1_mf_1_10_kz7gfgjt_.arc)... done\n    thread 1 sequence 11 (o1_mf_1_11_kz7gfk1r_.arc)... done\n    thread 1 sequence 12 (o1_mf_1_12_kz7gfnop_.arc)... done\n\n=============================================================\ndbvctl ended on dbvisitvippri: Mon Feb 20 19:20:54 2023\n=============================================================\n<\/pre>\n<\/br>\n\n\n\n<p>Apply the last archive logs on the standby side.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@dbi-oda-x8:~\/ [DBISNAP] \/u01\/app\/dbvisit\/standbymp\/oracle\/dbvctl -d DBISNAP\n=============================================================\nDbvisit Standby Database Technology (11.2.1_0_g8a57214c) (pid 85336)\ndbvctl started on dbi-oda-x8: Mon Feb 20 19:21:54 2023\n=============================================================\n\n&gt;&gt;&gt; Sending heartbeat message... skipped\n\n&gt;&gt;&gt; Applying Log file(s) from dbvisitvippri to DBISNAP on dbi-oda-x8:\n\n    thread 1 sequence 8 (1_8_1129044758.arc)... done\n    thread 1 sequence 9 (1_9_1129044758.arc)... done\n    thread 1 sequence 10 (1_10_1129044758.arc)... done\n    thread 1 sequence 11 (1_11_1129044758.arc)... done\n    thread 1 sequence 12 (1_12_1129044758.arc)... done\n    Last applied log(s):\n    thread 1 sequence 12\n\n    Next SCN required for recovery 2797961 generated at 2023-02-20:19:19:32 +01:00.\n    Next required log thread 1 sequence 13\n\n=============================================================\ndbvctl ended on dbi-oda-x8: Mon Feb 20 19:22:15 2023\n=============================================================\n<\/pre>\n<\/br>\n\n\n\n<p>And both primary and standby database are in sync.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@dbioda02:\/home\/oracle\/ [DBISNAP] \/u01\/app\/dbvisit\/standbymp\/oracle\/dbvctl -d DBISNAP -i\n=============================================================\nDbvisit Standby Database Technology (11.2.1_0_g8a57214c) (pid 81759)\ndbvctl started on dbvisitvippri: Mon Feb 20 19:25:43 2023\n=============================================================\n\nDbvisit Standby log gap report for DBISNAP at 202302201925:\n-------------------------------------------------------------\nDescription       | SCN          | Timestamp\n-------------------------------------------------------------\nSource              2798296        2023-02-20:19:25:43 +01:00\nDestination         2798274        2023-02-20:19:25:24 +01:00\n\nStandby database time lag (DAYS-HH:MI:SS): +00:00:19\n\nReport for Thread 1\n-------------------\nSOURCE\nCurrent Sequence 19\nLast Archived Sequence 18\nLast Transferred Sequence 18\nLast Transferred Timestamp 2023-02-20 19:25:29\n\nDESTINATION\nNext Required Recovery Sequence 19\n\nTransfer Log Gap 0\nApply Log Gap 0\n\n=============================================================\ndbvctl ended on dbvisitvippri: Mon Feb 20 19:25:45 2023\n=============================================================\n<\/pre>\n<\/br>\n\n\n\n<h2 class=\"wp-block-heading\">Using the snapshot database<\/h2>\n\n\n\n<p>A development team has now the ability to use a database in read\/write mode, which has just been refreshed from the production database, using the dbvisit standby database.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,18,30,34,38,42]\">\noracle@dbi-oda-x8:~\/ [DBISNAP] SNAPDEV\n\n **********************************\n INSTANCE_NAME   : SNAPDEV\n DB_NAME         : SNAPDEV\n DB_UNIQUE_NAME  : SNAPDEV\n STATUS          : OPEN READ WRITE\n LOG_MODE        : ARCHIVELOG\n USERS\/SESSIONS  : 1\/2\n DATABASE_ROLE   : PRIMARY\n FLASHBACK_ON    : NO\n FORCE_LOGGING   : YES\n VERSION         : 19.0.0.0.0\n CDB_ENABLED     : NO\n **********************************\n Statustime: 2023-02-20 19:29:06\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Mon Feb 20 19:29:07 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production\nVersion 19.15.0.0.0\n\nSQL&gt; create table TESTSNAP (id integer, name varchar(10)) tablespace USERS;\n\nTable created.\n\nSQL&gt; insert into TESTSNAP values (0, 'SCOTT');\n\n1 row created.\n\nSQL&gt; commit;\n\nCommit complete.\n\nSQL&gt; select * from TESTSNAP;\n\n\tID NAME\n---------- ----------\n\t 0 SCOTT\n\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>And of course this table is not existing neither on the standby database, nor on the primary database.<\/p>\n\n\n\n<p>Standby database.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,18,30,34]\">\noracle@dbi-oda-x8:~\/ [SNAPDEV] DBISNAP\n\n ***********************************\n INSTANCE_NAME   : DBISNAP\n DB_NAME         : DBISNAP\n DB_UNIQUE_NAME  : DBISNAP_STD\n STATUS          : MOUNTED\n LOG_MODE        : ARCHIVELOG\n USERS\/SESSIONS  : 2\/3\n DATABASE_ROLE   : PHYSICAL STANDBY\n FLASHBACK_ON    : NO\n FORCE_LOGGING   : YES\n VERSION         : 19.0.0.0.0\n CDB_ENABLED     : NO\n ***********************************\n Statustime: 2023-02-20 19:32:09\n\noracle@dbi-oda-x8:~\/ [DBISNAP] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Mon Feb 20 19:32:11 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production\nVersion 19.15.0.0.0\n\nSQL&gt; alter database open read only;\n\nDatabase altered.\n\nSQL&gt; select * from TESTSNAP;\nselect * from TESTSNAP\n              *\nERROR at line 1:\nORA-00942: table or view does not exist\n\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>Primary database.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,14,26]\">\noracle@dbioda02:\/home\/oracle\/ [DBISNAP] DBISNAP\n********* dbi services Ltd. *********\nSTATUS                 : OPEN\nDB_UNIQUE_NAME         : DBISNAP\nOPEN_MODE              : READ WRITE\nLOG_MODE               : ARCHIVELOG\nDATABASE_ROLE          : PRIMARY\nFLASHBACK_ON           : NO\nFORCE_LOGGING          : YES\nVERSION                : 19.15.0.0.0\nCDB Enabled            : NO\n*************************************\n\noracle@dbioda02:\/home\/oracle\/ [DBISNAP] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Mon Feb 20 19:33:34 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production\nVersion 19.15.0.0.0\n\nSQL&gt; select * from TESTSNAP;\nselect * from TESTSNAP\n              *\nERROR at line 1:\nORA-00942: table or view does not exist\n<\/pre>\n<\/br>\n\n\n\n<h2 class=\"wp-block-heading\">Oracle restart database service<\/h2>\n\n\n\n<p>We can create an Oracle restart service for the snapshot database.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3]\">\noracle@dbi-oda-x8:~\/ [SNAPDEV] srvctl add database -db SNAPDEV -oraclehome \/u01\/app\/odaorahome\/oracle\/product\/19.0.0.0\/dbhome_8 -instance SNAPDEV -spfile \/u02\/app\/oracle\/oradata\/SNAPDEV\/dbs\/spfileSNAPDEV.ora -pwfile \/u01\/app\/odaorahome\/oracle\/product\/19.0.0.0\/dbhome_8\/dbs\/orapwSNAPDEV -role primary -startoption OPEN -stopoption IMMEDIATE -dbname SNAPDEV -domain dbi-lab.ch -node dbi-oda-x8 -dbtype SINGLE -diskgroup \"DATA\" -acfspath \"\/u01\/app\/odaorahome,\/u02\/app\/oracle\/oradata\/SNAPDEV,\/u04\/app\/oracle\/redo\/SNAPDEV,\/u03\/app\/oracle\/,\/u01\/app\/odaorabase0\"\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] srvctl config database -d SNAPDEV\nDatabase unique name: SNAPDEV\nDatabase name: SNAPDEV\nOracle home: \/u01\/app\/odaorahome\/oracle\/product\/19.0.0.0\/dbhome_8\nOracle user: oracle\nSpfile: \/u02\/app\/oracle\/oradata\/SNAPDEV\/dbs\/spfileSNAPDEV.ora\nPassword file: \/u01\/app\/odaorahome\/oracle\/product\/19.0.0.0\/dbhome_8\/dbs\/orapwSNAPDEV\nDomain: dbi-lab.ch\nStart options: open\nStop options: immediate\nDatabase role: PRIMARY\nManagement policy: AUTOMATIC\nServer pools:\nDisk Groups: DATA\nMount point paths: \/u01\/app\/odaorahome,\/u02\/app\/oracle\/oradata\/SNAPDEV,\/u04\/app\/oracle\/redo\/SNAPDEV\/,\/u03\/app\/oracle\/,\/u01\/app\/odaorabase0\nServices:\nType: SINGLE\nOSDBA group: dba\nOSOPER group: dbaoper\nDatabase instance: SNAPDEV\nConfigured nodes: dbi-oda-x8\nCSS critical: no\nCPU count: 0\nMemory target: 0\nMaximum memory: 0\nDefault network number for database services:\nDatabase is administrator managed\n<\/pre>\n<\/br>\n\n\n\n<p>Let&#8217;s test it stopping and starting the snapshot database.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,4,20,22,25,32,34,37]\">\noracle@dbi-oda-x8:~\/ [SNAPDEV] srvctl status database -d SNAPDEV\nInstance SNAPDEV is running on node dbi-oda-x8\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] SNAPDEV\n **********************************\n INSTANCE_NAME   : SNAPDEV\n DB_NAME         : SNAPDEV\n DB_UNIQUE_NAME  : SNAPDEV\n STATUS          : OPEN READ WRITE\n LOG_MODE        : ARCHIVELOG\n USERS\/SESSIONS  : 2\/5\n DATABASE_ROLE   : PRIMARY\n FLASHBACK_ON    : NO\n FORCE_LOGGING   : YES\n VERSION         : 19.0.0.0.0\n CDB_ENABLED     : NO\n **********************************\n Statustime: 2023-02-20 23:16:35\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] srvctl stop database -d SNAPDEV\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] srvctl status database -d SNAPDEV\nInstance SNAPDEV is not running on node dbi-oda-x8\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] SNAPDEV\n **************************\n INSTANCE_NAME   : SNAPDEV\n STATUS          : DOWN\n **************************\n Statustime: 2023-02-20 23:17:13\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] srvctl start database -d SNAPDEV\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] srvctl status database -d SNAPDEV\nInstance SNAPDEV is running on node dbi-oda-x8\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] SNAPDEV\n **********************************\n INSTANCE_NAME   : SNAPDEV\n DB_NAME         : SNAPDEV\n DB_UNIQUE_NAME  : SNAPDEV\n STATUS          : OPEN READ WRITE\n LOG_MODE        : ARCHIVELOG\n USERS\/SESSIONS  : 2\/6\n DATABASE_ROLE   : PRIMARY\n FLASHBACK_ON    : NO\n FORCE_LOGGING   : YES\n VERSION         : 19.0.0.0.0\n CDB_ENABLED     : NO\n **********************************\n Statustime: 2023-02-20 23:17:48\n<\/pre>\n<\/br>\n\n\n\n<h2 class=\"wp-block-heading\">Easily refresh the snapshot database<\/h2>\n\n\n\n<p>Let&#8217;s see how easy it is to refresh the snapshot database.<\/p>\n\n\n\n<h4>Create some new data on the primary database<\/h4>\n\n\n\n<p>Let&#8217;s create a table with rows on the primary database.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,14,26,30,34,38]\">\noracle@dbioda02:\/home\/oracle\/ [DBISNAP] DBISNAP\n********* dbi services Ltd. *********\nSTATUS                 : OPEN\nDB_UNIQUE_NAME         : DBISNAP\nOPEN_MODE              : READ WRITE\nLOG_MODE               : ARCHIVELOG\nDATABASE_ROLE          : PRIMARY\nFLASHBACK_ON           : NO\nFORCE_LOGGING          : YES\nVERSION                : 19.15.0.0.0\nCDB Enabled            : NO\n*************************************\n\noracle@dbioda02:\/home\/oracle\/ [DBISNAP] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Mon Feb 20 19:33:34 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production\nVersion 19.15.0.0.0\n\nSQL&gt; create table REFRESHED (id integer not null PRIMARY KEY,operation varchar(30),refresh_date date) tablespace USERS;\n\nTable created.\n\nSQL&gt; insert into REFRESHED values (0,'Primary data inserted',sysdate);\n\n1 row created.\n\nSQL&gt; commit;\n\nCommit complete.\n\nSQL&gt; select * from REFRESHED;\n\n\tID OPERATION\t\t\t  REFRESH_DATE\n---------- ------------------------------ -----------------------------\n\t 0 Primary data inserted\t  20-FEB-2023 23:30:06\n\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>Archive the current online log.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; alter system archive log current;\n\nSystem altered.\n<\/pre>\n<\/br>\n\n\n\n<p>Synchronise primary and standby databases with dbvisit.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,17]\">\noracle@dbioda02:\/home\/oracle\/ [DBISNAP] \/u01\/app\/dbvisit\/standbymp\/oracle\/dbvctl -d DBISNAP\n=============================================================\nDbvisit Standby Database Technology (11.2.1_0_g8a57214c) (pid 14841)\ndbvctl started on dbvisitvippri: Mon Feb 20 23:32:54 2023\n=============================================================\n\n&gt;&gt;&gt; Obtaining information from standby database (RUN_INSPECT=Y)... done\n    Thread: 1 Archive log gap: 1. Transfer log gap: 1\n&gt;&gt;&gt; Transferring Log file(s) from DBISNAP on dbvisitvippri to dbi-oda-x8:\n\n    thread 1 sequence 19 (o1_mf_1_19_kz7x6cxh_.arc)... done\n\n=============================================================\ndbvctl ended on dbvisitvippri: Mon Feb 20 23:32:59 2023\n=============================================================\n\noracle@dbi-oda-x8:~\/ [DBISNAP] \/u01\/app\/dbvisit\/standbymp\/oracle\/dbvctl -d DBISNAP\n=============================================================\nDbvisit Standby Database Technology (11.2.1_0_g8a57214c) (pid 69578)\ndbvctl started on dbi-oda-x8: Mon Feb 20 23:33:45 2023\n=============================================================\n\n\n&gt;&gt;&gt; Applying Log file(s) from dbvisitvippri to DBISNAP on dbi-oda-x8:\n\n    thread 1 sequence 19 (1_19_1129044758.arc)... done\n    Last applied log(s):\n    thread 1 sequence 19\n\n    Next SCN required for recovery 2816170 generated at 2023-02-20:23:31:39 +01:00.\n    Next required log thread 1 sequence 20\n\n=============================================================\ndbvctl ended on dbi-oda-x8: Mon Feb 20 23:33:51 2023\n=============================================================\n<\/pre>\n<\/br>\n\n\n\n<p>The information can be seen on the standby database after been opened in read\/only. Remember that as long as the standby database is opened read only, dbvisit can not apply any new change vector through the archive log files.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3,5,17,21]\">\noracle@dbi-oda-x8:~\/ [DBISNAP] srvctl stop database -d DBISNAP_STD\n\noracle@dbi-oda-x8:~\/ [DBISNAP] srvctl start database -d DBISNAP_STD -startoption \"READ ONLY\"\n\noracle@dbi-oda-x8:~\/ [DBISNAP] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Mon Feb 20 23:36:47 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production\nVersion 19.15.0.0.0\n\nSQL&gt; alter session set nls_date_format='DD\/MM\/YYYY HH24:MI:SS';\n\nSession altered.\n\nSQL&gt; select * from REFRESHED;\n\n\tID OPERATION\t\t\t  REFRESH_DATE\n---------- ------------------------------ -------------------\n\t 0 Primary data inserted\t  20\/02\/2023 23:30:06\n\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>Of course this information can not been seen on the current snapshot database. It is an old snapshot which has not been refreshed so far.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,17,29]\">\noracle@dbi-oda-x8:~\/ [DBISNAP] SNAPDEV\n **********************************\n INSTANCE_NAME   : SNAPDEV\n DB_NAME         : SNAPDEV\n DB_UNIQUE_NAME  : SNAPDEV\n STATUS          : OPEN READ WRITE\n LOG_MODE        : ARCHIVELOG\n USERS\/SESSIONS  : 2\/7\n DATABASE_ROLE   : PRIMARY\n FLASHBACK_ON    : NO\n FORCE_LOGGING   : YES\n VERSION         : 19.0.0.0.0\n CDB_ENABLED     : NO\n **********************************\n Statustime: 2023-02-20 23:39:30\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Mon Feb 20 23:39:31 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production\nVersion 19.15.0.0.0\n\nSQL&gt; select * from REFRESHED;\nselect * from REFRESHED\n              *\nERROR at line 1:\nORA-00942: table or view does not exist\n\n\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>Let&#8217;s refresh it!<\/p>\n\n\n\n<h4>Refresh snapshot database<\/h4>\n\n\n\n<p>Stop the snapshot database.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\noracle@dbi-oda-x8:~\/ [SNAPDEV] srvctl stop database -d SNAPDEV\n<\/pre>\n<\/br>\n\n\n\n<p>Remove the ACFS Snapshot with grid user.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[grid@dbi-oda-x8 ~]$ acfsutil snap delete SNAPDEV \/u02\/app\/oracle\/oradata\/DBISNAP_STD\nacfsutil snap delete: Snapshot operation is complete.\n<\/pre>\n<\/br>\n\n\n\n<p>We can also cleanup any datafile or tempfile present in the SNAPDEV datafile folder : <code>\/u02\/app\/oracle\/oradata\/SNAPDEV\/SNAPDEV\/datafile<\/code>.<\/p>\n\n\n\n<p>The standby database is already in read\/only. Take the SCN from the standby database.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; select current_scn from v$database;\n\nCURRENT_SCN\n-----------\n    2816169\n<\/pre>\n<\/br>\n\n\n\n<p>Using the primary, let&#8217;s get its timestamp.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nSQL&gt; select SCN_TO_TIMESTAMP(2816169) from dual;\n\nSCN_TO_TIMESTAMP(2816169)\n---------------------------------------------------------------------------\n20-FEB-23 11.31.37.000000000 PM\n<\/pre>\n<\/br>\n\n\n\n<p>Take a new ACFS snapshot with grid user on the standby database.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\n[grid@dbi-oda-x8 ~]$ acfsutil snap create -w SNAPDEV \/u02\/app\/oracle\/oradata\/DBISNAP_STD\nacfsutil snap create: Snapshot operation is complete.\n<\/pre>\n<\/br>\n\n\n\n<p>The structure of the database did not change, thus we don&#8217;t need to create a new control file backup. We can use the previous one and the same commands as during the initial creation.<\/p>\n\n\n\n<p>Start the snapshot database in NOMOUNT mode.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,8,17]\">\noracle@dbi-oda-x8:~\/ [rdbms1900] SNAPDEV\n **************************\n INSTANCE_NAME   : SNAPDEV\n STATUS          : DOWN\n **************************\n Statustime: 2023-02-20 23:51:10\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Mon Feb 20 23:51:11 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\nConnected to an idle instance.\n\nSQL&gt; startup nomount\nORACLE instance started.\n\nTotal System Global Area 4288245824 bytes\nFixed Size\t\t    8904768 bytes\nVariable Size\t\t  838860800 bytes\nDatabase Buffers\t 3405774848 bytes\nRedo Buffers\t\t   34705408 bytes\n<\/pre>\n<\/br>\n\n\n\n<p>Remove the control file and restore it.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,14,26,28]\">\noracle@dbi-oda-x8:~\/ [SNAPDEV] SNAPDEV\n *****************************\n INSTANCE_NAME   : SNAPDEV\n DB_NAME         : SNAPDEV\n DB_UNIQUE_NAME  : SNAPDEV\n STATUS          : STARTED\n USERS\/SESSIONS  : 2\/3\n VERSION         : 19.0.0.0.0\n NLS_LANG        : n\/a\n CDB_ENABLED     : n\/a\n *****************************\n Statustime: 2023-02-20 23:53:17\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Mon Feb 20 23:53:19 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production\nVersion 19.15.0.0.0\n\nSQL&gt; !rm -f \/u04\/app\/oracle\/redo\/SNAPDEV\/SNAPDEV\/controlfile\/o1_mf_kz7d6mx1_.ctl\n\nSQL&gt; CREATE CONTROLFILE SET DATABASE \"SNAPDEV\" RESETLOGS FORCE LOGGING ARCHIVELOG\n    MAXLOGFILES 16\n    MAXLOGMEMBERS 3\n    MAXDATAFILES 100\n    MAXINSTANCES 8\n    MAXLOGHISTORY 292\nLOGFILE\n  GROUP 1 '\/u04\/app\/oracle\/redo\/SNAPDEV\/SNAPDEV\/onlinelog\/o1_mf_1_kyz56td7_.log'  SIZE 1024M BLOCKSIZE 512,\n  GROUP 2 '\/u04\/app\/oracle\/redo\/SNAPDEV\/SNAPDEV\/onlinelog\/o1_mf_2_kyz56tt9_.log'  SIZE 1024M BLOCKSIZE 512,\n  GROUP 3 '\/u04\/app\/oracle\/redo\/SNAPDEV\/SNAPDEV\/onlinelog\/o1_mf_3_kyz56vb6_.log'  SIZE 1024M BLOCKSIZE 512\n-- STANDBY LOGFILE\nDATAFILE\n  '\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/.ACFS\/snaps\/SNAPDEV\/DBISNAP_STD\/datafile\/o1_mf_system_kyz55qq0_.dbf',\n  '\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/.ACFS\/snaps\/SNAPDEV\/DBISNAP_STD\/datafile\/o1_mf_sysaux_kyz56798_.dbf',\n  '\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/.ACFS\/snaps\/SNAPDEV\/DBISNAP_STD\/datafile\/o1_mf_undotbs1_kyz56gr5_.dbf',\n  '\/u02\/app\/oracle\/oradata\/DBISNAP_STD\/.ACFS\/snaps\/SNAPDEV\/DBISNAP_STD\/datafile\/o1_mf_users_kyz56j5h_.dbf'\nCHARACTER SET AL32UTF8\n 18  ;\n\nControl file created.\n\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>The snapshot database is now in MOUNT mode. We will recover the database using the timestamp of the SCN taken previously on the standby database and go that time 2 seconds beyond, so until 20-FEB-23 23.31.39, otherwise I was getting RMAN-06555: datafile 1 must be restored from backup created before 20-FEB-2023 23:31:38 error. If needed, we could also, I guess, use the archive log files from the primary database during the recovering process.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,17,24,28,29,30,31]\">\noracle@dbi-oda-x8:~\/ [SNAPDEV] SNAPDEV\n *****************************\n INSTANCE_NAME   : SNAPDEV\n DB_NAME         : SNAPDEV\n DB_UNIQUE_NAME  : SNAPDEV\n STATUS          : MOUNTED\n LOG_MODE        : ARCHIVELOG\n USERS\/SESSIONS  : 2\/3\n DATABASE_ROLE   : PRIMARY\n FLASHBACK_ON    : NO\n FORCE_LOGGING   : YES\n VERSION         : 19.0.0.0.0\n CDB_ENABLED     : NO\n *****************************\n Statustime: 2023-02-20 23:57:49\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] rmanh\n\nRecovery Manager: Release 19.0.0.0.0 - Production on Mon Feb 20 23:57:53 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2019, Oracle and\/or its affiliates.  All rights reserved.\n\nRMAN&gt; connect target\n\nconnected to target database: SNAPDEV (DBID=2598626450, not open)\n\nRMAN&gt; run {\n2&gt; SET UNTIL TIME \"to_date('20\/02\/2023 23:31:39','DD\/MM\/YYYY HH24:MI:SS')\";\n3&gt; recover database;\n4&gt; }\n\nexecuting command: SET until clause\n\nStarting recover at 21-FEB-2023 00:04:34\nusing channel ORA_DISK_1\n\nstarting media recovery\nmedia recovery complete, elapsed time: 00:00:01\n\nFinished recover at 21-FEB-2023 00:04:40\n\nRMAN&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>We can start the database resetting the redo logs.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1]\">\nRMAN&gt; SQL \"ALTER DATABASE OPEN RESETLOGS\";\n\nsql statement: ALTER DATABASE OPEN RESETLOGS\n<\/pre>\n<\/br>\n\n\n\n<p>And finally add the tempfile to the temp tablespace.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,5,9]\">\nSQL&gt; select FILE_NAME, TABLESPACE_NAME from dba_temp_files;\n\nno rows selected\n\nSQL&gt; ALTER TABLESPACE TEMP ADD TEMPFILE SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 2G;\n\nTablespace altered.\n\nSQL&gt; select FILE_NAME, TABLESPACE_NAME from dba_temp_files;\n\nFILE_NAME                                                                        TABLESPACE_NAME\n-------------------------------------------------------------------------------- ------------------------------\n\/u02\/app\/oracle\/oradata\/SNAPDEV\/SNAPDEV\/datafile\/o1_mf_temp_kz8vltyf_.tmp        TEMP\n<\/pre>\n<\/br>\n\n\n\n<h4>Checking the refreshed snapshot database<\/h4>\n\n\n\n<p>Let&#8217;s check if we have our REFRESHED table on the snapshot database.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,17,29,33]\">\noracle@dbi-oda-x8:~\/ [SNAPDEV] SNAPDEV\n **********************************\n INSTANCE_NAME   : SNAPDEV\n DB_NAME         : SNAPDEV\n DB_UNIQUE_NAME  : SNAPDEV\n STATUS          : OPEN READ WRITE\n LOG_MODE        : ARCHIVELOG\n USERS\/SESSIONS  : 2\/4\n DATABASE_ROLE   : PRIMARY\n FLASHBACK_ON    : NO\n FORCE_LOGGING   : YES\n VERSION         : 19.0.0.0.0\n CDB_ENABLED     : NO\n **********************************\n Statustime: 2023-02-21 00:12:05\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] sqh\n\nSQL*Plus: Release 19.0.0.0.0 - Production on Tue Feb 21 00:12:09 2023\nVersion 19.15.0.0.0\n\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\n\n\nConnected to:\nOracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production\nVersion 19.15.0.0.0\n\nSQL&gt; alter session set nls_date_format='DD\/MM\/YYYY HH24:MI:SS';\n\nSession altered.\n\nSQL&gt; select * from REFRESHED;\n\n\tID OPERATION\t\t\t  REFRESH_DATE\n---------- ------------------------------ -------------------\n\t 0 Primary data inserted\t  20\/02\/2023 23:30:06\n\nSQL&gt;\n<\/pre>\n<\/br>\n\n\n\n<p>Yes WE HAVE!!!<\/p>\n\n\n\n<p>Do not forget to put the standby database back in the MOUNT status, so the standby can be kept in sync with the primary database through Dbvisit again.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3,5]\">\noracle@dbi-oda-x8:~\/ [DBISNAP] srvctl stop database -d DBISNAP_STD\n\noracle@dbi-oda-x8:~\/ [DBISNAP] srvctl start database -d DBISNAP_STD\n\noracle@dbi-oda-x8:~\/ [DBISNAP] DBISNAP\n ***********************************\n INSTANCE_NAME   : DBISNAP\n DB_NAME         : DBISNAP\n DB_UNIQUE_NAME  : DBISNAP_STD\n STATUS          : MOUNTED\n LOG_MODE        : ARCHIVELOG\n USERS\/SESSIONS  : 2\/4\n DATABASE_ROLE   : PHYSICAL STANDBY\n FLASHBACK_ON    : NO\n FORCE_LOGGING   : YES\n VERSION         : 19.0.0.0.0\n CDB_ENABLED     : NO\n ***********************************\n Statustime: 2023-02-21 00:20:40\n<\/pre>\n<\/br>\n\n\n\n<p>We will restart the snapshot database with srvctl as well.<\/p>\n\n\n\n<pre class=\"brush: sql; gutter: true; first-line: 1; highlight: [1,3,6,8]\">\noracle@dbi-oda-x8:~\/ [SNAPDEV] srvctl stop database -d SNAPDEV\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] srvctl status database -d SNAPDEV\nInstance SNAPDEV is not running on node dbi-oda-x8\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] srvctl start database -d SNAPDEV\n\noracle@dbi-oda-x8:~\/ [SNAPDEV] srvctl status database -d SNAPDEV\nInstance SNAPDEV is running on node dbi-oda-x8\n<\/pre>\n<\/br>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p>Of course creating a snapshot on the standby database is not as user friendly and easy as doing it with Dbvisit Central Console, but this solution is quite a good alternative to take benefit of the dbvisit standby database on the ODA. Remember, Dbvisit snapshot solution is today only possible with LVM, thus not compatible with the ODA. With ACFS snapshot we have a good solution to also use snapshot on Dbvisit standby database.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As you might know, Oracle doesn&#8217;t offer any disaster recovery solution for their Oracle Standard Edition databases. Oracle Data Guard ensures high availability, data protection and disaster recovery for Oracle Enterprise Edition database only. Dbvisit is a great disaster recovery solution for Oracle Standard Edition database, and you might be aware that you can now, [&hellip;]<\/p>\n","protected":false},"author":48,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[59],"tags":[372,2567,96,2853,237],"type_dbi":[],"class_list":["post-22721","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-dbvisit","tag-oda-2","tag-oracle","tag-oracle-se","tag-snapshot"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>ODA and Dbvisit : Create a SNAPSHOT database? - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ODA and Dbvisit : Create a SNAPSHOT database?\" \/>\n<meta property=\"og:description\" content=\"As you might know, Oracle doesn&#8217;t offer any disaster recovery solution for their Oracle Standard Edition databases. Oracle Data Guard ensures high availability, data protection and disaster recovery for Oracle Enterprise Edition database only. Dbvisit is a great disaster recovery solution for Oracle Standard Edition database, and you might be aware that you can now, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-20T23:47:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-21T07:16:18+00:00\" \/>\n<meta name=\"author\" content=\"Marc Wagner\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marc Wagner\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"23 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/\"},\"author\":{\"name\":\"Marc Wagner\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628\"},\"headline\":\"ODA and Dbvisit : Create a SNAPSHOT database?\",\"datePublished\":\"2023-02-20T23:47:23+00:00\",\"dateModified\":\"2023-02-21T07:16:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/\"},\"wordCount\":1476,\"commentCount\":1,\"keywords\":[\"dbvisit\",\"oda\",\"Oracle\",\"Oracle SE\",\"Snapshot\"],\"articleSection\":[\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/\",\"name\":\"ODA and Dbvisit : Create a SNAPSHOT database? - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2023-02-20T23:47:23+00:00\",\"dateModified\":\"2023-02-21T07:16:18+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ODA and Dbvisit : Create a SNAPSHOT database?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628\",\"name\":\"Marc Wagner\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g\",\"caption\":\"Marc Wagner\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/marc-wagner\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"ODA and Dbvisit : Create a SNAPSHOT database? - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/","og_locale":"en_US","og_type":"article","og_title":"ODA and Dbvisit : Create a SNAPSHOT database?","og_description":"As you might know, Oracle doesn&#8217;t offer any disaster recovery solution for their Oracle Standard Edition databases. Oracle Data Guard ensures high availability, data protection and disaster recovery for Oracle Enterprise Edition database only. Dbvisit is a great disaster recovery solution for Oracle Standard Edition database, and you might be aware that you can now, [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/","og_site_name":"dbi Blog","article_published_time":"2023-02-20T23:47:23+00:00","article_modified_time":"2023-02-21T07:16:18+00:00","author":"Marc Wagner","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Marc Wagner","Est. reading time":"23 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/"},"author":{"name":"Marc Wagner","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628"},"headline":"ODA and Dbvisit : Create a SNAPSHOT database?","datePublished":"2023-02-20T23:47:23+00:00","dateModified":"2023-02-21T07:16:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/"},"wordCount":1476,"commentCount":1,"keywords":["dbvisit","oda","Oracle","Oracle SE","Snapshot"],"articleSection":["Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/","url":"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/","name":"ODA and Dbvisit : Create a SNAPSHOT database? - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2023-02-20T23:47:23+00:00","dateModified":"2023-02-21T07:16:18+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/oda-and-dbvisit-create-a-snapshot-database\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"ODA and Dbvisit : Create a SNAPSHOT database?"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/225d9884b8467ead9a872823acb14628","name":"Marc Wagner","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a873cc6e7fbdbbcbdbcaf5dbded14ad9a77b2ec2c3e03b4d724ed33d35d5f328?s=96&d=mm&r=g","caption":"Marc Wagner"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/marc-wagner\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/22721","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/48"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=22721"}],"version-history":[{"count":72,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/22721\/revisions"}],"predecessor-version":[{"id":22842,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/22721\/revisions\/22842"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=22721"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=22721"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=22721"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=22721"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}