<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-5532576497841734741</atom:id><lastBuildDate>Sun, 25 May 2025 12:53:21 +0000</lastBuildDate><category>ASM</category><category>Dataguard</category><category>Oracle RAC</category><category>RAC</category><category>PDB</category><category>Clusterware</category><category>ACFS</category><category>RMAN</category><category>TNSNAMES.ORA</category><category>Oracle 12c</category><category>dbca</category><category>oracle</category><category>CDB</category><category>COW</category><category>CPU</category><category>DBA</category><category>DGMGRL</category><category>Far Sync</category><category>HA</category><category>Oracle 11gR2</category><category>Oracle RDBMS</category><category>PL/SQL</category><category>STANDBY DATABASE</category><category>Tuning</category><category>clone</category><category>database</category><category>dbconsole</category><category>goldengate</category><category>listener.ora</category><category>performance</category><category>security</category><category>sql</category><category>10.2.0.5</category><category>11gR2</category><category>; Oracle RAC</category><category>APEX</category><category>ASM;  Oracle HA</category><category>CMU</category><category>Centalized TNSNAMES</category><category>Central Managed Users</category><category>Converte database</category><category>Copy On Write</category><category>DATA GUARD</category><category>EBR</category><category>Kerberos</category><category>MAA</category><category>Multitenant</category><category>OCR</category><category>ORACLE_HOME</category><category>Oracale VM VirtualBox Virtual Disk</category><category>Oracle Services</category><category>Oracle Upgrade 11gR2</category><category>Physical standby</category><category>Pluggable database</category><category>Real Application Cluster</category><category>SEPS</category><category>SSO</category><category>STANDBY</category><category>SUN ZFS Oracle Data Storage Duplicate</category><category>Secure External Password Store</category><category>Shared file system</category><category>Single Node</category><category>Tables</category><category>ZDLRA</category><category>ZFSSA</category><category>ZFSSAADM</category><category>caging</category><category>copy</category><category>orapwd utility</category><category>password file</category><category>read Only</category><category>remote</category><category>sqlplus</category><category>startup</category><category>xTTS</category><category>$(orabase)</category><category>$(orabaseconfig)</category><category>$(orabasehome)</category><category>(DIY)</category><category>(NFILES)</category><category>10.2.0.4</category><category>12.1.0.2 Cloning</category><category>12c</category><category>18c</category><category>; Oracle RAC; Clusterware; 11gR1  ; SCAN; listener; GRID;</category><category>ADR</category><category>ADVM</category><category>ARCHIVELOG DELETION POLICY TO</category><category>ASM ASMlib Linux Multipath</category><category>ASM Automatic Storage Manager</category><category>ASM instance</category><category>ASMADMIN</category><category>ASMCA</category><category>ASMCMD</category><category>ASMDBA</category><category>ASMGID</category><category>ASMOPER</category><category>ASM_DISKGROUP</category><category>ASYNC</category><category>AUTHENTICATION</category><category>AVAILABILITY MAX</category><category>AWR</category><category>Active standby</category><category>Add Node</category><category>Alternate</category><category>Any Distance</category><category>Apps</category><category>Architecture</category><category>Archivelog</category><category>Atomatic</category><category>Audit tool</category><category>Automatic Diagnostic Repository</category><category>BACKUP RECOVERY AREA</category><category>BMS_LOB.getoptions</category><category>BigData</category><category>Broker</category><category>Bug 998101</category><category>CDB resource manager profiles</category><category>CHANGE PASSWORD</category><category>CMAN</category><category>CMAN-TDM</category><category>CMAN.ORA</category><category>COLOCATION_TAG</category><category>CPUs</category><category>CREATE PLUGGABLE DATABASE</category><category>CRS</category><category>CRS-0215</category><category>CRS/Grid</category><category>CRSCTL</category><category>CSS</category><category>Cascade Standby</category><category>CertView OCP Certification</category><category>Circuit</category><category>CloneDB</category><category>Cloning</category><category>Cloud</category><category>Cluster</category><category>Clusterware 11g</category><category>Control</category><category>Create database</category><category>Cross Platform</category><category>Cyber</category><category>DATA GUARD;DATAGUARD</category><category>DBCS</category><category>DBMS_DICTIONARY_CHECK</category><category>DBMS_LOB.setoptionsencryption</category><category>DBMS_PARALLEL_EXECUTE</category><category>DBMS_PROFILE</category><category>DOC</category><category>DRCP</category><category>DUL Oracle Data UnLoading Currupted Restore</category><category>DataGuard. standby</category><category>Database Consolidation</category><category>Database Resident Connection Pool</category><category>Deprecated CRS</category><category>Disk Failure</category><category>Dispathers</category><category>Do-it-yourself</category><category>Downstream</category><category>Downstream Goldengate</category><category>E-business suite</category><category>ESX</category><category>EZCONNECT</category><category>Edition Based Redefenition</category><category>Edition Based Redifinition</category><category>Enterprise Manager</category><category>Enterprise Manager Database Control</category><category>External tables</category><category>FAN</category><category>FARSYNC</category><category>FAR_SYNC</category><category>FASTSYNC</category><category>FILE DESCIPTORS</category><category>FILE_NAME_CONVERT</category><category>FRA backup disk</category><category>Failgroup</category><category>Fast Sync</category><category>Firefox</category><category>Formatter</category><category>GC_SERVER_PROCESSES</category><category>GG Downstream</category><category>GID</category><category>Global Cache Service Processes</category><category>Golden Image</category><category>Goldengate hub</category><category>Grid Infrastucture</category><category>HOT cloning</category><category>HP DataProtector</category><category>HTML</category><category>High Available</category><category>Hyphen</category><category>IP</category><category>Incremental</category><category>JAVA.LANG.OUTOFMEMORYERROR</category><category>JDBC</category><category>LDAP</category><category>LMS</category><category>LOG_ARCHIVE_DEST_2=&#39;&#39;</category><category>LOG_ARCHIVE_DEST_N</category><category>Local undo</category><category>M5</category><category>MAXAVIABILITY</category><category>MAXPERFORMANCE</category><category>MOS</category><category>MTS</category><category>Magic cookies</category><category>Maintenance</category><category>Management Volume</category><category>Metalink</category><category>Migrate</category><category>Mirroring</category><category>Multiple Databases</category><category>My Oracle Support</category><category>NONCDB_TO_PDB.SQL</category><category>NoMount</category><category>Node validation</category><category>OCI</category><category>OCW</category><category>ODA</category><category>OEL8</category><category>OEM;OMS ;11gR1 ;problem monitoring ; SCAN; listener; GRID;RAC ;11gR2</category><category>OHASG</category><category>OID</category><category>OLE; home selector; Oracle Locator Express</category><category>OLR</category><category>OMF</category><category>ONS</category><category>ORA-00600</category><category>ORA-16698</category><category>ORA-16900</category><category>ORA-28725</category><category>ORACLE_BASE</category><category>ORACLE_SID</category><category>ORACLE_SID_PDB</category><category>ORADEBUG</category><category>OS packages</category><category>OSASM</category><category>OSDBA</category><category>OSOPER</category><category>Oracale</category><category>Oracle 11g</category><category>Oracle Applications 11i</category><category>Oracle Backup Recovery Controlfile Trace Reset Logs</category><category>Oracle Cloud File System</category><category>Oracle Cluster file system</category><category>Oracle Clusterware</category><category>Oracle Database 11g</category><category>Oracle Database 12c Architecture Overview</category><category>Oracle Database 12c Multitentent Architecture Overview</category><category>Oracle Enterpise Linux</category><category>Oracle High Availability Services</category><category>Oracle Network</category><category>Oracle PL/SQL UTL_DBWS Soap Call</category><category>Oracle R Enterprise</category><category>Oracle RAC CRS Suse Autostart</category><category>Oracle RAC Listener TNS-ADMIN</category><category>Oracle RAC shutdown</category><category>Oracle SQL Developer Command Line</category><category>Oracle SQL tracing</category><category>Oracle Securefile</category><category>Oracle Security Object  Privilege</category><category>Oracle Service</category><category>Oracle Supplied scripts</category><category>Oracle Zero Data Loss Recovery Appliance</category><category>Oracle by Example</category><category>Oracle client</category><category>Oracle consolidation</category><category>Oracle multithreaded Oracle model</category><category>Oracle q-quote</category><category>Oracle validated RPM</category><category>Oracle wallet</category><category>Oracle11gR2 AMM restart;Automatic Mamory Management ;AMM; Oracle RDBMS; Patch 11.2.0.2; datafile; crash</category><category>OracleRemExecService</category><category>Overprovisioning</category><category>PASSWORD</category><category>PDB Performance Profiles</category><category>PDB RELOCATE</category><category>PDB_FILE_NAME_CONVERT</category><category>PERFORMANCE  STANDBY DATABASE</category><category>PITR</category><category>PREPROCESSOR Clause</category><category>PRIMARY</category><category>PRIMARY INSTANCE</category><category>PRKC-1025</category><category>PRKP-1001</category><category>PROCESSOR_GROUP_NAME</category><category>Parameters</category><category>Patch 8350262</category><category>Pivot example SQL Unpivot</category><category>Platform</category><category>Point In time Recovery</category><category>Q-quote mechanism</category><category>Quoting Character Literals</category><category>R</category><category>RAC one node</category><category>RACcheck</category><category>READ-ONLY</category><category>RECOVERY</category><category>REQUIRED_MIRROR_FREE_MB</category><category>Redhat8 Linux</category><category>Redo Data</category><category>Redolog</category><category>Remote Delivery</category><category>Remote PDB</category><category>Remote capture</category><category>SBT library</category><category>SCAN</category><category>SEC_PROTOCOL</category><category>SQL Lock Transaction Direct Insert</category><category>SQL*loader</category><category>SQLcl</category><category>SUBSCRIBE_FOR_NODE_DOWN_EVENT__LISTENER listener.ora</category><category>SYSOPER</category><category>Segments</category><category>Session trace</category><category>Shared Server</category><category>Snapshot database</category><category>Statspack</category><category>TDE</category><category>THREADED_EXECUTION</category><category>TNS-04414</category><category>TNS-04612</category><category>TNS-12526</category><category>TNS-12527</category><category>TNS-12528</category><category>TNSMANAGER</category><category>TTS</category><category>Text Literals</category><category>Threaded execution</category><category>Transparent Data Encryption</category><category>Transportable Tablespace</category><category>Transportable Tablespaces to the Extreme</category><category>UPLICATE TARGET DATABASE FOR FARSYNC</category><category>UR=A</category><category>UR=A; dynamic listener registration instance registration; Dataguard</category><category>UTL_DBWS; Web services in Oracle; WSL; ACL; dbwsclient.jar</category><category>Uninstall</category><category>Upgrade</category><category>V$DIAG</category><category>V$DIAG_ALERT_EXT</category><category>V$PWFILE_USERS</category><category>VM</category><category>VMWARE</category><category>Virtual Disk</category><category>VirtualBox</category><category>X$DBALERTLOG</category><category>X$logbuffer_readhist</category><category>XDB</category><category>XPT</category><category>ZFS Storage Appliance</category><category>Zero Data Loss</category><category>acfsload</category><category>acfsutil</category><category>act_db.pl</category><category>action_script</category><category>application upgrade</category><category>attribute</category><category>audit</category><category>autostart</category><category>backup</category><category>bin</category><category>capacity planning</category><category>catcon.pl</category><category>client side</category><category>cloning dgmgrl</category><category>clsuter file system</category><category>commands</category><category>compression</category><category>concept</category><category>connect string</category><category>connect_data</category><category>connection pool</category><category>consilidation</category><category>cpu_count</category><category>cpu_min_count</category><category>create</category><category>creation</category><category>crs_stat</category><category>crs_stat -p</category><category>datafile</category><category>db_12c.type</category><category>dbms_dictionary_check.critical</category><category>dbms_dictionary_check.full</category><category>dbms_dictionary_check.full(repair=&gt;TRUE)</category><category>dbms_lob</category><category>dbms_service</category><category>dedicated</category><category>deduplication</category><category>disabled</category><category>disconnect_session</category><category>dns</category><category>duplicate</category><category>easy connect</category><category>easy connect PLUS</category><category>emca</category><category>enable</category><category>etc/oracle/scls_scr/node_name/root/ohasdstr</category><category>extract</category><category>failover</category><category>forward_listener</category><category>forwarding</category><category>gDBClone</category><category>grid</category><category>group</category><category>heterogenous environments</category><category>incremental RMAN backup</category><category>indexes</category><category>init.ora</category><category>instance</category><category>integration</category><category>ipcs</category><category>limits</category><category>listener_scan</category><category>load balancing is ignored</category><category>local</category><category>local_listener</category><category>log buffer</category><category>lspwusr</category><category>matrix</category><category>mining</category><category>mkstore</category><category>netca</category><category>network_listener</category><category>non-CDB</category><category>noregister</category><category>numa</category><category>ogg</category><category>orabase*</category><category>oracle_loader</category><category>oracleacfs</category><category>oracleadvm</category><category>oracler</category><category>orapki</category><category>orapwusr</category><category>parallel</category><category>parameter process</category><category>partitioning</category><category>paswordfile. store</category><category>patching</category><category>pl/sq</category><category>prerprocessor</category><category>prio</category><category>priority</category><category>project management</category><category>proxy Traffic Director Mode</category><category>public YUM Server</category><category>pwcopy</category><category>pwcreate</category><category>pwdelete</category><category>pwget</category><category>pwmove</category><category>pwset</category><category>q-quote</category><category>qopatch</category><category>racle Applications 12i</category><category>rdbms</category><category>rdbms 10gMetalink Notes; Clusterware</category><category>realtime</category><category>redo</category><category>redo apply</category><category>redo transport authentication</category><category>redolog shiping</category><category>redolog transport</category><category>register</category><category>relpicate</category><category>remote_listener</category><category>replication</category><category>resource manager</category><category>resource plan directives</category><category>restrict</category><category>restrict DBA</category><category>restrict startup</category><category>restricted</category><category>scrum</category><category>security listener</category><category>server</category><category>service name</category><category>setasmgidwrap</category><category>shared</category><category>shares</category><category>silent</category><category>single database</category><category>snap</category><category>snapshot</category><category>sqlplus / as sys dba</category><category>srvctl</category><category>standby_pdb_source_file_dblink</category><category>statistical computing and graphics.</category><category>sysresv</category><category>system trace</category><category>tablespace</category><category>thin</category><category>thin cloning</category><category>tunning</category><category>type</category><category>useWalletForDBCredentials</category><category>virtual cluster</category><category>windows services</category><category>xauth</category><title>Joords Oracle DBA blog</title><description> Joords is in-depth knowledge of Oracle database technology</description><link>http://joordsblog.vandenoord.eu/</link><managingEditor>noreply@blogger.com (joordsblog)</managingEditor><generator>Blogger</generator><openSearch:totalResults>137</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-4587669794334348979</guid><pubDate>Mon, 11 Mar 2024 10:08:00 +0000</pubDate><atom:updated>2024-03-11T11:08:00.145+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DBMS_DICTIONARY_CHECK</category><category domain="http://www.blogger.com/atom/ns#">dbms_dictionary_check.critical</category><category domain="http://www.blogger.com/atom/ns#">dbms_dictionary_check.full</category><category domain="http://www.blogger.com/atom/ns#">dbms_dictionary_check.full(repair=&gt;TRUE)</category><category domain="http://www.blogger.com/atom/ns#">ORA-00600</category><title>How to Detect and Repair Corruption in Your Oracle Database</title><description>&lt;p&gt;The &lt;b&gt;DBMS_DICTIONARY_CHECK&lt;/b&gt; is a read-only and lightweight PL/SQL package procedure that helps you identify Oracle Database dictionary inconsistencies that are manifested in unexpected entries in the Oracle Database dictionary tables or invalid references between dictionary tables. Oracle Database dictionary inconsistencies can cause process failures and, in some cases, instance crash.&lt;/p&gt;
&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;
How to Execute a Dictionary Check&lt;/h2&gt;&lt;div&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;First, The database must be on Oracle Database 19.22.0 or higher&lt;/li&gt;&lt;/ul&gt;Execute the Check&lt;/h4&gt;&lt;/div&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code aaaa=&quot;&quot; code=&quot;&quot; style=&quot;background: 0px 0px; padding: 2px 5px;&quot;&gt;&lt;span style=&quot;color: #383838; font-family: Monaco, Consolas, Andale Mono, DejaVu Sans Mono, monospace;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;
set serverout on
exec dbms_dictionary_check.full;

&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
The database spools to the console and a trace file:
&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code aaaa=&quot;&quot; code=&quot;&quot; style=&quot;background: 0px 0px; padding: 2px 5px;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span style=&quot;color: #383838; font-family: Monaco, Consolas, Andale Mono, DejaVu Sans Mono, monospace;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;
dbms_dictionary_check on 10-MAR-2024 13:31:56
----------------------------------------------
Catalog Version 19.0.0.0.0 (1900000000)
db_name: UP19
Is CDB?: NO
Trace File:
/u01/app/oracle/diag/rdbms/up19/UP19/trace/UP19_ora_3343_DICTCHECK.trc

                                Catalog       Fixed
Procedure Name                  Version    Vs Release    Timestamp      Result
--------------------------- ... ---------- -- ---------- -------------- ------
.- OIDOnObjCol		       ... 1900000000 &amp;lt;=  *All Rel* 03/02 13:31:56 PASS
.- LobNotInObj		       ... 1900000000 &amp;lt;=  *All Rel* 03/02 13:31:56 PASS
.- SourceNotInObj	       ... 1900000000 &amp;lt;=  *All Rel* 03/02 13:31:56 PASS

...

.- LobSeg                   ... 1900000000 &amp;lt;=  *All Rel* 03/02 13:31:56 PASS
---------------------------------------
02-MAR-2024 13:31:56  Elapsed: 0 secs
---------------------------------------
Found 0 potential problem(s) and 0 warning(s)
Trace File:
/u01/app/oracle/diag/rdbms/up19/UP19/trace/UP19_ora_3343_DICTCHECK.trc

PL/SQL procedure successfully completed.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Times New Roman;&quot;&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;If there are any warnings or errors, you can find a detailed &lt;a href=&quot;https://docs.oracle.com/en/database/oracle/oracle-database/23/arpls/dbms-dictionary-check.html#GUID-E64FAD2C-87A7-4C92-BD03-8D37A39C9294&quot;&gt;description of the check in the documentation&lt;/a&gt;. Some checks even have a fix mode that allows you to correct the corruption.&lt;/div&gt;&lt;div&gt;In multitenant, you run the check in the root container and all PDBs. The PDBs are most important.&lt;/div&gt;&lt;div&gt;Words of Advice. Run the check in due time before a major maintenance operation. Although many checks have a fix option, you sometimes need to engage with Oracle Support. This can take time, so don’t do it the day before an important upgrade.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;AutoUpgrade makes your life easier. Of course, it can run the dictionary check for you. Add the following to your config file:&lt;/div&gt;&lt;div&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code aaaa=&quot;&quot; code=&quot;&quot; style=&quot;background: 0px 0px; padding: 2px 5px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px;&quot;&gt;
&amp;lt;prefix&amp;gt;.run_dictionary_health=full
&lt;/span&gt;&lt;span style=&quot;font-family: Times New Roman; white-space: normal;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;During the pre-upgrade analysis, AutoUpgrade executes the dictionary check and stores the full report in the precheck folder in the AutoUpgrade log directory.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2024/03/how-to-detect-and-repair-corruption-in.html</link><author>noreply@blogger.com (joordsblog)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-1141529992381312429</guid><pubDate>Fri, 08 Mar 2024 10:02:00 +0000</pubDate><atom:updated>2024-03-08T11:02:18.934+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">M5</category><category domain="http://www.blogger.com/atom/ns#">Transportable Tablespaces to the Extreme</category><category domain="http://www.blogger.com/atom/ns#">TTS</category><category domain="http://www.blogger.com/atom/ns#">xTTS</category><title>Transportable Tablespaces to the Extreme</title><description>Oracle has engineered a new method to execute a Transportable Tablespaces to the Extreme. 
See the recording on &lt;a href=&quot;https://youtu.be/DwUBvjQrPxs&quot; target=&quot;_blank&quot;&gt;Oracle&#39;s YouTube channel&lt;/a&gt;. You can read the &lt;a href=&quot; https://dohdatabase.files.wordpress.com/2024/03/questions-from-cross-platform-migration.pdf&quot; target=&quot;_blank&quot;&gt;Q&amp;amp;A&lt;/a&gt; and the &lt;a href=&quot;https://dohdatabase.files.wordpress.com/2024/03/cross-platform-migration-transportable-tablespace-to-the-extreme.pdf&quot; target=&quot;_blank&quot;&gt;slides&lt;/a&gt;&amp;nbsp;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;span&gt;The New Procedure&amp;nbsp;&lt;/span&gt;called M5&lt;/h2&gt;&lt;div&gt;For cross-platform and cross-endian migrations, we have a new procedure called M5. &lt;br /&gt;It replaces the former &lt;a href=&quot;https://support.oracle.com/epmos/faces/DocumentDisplay?id=2471245.1&quot; target=&quot;_blank&quot;&gt;XTTS v4 Perl script&lt;/a&gt; that has been used for many migrations. &lt;br /&gt;We could see the need for changes as Oracle Databases world-wide grows in size and complexity. M5 implements the latest RMAN and Data Pump technology to deliver the fastest possible migrations.

You can download the M5 scripts and read the procedure on My Oracle Support (&lt;a href=&quot;https://support.oracle.com/epmos/faces/DocumentDisplay?id=2999157.1&quot; target=&quot;_blank&quot;&gt;Doc ID 2999157.1&lt;/a&gt;).&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;M5 Migration Script&lt;/h2&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; padding: 2px 5px;&quot;&gt;&lt;span style=&quot;color: #383838; font-family: Monaco, Consolas, Andale Mono, DejaVu Sans Mono, monospace;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;
# source database
RUN
{
  ALLOCATE CHANNEL d1 DEVICE TYPE DISK FORMAT &#39;...&#39;;
  ALLOCATE CHANNEL d2 DEVICE TYPE DISK FORMAT &#39;...&#39;;
  BACKUP FILESPERSET 1 SECTION SIZE 64G
  TAG UP19_L0_240206101548
  TABLESPACE &lt;b&gt;&amp;lt;list-of-tablespace&amp;gt;&lt;/b&gt; ; &lt;/span&gt;&lt;/span&gt;&lt;list-of-tablespace style=&quot;color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px;&quot;&gt;
}
&lt;/list-of-tablespace&gt;&lt;/code&gt;&lt;/pre&gt;


&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; padding: 2px 5px;&quot;&gt;&lt;span style=&quot;color: #383838; font-family: Monaco, Consolas, Andale Mono, DejaVu Sans Mono, monospace;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;
# target database
RUN
{
  ALLOCATE CHANNEL DISK1 DEVICE TYPE DISK FORMAT &#39;...&#39;;
  ALLOCATE CHANNEL DISK2 DEVICE TYPE DISK FORMAT &#39;...&#39;;
  RESTORE ALL FOREIGN DATAFILES TO NEW FROM BACKUPSET
   &#39;&lt;b&gt;&amp;lt;backup-set-1&amp;gt;&lt;/b&gt;&#39;&lt;/span&gt;&lt;/span&gt;&lt;backup-set-1&gt;&lt;span style=&quot;color: #383838; font-family: Monaco, Consolas, Andale Mono, DejaVu Sans Mono, monospace;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;, 
   &#39;&lt;b&gt;&amp;lt;backup-set-2&amp;gt;&lt;/b&gt;&#39;&lt;/span&gt;&lt;/span&gt;&lt;backup-set-2&gt;&lt;span style=&quot;color: #383838; font-family: Monaco, Consolas, Andale Mono, DejaVu Sans Mono, monospace;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;,
   ...
   &#39;&lt;b&gt;&amp;lt;backup-set-n&amp;gt;&lt;/b&gt;&#39;&lt;/span&gt;&lt;/span&gt;&lt;backup-set-n style=&quot;color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px;&quot;&gt;
};
&lt;/backup-set-n&gt;&lt;/backup-set-2&gt;&lt;/backup-set-1&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Requirements&lt;/h2&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Source and Taerget &lt;b&gt;&lt;u&gt;MUST&lt;/u&gt;&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Be 19.18.0 or higher&lt;/li&gt;&lt;li&gt;Use Data Pump Bundle Patch&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Target must use&amp;nbsp; Oracle Managed Files (OMF)&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Parameter DB_CREATE_FILE_DEST&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2024/03/transportable-tablespaces-to-extreme.html</link><author>noreply@blogger.com (joordsblog)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-2519800547658385115</guid><pubDate>Thu, 08 Feb 2024 13:16:00 +0000</pubDate><atom:updated>2024-02-08T14:16:10.318+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Architecture</category><category domain="http://www.blogger.com/atom/ns#">Cyber</category><category domain="http://www.blogger.com/atom/ns#">Oracle Zero Data Loss Recovery Appliance</category><category domain="http://www.blogger.com/atom/ns#">security</category><category domain="http://www.blogger.com/atom/ns#">ZDLRA</category><title>Oracle Zero Data Loss Recovery Appliance Cyber Security Architecture</title><description>&lt;h2 style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;Separation
of Duty&lt;/span&gt;&lt;/h2&gt;&lt;div&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; lang=&quot;en-NL&quot; style=&quot;font-size: 9pt; line-height: 107%; mso-ansi-language: #0C00; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;Ensuring
that backup data is validated is key to being prepared for a future recovery,
which means that all data, including TDE databases, must be validated for
recoverability at each step of the workflow into the Cyber Vault.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; lang=&quot;en-NL&quot; style=&quot;font-size: 9pt; line-height: 107%; mso-ansi-language: #0C00; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; lang=&quot;en-NL&quot; style=&quot;font-size: 9pt; line-height: 107%; mso-ansi-language: #0C00; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3wmGRTCSjELxO-Cy2gNYFxzEsDY2C7NJgIzCu7GYx_pa4zu51dx-qCQJYXi_zqOzYbyP-sE3I-wYvEb0xy4WYrOPn69ATa2BlU1kJNceIbXi9Lx2N-r5btXLtyhOE4EH7vWlL0TfZKI20CVx4akh-ZDt9Mn8pdIhu5DDP2iJcZ8T6mSTRQsy7ZXJjscg/s903/Picture1.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;250&quot; data-original-width=&quot;903&quot; height=&quot;89&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3wmGRTCSjELxO-Cy2gNYFxzEsDY2C7NJgIzCu7GYx_pa4zu51dx-qCQJYXi_zqOzYbyP-sE3I-wYvEb0xy4WYrOPn69ATa2BlU1kJNceIbXi9Lx2N-r5btXLtyhOE4EH7vWlL0TfZKI20CVx4akh-ZDt9Mn8pdIhu5DDP2iJcZ8T6mSTRQsy7ZXJjscg/w320-h89/Picture1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; lang=&quot;en-NL&quot; style=&quot;font-size: 9pt; line-height: 107%; mso-ansi-language: #0C00; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;&amp;quot;Calibri&amp;quot;,sans-serif&quot; lang=&quot;en-NL&quot; style=&quot;font-size: 9pt; line-height: 107%; mso-ansi-language: #0C00; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;Multi-layer anomaly detection in
the architecture ensures that data is valid at all points in the Oracle
ecosystem. Each zone indicated above will perform independent checks to prevent
invalid or compromised data from entering or exiting the zone and ultimately
the Cyber Vault.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span lang=&quot;en-NL&quot; style=&quot;font-size: 12px; line-height: 107%;&quot;&gt;&lt;span face=&quot;Calibri, sans-serif&quot;&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Zone 1&lt;/li&gt;&lt;ul&gt;&lt;li&gt;RMAN will do consistency checks at the database to ensure the backup data is valid before being sent to the Recovery Appliance in the production data center&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Zone 2&lt;/li&gt;&lt;ul&gt;&lt;li&gt;The Recovery Appliance in the production data center performs checks to ensure that the data is valid and complete.&lt;/li&gt;&lt;li&gt;Data is validated when the RMAN database backup arrives on the Recovery Appliance in the production data center.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Data replicated from the Recovery Appliance in the production data center is validated again before being sent to the Recovery Appliance in the Cyber Vault.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Regular automated validation is scheduled within the Recovery Appliance in the production data center to ensure ongoing validity as the data ages.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Zone 3&lt;/li&gt;&lt;ul&gt;&lt;li&gt;The Recovery Appliance in the Cyber Vault performs checks to ensure that the data is valid and complete&lt;/li&gt;&lt;li&gt;Data is validated upon arrival into the Recovery Appliance in the Vault from the Recovery Appliance in the production data center.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Regular automated validation is scheduled within the Recovery Appliance in the Cyber Vault to ensure ongoing validity as the data ages&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;Enterprise Manager positioning&lt;/span&gt;&lt;/h2&gt;&lt;/div&gt;&lt;div&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;en-NL&quot; style=&quot;font-size: 9pt; line-height: 107%;&quot;&gt;Oracle
Enterprise Manager is the single dashboard for your entire Oracle deployment.
In this Cyber Vault architecture, Enterprise Manager is used for management,
monitoring and alerting for the Recovery Appliance and for backup automation.
This centralized management helps verify the integrity and provide compliance
reporting across the entire infrastructure.&lt;/span&gt;&lt;span style=&quot;mso-ansi-language: #2000;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;en-NL&quot; style=&quot;font-size: 9pt; line-height: 107%;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmuyF1yNkvpvL3bP5CxWntjaE8hGPuSbwIS-w_BHyj24KmTJBeXfWW0dYqt1YYSmXoAqNkfP7p943X_VuoMD26VWizj-FO0pRyiyGVawFS7jJOJxnyD_RoSS2VQHvigImYOnvOlwinDtCfeQSP2wYnV5ou-5OxEFNFA_ShoFjrHK3rryXj0ktbAXzXnoE/s903/Picture2.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;201&quot; data-original-width=&quot;903&quot; height=&quot;71&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmuyF1yNkvpvL3bP5CxWntjaE8hGPuSbwIS-w_BHyj24KmTJBeXfWW0dYqt1YYSmXoAqNkfP7p943X_VuoMD26VWizj-FO0pRyiyGVawFS7jJOJxnyD_RoSS2VQHvigImYOnvOlwinDtCfeQSP2wYnV5ou-5OxEFNFA_ShoFjrHK3rryXj0ktbAXzXnoE/w320-h71/Picture2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;span lang=&quot;en-NL&quot; style=&quot;font-size: 11.5pt; line-height: 107%;&quot;&gt;Synchronizing
the Vault with Latest Backups&lt;/span&gt;&lt;/h2&gt;&lt;div&gt;&lt;span lang=&quot;en-NL&quot; style=&quot;line-height: 107%;&quot;&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span lang=&quot;en-NL&quot; style=&quot;font-size: 9pt; line-height: 107%;&quot;&gt;The
Recovery Appliance real time redo capability produces backups that are always
available for the Cyber Vault. This eliminates the troublesome synchronization
process with the backup schedule and the Cyber Vault replication network
gateway that opens randomly. The most current backup data is automatically
transferred to the Cyber Vault the moment the Cyber Vault replication gateway
opens.&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 9pt; line-height: 107%; mso-ansi-language: EN-US;&quot;&gt; This replication gateway is randomized and controlled
from the Cyber Vault location.&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 11.5pt; line-height: 107%; mso-ansi-language: EN-US;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi77CuVru_IPOOeINLmxLqOzzuWe8DCn3VkQfB2EOgZxDE4x6xC9Cc7_iRZIzBWswyhMifDU7vaKYCSmcogHdj2AsRdroJwxSUIJTxwlGYkDTIplVVKGUiiCutEHDHOA51CJIzmVog66qxkXyo3cdwi-TBuOP_1TrzZnp6YF6SyMvQeUxnzG6YjZSV5_v0/s990/Picture3.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;216&quot; data-original-width=&quot;990&quot; height=&quot;70&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi77CuVru_IPOOeINLmxLqOzzuWe8DCn3VkQfB2EOgZxDE4x6xC9Cc7_iRZIzBWswyhMifDU7vaKYCSmcogHdj2AsRdroJwxSUIJTxwlGYkDTIplVVKGUiiCutEHDHOA51CJIzmVog66qxkXyo3cdwi-TBuOP_1TrzZnp6YF6SyMvQeUxnzG6YjZSV5_v0/s320/Picture3.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;h2 style=&quot;font-size: 11.5pt; text-align: left;&quot;&gt;&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;Data
Recovery&lt;/span&gt;&lt;/h2&gt;&lt;div&gt;&lt;span lang=&quot;en-NL&quot; style=&quot;line-height: 107%;&quot;&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span lang=&quot;en-NL&quot; style=&quot;font-size: 9pt; line-height: 107%;&quot;&gt;The
Recovery Appliance can backup and recover data to any platform supported by the
Oracle database. This eases the planning required for recovery operations since
the data is available for recovery to any known good location during a cyber
event. The gateway can only push data from Cyber Vault location to the environment and is controlled from the&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;Cyber Vault location&lt;/span&gt;&lt;/p&gt;&lt;h2 style=&quot;font-size: 11.5pt;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQPsCMjdGJuNYUQRCo3nSiAhBBHXtmh3Cd_QTQBh5DPvYUYMW3-hus827Bmez2EgbSPTO5bDs9RKivI4OiyGwr7MRi_3-wHPtU5ehXzdfBHqnNAMBIgtDi3Wz8-axkmaukh2OBUa8O34NpAT2gos7iomzvMRkLnIegmxcjdarGVhY5WKAtOaKztJm47RY/s907/Picture4.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;217&quot; data-original-width=&quot;907&quot; height=&quot;77&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQPsCMjdGJuNYUQRCo3nSiAhBBHXtmh3Cd_QTQBh5DPvYUYMW3-hus827Bmez2EgbSPTO5bDs9RKivI4OiyGwr7MRi_3-wHPtU5ehXzdfBHqnNAMBIgtDi3Wz8-axkmaukh2OBUa8O34NpAT2gos7iomzvMRkLnIegmxcjdarGVhY5WKAtOaKztJm47RY/s320/Picture4.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/h2&gt;&lt;h2 style=&quot;font-size: 11.5pt;&quot;&gt;&lt;span lang=&quot;en-NL&quot; style=&quot;font-size: 11.5pt; line-height: 16.4067px;&quot;&gt;Documentation reference&lt;/span&gt;&lt;/h2&gt;&lt;div&gt;&lt;span lang=&quot;en-NL&quot; style=&quot;line-height: 16.4067px;&quot;&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;https://www.oracle.com/technetwork/database/availability/recovery-appliance-cyber-twp-6729502.pdf&quot; target=&quot;_blank&quot;&gt;Zero Data Loss Recovery Appliance Cyber Security Architecture&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size: 11.5pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2024/02/oracle-zero-data-loss-recovery.html</link><author>noreply@blogger.com (joordsblog)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3wmGRTCSjELxO-Cy2gNYFxzEsDY2C7NJgIzCu7GYx_pa4zu51dx-qCQJYXi_zqOzYbyP-sE3I-wYvEb0xy4WYrOPn69ATa2BlU1kJNceIbXi9Lx2N-r5btXLtyhOE4EH7vWlL0TfZKI20CVx4akh-ZDt9Mn8pdIhu5DDP2iJcZ8T6mSTRQsy7ZXJjscg/s72-w320-h89-c/Picture1.png" height="72" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-4276583833691265563</guid><pubDate>Fri, 26 Jan 2024 15:40:00 +0000</pubDate><atom:updated>2024-01-26T16:40:00.252+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">CMAN</category><category domain="http://www.blogger.com/atom/ns#">CMAN-TDM</category><category domain="http://www.blogger.com/atom/ns#">CMAN.ORA</category><category domain="http://www.blogger.com/atom/ns#">dedicated</category><category domain="http://www.blogger.com/atom/ns#">ORA-28725</category><category domain="http://www.blogger.com/atom/ns#">proxy Traffic Director Mode</category><title>Connecting CMAN - Traffic Director Mode to an Oracle Database</title><description>&lt;a href=&quot;https://docs.oracle.com/en/database/oracle/oracle-database/21/netag/configuring-oracle-connection-manager.html#GUID-AF8A511E-9AE6-4F4D-8E58-F28BC53F64E4&quot; target=&quot;_blank&quot;&gt;Oracle Connection Manager (CMAN)&lt;/a&gt; serves as a proxy for database connections within Oracle deployments. It facilitates the transmission of client requests to the Oracle Database and seamlessly transmits the database responses back to the client, whether it be an application, middle-tier, or other components. CMAN operates as a versatile networking solution, providing features such as TLS security, protocol switching/routing, and session multiplexing to enhance the accessibility of both local and remote Oracle databases.
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;a href=&quot;https://docs.oracle.com/en/database/oracle/oracle-database/21/netag/configuring-oracle-connection-manager.html#GUID-3917FC5D-4B23-4752-85BA-39A88C4D13F8&quot; target=&quot;_blank&quot;&gt;Traffic Director Mode (TDM)&lt;/a&gt; is an intelligent layer introduced in Oracle Client 18c and beyond, designed to enhance CMAN. TDM introduces additional dimensions to the system, including &lt;u&gt;transparent High Availability (HA) with outage support&lt;/u&gt;, advanced security features for cloud environments (protection against DoS and fuzzing attacks, tenant isolation, etc.), and capabilities for optimizing performance.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;In summary, &lt;a href=&quot;https://docs.oracle.com/en/database/oracle/oracle-database/21/netag/configuring-oracle-connection-manager.html#GUID-3917FC5D-4B23-4752-85BA-39A88C4D13F8&quot; target=&quot;_blank&quot;&gt;CMAN-TDM&lt;/a&gt; allows any client application to establish a connection with an Oracle database, whether it&#39;s on-premises or in the cloud, without revealing the underlying database details to the client. An important aspect worth highlighting is the interoperability of CMAN-TDM with various versions of Oracle databases.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;div&gt;Sample CMAN-TDM Architecture&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhktAr-pnEryqimRQzgE1kV05j0b1ICd3NHLS7VGhAM9hLje5SAYJaj-0AETfgKyyeahBhaaRV9YPMDAqcOBTPljw9qazdO0NzKQCeBp9k41KDeme5RS3y76_ZApf83sT2RpfojCiUzrsHiYL6ePYAJwyRPldt-BZQdEO-mDxqjv-zBb22IldJLrATY-Tg/s619/Sample%20CMAN-TDM%20Architecture.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;333&quot; data-original-width=&quot;619&quot; height=&quot;254&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhktAr-pnEryqimRQzgE1kV05j0b1ICd3NHLS7VGhAM9hLje5SAYJaj-0AETfgKyyeahBhaaRV9YPMDAqcOBTPljw9qazdO0NzKQCeBp9k41KDeme5RS3y76_ZApf83sT2RpfojCiUzrsHiYL6ePYAJwyRPldt-BZQdEO-mDxqjv-zBb22IldJLrATY-Tg/w472-h254/Sample%20CMAN-TDM%20Architecture.png&quot; width=&quot;472&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;HA with Dedicated Connections in CMAN-TDM&lt;/h2&gt;&lt;div&gt;&lt;div&gt;I will not use the remote_listener to cman, so that cman will be used as a listener&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;Some documents may recommend to set the instance&#39;s REMOTE_LISTENER parameter to both the SCAN address and the CMAN address. However, in doing so, you never connect to the database via the SCAN listeners - you simply connect to CMAN and then are redirected directly to a database instance.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: #eeeeee;&quot;&gt;&lt;p&gt;CONFIGURATION OF CMAN-TDM - DEDICATED CONNECTIONS&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;DATABASE PROXY USER CREATION&lt;/li&gt;&lt;li&gt;THE CLIENT USER&lt;/li&gt;&lt;li&gt;DATABASE PROXY USER WALLET CREATION&lt;/li&gt;&lt;li&gt;CMAN.ORA CONFIGURATION&lt;/li&gt;&lt;li&gt;RUNNING CMAN-TDM&lt;/li&gt;&lt;li&gt;TESTING CMAN_TDM&lt;/li&gt;&lt;li&gt;Validation van de CMAN and DATABASE via netstat and logfiles&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;h3&gt;&lt;span&gt;&amp;nbsp;&lt;br /&gt;Step 1.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;DATABASE PROXY USER CREATION&lt;/span&gt;&lt;/h3&gt;&lt;div&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;CMAN-TDM uses a database proxy user, usually named TDM, to create proxy connections for all users accessing the database through CMAN-TDM. The DBA needs to create this user and grant CREATE SESSION privilege, as shown in the example below:&lt;/span&gt;&lt;/div&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;SQL&amp;gt; CREATE USER TDM IDENTIFIED BY TDM_PASSWORD;
 SQL&amp;gt; GRANT CREATE SESSION TO TDM;&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;Step 2.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: transparent;&quot;&gt;THE CLIENT USER&lt;/span&gt;&lt;/h3&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;The client application should have already created an application user on the database. Grant the CREATE SESSION privilege to the application user through the database proxy user by using the CONNECT THROUGH keyword:&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;SQL&amp;gt; CREATE USER joords IDENTIFIED BY joords_PASSWORD 
        default tablespace users 
        temporary tablespace temp 
        account unlock quota unlimited on users; 
 SQL&amp;gt; GRANT connect, resource TO joords; 
 SQL&amp;gt; GRANT create session, create table, create procedure, 
            create sequence,create trigger, create view,
            create synonym, alter session, 
            create type to joords; 
 SQL&amp;gt; ALTER USER JOORDS GRANT CONNECT THROUGH TDM;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: justify;&quot;&gt;Step 3.&amp;nbsp;DATABASE PROXY USER WALLET CREATION&lt;/h3&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;[oracle@ol8-21-rac1 scripts]$ echo $ORACLE_HOME
      /u01/app/oracle/product/21.0.0/client_1

 [oracle@ol8-21-rac1 scripts]$ echo $ORACLE_BASE
      /u01/app/oracle 

 [oracle@ol8-21-rac1 scripts]$ export TNS_ADMIN=/u01/app/oracle/product/21.0.0/client_1/network/admin 
 
 [oracle@ol8-21-rac1 scripts]$ export WLLT_CMAN=$ORACLE_BASE/cman 

 [oracle@ol8-21-rac1 scripts]$ mkdir -p $WLLT_CMAN 

 [oracle@ol8-21-rac1 scripts]$ mkstore -wrl $WLLT_CMAN -create 

 [oracle@ol8-21-rac1 scripts]$ echo cmanwllt01 | mkstore -wrl $WLLT_CMAN -createCredential pdb_tacservice TDM &#39;TDM_PASSWORD&#39; 

 [oracle@ol8-21-rac1 scripts]$ echo cmanwllt01 | mkstore -wrl $WLLT_CMAN -listCredential 
      List credential (index: connect_string username) 1: pdb_tacservice TDM&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Step 4.&amp;nbsp;CMAN.ORA CONFIGURATION&lt;/h3&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;&lt;span style=&quot;color: #383838;&quot;&gt;
[oracle@ol8-21-rac1 scripts]$ cat &amp;lt;&amp;lt;EOF &amp;gt;&lt;/span&gt;&lt;eof&gt;&lt;span style=&quot;color: #383838;&quot;&gt; $TNS_ADMIN/cman-tdm.ora

cman-tdm = (configuration=
  (address=(protocol=tcp)(host=ol8-21-rac1)(port=1888))
  (parameter_list =
    (tdm=true)
    (tdm_threading_mode=dedicated)
    (log_level=ADMIN)
    (max_connections=50)
    (idle_timeout=0)
    (inbound_connect_timeout=0)
    (session_timeout=0)
    (outbound_connect_timeout=0)
    (max_gateway_processes=16)
    (min_gateway_processes=2)
    (remote_admin=on)
    (trace_level=off)
    (max_cmctl_sessions=4)
    (event_group=init_and_term,memory_ops)
  )
  (NEXT_HOP=(ADDRESS_LIST=(LOAD_BALANCE=ON)(ADDRESS=(PROTOCOL=tcp)(HOST=ol8-21-scan.joordsdomain)(PORT=1521))))
  (rule_list=
    (rule=
       (src=*)(dst=*)(srv=*)(act=accept)
       (action_list=(aut=off)(moct=0)(mct=0)(mit=0)(conn_stats=on))
    )
  )
)

wallet_location=(source=(method=file)(method_data=(directory=&quot;/u01/app/oracle/cman&quot;)))
sqlnet.wallet_override=true

EOF

[oracle@ol8-21-rac1 scripts]$ echo &quot;IFILE=$TNS_ADMIN/cman-tdm.ora&quot; &amp;gt;&amp;gt; $TNS_ADMIN/cman.ora


&lt;/span&gt;&lt;/eof&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;When we use the IFILE parameter inside &lt;b&gt;&lt;u&gt;cman.ora&lt;/u&gt;&lt;/b&gt;, multiple CMAN and CMAN-TDM configurations can be managed in the same host without editing cman.ora directly. Multiple CMAN-TDM config files for different instances can be referred to within the &lt;b&gt;&lt;u&gt;cman.ora&lt;/u&gt;&lt;/b&gt; file using the IFILE parameter.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;step 5.&amp;nbsp;RUNNING CMAN-TDM&lt;/h3&gt;&lt;div&gt;Startup CMAN for cman-tdm:&lt;/div&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;$ORACLE_HOME/bin/cmctl startup -c cman-tdm
&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;Shutdown CMAN for cman-tdm:&lt;/div&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;$ORACLE_HOME/bin/cmctl shutdown  -c cman-tdm
&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;Reload CMAN for cman-tdm:&lt;/div&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;$ORACLE_HOME/bin/cmctl reload  -c cman-tdm
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Start the CMAN-TDM&lt;br /&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;
[oracle@ol8-21-rac1 admin] $ $ORACLE_HOME/bin/cmctl startup -c cman-tdm

CMCTL for Linux: Version 21.0.0.0.0 - Production on 23-JAN-2024 09:22:24

Copyright (c) 1996, 2021, Oracle.  All rights reserved.

Current instance cman-tdm is not yet started
Connecting to (DESCRIPTION=(address=(protocol=tcp)(host=ol8-21-rac1)(port=1888)))
Starting Oracle Connection Manager instance cman-tdm. Please wait...
CMAN for Linux: Version 21.0.0.0.0 - Production
Status of the Instance
----------------------
Instance name             cman-tdm
Version                   CMAN for Linux: Version 21.0.0.0.0 - Production
Start date                23-JAN-2024 09:22:24
Uptime                    0 days 0 hr. 0 min. 9 sec
Num of gateways started   2
Average Load level        0
Log Level                 ADMIN
Trace Level               OFF
Instance Config file      /u01/app/oracle/product/21.0.0/client_1/network/admin/cman.ora
Instance Log directory    /u01/app/oracle/diag/netcman/ol8-21-rac1/cman-tdm/alert
Instance Trace directory  /u01/app/oracle/diag/netcman/ol8-21-rac1/cman-tdm/trace
The command completed successfully.&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Step 6.&amp;nbsp; TESTING CMAN-TDM&lt;/h3&gt;&lt;div&gt;&lt;b&gt;A weird issue:&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Be careful if populating the cman &lt;u&gt;tnsnames.ora&lt;/u&gt;!&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;You do not need to have it at all and you may find weird issues if you have a tnsnames entry&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;with the same name of the database service you want to connect to:&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;When I had the pdb_tacservice service used for testing the SEPS and was added to the as a tns entry in its tnsnames.ora ,&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;I got a generic “&lt;b&gt;ORA-28725: Invalid CMAN in Traffic Director mode configuration&lt;/b&gt;” error.&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;blockquote style=&quot;border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;This error is really generic and made me waste quite a lot of time!&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;==&amp;gt;&lt;b&gt; no sqlnet and tnsnames provided for the CMAN configuration&lt;/b&gt; -&amp;nbsp; This solved the problem&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;u&gt;Testing&amp;nbsp;&lt;/u&gt; &amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;
[oracle@ol8-21-rac1 ~]$ srvctl status service -db $ORACLE_UNQNAME
Service pdb_tacservice is running on instance(s) cdbrac1,cdbrac2

[oracle@ol8-21-rac1 ~]$ cat &amp;lt;&amp;lt;EOF&amp;gt;&lt;eof&gt;  /u01/app/oracle/homes/OraDB21Home1/network/admin/tnsnames.ora

pdb_tactdm =
 (DESCRIPTION =
     (CONNECT_TIMEOUT=90)(RETRY_COUNT=50)(RETRY_DELAY=3)   
     (TRANSPRRT_CONNECT_TIMEOUT=3)
     (ADDRESS_LIST=
         (LOAD_BALANCE=ON)
         (ADDRESS = 
            (PROTOCOL = TCP)
            (HOST= ol8-21-rac1.joordsdomain)
            (PORT=1888)
         )
     )
  (CONNECT_DATA=
    (SERVICE_NAME = pdb_tacservice)
  )
 )

EOF

[oracle@ol8-21-rac1 admin]$ tnsping pdb_tactdm

TNS Ping Utility for Linux: Version 21.0.0.0.0 - Production on 23-JAN-2024 09:36:38

Copyright (c) 1997, 2021, Oracle.  All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (CONNECT_TIMEOUT=90)(RETRY_COUNT=50)(RETRY_DELAY=3)(TRANSPRRT_CONNECT_TIMEOUT=3) (ADDRESS_LIST= (LOAD_BALANCE=ON) (ADDRESS = (PROTOCOL = TCP)(HOST= ol8-21-rac1.joordsdomain)(PORT=1888))) (CONNECT_DATA= (SERVICE_NAME = pdb_tacservice) (COLOCATION_TAG=abc)))
OK (0 msec)


[oracle@ol8-21-rac1 admin]$ sqlplus joords/joords_PASSWORD@pdb_tactdm

SQL*Plus: Release 21.0.0.0.0 - Production on Tue Jan 23 09:37:44 2024
Version 21.3.0.0.0

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

Last Successful login time: Thu Jan 18 2024 14:42:02 +00:00

Connected to:
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0
connected via Oracle Connection Manager in Traffic Director mode 21.3.0.0.0


SQL&amp;gt; show user
USER is &quot;JOORDS&quot;

SQL&amp;gt;  set linesize 200
      col  DB_UNIQUE_NAME format a20
      col  INSTANCE_NAME  format a20
      col  HOST           format a20 
      col  SERVICE_NAME   format a20 
&lt;/eof&gt;    &lt;eof&gt;  col  AUTH_METHOD    format a20 
&lt;/eof&gt;      &lt;eof&gt;col  PROXY_USER     format a20 	  
      select sys_context(&#39;USERENV&#39;,&#39;DB_UNIQUE_NAME&#39;) as DB_UNIQUE_NAME
           , sys_context(&#39;USERENV&#39;,&#39;INSTANCE_NAME&#39;)  as INSTANCE_NAME
      &lt;/eof&gt; &lt;eof&gt;    , sys_context(&#39;USERENV&#39;,&#39;SERVER_HOST&#39;)    as HOST
           , sys_context(&#39;USERENV&#39;,&#39;SERVICE_NAME&#39;)    as SERVICE_NAME	
       &lt;/eof&gt; &lt;eof&gt;   , sys_context(&#39;USERENV&#39;,&#39;AUTHENTICATION_METHOD&#39;) as AUTH_METHOD	
        &lt;/eof&gt;   &lt;eof&gt;, sys_context(&#39;USERENV&#39;,&#39;PROXY_USER&#39;) as PROXY_USER	
           from dual;

DB_UNIQUE_NAME       INSTANCE_NAME        HOST                 SERVICE_NAME         AUTH_METHOD          PROXY_USER
-------------------- -------------------- -------------------- -------------------- -------------------- --------------------
cdbrac               cdbrac2              ol8-21-rac2          PDB_TACSERVICE       NONE                 TDM


[oracle@ol8-21-rac1 admin]$ sqlplus joords/joords_PASSWORD@ol8-21-rac1:1888/PDB_TACSERVICE

SQL*Plus: Release 21.0.0.0.0 - Production on Tue Jan 23 09:42:02 2024
Version 21.3.0.0.0

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

Last Successful login time: Tue Jan 23 2024 09:40:38 +00:00

Connected to:
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0
connected via Oracle Connection Manager in Traffic Director mode 21.3.0.0.0

SQL&amp;gt; set linesize 200
&lt;/eof&gt;     &lt;eof&gt;col  DB_UNIQUE_NAME format a20
     col  INSTANCE_NAME  format a20
     col  HOST           format a20
     col  SERVICE_NAME   format a20
     col  AUTH_METHOD    format a20
     col  PROXY_USER     format a20

    select sys_context(&#39;USERENV&#39;,&#39;DB_UNIQUE_NAME&#39;) as DB_UNIQUE_NAME
         , sys_context(&#39;USERENV&#39;,&#39;INSTANCE_NAME&#39;)  as INSTANCE_NAME
         , sys_context(&#39;USERENV&#39;,&#39;SERVER_HOST&#39;)    as HOST
         , sys_context(&#39;USERENV&#39;,&#39;SERVICE_NAME&#39;)    as SERVICE_NAME
         , sys_context(&#39;USERENV&#39;,&#39;AUTHENTICATION_METHOD&#39;) as AUTH_METHOD
         , sys_context(&#39;USERENV&#39;,&#39;PROXY_USER&#39;) as PROXY_USER
      from dual;  

DB_UNIQUE_NAME       INSTANCE_NAME        HOST                 SERVICE_NAME         AUTH_METHOD          PROXY_USER
-------------------- -------------------- -------------------- -------------------- -------------------- --------------------
cdbrac               cdbrac1              ol8-21-rac1          PDB_TACSERVICE       NONE                 TDM
&lt;/eof&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;Connect as sysdba and validate the user JOORDS on the database&lt;/div&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;
[oracle@ol8-21-rac1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 21.0.0.0.0 - Production on Tue Jan 23 09:44:41 2024
Version 21.3.0.0.0

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


Connected to:
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0

SQL&amp;gt; alter session set container=PDB1:

SQL&amp;gt; col service_name format a20
     col username format a30

     select inst_id
          , sid,username
          , service_name
          , failover_type
          , failover_method
          , failed_over
          , PROGRAM
      from gv$session where username=&#39;JOORDS&#39;;

   INST_ID        SID USERNAME                       SERVICE_NAME         FAILOVER_TYPE FAILOVER_M FAI PROGRAM
---------- ---------- ------------------------------ -------------------- ------------- ---------- --- ------------------------------------------------------------------------------------
         1        161 JOORDS                         PDB_TACSERVICE       AUTO          BASIC      NO  cmop@ol8-21-rac1 (TNS V1-V3)
&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;The program is a &lt;b&gt;cmop@ol8-21-rac&lt;/b&gt;&amp;nbsp; instead of &lt;b&gt;sqlplus&lt;/b&gt;. &lt;br /&gt;CMAN has mapped the &lt;b&gt;sqlplus session to a cman session dedicated and the cman will login as a proxy to the database&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;Global overview of the CMAN PRCP&lt;/h4&gt;Below a global overview of the CMAN PRCP which act as a streaming service between the Client connections and the Database access.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilGVKP4VKJI9_t6dV_lGG3R-Ly7RxIff5Q5IPukKE0qk2H6z7CmkwPr9dD5E9oTuV_nxIGWMIIATFHKRRfdAQKe9KtS6kZ7lz5cRvnGxghrgqtQB3zKaddTQ9jJifSCGlb2Cq842LsmTmrVCBhSAqnlgRaWTxgT7jvSdTxAJRj4-UaKuUfqmKB3N0ijjo/s715/proxy.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;523&quot; data-original-width=&quot;715&quot; height=&quot;293&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilGVKP4VKJI9_t6dV_lGG3R-Ly7RxIff5Q5IPukKE0qk2H6z7CmkwPr9dD5E9oTuV_nxIGWMIIATFHKRRfdAQKe9KtS6kZ7lz5cRvnGxghrgqtQB3zKaddTQ9jJifSCGlb2Cq842LsmTmrVCBhSAqnlgRaWTxgT7jvSdTxAJRj4-UaKuUfqmKB3N0ijjo/w400-h293/proxy.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Step 7. Validation CMAN and DATABASE via netstat and logfiles&lt;/h3&gt;&lt;div&gt;View /u01/app/oracle/diag/netcman/ol8-21-rac1/cman-tdm/trace/cman-tdm.log&lt;/div&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;
2024-01-23T09:42:02.797365+00:00
23-JAN-2024 09:42:02 * (CONNECT_DATA=(SERVICE_NAME=PDB_TACSERVICE)(CID=(PROGRAM=sqlplus)(HOST=ol8-21-rac1)(USER=oracle))(CONNECTION_ID=D5rCMuGqELDgY2U4qMDJxw==)) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.101)(PORT=27002)) * establish * PDB_TACSERVICE * 0
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;View&amp;nbsp;&amp;nbsp;/u01/app/grid/diag/tnslsnr/ol8-21-rac1/listener/trace/listener.log&lt;/div&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;23-JAN-2024 09:42:02 * (CONNECT_DATA=(SERVICE_NAME=PDB_TACSERVICE)(CONNECTION_ID=D5p8DXU09EjgY2U4qMD2wg==)(USE_DBROUTER=YES)(CID=(PROGRAM=cmop)(HOST=ol8-21-rac1)(USER=oracle))(SERVER=dedicated)(INSTANCE_NAME=cdbrac1)) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.101)(PORT=22814)) * establish * PDB_TACSERVICE * 0
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div&gt;Netstat commands:&lt;br /&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;
[oracle@ol8-21-rac1 ~]$ netstat -anp | grep sqlplus|grep 1888
tcp        0      0 192.168.56.101:27002    192.168.56.101:1888     ESTABLISHED 69808/sqlplus

[oracle@ol8-21-rac1 ~]$ netstat -anp | grep 27002
tcp        0      0 192.168.56.101:27002    192.168.56.101:1888     ESTABLISHED 69808/sqlplus
tcp6       0      0 192.168.56.101:1888     192.168.56.101:27002    ESTABLISHED 62536/cmop
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
CMAN information:&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;
[oracle@ol8-21-rac1 admin]$ $ORACLE_HOME/bin/cmctl

CMCTL for Linux: Version 21.0.0.0.0 - Production on 23-JAN-2024 11:32:07

Copyright (c) 1996, 2021, Oracle.  All rights reserved.

Welcome to CMCTL, type &quot;help&quot; for information.

CMCTL&amp;gt; administer cman-tdm
Current instance cman-tdm is already started
Connections refer to (DESCRIPTION=(address=(protocol=tcp)(host=ol8-21-rac1)(port=1888))).
The command completed successfully.

CMCTL:cman-tdm&amp;gt; show all
listener_address            | (DESCRIPTION=(address=(protocol=tcp)(host=ol8-21-rac1)(port=1888)))
aso_authentication_filter   |   OFF
connection_statistics       |   OFF
event_group                 | (init_and_term, memory_ops)
log_directory               | /u01/app/oracle/diag/netcman/ol8-21-rac1/cman-tdm/alert
log_level                   | ADMIN
max_connections             |    50
idle_timeout                |     0
inbound_connect_timeout     |     0
session_timeout             |     0
outbound_connect_timeout    |     0
max_gateway_processes       |    16
min_gateway_processes       |     2
max_cmctl_sessions          |     4
password                    |   OFF
remote_admin                |    ON
trace_directory             | /u01/app/oracle/diag/netcman/ol8-21-rac1/cman-tdm/trace
trace_level                 |   OFF
trace_timestamp             |    ON
trace_filelen               |     0
trace_fileno                |     0
service_rate                |     0
connection_rate             |     0
max_all_connections         |     0
max_reg_connections         |     0
compression                 |   OFF
sdu                         |  8192
expire_time                 |     0
non_tunnel_gateways         |  1000
use_sid_as_service          |   OFF
valid_node_checking_registration |   OFF
Number of filtering rules currently in effect: 1
(rule_list=
  (rule=
    (src=*)
    (dst=*)
    (srv=*)
    (act=accept)
    (action_list=(aut=off)(moct=0)(mct=0)(mit=0)(conn_stats=on))
  )
)
The command completed successfully.

CMCTL:cman-tdm&amp;gt; show defaults
listener_address            | (ADDRESS=(PROTOCOL=TCP)(HOST=ol8-21-rac1)(PORT=1521))
aso_authentication_filter   |   OFF
connection_statistics       |   OFF
event_group                 |   OFF
log_directory               | /u01/app/oracle/product/21.0.0/client_1/network/log/
log_level                   | SUPPORT
max_connections             |   256
idle_timeout                |     0
inbound_connect_timeout     |    60
session_timeout             |     0
outbound_connect_timeout    |     0
max_gateway_processes       |    16
min_gateway_processes       |     2
max_cmctl_sessions          |     4
password                    |   OFF
remote_admin                |   OFF
trace_directory             | /u01/app/oracle/product/21.0.0/client_1/network/trace/
trace_level                 |   OFF
trace_timestamp             |   OFF
trace_filelen               |     0
trace_fileno                |     0
The command completed successfully.

CMCTL:cman-tdm&amp;gt; show connections detail

Connection ID                 5
Gateway ID                    0
Source                        192.168.56.101
Source Hostname               ol8-21-rac1
Source Process Id             115863
Source Program Name           sqlplus@ol8-21-rac1 (TNS V1-V3)
Destination                   192.168.56.103
Destination Hostname          ol8-21-rac1
Service                       PDB_TACSERVICE
Idle time                     19916243
Thread Wait time              0
Active time                   445070
State                         IDLE
PRCP Wait time                0
PRCP Checked-out time         0
PRCP Active time              0
PRCP State                    NO STATE
Total Session Gets            1
Session Get Hits              0
The command completed successfully.
&lt;/code&gt;&lt;/pre&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2024/01/connecting-cman-traffic-director-mode.html</link><author>noreply@blogger.com (joordsblog)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhktAr-pnEryqimRQzgE1kV05j0b1ICd3NHLS7VGhAM9hLje5SAYJaj-0AETfgKyyeahBhaaRV9YPMDAqcOBTPljw9qazdO0NzKQCeBp9k41KDeme5RS3y76_ZApf83sT2RpfojCiUzrsHiYL6ePYAJwyRPldt-BZQdEO-mDxqjv-zBb22IldJLrATY-Tg/s72-w472-h254-c/Sample%20CMAN-TDM%20Architecture.png" height="72" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-3657143591976531832</guid><pubDate>Tue, 23 Jan 2024 12:32:00 +0000</pubDate><atom:updated>2024-01-23T13:34:51.808+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">COLOCATION_TAG</category><category domain="http://www.blogger.com/atom/ns#">connect_data</category><category domain="http://www.blogger.com/atom/ns#">load balancing is ignored</category><title>COLOCATION_TAG of Client Connections</title><description>&lt;p&gt;The &lt;b&gt;&lt;a href=&quot;https://docs.oracle.com/en/database/oracle/oracle-database/19/netag/enabling-advanced-features.html#GUID-3D6D04A8-3E62-4F69-871C-6FB374262BBF&quot; target=&quot;_blank&quot;&gt;COLOCATION_TAG&lt;/a&gt; &lt;/b&gt;parameter is an alphanumeric string that you can use with the CONNECT_DATA parameter of the TNS connect string.&lt;/p&gt;&lt;p&gt;When you set the colocation_tag within the CONNECT_DATA parameter,&lt;b&gt; load balancing is ignored.&lt;/b&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;The use of &lt;b&gt;COLOCATION_TAG &lt;/b&gt;facilitates the preference for &lt;u&gt;colocating &lt;/u&gt;sessions that handle identical data when operating across multiple nodes, mitigating the need for inter-node cache synchronization. Simply assign a character string, potentially carrying business significance, and the load balancer will make an effort to keep together sessions that hash to the same value.&lt;/p&gt;&lt;p&gt;As an illustration, the listener endeavors to direct all clients with the &lt;b&gt;COLOCATION_TAG &lt;/b&gt;set to &quot;abcworkload&quot; in the connection descriptor to the same database instance.&lt;/p&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;

pdb_tacservice =
 (DESCRIPTION =
  (CONNECT_TIMEOUT=90)(RETRY_COUNT=50)(RETRY_DELAY=3)(TRANSPRRT_CONNECT_TIMEOUT=3)
   (ADDRESS_LIST=
    (LOAD_BALANCE=ON)
    (ADDRESS = (PROTOCOL = TCP)(HOST= ol8-21-scan.joordsdomain)(PORT=1521))
   )
  (CONNECT_DATA=
    (SERVICE_NAME = pdb_tacservice)
    (COLOCATION_TAG=abcworkload)
   )
 )


&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;Note:&lt;/b&gt;Under certain conditions, such as, when maximum load of an instance is reached or when new instances are added or deleted for a service, the colocation of client connections that have the same &lt;b&gt;colocation_tag &lt;/b&gt;to the same database instance may not be consistent.&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2024/01/colocationtag-of-client-connections.html</link><author>noreply@blogger.com (joordsblog)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-4989026770102161018</guid><pubDate>Fri, 12 Jan 2024 10:33:00 +0000</pubDate><atom:updated>2024-01-12T11:39:41.222+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">$(orabase)</category><category domain="http://www.blogger.com/atom/ns#">$(orabaseconfig)</category><category domain="http://www.blogger.com/atom/ns#">$(orabasehome)</category><category domain="http://www.blogger.com/atom/ns#">bin</category><category domain="http://www.blogger.com/atom/ns#">orabase*</category><category domain="http://www.blogger.com/atom/ns#">ORACLE_BASE</category><category domain="http://www.blogger.com/atom/ns#">ORACLE_HOME</category><category domain="http://www.blogger.com/atom/ns#">TNSNAMES.ORA</category><title>Where is my TNSNAMES.ORA from Oracle database 21c</title><description>Oracle has started from Oracle version 18c to use Oracle read-only software trees. See my blog &lt;a href=&quot;https://joordsblog.vandenoord.eu/2019/04/configuring-read-only-oraclehome-18c.html&quot; target=&quot;_blank&quot;&gt;Configuring Read Only OracleHome - 18c&lt;/a&gt;&amp;nbsp;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;From Oracle version 21c there are no distinctions between software trees in &lt;u&gt;read-only&lt;/u&gt; and&lt;u&gt; read-write&lt;/u&gt; modes. As of now, the default configuration is set to utilize the read-only mode introduced in Oracle 18c.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;When installing a CDB through DBCA on Oracle Database 21c, you will observe the presence of &lt;b&gt;TNSNAMES.ORA&lt;/b&gt;.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;The question then arises: where is it located?&lt;/h3&gt;
&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;
[oracle@ol8-21-rac1 admin]$ ${GRID_HOME}/bin/crsctl status resource -w &quot; NAME co cdbrac &quot; -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cdbrac.db
      1        ONLINE  OFFLINE                               Instance Shutdown,ST
                                                             ABLE
      2        ONLINE  ONLINE       ol8-21-rac1              Open,HOME=/u01/app/o
                                                             racle/product/21.0.0
                                                             /dbhome_1,STABLE
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div&gt;We see we have a CDB called CDBRAC lets see if there is a TNSNAMES.ORA file&lt;br /&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;
[oracle@ol8-21-rac1 admin]$ tnsping cdbrac

TNS Ping Utility for Linux: Version 21.0.0.0.0 - Production on 12-JAN-2024 09:38:29

Copyright (c) 1997, 2021, Oracle.  All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ol8-21-scan.joordsdomain)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = cdbrac)))
OK (10 msec)
&lt;/code&gt;&lt;code style=&quot;background: 0px 0px; padding: 2px 5px; white-space: normal;&quot;&gt;&lt;span style=&quot;font-family: Times New Roman;&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;Where is this TNSNAMES.ORA file located?&lt;br /&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;
[oracle@ol8-21-rac1 admin]$ echo $ORACLE_HOME/network/admin/
/u01/app/oracle/product/21.0.0/dbhome_1/network/admin/

ls -trl $ORACLE_HOME/network/admin/
total 4
-rw-r--r--. 1 oracle oinstall 1624 Feb 18  2020 shrept.lst
drwxr-xr-x. 2 oracle oinstall   64 Jan 11 09:48 samples&lt;/code&gt;&lt;code style=&quot;background: 0px 0px; padding: 2px 5px; white-space: normal;&quot;&gt;&lt;span style=&quot;font-family: Times New Roman;&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;So lets look at the files starting with &quot;&lt;b&gt;ORABASE*&lt;/b&gt;&quot; in the &lt;i&gt;&lt;u&gt;bin &lt;/u&gt;&lt;/i&gt;directory of the &lt;u&gt;ORACLE_HOME&lt;/u&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;
[oracle@ol8-21-rac1 admin]$ ls -trl $ORACLE_HOME/bin/orabas*
-rwxr-xr-x. 1 oracle oinstall   36208 Jul 27  2021 /u01/app/oracle/product/21.0.0/dbhome_1/bin/orabase
-rwxr-x---. 1 oracle oinstall 1858568 Jul 27  2021 /u01/app/oracle/product/21.0.0/dbhome_1/bin/orabasehome
-rwxr-x---. 1 oracle oinstall 1858576 Jul 27  2021 /u01/app/oracle/product/21.0.0/dbhome_1/bin/orabaseconfig

[oracle@ol8-21-rac1 admin]$ ls -d $(orabase)
/u01/app/oracle
[oracle@ol8-21-rac1 admin]$ ls -d $(orabasehome)
/u01/app/oracle/homes/OraDB21Home1
[oracle@ol8-21-rac1 admin]$ ls -d $(orabaseconfig)
/u01/app/oracle&lt;/code&gt;&lt;code style=&quot;background: 0px 0px; padding: 2px 5px; white-space: normal;&quot;&gt;&lt;span style=&quot;font-family: Times New Roman;&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;we see that the &lt;b&gt;$(orabasehome&lt;/b&gt;) is not equal to the $ORACLE_HOME which means that the TNSNAMES.ORA file will be located outside the $ORACLE_HOME&lt;/div&gt;&lt;br /&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em; text-align: left;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;
[oracle@ol8-21-rac1 admin]$ locate tnsnames.ora
/u01/app/21.0.0/grid/network/admin/samples/tnsnames.ora
/u01/app/oracle/homes/OraDB21Home1/network/admin/tnsnames.ora
/u01/app/oracle/product/21.0.0/dbhome_1/network/admin/samples/tnsnames.ora

[oracle@ol8-21-rac1 admin]$ pwd  $(orabaseconfig)/network/admin
/u01/app/oracle/homes/OraDB21Home1/network/admin

[oracle@ol8-21-rac1 oracle]$ ls -trl $(orabasehome)/network/admin
total 4
-rw-r-----. 1 oracle oinstall 2914 Jan 11 15:08 tnsnames.ora
[oracle@ol8-21-rac1 oracle]$ cat $(orabasehome)/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/homes/OraDB21Home1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

CDBRAC =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ol8-21-scan.joordsdomain)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = cdbrac)
    )
  )
&lt;/code&gt;&lt;code style=&quot;background: 0px 0px; padding: 2px 5px; white-space: normal;&quot;&gt;&lt;span style=&quot;font-family: Times New Roman;&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Setting the TNSNAMES.ORA as was before the following steps needs to be done&lt;/h3&gt;&lt;div&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Create a TNS_ADMIN environment variable set the $ORACLE_HOME/netwerk/admin&lt;/li&gt;&lt;li&gt;Copy the $(orabasehome)/network/admin/tnsnames.ora to $TNS_ADMIN/tnsnames.ora&lt;/li&gt;&lt;li&gt;Update your profile by add the TNS_ADMIN variable&lt;/li&gt;&lt;li&gt;Update the ORACLE clusterware attribute, by adding the TNS_ADMIN environment variable to the CDB resource&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2024/01/where-is-my-tnsnamesora-from-oracle.html</link><author>noreply@blogger.com (joordsblog)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-6379429793599520072</guid><pubDate>Wed, 05 Oct 2022 12:06:00 +0000</pubDate><atom:updated>2022-10-11T18:24:37.649+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Central Managed Users</category><category domain="http://www.blogger.com/atom/ns#">CMU</category><category domain="http://www.blogger.com/atom/ns#">Kerberos</category><category domain="http://www.blogger.com/atom/ns#">SSO</category><title>Managing Oracle Database 19c Users in Active Directory (Part 2 - CMU)</title><description>&lt;p&gt;&amp;nbsp;To integrate with Active Directory we are going to use two database features&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Kerberos authentication (Part 1),&lt;/li&gt;&lt;li&gt;Centrally Managed Users (Part 2)&amp;nbsp;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;(note: Centrally Managed Users is an Enterprise Edition feature).&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;span style=&quot;font-size: x-large;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;Centrally Managed Users (Part 2)&amp;nbsp;&lt;/div&gt;&lt;/span&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/FU8UGLs8QGU&quot; width=&quot;320&quot; youtube-src-id=&quot;FU8UGLs8QGU&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2022/10/managing-oracle-database-19c-users-in_01196201481.html</link><author>noreply@blogger.com (joordsblog)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/FU8UGLs8QGU/default.jpg" height="72" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-9033784530025284821</guid><pubDate>Wed, 05 Oct 2022 11:55:00 +0000</pubDate><atom:updated>2022-10-11T18:21:54.426+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Central Managed Users</category><category domain="http://www.blogger.com/atom/ns#">CMU</category><category domain="http://www.blogger.com/atom/ns#">Kerberos</category><category domain="http://www.blogger.com/atom/ns#">SSO</category><title>Managing Oracle Database 19c Users in Active Directory (Part 1 - Kerberos)</title><description>&lt;p&gt;To integrate with Active Directory we are going to use two database features&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Kerberos authentication (Part 1), &lt;/li&gt;&lt;li&gt;Centrally Managed Users (Part 2)&amp;nbsp;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;(note: Centrally Managed Users is an Enterprise Edition feature)&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: x-large;&quot;&gt;Kerberos authentication (Part 1)&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/fu7ISpUDfK4&quot; width=&quot;320&quot; youtube-src-id=&quot;fu7ISpUDfK4&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2022/10/managing-oracle-database-19c-users-in.html</link><author>noreply@blogger.com (joordsblog)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/fu7ISpUDfK4/default.jpg" height="72" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-6073074303648385556</guid><pubDate>Tue, 20 Sep 2022 11:34:00 +0000</pubDate><atom:updated>2022-09-27T11:49:14.301+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dbms_service</category><category domain="http://www.blogger.com/atom/ns#">disconnect_session</category><category domain="http://www.blogger.com/atom/ns#">forward_listener</category><category domain="http://www.blogger.com/atom/ns#">local_listener</category><category domain="http://www.blogger.com/atom/ns#">network_listener</category><category domain="http://www.blogger.com/atom/ns#">remote_listener</category><title>FORWARD_LISTENER :  the offsite listener forwards the connection to the new Oracle listener </title><description>&lt;p&gt;&amp;nbsp;The parameter &lt;b&gt;FORWARD_LISTENER&lt;/b&gt; is useful when it is difficult to change an existing client connect string, for example, after an offsite database has been moved into the Oracle Cloud. With the &lt;b&gt;FORWARD_LISTENER&lt;/b&gt; parameter, clients can continue to connect to their offsite listener, and the offsite listener forwards the connection to the Oracle Cloud listener.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Once a forward listener has been configured through the &lt;b&gt;FORWARD_LISTENER&lt;/b&gt; parameter, the &lt;b&gt;LOCAL_LISTENER&lt;/b&gt; parameter can be cleared by setting its value to &quot;-oracle-none-&quot; so that all the connections coming to an existing set of remote listeners configured through the &lt;b&gt;REMOTE_LISTENER&lt;/b&gt; parameter are forwarded only to listeners configured through &lt;b&gt;FORWARD_LISTENER&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;The &lt;b&gt;FORWARD_LISTENER&lt;/b&gt; parameter can also be specified in the &lt;b&gt;LISTENER_NETWORKS&lt;/b&gt; parameter.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Lets play and test it, information of the environment&lt;/h3&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;p style=&quot;text-align: left;&quot;&gt;Listener overview service endpoint&lt;/p&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;[oracle@hol ~]$ lsnrctl status listener
=======================================
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hol)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     listener
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                13-SEP-2022 11:25:32
Uptime                    0 days 0 hr. 7 min. 54 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/19/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/hol/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hol)(PORT=1521)))
Services Summary...
...
...
Service &quot;relocate&quot; has 1 instance(s).
  Instance &quot;CDB1&quot;, status READY, has 1 handler(s) for this service...
The command completed successfully

[oracle@hol ~]$ lsnrctl status listener_cdb2
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hol)(PORT=1525)))
STATUS of the LISTENER
------------------------
Alias                     listener_cdb2
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                13-SEP-2022 11:25:36
Uptime                    0 days 0 hr. 9 min. 55 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/19/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/hol/listener_cdb2/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hol)(PORT=1525)))
Services Summary...
...
...
Service &quot;relocate&quot; has 1 instance(s).
  Instance &quot;cdb2&quot;, status READY, has 1 handler(s) for this service...
The command completed successfully&lt;/code&gt;&lt;code style=&quot;background: 0px 0px; padding: 2px 5px; white-space: normal;&quot;&gt;&lt;span style=&quot;font-family: Times New Roman;&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: left;&quot;&gt;Databases&lt;/p&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); color: #383838; font-family: &amp;quot;Courier New&amp;quot;; font-size: 11px; line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; padding: 2px 5px;&quot;&gt;[oracle@hol ~]$ ps -ef|grep smon
oracle   14537     1  0 11:25 ?        00:00:00 ora_smon_CDB1
oracle   15399     1  0 11:30 ?        00:00:00 ora_smon_cdb2
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: left;&quot;&gt;Listeners&lt;/p&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;[oracle@hol ~]$ ps -ef|grep lsnr
oracle   14439     1  0 11:25 ?        00:00:00 /u01/app/oracle/product/19/bin/tnslsnr listener -inherit
oracle   14446     1  0 11:25 ?        00:00:00 /u01/app/oracle/product/19/bin/tnslsnr listener_cdb2 -inherit&lt;/code&gt;&lt;code style=&quot;background: 0px 0px; padding: 2px 5px; white-space: normal;&quot;&gt;&lt;span style=&quot;font-family: Times New Roman;&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;We have an environment existing of the following construction&amp;nbsp; :&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&amp;nbsp; CDB1 instance with a pluggable database PDB1 using default listener on port 1521&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp; CDB2 instance with a pluggable database relocate using the listener_cdb2 on port 1525&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;The relocate service on the CDB1 is created within the PDB1 using the commands&lt;/div&gt;&lt;div&gt;below:&lt;/div&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); color: #383838; font-family: &amp;quot;Courier New&amp;quot;; font-size: 11px; line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; padding: 2px 5px;&quot;&gt;CDB1_pdb1&amp;gt; BEGIN
  DBMS_SERVICE.create_service(
    service_name =&amp;gt; &#39;relocate&#39;,
    network_name =&amp;gt; &#39;relocate&#39;
  );
END;
/

CDB1_pdb1&amp;gt; BEGIN
  DBMS_SERVICE.start_service(
    service_name =&amp;gt; &#39;relocate&#39;
  );
END;
/

CDB1_pdb1&amp;gt; BEGIN
  DBMS_SERVICE.start_service(
    service_name =&amp;gt; &#39;relocate&#39;
  );
END;
/&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Start setup the connection forwarding for the application which is using the listener_cdb2 on port 1525 to connect to the new migrated pluggable database listening on a other port an another CDB without changing the application connection string [CDB1 database using relocate service for PDB1 and listener port 1521]&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;To get this on a my environment operational I have to trick this by using the listener_cdb2 string &#39;hol:1525&#39; settings for the remote-listener&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Validation of the connection to listener_cdb2 which listen on port 1525&lt;br /&gt;No changed are executed on the databases and pdbs&lt;/h3&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); color: #383838; font-family: &amp;quot;Courier New&amp;quot;; font-size: 11px; line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; padding: 2px 5px;&quot;&gt;sqlplus c##relocate/oracle@hol:1525/relocate

SQL*Plus: Release 19.0.0.0.0 - Production on Mon Sep 12 13:30:54 2022
Version 19.15.0.0.0

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

Last Successful login time: Mon Sep 12 2022 12:02:51 +02:00

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.15.0.0.0

CDB2_relocate&amp;gt; col CDB_NAME for a10
CDB2_relocate&amp;gt; col PDB_NAME for a10
CDB2_relocate&amp;gt; SELECT SYS_CONTEXT (&#39;USERENV&#39;,&#39;CDB_NAME&#39;) as CDB_NAME,  SYS_CONTEXT (&#39;USERENV&#39;,&#39;DB_NAME&#39;) as PDB_NAME from dual;

CDB_NAME   PDB_NAME
---------- ----------
cdb2       RELOCATE&lt;/code&gt;&lt;/pre&gt;  
 &lt;div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;On the relocate PDB within the CDB2 we will activate the forward_listener parameter.&lt;/h3&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; padding: 2px 5px;&quot;&gt;CDB2_relocate&amp;gt; alter system set forward_listener=&#39;hol:1521&#39; scope=memory
                --- no change the remote listener is not available to reconnect the request to the forward_listener address
 CDB2_relocate&amp;gt; alter system set remote_listener=&#39;hol:1525&#39; scope=memory
                -- the trick when working without ASM/grid configuration&lt;/code&gt;&lt;code style=&quot;background: 0px 0px; padding: 2px 5px; white-space: normal;&quot;&gt;&lt;span style=&quot;font-family: Times New Roman;&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
  
 &lt;div&gt;&lt;div&gt;The last statement will show in the lsnrctl services listener_cdb2 command the following rules in the listener_cdb2 a entry for forwarding is found for the service relocate&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;span style=&quot;color: #383838; font-family: Monaco, Consolas, Andale Mono, DejaVu Sans Mono, monospace;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;Service &quot;relocate&quot; has 1 instance(s).
  Instance &quot;cdb2&quot;, status READY, has 4 handler(s) for this service...
    Handler(s):
      &quot;D000&quot; established:0 refused:0 current:0 max:1022 state:ready
         DISPATCHER &amp;lt;machine: hol.localdomain, pid: 15427&amp;gt;
         (ADDRESS=(PROTOCOL=tcp)(HOST=hol)(PORT=33773))
      &quot;DEDICATED&quot; established:1 refused:0 state:ready
         LOCAL SERVER
      &quot;DEDICATED&quot; established:0 refused:0 state:ready
         &lt;b&gt;REMOTE SERVER&lt;/b&gt; &lt;/span&gt;  &lt;span style=&quot;font-size: 11px;&quot;&gt;(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=tcp)(HOST=::1)(PORT=1525)))
      &quot;COMMON&quot; established:0 refused:0 state:ready
         &lt;b&gt;FORWARD SERVER&lt;/b&gt;   (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=tcp)(HOST=::1)(PORT=1521)))&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;Still the connections are not forwarded to the new database, here for we have to execute the change for the parameter LOCAL_LISTENER&lt;/div&gt;&lt;div&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; padding: 2px 5px;&quot;&gt;&lt;span style=&quot;color: #383838; font-family: Monaco, Consolas, Andale Mono, DejaVu Sans Mono, monospace;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;CDB2_relocate&amp;gt; alter system set local_listener=&#39;-oracle-none-&#39; scope=memory;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Times New Roman;&quot;&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In the listener_cdb2 listener log the service is died for the CDB2&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;span style=&quot;color: #383838; font-family: Monaco, Consolas, Andale Mono, DejaVu Sans Mono, monospace;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;==&amp;gt; listener_cdb2/trace/listener_cdb2.log &amp;lt;==
13-SEP-2022 12:10:29 * service_died * cdb2 * 12537&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;This will result into a redirect of the new connections to the new environment CDB1 with PDB1&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;span style=&quot;color: #383838; font-family: Monaco, Consolas, Andale Mono, DejaVu Sans Mono, monospace;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;CDB2_relocate&amp;gt; show parameter list

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
forward_listener                     string      hol:1521
listener_networks                    string
local_listener                       string      -oracle-none-
remote_listener                      string      hol:1525&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;Do the test of connecting again&amp;nbsp;&lt;/p&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;span style=&quot;color: #383838; font-family: Monaco, Consolas, Andale Mono, DejaVu Sans Mono, monospace;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;[oracle@hol ~]$ sqlplus c##relocate/oracle@hol:1525/relocate

SQL*Plus: Release 19.0.0.0.0 - Production on Tue Sep 13 12:11:02 2022
Version 19.15.0.0.0

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

Last Successful login time: Mon Sep 12 2022 13:30:54 +02:00

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.15.0.0.0

SQL&amp;gt; col CDB_NAME for a10
SQL&amp;gt; col PDB_NAME for a10
SQL&amp;gt; SELECT SYS_CONTEXT (&#39;USERENV&#39;,&#39;CDB_NAME&#39;) as CDB_NAME,  SYS_CONTEXT (&#39;USERENV&#39;,&#39;DB_NAME&#39;) as PDB_NAME from dual;

CDB_NAME   PDB_NAME
---------- ----------
CDB1	   PDB1&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;The connection request will show two logging events, one in every listener log&amp;nbsp;&lt;/p&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); color: #383838; font-family: &amp;quot;Courier New&amp;quot;; font-size: 11px; line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; padding: 2px 5px;&quot;&gt;=&amp;gt; listener_cdb2/trace/listener_cdb2.log &amp;lt;==

2022-09-13T12:11:02.316515+02:00
13-SEP-2022 12:11:02 * (CONNECT_DATA=(SERVICE_NAME=relocate)(CID=(PROGRAM=sqlplus)(HOST=hol.localdomain)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=::1)(PORT=19496)) * establish * relocate * 0

==&amp;gt; listener/trace/listener.log &amp;lt;==
2022-09-13T12:11:02.330769+02:00
13-SEP-2022 12:11:02 * (CONNECT_DATA=(SERVICE_NAME=relocate)(CID=(PROGRAM=sqlplus)(HOST=hol.localdomain)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=::1)(PORT=40100)) * establish * relocate * 0&lt;/code&gt;&lt;/pre&gt;
   &lt;p&gt;The connection is forwarded to the an new Oracle Database located somewhere else without changing the application connection string.&amp;nbsp; Now we can easy change this when we have time to do it.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;DBMS_SERVICE: drain the existing service connections on the database&lt;/h3&gt;&lt;div&gt;&lt;div&gt;Using the &lt;b&gt;dbms_service &lt;/b&gt;package we can drain the existing session, so that they will disconnect and when new request are made they will go to the new database environment&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;The &lt;b&gt;DISCONNECT_SESSION &lt;/b&gt;procedure disconnects all sessions currently connected to the service. The disconnection can take one of three forms, indicated by package constants.&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;i&gt;POST_TRANSACTION &lt;/i&gt;: Sessions disconnect once their current transaction ends with a commit or rollback. This is the default value (0).&lt;/li&gt;&lt;li&gt;&lt;i&gt;IMMEDIATE &lt;/i&gt;: Sessions disconnect immediately. Value (1).&lt;/li&gt;&lt;li&gt;&lt;i&gt;NOREPLAY &lt;/i&gt;: Sessions disconnect immediately, and are flagged not to be replayed by application continuity. Value (2).&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); color: #383838; font-family: &amp;quot;Courier New&amp;quot;; font-size: 11px; line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; padding: 2px 5px;&quot;&gt;CDB2_relocate&amp;gt; BEGIN
  DBMS_SERVICE.disconnect_session(
   service_name      =&amp;gt; &#39;RELOCATE&#39;,
   disconnect_option =&amp;gt; DBMS_SERVICE.post_transaction
  );
END;
/&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2022/09/forwardlistener-offsite-listener.html</link><author>noreply@blogger.com (joordsblog)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-8778669876301273039</guid><pubDate>Mon, 12 Sep 2022 14:08:00 +0000</pubDate><atom:updated>2022-09-13T11:14:30.355+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AVAILABILITY MAX</category><category domain="http://www.blogger.com/atom/ns#">PDB RELOCATE</category><title>PDB relocate using &quot;AVAILABILITY MAX&quot; clause</title><description>&lt;div class=&quot;separator&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;A PDB relocation executes an online block level copy of the source PDB data files, redo, and undo while the source PDB is open with active sessions. When the target PDB comes online because of an ALTER PLUGGABLE DATABASE OPEN statement, Oracle Database terminates the active sessions and closes the source PDB.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;The AVAILABILITY MAX clause in CREATE PLUGGABLE DATABASE ... RELOCATE implicitly instructs the SQL*Net layer to reconfigure the original listener. This situation may be common when relocating a PDB between data centers. This configuration is intended to be temporary while the Oracle Internet Directory (OID) or LDAP server is updated or the client connections are modified.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;Overview image Relocate PDB&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: justify;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; data-original-height=&quot;696&quot; data-original-width=&quot;642&quot; height=&quot;400&quot; src=&quot;https://docs.oracle.com/en/database/oracle/oracle-database/21/multi/img/admin109.png&quot; /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Requirements for executing a relocate PDB between two CDB&#39;s&lt;/h3&gt;&lt;div&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;The user in the local database has the&lt;b&gt; CREATE PLUGGABLE DATABASE&lt;/b&gt; privilege in the root container.&lt;/li&gt;&lt;li&gt;The remote CDB is in local undo mode.&lt;/li&gt;&lt;li&gt;The remote and local CDBs are in &lt;b&gt;ARCHIVELOG &lt;/b&gt;mode.&lt;/li&gt;&lt;li&gt;The common user in the remote CDB to whom the database link connects has the&lt;b&gt; CREATE PLUGGABLE DATABASE, SESSION, and SYSOPER&lt;/b&gt; privilege.&lt;/li&gt;&lt;li&gt;The local and remote CDBs have the same options installed.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Environment&lt;/h3&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;CDB1 with multiple PDB&#39;s including the RELOCATE pdb&amp;nbsp;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;A default listener used bij de CDB1 on port 1521&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;CDB2 without pdb&#39;s&lt;/li&gt;&lt;ul&gt;&lt;li&gt;A second listener used by CDB2 on port 1525&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Steps to execute a PDB relocation with minimal downtime&lt;/h3&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Create common user in both CDB&#39;s&lt;/li&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); color: #383838; font-family: Courier New;  &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;
&lt;code style=&quot;background: 0px 0px; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; padding: 2px 5px;&quot;&gt;
&gt; CDB1&amp;gt; create user c##relocate identified by oracle container=all;&lt;/code&gt;&lt;/pre&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); color: #383838; font-family: Courier New;  &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;
&lt;code style=&quot;background: 0px 0px; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; padding: 2px 5px;&quot;&gt;
 CDB1&amp;gt; grant create session, SYSOPER to C##RELOCATE container=all;&lt;/code&gt;&lt;/pre&gt;
&lt;li&gt;Create databaselink to source from the target&lt;/li&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); color: #383838; font-family: Courier New;  &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;
&lt;code style=&quot;background: 0px 0px; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; padding: 2px 5px;&quot;&gt;
 CDB2&amp;gt; create database link lnk_src connect to c##relocate identified by oracle using &#39;hol:1521/cdb1&#39;;&lt;/code&gt;&lt;/pre&gt;
&lt;li&gt;Create test table for validation&lt;/li&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); color: #383838; font-family: Courier New;  &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;
&lt;code style=&quot;background: 0px 0px; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; padding: 2px 5px;&quot;&gt;
CDB1_relocate&amp;gt; create table scott.relocate ( step number, text varchar2(100)) tablespace users;
CDB1_relocate&amp;gt; insert into scott.relocate values (1, &#39;before relocation insert&#39;)
CDB1_relocate&amp;gt; commit;
&lt;/code&gt;&lt;/pre&gt;
&lt;li&gt;Execute the relocate PDB command&lt;/li&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); color: #383838; font-family: Courier New;  &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;
&lt;code style=&quot;background: 0px 0px; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; padding: 2px 5px;&quot;&gt;
CDB2&amp;gt; create pluggable database relocate from relocate@lnk_src relocate AVAILABILITY MAX;&lt;/code&gt;&lt;/pre&gt;
&lt;li&gt;Insert new data to the test table&lt;/li&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); color: #383838; font-family: Courier New;  &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;
&lt;code style=&quot;background: 0px 0px; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; padding: 2px 5px;&quot;&gt;
CDB1_relocate&amp;gt; insert into scott.relocate values (2, &#39;after relocation insert&#39;);
CDB1_relocate&amp;gt; commit;
CDB1_relocate&amp;gt; update scott.relocate set text = &#39;after relocation update&#39; where step=2 ;
CDB1_relocate&amp;gt; commit;
&lt;/code&gt;&lt;/pre&gt;&lt;li&gt;Open the new PDB on CDB2&lt;/li&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); color: #383838; font-family: Courier New;  &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;
&lt;code style=&quot;background: 0px 0px; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; padding: 2px 5px;&quot;&gt;
CDB2&amp;gt; show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 RELOCATE                       MOUNTED

CDB2&amp;gt; alter pluggable database relocate open;

CDB2&amp;gt; show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 RELOCATE                       READ WRITE NO

CDB2&amp;gt; ALTER SESSION SET CONTAINER=RELOCATE;

CDB2_relocate&amp;gt;select * from scott.relocate;

      STEP TEXT                       
---------- ------------------------------ 
         1 before relocation insert
         2 after relocation update               
&lt;/code&gt;&lt;/pre&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 style=&quot;clear: both; text-align: left;&quot;&gt;Testing connectivity using the entry of CDB1 on port 1521&lt;/h3&gt;&lt;div&gt;We want to see if the sql string from the application can contact to the new relocated pdb database without chanhing the connection string&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); color: #383838; font-family: Courier New;  &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;
&lt;code style=&quot;background: 0px 0px; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; padding: 2px 5px;&quot;&gt;
oracle@hol ~]$ sqlplus c##relocate/oracle@hol:1521/relocate 
&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;When executing this we see the following happening in the listener logs&lt;/div&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); color: #383838; font-family: Courier New;  &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;
&lt;code style=&quot;background: 0px 0px; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; padding: 2px 5px;&quot;&gt;====&amp;gt; listener log CDB1 ============
2022-09-12T12:29:29.658798+02:00
12-SEP-2022 12:29:29 * (CONNECT_DATA=(SERVICE_NAME=relocate)(CID=(PROGRAM=sqlplus)(HOST=hol.localdomain)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=::1)(PORT=16014)) * establish * relocate * 0

====&amp;gt; listener log CDB2 ============
2022-09-12T12:29:29.671058+02:00
12-SEP-2022 12:29:29 * (CONNECT_DATA=(SERVICE_NAME=relocate)(CID=(PROGRAM=sqlplus)(HOST=hol.localdomain)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=::1)(PORT=58266)) * establish * relocate * 0
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div&gt;SQLPLUS test case in which CDB are we connected&amp;nbsp;&lt;/div&gt;
&lt;pre style=&quot;background: rgb(245, 245, 245); color: #383838; font-family: Courier New;  &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;
&lt;code style=&quot;background: 0px 0px; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; padding: 2px 5px;&quot;&gt;
oracle@hol ~]$ SQL&amp;gt; SELECT SYS_CONTEXT(&#39;USERENV&#39;,&#39;CDB_NAME&#39;) database_name from dual;
DATABASE_NAME
--------------------------------------------------------------------------------
cdb2
&lt;/code&gt;&lt;/pre&gt;

&lt;div&gt;Perfect the listener of the CDB1&amp;nbsp; will forward it to the listener CDB2, and we get a session connected on the cdb database CDB2&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The old PDB relocate on CDB1 cannot be opened as you can see&lt;/div&gt;

&lt;pre style=&quot;background: rgb(245, 245, 245); color: #383838; font-family: Courier New;  &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 11px; line-height: 1; max-width: 100%; overflow: auto; padding: 1em;&quot;&gt;
&lt;code style=&quot;background: 0px 0px; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; padding: 2px 5px;&quot;&gt;
CDB1&amp;gt; show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB1                           READ WRITE NO
         4 PDB2                           READ WRITE NO
         5 RELOCATE                       MOUNTED

CDB1&amp;gt; alter pluggable database relocate open;
alter pluggable database relocate open
*
ERROR at line 1:
ORA-65086: cannot open/close the pluggable database
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2022/09/pdb-relocate-using-availability-max.html</link><author>noreply@blogger.com (joordsblog)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-2517121572270293002</guid><pubDate>Sun, 14 Mar 2021 10:42:00 +0000</pubDate><atom:updated>2021-03-14T11:42:03.469+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">CDB resource manager profiles</category><category domain="http://www.blogger.com/atom/ns#">cpu_count</category><category domain="http://www.blogger.com/atom/ns#">cpu_min_count</category><category domain="http://www.blogger.com/atom/ns#">Database Consolidation</category><category domain="http://www.blogger.com/atom/ns#">limits</category><category domain="http://www.blogger.com/atom/ns#">PDB Performance Profiles</category><category domain="http://www.blogger.com/atom/ns#">resource plan directives</category><category domain="http://www.blogger.com/atom/ns#">shares</category><title>Dynamic CPU Scaling in Oracle Database</title><description>&lt;p&gt;&lt;b&gt;Dynamic CPU Scaling in Oracle Database&lt;/b&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Prior to this new feature, DBAs had to allocate resources for peak loads to a database to ensure scale up was possible, and to ensure needed resources weren’t taken by other applications, commonly known as &quot;Noisy Neighbors&quot;.&lt;/p&gt;&lt;p&gt;Oracle offers the ability to configure &quot;&lt;b&gt;shares&lt;/b&gt;&quot; and &quot;&lt;b&gt;limits&lt;/b&gt;&quot; for each Pluggable Database within a Container Database.&lt;/p&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;p&gt;Shares are expressed as a share value, whereas utilization limit is expressed as a percentage such as shown in the example below:&lt;/p&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgTE6H5hYZ7BGDNjSR21BmITI5SA8RbX7hKZCE4T0WV-UBXQ0ViRvvyMt9qt__SoYXPN6W_LUi4PzaqMqm-fVAPShfXztEDEJVUtxgHu9P2Zr0hYnGUNEpu2O8TeJ4eChAIi1CBUKMNLQ/&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;405&quot; data-original-width=&quot;874&quot; height=&quot;173&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgTE6H5hYZ7BGDNjSR21BmITI5SA8RbX7hKZCE4T0WV-UBXQ0ViRvvyMt9qt__SoYXPN6W_LUi4PzaqMqm-fVAPShfXztEDEJVUtxgHu9P2Zr0hYnGUNEpu2O8TeJ4eChAIi1CBUKMNLQ/w374-h173/image.png&quot; width=&quot;374&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Dynamic CPU Scaling in Oracle Database 19c (19.4)&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;With CPU min/max ranges, administrators can establish lower and upper bounds of vCPU available to each Pluggable Database.&lt;/div&gt;&lt;div&gt;This feature is controlled by 2 simple parameters within each Pluggable Database as follows:&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;CPU_MIN_COUNT&lt;/li&gt;&lt;li&gt;CPU_COUNT&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;CPU_MIN_COUNT is the minimum number of vCPUs the Pluggable Database Instance will receive.&amp;nbsp; The total of CPU_MIN_COUNT for all Pluggable Database instances should not exceed the CPU_COUNT of the Container Database instance. When DBRM is enabled, and when CPU_MIN_COUNT has been set, the CPU_COUNT parameter defines the maximum number of vCPUs that can be used by a Pluggable Database Instance.&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;References:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://blogs.oracle.com/database/dynamic-cpu-scaling-in-oracle-database-19c&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Dynamic CPU Scaling in Oracle Database 19c&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.oracle.com/technetwork/database/availability/maa-consolidation-5648225.pdf&quot; target=&quot;_blank&quot;&gt;Best Practices for Database Consolidation&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2021/03/dynamic-cpu-scaling-in-oracle-database.html</link><author>noreply@blogger.com (joordsblog)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgTE6H5hYZ7BGDNjSR21BmITI5SA8RbX7hKZCE4T0WV-UBXQ0ViRvvyMt9qt__SoYXPN6W_LUi4PzaqMqm-fVAPShfXztEDEJVUtxgHu9P2Zr0hYnGUNEpu2O8TeJ4eChAIi1CBUKMNLQ/s72-w374-h173-c/image.png" height="72" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-503978830623364487</guid><pubDate>Fri, 05 Mar 2021 10:31:00 +0000</pubDate><atom:updated>2021-10-11T08:52:59.696+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Secure External Password Store</category><category domain="http://www.blogger.com/atom/ns#">security</category><category domain="http://www.blogger.com/atom/ns#">SEPS</category><category domain="http://www.blogger.com/atom/ns#">TDE</category><category domain="http://www.blogger.com/atom/ns#">Transparent Data Encryption</category><title>Stop Hardcoding your TDE keystore-password</title><description>&lt;p&gt;When you encrypt your databases, you will often end up needing the keystore password to perform certain operations. For instance, cloning an encrypted PDB will require the keystore password:&lt;/p&gt;&lt;pre style=&quot;background: rgb(245, 245, 245); color: #383838; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; font-size: 18px; line-height: 1.75; max-width: 100%; overflow: auto; padding: 1.75em;&quot;&gt;&lt;code style=&quot;background: 0px 0px; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; padding: 2px 5px;&quot;&gt;CREATE PLUGGABLE DATABASE ... KEYSTORE IDENTIFIED BY S3cr3t;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Using TDE password into an Oracle Secure External Password Store ([TDE-]SEPS)&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;338&quot; src=&quot;https://www.youtube.com/embed/Txg8FyripKU&quot; width=&quot;407&quot; youtube-src-id=&quot;Txg8FyripKU&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;Link :&amp;nbsp;https://www.youtube.com/embed/Txg8FyripKU&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white; color: #383838; font-family: Georgia, &amp;quot;Times New Roman&amp;quot;, serif; font-size: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;b&gt;References :&lt;/b&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;https://docs.oracle.com/en/database/oracle/oracle-database/19/asoag/managing-keystore-and-tde-master-encryption-key.html#GUID-0C080CA8-1812-4DCD-AC30-FE47534C7962&quot;&gt;Configuring an External Store for a Keystore Password&amp;nbsp;(Oracle Database 19c: Advanced Security Guide)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://dohdatabase.com/about/&quot;&gt;Blog of Daniel Overby Hansen - Senior Principal Product Manager, Cloud Migrations&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://joordsblog.vandenoord.eu/2012/10/secure-external-password-store-seps.html&quot;&gt;Joords Oracle DBA blog - SEPS&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2021/03/stop-hardcoding-your-tde-keystore.html</link><author>noreply@blogger.com (joordsblog)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/Txg8FyripKU/default.jpg" height="72" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-4266470818695487696</guid><pubDate>Sat, 25 Jul 2020 17:30:00 +0000</pubDate><atom:updated>2020-07-25T20:22:21.974+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dbca</category><category domain="http://www.blogger.com/atom/ns#">mkstore</category><category domain="http://www.blogger.com/atom/ns#">orapki</category><category domain="http://www.blogger.com/atom/ns#">silent</category><category domain="http://www.blogger.com/atom/ns#">useWalletForDBCredentials</category><title>DBCA - useWalletForDBCredentials 19c</title><description>You can use Oracle wallet as a secure external password store for authenticating database users in DBCA silent mode commands. Oracle wallet is a secure software container external to Oracle Database, which can be used to store authentication credentials of Oracle Database users.&lt;br /&gt;
The configuration of the Oracle wallet as a secure external password store will be done by the mkstore command-line utility.&lt;br /&gt;
&lt;br /&gt;
&lt;h1&gt;
Database User Authentication in DBCA Commands Using Oracle Wallet&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;u&gt;useWalletForDBCredentials&lt;/u&gt;&lt;br /&gt;Specify true to use Oracle wallet for database user authentication, else specify false. &lt;br /&gt;Default is false.&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;u&gt;dbCredentialsWalletLocation&lt;/u&gt;&lt;br /&gt;Directory in which the Oracle wallet files are stored&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;(Optional) &lt;u&gt;dbCredentialsWalletPassword&lt;/u&gt;Password for the Oracle wallet account user. If the Oracle wallet is auto-login enabled, then you need not specify this password&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;Which password keys can be stored into the wallet and using DBCA in silent mode for authenticating users:&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.sysPassword: SYS user password&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.systemPassword: SYSTEM user password&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.pdbAdminPassword: Pluggable database (PDB) administrator password&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.dbsnmpPassword: DBSNMP user password&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.asmsnmpPassword: ASMSNMP user password&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.lbacsysPassword: LBACSYS user password&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.sysdbaUserPassword: SYSDBA role user password for the database that you are creating or configuring&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.oracleHomeUserPassword: Oracle home user password&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.dvUserPassword: Oracle Data Vault user password&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.dvAccountManagerPassword: Oracle Data Vault account manager password&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.emPassword: Enterprise Manager administrator password&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.asmPassword: ASM user password&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.asmsysPassword: ASMSYS user password&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.walletPassword: Oracle wallet account user password for authenticating with a directory service&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.userDNPassword: Directory service user password&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.srcDBsysdbaUserPassword: SYSDBA role user password for the database that you are using as a source to perform certain operations, such as duplicating a database&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.dbLinkUserPassword: Database link user password&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.walletPassword:Oracle Unified Directory (OUD), then the OUD account passwords&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;oracle.dbsecurity.userDNPassword:Oracle Unified Directory (OUD), then the OUD account passwords&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
How to use the wallet functionality is documented in &lt;a href=&quot;https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/creating-and-configuring-an-oracle-database.html#GUID-EC3C396B-6FFB-4957-BC73-1BE8F4FD852E&quot; target=&quot;_blank&quot;&gt;chapter 2 of the Database Administration Guide&lt;/a&gt; 19c.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;dbca -silent -createDatabase -help
...

    [-useWalletForDBCredentials] Specify true to load database credentials from wallet]
    [-dbCredentialsWalletLocation]
 
... &lt;/pre&gt;
&lt;br /&gt;
&lt;h1&gt;
Configure the wallet&lt;/h1&gt;
The mkstore utility lives in $ORACLE_HOME/bin.
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;mkstore -wrl ~/wallet -create

Oracle Secret Store Tool Release 20.0.0.0.0 - Production
Version 21.0.0.0.0
Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved.

Enter password:
Enter password again:&lt;/pre&gt;
&lt;br /&gt;
This Wallets can be copied to different machines, which can represent a security risk.
&lt;br /&gt;
prevent the auto login functionality of the wallet from working if it is copied to another machine by creating a local wallet using the &quot;orapki&quot; command, instead of the &quot;mkstore&quot; command.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;orapki wallet create -wallet &quot;/home/oracle/wallet&quot; -pwd &quot;MyPassword1&quot; -auto_login_local&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;
Add the following passwords to the wallet:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
oracle.dbsecurity.sysPassword: SYS user password&lt;/div&gt;
&lt;div&gt;
oracle.dbsecurity.systemPassword: SYSTEM user password&lt;/div&gt;
&lt;div&gt;
oracle.dbsecurity.pdbAdminPassword: Pluggable database (PDB) administrator password&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;mkstore -wrl ~/wallet -createEntry oracle.dbsecurity.systemPassword
Oracle Secret Store Tool Release 20.0.0.0.0 - Production
Version 21.0.0.0.0
Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved.
Your secret/Password is missing in the command line
Enter your secret/Password:
Re-enter your secret/Password:
Enter wallet password:

mkstore -wrl ~/wallet -createEntry oracle.dbsecurity.systemPassword
&amp;nbsp;Oracle Secret Store Tool Release 20.0.0.0.0 - Production
Version 21.0.0.0.0
Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved.

Your secret/Password is missing in the command line
Enter your secret/Password:
Re-enter your secret/Password:
Enter wallet password:

mkstore -wrl ~/wallet -createEntry oracle.dbsecurity.pdbAdminPassword
Oracle Secret Store Tool Release 20.0.0.0.0 - Production
Version 21.0.0.0.0
Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved.

Your secret/Password is missing in the command line
Enter your secret/Password:
Re-enter your secret/Password:
Enter wallet password:

mkstore -wrl ~/wallet -list
Oracle Secret Store Tool Release 20.0.0.0.0 - Production
Version 21.0.0.0.0
Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved.

Enter wallet password:
Oracle Secret Store entries:
oracle.dbsecurity.sysPassword
oracle.dbsecurity.systemPassword
oracle.dbsecurity.pdbAdminPassword
&lt;/pre&gt;
&lt;br /&gt;
&lt;h1&gt;
Now lets create the database with a PDB&lt;/h1&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;dbca -silent -createDatabase -gdbName WCDB -templateName joords_db.dbc \
  -useWalletForDBCredentials true -dbCredentialsWalletLocation ~/wallet \
  -datafileDestination /u02/data -useOMF true \
  -memoryMgmtType AUTO_SGA \
  -recoveryAreaDestination /u03/fra&amp;nbsp; \
  -totalMemory 4096 \
  -createAsContainerDatabase true \
  -numberOfPDBs 1 \
  -pdbName joords \
  -useLocalUndoForPDBs true


Prepare for db operation
10% complete
Copying database files
40% complete
Creating and starting Oracle instance
42% complete
....
Look at the log file &quot;/u01/app/oracle/cfgtoollogs/dbca/WCDB/WCDB.log&quot; for further details.&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2020/07/dbca-usewalletfordbcredentials-19c.html</link><author>noreply@blogger.com (joordsblog)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-2329809861091646188</guid><pubDate>Sun, 19 Jul 2020 19:00:00 +0000</pubDate><atom:updated>2020-07-20T11:39:38.966+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">easy connect</category><category domain="http://www.blogger.com/atom/ns#">easy connect PLUS</category><category domain="http://www.blogger.com/atom/ns#">EZCONNECT</category><title>EASY CONNECT PLUS - EZCONNECT</title><description>Oracle Database 19c introduces a significantly enhanced connection string syntax called Easy Connect Plus.&lt;br /&gt;
&lt;br /&gt;
By reducing the need for external configuration files, Easy Connect Plus makes it easier to use features such as TLS connections, wallets, load balancing, connection timeouts, and to tune network buffer sizes.&lt;br /&gt;
&lt;br /&gt;
Easy Connect Plus can be used in JDBC and .NET applications. It is also usable in applications and drivers built on the C language Oracle Call Interface (OCI) such as the Oracle Database drivers for Python, Node.js, PHP, Ruby, and Go.&lt;br /&gt;
&lt;h1&gt;
Easy connect background&lt;/h1&gt;
An Easy Connect string includes a host name, an optional port, and the database service name:&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;database_host[:port][/[service_name]
&lt;/pre&gt;
&lt;h1&gt;
Easy connect &lt;u&gt;plus&lt;/u&gt; syntax&lt;/h1&gt;
The Oracle Database 19c enhanced Easy Connect Plus syntax is a superset of Easy Connect that supports more connection options. The syntax is available in Oracle Database drivers (JDBC, ODP.Net, cx_Oracle, node-oracledb etc) that use Oracle Client 19c and connect to Oracle Database
11.2 or later.&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The Oracle Database 19c Easy Connect &lt;u&gt;&lt;b&gt;PLUS&lt;/b&gt;&lt;/u&gt; syntax is&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;[[protocol:]//]host1{,host2}[:port1]{,host2:port2}[/[service_name]
[:server_type][/instance_name]][?parameter_name=value{&amp;amp;parameter_name=value}]&lt;/pre&gt;
&lt;u&gt;For more information read:&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;li&gt;&lt;u&gt;&lt;a href=&quot;https://download.oracle.com/ocomdocs/global/Oracle-Net-19c-Easy-Connect-Plus.pdf&quot; target=&quot;_blank&quot;&gt;Oracle-Net-19c-Easy-Connect-Plus&lt;/a&gt; 
&lt;/u&gt;&lt;/li&gt;
&lt;u&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.oracle.com/en/database/oracle/oracle-database/19/netag/configuring-naming-methods.html#GUID-B0437826-43C1-49EC-A94D-B650B6A4A6EE&quot; target=&quot;_blank&quot;&gt;Understanding the Easy Connect Naming Method&lt;/a&gt;&lt;/li&gt;
&lt;/u&gt;
&lt;br /&gt;
&lt;h1&gt;
Examples&lt;/h1&gt;
&lt;h2&gt;
1. Using protocol&lt;/h2&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;tnsping tcp://joords1:1521/sales.us.example.com&lt;/pre&gt;
&lt;br /&gt;
Converts into the following descriptor
&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=Joords1)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com)))
&lt;/pre&gt;
&lt;h2&gt;
2. With multiple hosts&lt;/h2&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;tnsping //joords1,joords2:1521/sales.us.example.com&lt;/pre&gt;
&lt;br /&gt;
Converts into the following descriptor
&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;(DESCRIPTION=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL=tcp)(HOST=joords1)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=joords2)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com)))
&lt;/pre&gt;
&lt;h2&gt;
3. Using multiple hosts and ports&lt;/h2&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;tnsping //joords1:1521,joords2,joords3:1522/sales.us.example.com&lt;/pre&gt;
&lt;br /&gt;
Converts into the following descriptor
&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;(DESCRIPTION=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL=tcp)(HOST=joords1)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=joords2)(PORT=1522))
(ADDRESS=(PROTOCOL=tcp)(HOST=joords3)(PORT=1522))
(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com)))&lt;/pre&gt;
&lt;h2&gt;
4. Using IPv6 address as the host&lt;/h2&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;tnsping //[2606:b400:41c:8a19:f816:3eff:fe8f:e3ef]:1521/sales.us.example.com&lt;/pre&gt;
&lt;br /&gt;
Converts into the following descriptor
&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=2606:b400:41c:8a19:f816:3eff:fe8f:e3ef)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com)))&lt;/pre&gt;
&lt;h2&gt;
5. With (UR=A)&lt;/h2&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;tnsping //joords1/CDB1)(UR=A&lt;/pre&gt;
&lt;br /&gt;
Converts into the following descriptor
&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;(DESCRIPTION=
(ADDRESS=(HOST=Joords1)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=CDB1)(UR=A)))&lt;/pre&gt;
&lt;h2&gt;
6. With a wallet location clause&lt;/h2&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;tnsping tcps://joords1:1521/sales.us.example.com?wallet_location=&quot;/tmp/oracle&quot;&lt;/pre&gt;
&lt;br /&gt;
Converts into the following descriptor
&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcps)(HOST=joords1)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))
(SECURITY=(MY_WALLET_DIRECTORY=/tmp/oracle)(SSL_SERVER_DN_MATCH=ON)))&lt;/pre&gt;
&lt;h2&gt;
7. Adding a session Data Unit&lt;/h2&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;tnsping //joords1:1521/sales.us.example.com?sdu=16384&lt;/pre&gt;
&lt;br /&gt;
Converts into the following descriptor
&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;(DESCRIPTION=
(SDU=16384)
(ADDRESS=(PROTOCOL=tcp)(HOST=joords1)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com)))&lt;/pre&gt;
&lt;h2&gt;
8. With the connect timeout clause&lt;/h2&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;tnsping //joords1:1521/sales.us.example.com?connect_timeout=60&amp;amp;transport_connect_timeout=30&amp;amp;retry_count=3&lt;/pre&gt;
&lt;br /&gt;
Converts into the following descriptor
&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;(DESCRIPTION=
(RETRY_COUNT=3)(CONNECT_TIMEOUT=60)(TRANSPORT_CONNECT_TIMEOUT=30)
(ADDRESS=(PROTOCOL=tcp)(HOST=joords1)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com)))&lt;/pre&gt;
&lt;h2&gt;
9. Quoting Easy Connect Strings&lt;/h2&gt;
Quoting of parameters may be required in some tools and environments.
&lt;br /&gt;
The following example invokes SQL*Plus 19c in a Linux shell.&lt;br /&gt;
This illustrates the placement of single and double quotes to escape interpretation of special characters by the shell:&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;sqlplus scott@&#39;tcps://joords1:1521/sales.us.example.com?ssl_server_cert_dn=&quot;cn=sales,cn=Oracle Context Server,dc=us,dc=example,dc=com&quot;&amp;amp;sdu=8128&amp;amp;connect_timeout=60&#39;&lt;/pre&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2020/07/easy-connect-plus-ezconnect.html</link><author>noreply@blogger.com (joordsblog)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-2564274601859064883</guid><pubDate>Fri, 17 Jul 2020 06:42:00 +0000</pubDate><atom:updated>2020-07-17T08:42:06.875+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ORACLE_SID</category><category domain="http://www.blogger.com/atom/ns#">ORACLE_SID_PDB</category><category domain="http://www.blogger.com/atom/ns#">PDB</category><category domain="http://www.blogger.com/atom/ns#">sqlplus / as sys dba</category><title>ORACLE_SID_PDB - Connect as SYSDBA without password into a PDB directly</title><description>Can you connect as SYSDBA without password into a PDB directly? Of course with the usual way of “&lt;i&gt;sqlplus / as sysdba&lt;/i&gt;”. Yes you can, even without &lt;b&gt;no bequeath connection&lt;/b&gt; available.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;There is a 19c EBS notes&lt;/u&gt;.&lt;br /&gt;
In one of the most important EBS MOS Notes: 2552181.1 – Interoperability Notes: Oracle E-Business Suite&lt;br /&gt;
&lt;br /&gt;
MOS Notes: 2552181.1 – Interoperability Notes: Oracle E-Business Suite Release 12.2 with Oracle Database 19c under section 2.5 you can read:&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;For the PDB database, source the $ORACLE_HOME/&amp;lt;PDB SID&amp;gt;_&amp;lt;HOST&amp;gt;.env/cmd file. &lt;br /&gt;If you are on UNIX/Linux, set the &lt;b&gt;ORACLE_PDB_SID&lt;/b&gt; environment variable to &amp;lt;PDB SID&amp;gt;. Then, run sqlplus &amp;lt;user&amp;gt;/&amp;lt;password&amp;gt;@&amp;lt;PDB SID&amp;gt; or connect as SYSDBA.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;h1&gt;
Testing it:&lt;/h1&gt;
&lt;/div&gt;
Using the variable setting on OS :&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;export ORACLE_PDB_SID=joords_pdb

sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Thu May 7 22:30:05 2020
Version 19.7.0.0.0

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

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.7.0.0.0

SQL&amp;gt; show con_name

CON_NAME
------------------------------
JOORDS_PDB
&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;Remark:&lt;/b&gt;&lt;br /&gt;
You need to unset the variable setting if you want to connect to the CDB again as &quot;sqlplus / as sysdba&quot;&amp;nbsp; =&amp;gt;&amp;nbsp; unset  ORACLE_PDB_SID

&lt;br /&gt;
&lt;br /&gt;
This solution is aviable since ORACLE version 18.8.0&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1&gt;
How this feature is working&lt;/h1&gt;
Oracle has created an AFTER EVENT LOGON trigger. 
The trigger fires when you logon as SYS or SYSTEM.

Logon Trigger settings:
&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;SQL&amp;gt; select trigger_body from dba_triggers where trigger_name = &#39;DBMS_SET_PDB&#39;
TRIGGER_BODY

declare
   pdb_name varchar2(64);
   begin
     DBMS_SYSTEM.get_env (&#39;ORACLE_PDB_SID&#39;, pdb_name);
     if(pdb_name is not null)
      then
        EXECUTE IMMEDIATE &#39;alter session set container = &#39; || &#39;&quot;&#39; || pdb_name || &#39;&quot;&#39;;
      end if;
   exception
     when others then
     NULL;
   end dbms_set_pdb; 
&lt;/pre&gt;
&lt;h1&gt;
A Pitfals&lt;/h1&gt;
When the settings of ORACLE_PDB_SID doesn&#39;t exists within the environment of the CDB.
Then you connect to a CDB level, see the PL/SQL code 


&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2020/07/oraclesidpdb-connect-as-sysdba-without.html</link><author>noreply@blogger.com (joordsblog)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-3003010591292941244</guid><pubDate>Thu, 14 May 2020 10:27:00 +0000</pubDate><atom:updated>2020-05-14T12:28:35.945+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">OCW</category><category domain="http://www.blogger.com/atom/ns#">OEL8</category><category domain="http://www.blogger.com/atom/ns#">Oracle Clusterware</category><category domain="http://www.blogger.com/atom/ns#">Oracle RDBMS</category><category domain="http://www.blogger.com/atom/ns#">Redhat8 Linux</category><title>Oracle Database 19c and Oracle ClusterWare are certified on OL8 and RHEL8</title><description>&lt;b&gt;How do you get the information Database?&lt;/b&gt;&lt;br /&gt;
Go to &lt;a href=&quot;https://support.oracle.com/&quot; target=&quot;_blank&quot;&gt;My Oracle Support&lt;/a&gt; and hit the “Certification” tab.&lt;br /&gt;
&lt;br /&gt;
Then choose “Oracle Database“, “19.0.0.0.0” and either “Linux x86-64 Oracle Linux 8.x” or “Linux x86-64 Red Hat Enterprise Linux 8“.&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHK74MfDCHWU_i6OWiP9Sh3_sxJbId-uAcMV7Qbg17BPqDzAYZ7YwEJQCXq88JbB3mu2qLZQEZmK7fcxU7iZpyz0DLCXKCuitM6_iflEFssSMR1SS_Y49HQhJjUKb8pAYhwx9RQpEqgsE/s1600/19-OEL8.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;613&quot; data-original-width=&quot;894&quot; height=&quot;273&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHK74MfDCHWU_i6OWiP9Sh3_sxJbId-uAcMV7Qbg17BPqDzAYZ7YwEJQCXq88JbB3mu2qLZQEZmK7fcxU7iZpyz0DLCXKCuitM6_iflEFssSMR1SS_Y49HQhJjUKb8pAYhwx9RQpEqgsE/s400/19-OEL8.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;b&gt;You will need to have database RU 19.7 as minimum database patch level&lt;/b&gt;. Or you will need to add extra patches on top of 19.6. But life will be much easier with 19.7.0, believe me.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;b&gt;&lt;u&gt;Oracle Linux 8&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
These are the minimum requirements OL8:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Minimum RU: 19.7 (or 19.6 with patches, refer to aforementioned certification notes)&lt;/li&gt;
&lt;li&gt;Minimum kernel versions:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Oracle Linux 8.1 with the Unbreakable Enterprise Kernel 6: 5.4.17-2011.0.7.el8uek.x86_64 or later,&lt;/li&gt;
&lt;li&gt;Oracle Linux 8.0 with the Red Hat Compatible kernel: 4.18.0-80.el8.x86_64 or later&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;ACFS: Please refer to ACFS Supported on OS Platforms for Oracle ACFS certification details (MOS Note: 1369107.1)&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;u&gt;&lt;b&gt;Red Hat Enterprise Linux 8&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
For RHEL8, these are the minimum requirements:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Minimum RU: 19.7 (or 19.6 with patches, refer to aforementioned certification notes)&lt;/li&gt;
&lt;li&gt;Minimum kernel versions:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Oracle Linux 8.0 with the Red Hat Compatible kernel: 4.18.0-80.el8.x86_64 or later&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;ACFS: Please refer to ACFS Supported on OS Platforms for Oracle ACFS certification details (MOS Note: 1369107.1)&lt;/li&gt;
&lt;/ul&gt;
&lt;b style=&quot;text-align: center;&quot;&gt;How do you get the information Database?&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
Go to&amp;nbsp;&lt;a href=&quot;https://support.oracle.com/&quot; target=&quot;_blank&quot;&gt;My Oracle Support&lt;/a&gt;&amp;nbsp;and hit the “Certification” tab.&lt;br /&gt;
&lt;br /&gt;
Then choose&amp;nbsp; a separate Product “Oracle clusterwaere“, “19.0.0.0.0” and either “Linux x86-64 Oracle Linux 8.x” or “Linux x86-64 Red Hat Enterprise Linux 8“.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqfzSS52NPdtgb3ybODw-V84ypgU8iFIR1zwZ0PfORMhMJbn_RrU7-dU5DNWHiJWnMvaleHPBcXkALvUcOyGt6cL-42kTpjV3__Da-VZy1XgZUVfhidz27AT6qL6t9gKKvfwUGeKDko_s/s1600/19OCW-OEL8.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;647&quot; data-original-width=&quot;840&quot; height=&quot;307&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqfzSS52NPdtgb3ybODw-V84ypgU8iFIR1zwZ0PfORMhMJbn_RrU7-dU5DNWHiJWnMvaleHPBcXkALvUcOyGt6cL-42kTpjV3__Da-VZy1XgZUVfhidz27AT6qL6t9gKKvfwUGeKDko_s/s400/19OCW-OEL8.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;For OL8, it has to be Update 1 or newer (i.e. 8.1, 8.2 etc)&lt;/li&gt;
&lt;li&gt;Minimum RU is 19.7.0&lt;/li&gt;
&lt;li&gt;Minimum kernel versions:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Oracle Linux 8.1 with the Unbreakable Enterprise Kernel 6: 5.4.17-2011.0.7.el8uek.x86_64 or later,&lt;/li&gt;
&lt;li&gt;Oracle Linux 8.0 with the Red Hat Compatible kernel: 4.18.0-80.el8.x86_64 or later&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;b&gt;Links&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://mikedietrichde.com/2020/05/11/oracle-database-19c-is-certified-on-ol8-and-rhel8/&quot; target=&quot;_blank&quot;&gt;Mike.Dietrich | Oracle Database 19c is certified on OL8 and RHEL8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mikedietrichde.com/2020/05/14/of-course-oracle-clusterware-is-certified-on-ol8-rhel8-as-well/&quot; target=&quot;_blank&quot;&gt;Mike.Dietrich | Of course, Oracle Clusterware is certified on OL8/RHEL8 as well&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2020/05/oracle-database-19c-and-oracle.html</link><author>noreply@blogger.com (joordsblog)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHK74MfDCHWU_i6OWiP9Sh3_sxJbId-uAcMV7Qbg17BPqDzAYZ7YwEJQCXq88JbB3mu2qLZQEZmK7fcxU7iZpyz0DLCXKCuitM6_iflEFssSMR1SS_Y49HQhJjUKb8pAYhwx9RQpEqgsE/s72-c/19-OEL8.PNG" height="72" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-3569429234248301348</guid><pubDate>Fri, 19 Apr 2019 12:00:00 +0000</pubDate><atom:updated>2019-04-19T14:02:10.702+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">18c</category><category domain="http://www.blogger.com/atom/ns#">dbca</category><category domain="http://www.blogger.com/atom/ns#">Golden Image</category><category domain="http://www.blogger.com/atom/ns#">ORACLE_HOME</category><category domain="http://www.blogger.com/atom/ns#">patching</category><category domain="http://www.blogger.com/atom/ns#">read Only</category><category domain="http://www.blogger.com/atom/ns#">Upgrade</category><title>Configuring Read Only OracleHome - 18c</title><description>Starting with Oracle Database 18c, you can configure an Oracle home in read-only mode. In a read-only Oracle home, all the configuration data and log files reside outside of the read-only Oracle home. This feature allows you to use the read-only Oracle home as a software image that can be distributed across multiple servers.&lt;br /&gt;
&lt;br /&gt;
The concept of a read-only Oracle home, Oracle has committed to to separate configuration files from binaries. The Configuring Read Only OracleHome 18c have impact on the following methods / DBCA / Patching / Upgrade / Key stores&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
It&#39;s a common practice to separate the configuration from the binaries.&lt;br /&gt;
This will make it easier to clone and switch between existing Oracle homes during patching and upgrades, without having to seek out all additional config files.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Benefits of a Read-Only Oracle Home&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Enables seamless patching and updating of Oracle databases without extended downtime.&lt;/li&gt;
&lt;li&gt;Simplifies patching and mass roll-out as only one image needs to be updated to distribute a patch to many servers.&lt;/li&gt;
&lt;li&gt;Simplifies provisioning by implementing separation of installation and configuration.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;Initiate a Oracle RDBMS read-only software&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;Perform a software-only Oracle Database installation&lt;/li&gt;
&lt;li&gt;Run the roohctl -enable script&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;cd $ORACLE_HOME/bin
. /roohctl -enable
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Create DB&#39;s =&amp;gt; Run Oracle Database Configuration Assistant (Oracle DBCA) to create a database.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Check the Read only status RDBMS&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;u&gt;My environment&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;[oracle@rac01 ~]$ env|grep ORA
ORACLE_BASE=/u01/app/oracle
ORACLE_HOSTNAME=rac01.labs.joords
ORACLE_HOME=/u01/app/oracle/product/18c/db_1
[oracle@rac01 ~]$ 
&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;To validate if the ORACLE RDBMS software is read-only we need to do the following checks:&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;i&gt;1.&amp;nbsp; &amp;nbsp;orabasetab :&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
File holds a mapping between the ORACLE_HOME in the &quot;/etc/oratab&quot; file. This file is located in $ORACLE_HOME/install. The fourth field at the end of the line indicates you have a read-only Oracle home, when thus has the value &quot;Y&quot;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;[oracle@rac01 ~]$  $ORACLE_HOME/install/orabasetab
orabasetab file is used to track Oracle Home associated with Oracle Base
/u01/app/oracle/product/18c/db_1:/u01/app/oracle:OraDB18Home1:Y:
&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;i&gt;2. Validate the new files starting with &quot;ORABASE*&quot; in the bin directory&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;[oracle@rac01 ~]$ ls -trl $ORACLE_HOME/bin/orabas*
-rwxr-x---. 1 oracle oracle 1871655 Feb  7  2018 /u01/app/oracle/product/18c/db_1/bin/orabaseconfig
-rwxr-x---. 1 oracle oracle 1871653 Feb  7  2018 /u01/app/oracle/product/18c/db_1/bin/orabasehome
-rwxr-xr-x. 1 oracle oracle 6560987 Feb  7  2018 /u01/app/oracle/product/18c/db_1/bin/orabase
&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;2a. orabaseconfig :&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
The path &quot;u01/app/oracle&quot; is the setting of the ORACLE_BASE. For a read-only Oracle home the orabaseconfig command returns the ORACLE_BASE location. In a read/write ORACLE_HOME, the ORACLE_BASE_CONFIG path is the same as the ORACLE_HOME path because it is located at $ORACLE_HOME. When the environment is a read-only ORACLE_HOME, the ORACLE_BASE_CONFIG path is the same as ORACLE_BASE.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;oracle@rac01 bin]$ cd $ORACLE_HOME/bin
[oracle@rac01 bin]$ pwd
/u01/app/oracle/product/18c/db_1/bin
[oracle@rac01 bin]$ ./orabaseconfig
/u01/app/oracle
&lt;/pre&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
PATH AND NAVIGATION&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;[oracle@rac01 bin]$ pwd
/u01/app/oracle/product/18c/db_1/bin
[oracle@rac01 bin]$  cd $(orabaseconfig)
[oracle@rac01 oracle]$ pwd
/u01/app/oracle
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;font-style: italic;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;b&gt;2b. orabasehome :&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
If the output of the orabasehome command is the same as $ORACLE_HOME, then your Oracle home is in read/write mode. If the output displays the path ORACLE_BASE/homes/HOME_NAME, then your Oracle home is in read-only mode.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;oracle@rac01 bin]$ cd $ORACLE_HOME/bin
[oracle@rac01 bin]$ pwd
/u01/app/oracle/product/18c/db_1/bin
oracle@rac01 bin]$ ./orabasehome 
/u01/app/oracle/homes/OraDB18Home1
&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
The path &quot;u01/app/oracle/homes/OraDB18Home1&quot; is the setting of the for the configuration files read-write for an ORACLE_HOME read-only software tree. For a read-only Oracle home the orabasehome command returns the ORACLE_BASE/home/OraDB18Home1 [The HOME_NAME used inside the inventory]&amp;nbsp; location. In a read/write ORACLE_HOME, the ORACLE_BASE_HOME path is the same as the ORACLE_HOME path because it is located at $ORACLE_HOME.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
PATH AND NAVIGATION&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;[oracle@rac01 oracle]$ cd $ORACLE_HOME/bin
[oracle@rac01 bin]$ pwd
/u01/app/oracle/product/18c/db_1/bin
[oracle@rac01 bin]$ cd $(orabasehome)
[oracle@rac01 OraDB18Home1]$ pwd
/u01/app/oracle/homes/OraDB18Home1
&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;2c. orabase:&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
This will be the location of the ORACLE_BASE. Changing ORACLE_BASE can be done by hanging the environment variable. The environment always takes precedence over what was specified at install time.&amp;nbsp; So for changing ORACLE_BASE you have to set the ORACLE_BASE variable.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Settings overview used by Oracle home&amp;nbsp; read/write as read only&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj96EVvshWBS5lz7oV6Cge9MuduVOyzmvCrTYd6-UwFI5yw0U68XGdq7rmEdBNUfm1gn950tAFMRogdIS02lKjs7bGNncBVJu5BNahJX2AuvFN13tXc_oLtNoGsTQC_5WUDJGB9LwYrxuI/s1600/RO_RDBMS.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;765&quot; data-original-width=&quot;996&quot; height=&quot;306&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj96EVvshWBS5lz7oV6Cge9MuduVOyzmvCrTYd6-UwFI5yw0U68XGdq7rmEdBNUfm1gn950tAFMRogdIS02lKjs7bGNncBVJu5BNahJX2AuvFN13tXc_oLtNoGsTQC_5WUDJGB9LwYrxuI/s400/RO_RDBMS.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;Check files system after creating a databases:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;[oracle@rac01 ~]$ cd $ORACLE_BASE
[oracle@rac01 oracle]$ pwd
/u01/app/oracle
[oracle@rac01 oracle]$ ls -trl
total 4
drwxrwxr-x.  3 oracle oinstall   17 Mar  1 13:47 product
drwxr-xr-x.  2 oracle oinstall    6 Mar 18 15:39 checkpoints
drwxrwxr-x. 23 oracle oinstall 4096 Mar 18 15:56 diag
drwxr-x---.  3 oracle oinstall   26 Mar 18 16:02 homes
drwxr-x---.  5 oracle oinstall   49 Apr 12 11:48 cfgtoollogs
drwxr-x---.  4 oracle oinstall   30 Apr 12 12:37 admin
drwxr-x---.  4 oracle oinstall   34 Apr 12 12:47 audit
drwxr-x---.  2 oracle oinstall   48 Apr 16 13:28 dbs

[oracle@rac01 oracle]$ cd homes
[oracle@rac01 homes]$ ls
OraDB18Home1
&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
See how the filesystem &quot;OraDB18Home1&quot; exists off using a kind of tree command:&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;[oracle@rac01 homes]$ ls -R | grep &quot;:$&quot; | sed -e &#39;s/:$//&#39; -e &#39;s/[^-][^\/]*\//--/g&#39; -e &#39;s/^/   /&#39; -e &#39;s/-/|/&#39;

   |-OraDB18Home1
   |---admin
   |-----cdb1
   |-------xdb_wallet
   |---assistants
   |-----dbca
   |-------templates
   |---dbs
   |---install
   |---log
   |-----diag
   |-----rac01
   |-------client
   |---network
   |-----admin
   |-----log
   |-----trace
   |---rdbms
   |-----audit
   |-----log
   |-------8653418039223588E053650110AC309D
   |-------865419E7911738E4E053650110AC45B0
   |-------opatch
   |---------lsinv
 
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Option to add to the Oracle profile&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;export ORACLE_BASE_HOME=$(/u01/app/oracle/product/18c/db_1/bin/orabasehome)
export ORACLE_BASE_CONFIG=$(/u01/app/oracle/product/18c/db_1/bin/orabaseconfig)
&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;References:&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.oracle.com/en/database/oracle/oracle-database/18/rilin/file-path-directory-changes-read-only-oracle-home.html#GUID-695D5458-A4AF-4F2A-AE4B-FB1062CF6014&quot; target=&quot;_blank&quot;&gt;Configuring Read-Only Oracle Homes 18c documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=dvootcuyf_82&amp;amp;_afrLoop=530511743793839#aref_section31&quot; target=&quot;_blank&quot;&gt;Oracle 18c - Configuring Read Only OracleHome / DBCA / Patching / Upgrade&amp;nbsp;(Doc ID 2409465.1)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=531720325771522&amp;amp;id=2010941.1&amp;amp;_afrWindowMode=0&amp;amp;_adf.ctrl-state=dvootcuyf_414&quot; target=&quot;_blank&quot;&gt;How To Change The Value For ORACLE_BASE In The Inventory Of A 12.1 RDBMS Home (Doc ID 2010941.1)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2019/04/configuring-read-only-oraclehome-18c.html</link><author>noreply@blogger.com (joordsblog)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj96EVvshWBS5lz7oV6Cge9MuduVOyzmvCrTYd6-UwFI5yw0U68XGdq7rmEdBNUfm1gn950tAFMRogdIS02lKjs7bGNncBVJu5BNahJX2AuvFN13tXc_oLtNoGsTQC_5WUDJGB9LwYrxuI/s72-c/RO_RDBMS.PNG" height="72" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-464473372388514068</guid><pubDate>Tue, 29 Jan 2019 11:54:00 +0000</pubDate><atom:updated>2019-01-29T12:54:39.995+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Cross Platform</category><category domain="http://www.blogger.com/atom/ns#">incremental RMAN backup</category><category domain="http://www.blogger.com/atom/ns#">Transportable Tablespace</category><category domain="http://www.blogger.com/atom/ns#">xTTS</category><category domain="http://www.blogger.com/atom/ns#">ZDLRA</category><title>Different MOS Notes for xTTS PERL scripts supporting the RMAN Incremental Backups</title><description>From Mike Dietrich tweet on :&amp;nbsp;&lt;b&gt;Different MOS Notes for xTTS PERL scripts&lt;/b&gt;. &lt;br /&gt;&lt;br /&gt;Question is which should I use?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #323232; font-family: Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 16px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 26px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;border: 0px; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: 700; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;The following MOS Notes give you access to PERL scripts supporting the RMAN Incremental Backup path&amp;nbsp;&lt;/span&gt;together with either Transportable Tablespaces or Full Transportable Export Import:&lt;/div&gt;
&lt;ul style=&quot;background-color: white; border: 0px; color: #323232; font-family: Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 16px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; list-style-image: initial; list-style-position: initial; margin: 0px 26px 26px 0px; outline: 0px; padding: 0px 0px 0px 26px; vertical-align: baseline;&quot;&gt;
&lt;li style=&quot;border: 0px; font: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;PERL script for Oracle 11g:&lt;ul style=&quot;border: 0px; font: inherit; list-style-image: initial; list-style-position: initial; margin: 0px; outline: 0px; padding: 0px 0px 0px 26px; vertical-align: baseline;&quot;&gt;
&lt;li style=&quot;border: 0px; font: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;a href=&quot;https://support.oracle.com/epmos/faces/DocumentDisplay?id=1389592.1&quot; rel=&quot;noopener&quot; style=&quot;border: 0px; color: #0d3d9b; font: inherit; margin: 0px; outline: 0px; padding: 0px; text-decoration-line: none; transition: all 0.1s ease-in 0s; vertical-align: baseline;&quot; target=&quot;_blank&quot;&gt;MOS Note:1389592.1 – 11G – Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;border: 0px; font: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;PERL scripts for Oracle 12c:&lt;ul style=&quot;border: 0px; font: inherit; list-style-image: initial; list-style-position: initial; margin: 0px; outline: 0px; padding: 0px 0px 0px 26px; vertical-align: baseline;&quot;&gt;
&lt;li style=&quot;border: 0px; font: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;a href=&quot;https://support.oracle.com/epmos/faces/DocumentDisplay?id=2005729.1&quot; rel=&quot;noopener&quot; style=&quot;border: 0px; color: #0d3d9b; font: inherit; margin: 0px; outline: 0px; padding: 0px; text-decoration-line: none; transition: all 0.1s ease-in 0s; vertical-align: baseline;&quot; target=&quot;_blank&quot;&gt;MOS Note: 2005729.1 – 12C – Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;border: 0px; font: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;PERL scripts V4 –&amp;nbsp;&lt;span style=&quot;border: 0px; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: 700; line-height: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;NEW and IMPROVED&lt;/span&gt;&lt;ul style=&quot;border: 0px; font: inherit; list-style-image: initial; list-style-position: initial; margin: 0px; outline: 0px; padding: 0px 0px 0px 26px; vertical-align: baseline;&quot;&gt;
&lt;li style=&quot;border: 0px; font: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;a href=&quot;https://support.oracle.com/epmos/faces/DocumentDisplay?id=2471245.1&quot; rel=&quot;noopener&quot; style=&quot;border: 0px; color: #0d3d9b; font: inherit; margin: 0px; outline: 0px; padding: 0px; text-decoration-line: none; transition: all 0.1s ease-in 0s; vertical-align: baseline;&quot; target=&quot;_blank&quot;&gt;MOS Note:&amp;nbsp;&lt;span class=&quot;kmContent&quot; id=&quot;kmPgTpl:r1:ot71&quot; style=&quot;border: 0px; font: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;2471245.1 – V4 Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;border: 0px; font: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;PERL scripts for the ZDLRA&lt;ul style=&quot;border: 0px; font: inherit; list-style-image: initial; list-style-position: initial; margin: 0px; outline: 0px; padding: 0px 0px 0px 26px; vertical-align: baseline;&quot;&gt;
&lt;li style=&quot;border: 0px; font: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;a href=&quot;https://support.oracle.com/epmos/faces/DocumentDisplay?id=2460552.1&quot; rel=&quot;noopener&quot; style=&quot;border: 0px; color: #0d3d9b; font: inherit; margin: 0px; outline: 0px; padding: 0px; text-decoration-line: none; transition: all 0.1s ease-in 0s; vertical-align: baseline;&quot; target=&quot;_blank&quot;&gt;MOS Note: 2460552.1 – Cross Platform Database Migration using ZDLRA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #323232; font-family: Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 16px; font-stretch: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; line-height: inherit; margin-bottom: 26px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
The last MOS Note refers to a special version for the&amp;nbsp;&lt;a href=&quot;https://www.oracle.com/engineered-systems/zero-data-loss-recovery-appliance/&quot; rel=&quot;noopener&quot; style=&quot;border: 0px; color: #0d3d9b; font: inherit; margin: 0px; outline: 0px; padding: 0px; text-decoration-line: none; transition: all 0.1s ease-in 0s; vertical-align: baseline;&quot; target=&quot;_blank&quot;&gt;Zero Data Loss Recovery Appliance&lt;/a&gt;&amp;nbsp;which is a big added value if you have a ZDLRA&lt;/div&gt;
&lt;br /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2019/01/different-mos-notes-for-xtts-perl.html</link><author>noreply@blogger.com (joordsblog)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-2880869569786981642</guid><pubDate>Mon, 01 Oct 2018 13:27:00 +0000</pubDate><atom:updated>2018-10-01T15:35:09.450+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">CDB</category><category domain="http://www.blogger.com/atom/ns#">DATA GUARD</category><category domain="http://www.blogger.com/atom/ns#">database</category><category domain="http://www.blogger.com/atom/ns#">DataGuard. standby</category><category domain="http://www.blogger.com/atom/ns#">DGMGRL</category><category domain="http://www.blogger.com/atom/ns#">Migrate</category><category domain="http://www.blogger.com/atom/ns#">PDB</category><title>Data Guard Broker to unplug, migrate a single PDB into a new container - Using DGMGRL migrate</title><description>&lt;br /&gt;
Migration of a single PDB or executing of a single PDB into another container database with minimal downtime. This method has zero impact to any remaining primary PDBs.&amp;nbsp; To use this method&amp;nbsp; the process takes advantage of a new functionality added to the Data Guard broker command line interface DGMGRL.&lt;br /&gt;
&lt;br /&gt;
Important: The process are steps involve changes being made to 2 independent CDBs and is supported in Oracle RDBMS versions older than 12.1.0.2&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;The migration process overview&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;The destination CDBs are already in place and patched correctly, the entire process of moving the PDB can be completed in less than 15 minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhHZNRSy02WadP8TtJa7hNoFl57Y961XxcHTmCZ5a-gUkV_dkM_79DO09gRp5RQXaUUvHDWsVBhL8_rT8lwkqV59ld6Z_51nlXGa4ZbkN6RI7LFOa5EAXljWRD1KsMvPmnggu16CJK6KI/s1600/Prococess_pdb.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;349&quot; data-original-width=&quot;349&quot; height=&quot;319&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhHZNRSy02WadP8TtJa7hNoFl57Y961XxcHTmCZ5a-gUkV_dkM_79DO09gRp5RQXaUUvHDWsVBhL8_rT8lwkqV59ld6Z_51nlXGa4ZbkN6RI7LFOa5EAXljWRD1KsMvPmnggu16CJK6KI/s320/Prococess_pdb.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
The New Data Guard broker command line interface DGMGRL that is used for this is :&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5CkPGASyfekCqiwabikZpHdaI6dD2boCkhaiYgOA2Vwcsikaqa8JvjVTgq3Risu9V1-cdSMSVmHVvbvFJxNdzPADvGaFUsofFUtCBTOU1mor9eMq7i4JPU9WValg6rLyrMDT3SoO3QmQ/s1600/dgmgrl+HELP+migrate.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;444&quot; data-original-width=&quot;613&quot; height=&quot;288&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5CkPGASyfekCqiwabikZpHdaI6dD2boCkhaiYgOA2Vwcsikaqa8JvjVTgq3Risu9V1-cdSMSVmHVvbvFJxNdzPADvGaFUsofFUtCBTOU1mor9eMq7i4JPU9WValg6rLyrMDT3SoO3QmQ/s400/dgmgrl+HELP+migrate.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;Oracle Data Guard Platform&lt;/b&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
The following is setup on one database server.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;cat /etc/oratab
cdb1:/u01/app/oracle/product/12.2.0/dbhome_1:N
cdb2:/u01/app/oracle/product/12.2.0/dbhome_1:N
cdb3:/u01/app/oracle/product/12.2.0/dbhome_1:N
cdb4:/u01/app/oracle/product/12.2.0/dbhome_1:N
&lt;/pre&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Data Guard environment orcl01&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;DGMGRL&amp;gt; show configuration verbose

Configuration - orcl01

  Protection Mode: MaxAvailability
  Members:
  orcl01 - Primary database
    orcl03 - Physical standby database 

  Properties:
    FastStartFailoverThreshold      = &#39;30&#39;
    OperationTimeout                = &#39;30&#39;
    TraceLevel                      = &#39;USER&#39;
    FastStartFailoverLagLimit       = &#39;30&#39;
    CommunicationTimeout            = &#39;180&#39;
    ObserverReconnect               = &#39;0&#39;
    FastStartFailoverAutoReinstate  = &#39;TRUE&#39;
    FastStartFailoverPmyShutdown    = &#39;TRUE&#39;
    BystandersFollowRoleChange      = &#39;ALL&#39;
    ObserverOverride                = &#39;FALSE&#39;
    ExternalDestination1            = &#39;&#39;
    ExternalDestination2            = &#39;&#39;
    PrimaryLostWriteAction          = &#39;CONTINUE&#39;
    ConfigurationWideServiceName    = &#39;orcl01_CFG&#39;

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS
&lt;/pre&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Data Guard environment orcl02&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;DGMGRL&amp;gt; show configuration verbose


Configuration - orcl02

  Protection Mode: MaxAvailability
  Members:
  orcl04 - Primary database
    orcl02 - Physical standby database 

  Properties:
    FastStartFailoverThreshold      = &#39;30&#39;
    OperationTimeout                = &#39;30&#39;
    TraceLevel                      = &#39;USER&#39;
    FastStartFailoverLagLimit       = &#39;30&#39;
    CommunicationTimeout            = &#39;180&#39;
    ObserverReconnect               = &#39;0&#39;
    FastStartFailoverAutoReinstate  = &#39;TRUE&#39;
    FastStartFailoverPmyShutdown    = &#39;TRUE&#39;
    BystandersFollowRoleChange      = &#39;ALL&#39;
    ObserverOverride                = &#39;FALSE&#39;
    ExternalDestination1            = &#39;&#39;
    ExternalDestination2            = &#39;&#39;
    PrimaryLostWriteAction          = &#39;CONTINUE&#39;
    ConfigurationWideServiceName    = &#39;orcl02_CFG&#39;

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU7VmQ5VbGGs8ns-xSFDX2PJ1CeHnqU1AGadEzvV48GjkeZpG3F_53hS0boOaJr40LDLr1bWxO45apAybfHBpaQi-A1h8ZNyhlJyw8P5yAJTnkCGddbAmekOmLL7W6nfVjSSHS9VtG4CA/s1600/pdbs_standby.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;574&quot; data-original-width=&quot;1356&quot; height=&quot;168&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU7VmQ5VbGGs8ns-xSFDX2PJ1CeHnqU1AGadEzvV48GjkeZpG3F_53hS0boOaJr40LDLr1bWxO45apAybfHBpaQi-A1h8ZNyhlJyw8P5yAJTnkCGddbAmekOmLL7W6nfVjSSHS9VtG4CA/s400/pdbs_standby.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;Step to perform the movement of the PDB from one CDB container to an other CDB container.&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;Stop all services on both the source primary database and any standby database(s)&lt;/li&gt;
&lt;li&gt;If using Active Data Guard mode, Validate if patch 25616359 is applied, and if not then close the PDB on all instances of those standbys&lt;/li&gt;
&lt;li&gt;Start dgmgrl, important connect as &lt;b&gt;&lt;u&gt;SYSDBA&lt;/u&gt;&lt;/b&gt; to the environment, not &lt;u&gt;SYSDG&lt;/u&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;dgmgrl &quot;sys/oracle@//oel7/orcl01_cfg/cdb1&quot; as sysdba
DGMGRL for Linux: Release 12.2.0.1.0 - Production on Mon Oct 1 02:42:14 2018

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

Welcome to DGMGRL, type &quot;help&quot; for information.
Connected to &quot;orcl01&quot;
Connected as SYSDBA.
DGMGRL&amp;gt; show configuration

Configuration - orcl01

  Protection Mode: MaxAvailability
  Members:
  orcl01 - Primary database
    orcl03 - Physical standby database 

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS   (status updated 55 seconds ago)
&lt;/pre&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8NVuMZybwZ99H0jLImUksgMh5wZ2KfbG9wJ61Qw78e2v03YiH70lPEJRl9cw01TDuHfAXnaOAUxtorvPcaKHk22dT3SObQ9ZvZywKcMCOLmtEIoZxGrceHnqxcNTSpeAGG3-n9jn19mM/s1600/overview+status+step+1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;571&quot; data-original-width=&quot;1357&quot; height=&quot;134&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8NVuMZybwZ99H0jLImUksgMh5wZ2KfbG9wJ61Qw78e2v03YiH70lPEJRl9cw01TDuHfAXnaOAUxtorvPcaKHk22dT3SObQ9ZvZywKcMCOLmtEIoZxGrceHnqxcNTSpeAGG3-n9jn19mM/s320/overview+status+step+1.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Use the &lt;b&gt;MIGRATE&lt;/b&gt; command withing the dgmgrl&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;DGMGRL &amp;gt; migrate pluggable database joord01 to container orcl04 using &#39;/home/oracle/app/pdb/joord01/pdb.xml&#39; connect as sys@&quot;oel7/orcl02_cfg/orcl04&quot;
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;DGMGRL Command output&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;DGMGRL&amp;gt; migrate pluggable database joord01 to container orcl04 using &#39;/home/oracle/app/pdb/joord01/pdb.xml&#39; connect as sys@&quot;oel7/orcl02_cfg/orcl04&quot;
Password:
Connected to &quot;orcl04&quot;
Connected as SYSDBA.

Beginning migration of pluggable database JOORD01.
Source multitenant container database is orcl01.
Destination multitenant container database is orcl04.

Closing pluggable database JOORD01 on all instances of multitenant container database orcl01.
Unplugging pluggable database JOORD01 from multitenant container database orcl01.
Pluggable database description will be written to /home/oracle/app/pdb/joord01/pdb.xml.
Dropping pluggable database JOORD01 from multitenant container database orcl01.
Creating pluggable database JOORD01 on multitenant container database orcl04.
Opening pluggable database JOORD01 on all instances of multitenant container database orcl04.
Succeeded.
&lt;/pre&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXyLwFpdIEtKONzg2mOACzkGWalgIm7suA3k9lux4UTJpZYBopMSdYJRUt1dOQNNNuK4BwJQkn05OuRA313vUquehhknr2h5pZ9-PKcGrlLZSTojPbq_9jxpSPEqOvOGoqbJq_ZR6qw7A/s1600/overview+status+step+2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;572&quot; data-original-width=&quot;1358&quot; height=&quot;134&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXyLwFpdIEtKONzg2mOACzkGWalgIm7suA3k9lux4UTJpZYBopMSdYJRUt1dOQNNNuK4BwJQkn05OuRA313vUquehhknr2h5pZ9-PKcGrlLZSTojPbq_9jxpSPEqOvOGoqbJq_ZR6qw7A/s320/overview+status+step+2.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Once the command completes perform the following tasks&lt;br /&gt;-&amp;nbsp;Add service for the PDB desired and start the services&lt;br /&gt;-&amp;nbsp;Backup the PDB&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
Done not use the pdb archive file in the command. For this the the file name extension is changed from xml. to pdb.&lt;br /&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;/home/oracle/app/pdb/joord01/pdb.xml to /home/oracle/app/pdb/joord01/pdb.pdb&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #333333; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;segoe ui&amp;quot; , &amp;quot;roboto&amp;quot; , , sans-serif; font-size: 18.2px; font-style: italic;&quot;&gt;&lt;b&gt;pdb_unplug_clause&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: start;&quot;&gt;
&lt;ul&gt;
&lt;li&gt;If you specify a file name that ends with the extension .pdb, then Oracle creates a .pdb archive file. This is a compressed file that includes an XML file containing metadata about the PDB, as well as the PDB&#39;s data files. You can then copy this single archive file to a new location and specify the archive file name when plugging the PDB into a CDB. This eliminates having to copy the PDB&#39;s data files separately. When you use a .pdb archive file when plugging in a PDB, this file is extracted when you plug in the PDB, and the PDB’s files are placed in the same directory as the .pdb archive file.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
This will give an Oracle Dataguard error.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Dropping pluggable database JOORD01 from multitenant container database orcl04.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;Creating pluggable database JOORD01 on multitenant container database orcl01.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;ORA-65314: cannot use &lt;u&gt;&lt;b&gt;NOCOPY&lt;/b&gt;&lt;/u&gt; when plugging in a PDB using an archive file&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Information:&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;a href=&quot;https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=209027314698303&amp;amp;id=2088201.1&amp;amp;_adf.ctrl-state=qfjsg1yq1_57&quot; target=&quot;_blank&quot;&gt;PDB Failover in a Data Guard environment: Using Data Guard Broker to Unplug a Single Failed&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=209027314698303&amp;amp;id=2088201.1&amp;amp;_adf.ctrl-state=qfjsg1yq1_57&quot; target=&quot;_blank&quot;&gt;PDB from a Standby Database and Plugging into a New Container or Migrate a Single PDB into&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=209027314698303&amp;amp;id=2088201.1&amp;amp;_adf.ctrl-state=qfjsg1yq1_57&quot; target=&quot;_blank&quot;&gt;a New Container (Doc ID 2088201.1)&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2018/10/data-guard-broker-to-unplug-migrate.html</link><author>noreply@blogger.com (joordsblog)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhHZNRSy02WadP8TtJa7hNoFl57Y961XxcHTmCZ5a-gUkV_dkM_79DO09gRp5RQXaUUvHDWsVBhL8_rT8lwkqV59ld6Z_51nlXGa4ZbkN6RI7LFOa5EAXljWRD1KsMvPmnggu16CJK6KI/s72-c/Prococess_pdb.PNG" height="72" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-5311252445885493959</guid><pubDate>Mon, 24 Sep 2018 12:13:00 +0000</pubDate><atom:updated>2018-09-24T14:13:53.633+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Incremental</category><category domain="http://www.blogger.com/atom/ns#">Local undo</category><category domain="http://www.blogger.com/atom/ns#">PDB</category><category domain="http://www.blogger.com/atom/ns#">PITR</category><category domain="http://www.blogger.com/atom/ns#">Point In time Recovery</category><category domain="http://www.blogger.com/atom/ns#">redo apply</category><title>Point In time Recovery (PITR) issue with PDB  When Local Undo Is Enabled</title><description>Bug 27693713 - PDB PITR Does Not Apply Incrementals When Local Undo Is Enabled&lt;br /&gt;
&lt;br /&gt;
DB PITR does not apply incremental backup when PDB is configured with local undo&lt;br /&gt;
&amp;nbsp;(select * from database_properties where property_name = &#39;LOCAL_UNDO_ENABLED&#39; and PROPERTY_VALUE = &#39;TRUE&#39;);&lt;br /&gt;
&lt;br /&gt;
When restore pluggable database &lt;pdbname&gt; noredo is executed, it is supposed to
apply incremental backups. Instead, media recovery is being
performed when PDB local undo is enabled. this can take a long time.&lt;/pdbname&gt;&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAD_kOrY02pdkSp3HGN8G5lY4aU2KWIDOebRYFXEgi06wtVEQc97Un35_aV9yyZuCvcr8atwgpb3z9UvtQ26U0YcRKUVoSeGHaipviYTOm1hfvVnsho2fuHjrZcsYLIz9MnvdJZ53j11Q/s1600/Bug.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;513&quot; data-original-width=&quot;810&quot; height=&quot;253&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAD_kOrY02pdkSp3HGN8G5lY4aU2KWIDOebRYFXEgi06wtVEQc97Un35_aV9yyZuCvcr8atwgpb3z9UvtQ26U0YcRKUVoSeGHaipviYTOm1hfvVnsho2fuHjrZcsYLIz9MnvdJZ53j11Q/s400/Bug.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Bug info 27693713&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2018/09/point-in-time-recovery-pitr-issue-with.html</link><author>noreply@blogger.com (joordsblog)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAD_kOrY02pdkSp3HGN8G5lY4aU2KWIDOebRYFXEgi06wtVEQc97Un35_aV9yyZuCvcr8atwgpb3z9UvtQ26U0YcRKUVoSeGHaipviYTOm1hfvVnsho2fuHjrZcsYLIz9MnvdJZ53j11Q/s72-c/Bug.PNG" height="72" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-301390814616610996</guid><pubDate>Mon, 24 Sep 2018 00:00:00 +0000</pubDate><atom:updated>2018-09-26T11:47:32.291+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Dataguard</category><category domain="http://www.blogger.com/atom/ns#">HOT cloning</category><category domain="http://www.blogger.com/atom/ns#">MAA</category><category domain="http://www.blogger.com/atom/ns#">PDB</category><category domain="http://www.blogger.com/atom/ns#">standby_pdb_source_file_dblink</category><title>Maintain Standby Databases when Performing PDB online Clones | standby_pdb_source_file_dblink</title><description>In Oracle 12.2 a lot of new features are introduced for Multitenant 12.2 environments
One of the possibility is to clone a pluggable databases while they are open for read/write operations. 
When we want to do this in a MAA environment this will introduce some problems
Data Guard Impact on Oracle Multitenant Environments (Doc ID 2049127.1)&lt;br /&gt;
&lt;br /&gt;
For this Oracle has some new parameters which can be used to overcome these problems&lt;br /&gt;
the parameter&amp;nbsp; &quot;&lt;b&gt;&lt;u&gt;standby_pdb_source_file_dblink&lt;/u&gt;&lt;/b&gt;&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
Using Hot PDB cloning with standby_pdb_source_file_dblink in a Dataguard environment&lt;br /&gt;
&lt;br /&gt;
Consider the following configuration:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;Primary container database CDB1&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Physical Standby container database CDB2 for CDB1&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Standalone container database PDB1&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;CDB2 is running in read only mode&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
Step by Step hot online cloning&lt;/h2&gt;
On primary Database the manual steps
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;create db link my_copy_link connect to system identified by xxx using &#39;cdb1&#39;;&lt;/li&gt;
&lt;li&gt;create pluggable database joords_tmp_PDB from PDB1 standbys=none;&lt;/li&gt;
&lt;li&gt;alter pluggable database joords_tmp_PDB open;&lt;/li&gt;
&lt;li&gt;alter pluggable database joords_tmp_PDB close;&lt;/li&gt;
&lt;li&gt;alter pluggable database joords_tmp_PDB open read only;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;create pluggable database JOORDS from joords_tmp_PDB;&lt;/li&gt;
&lt;li&gt;alter pluggable database JOORDS open;&lt;/li&gt;
&lt;li&gt;close pluggable database joords_tmp_PDB;&lt;/li&gt;
&lt;li&gt;drop pluggable database joords_tmp_PDB including datafiles;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;1. Preparation at database level&lt;/b&gt;
&lt;br /&gt;
Create database link from standby to production&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Edit the tnsnames.ora on standby host&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&lt;pre class=&quot;brush:sql;&quot; style=&quot;font-weight: 400;&quot;&gt;prim_db =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oel7)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = primary)
    )
  )&lt;/pre&gt;
&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;b&gt;Edit the tnsnames.ora on primary host&lt;/b&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&lt;pre class=&quot;brush:sql;&quot; style=&quot;font-weight: 400;&quot;&gt;secd_db =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oel7)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = secondary)
    )
  )&lt;/pre&gt;
&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;pre class=&quot;brush:sql;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; white-space: normal;&quot;&gt;Startup cdb$root in read only mode, Keep all PDB&#39;s in mount state&lt;/span&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;pre class=&quot;brush:sql;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; white-space: normal;&quot;&gt;Create databasse links between the two CDB bi directional on PRIM:
&lt;pre class=&quot;brush:sql;&quot;&gt;create database link my_copy_link_sp connect to system identified by oracle using &#39;prim_db&#39;;
create database link my_copy_link_ps connect to system identified by oracle using &#39;secd_db&#39;;
&lt;/pre&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Edit parameter&amp;nbsp;&lt;b&gt;&quot;standby_pdb_source_file_dblink&quot;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;b&gt;&lt;pre class=&quot;brush:sql;&quot; style=&quot;display: inline !important; font-weight: 400;&quot;&gt;&lt;b&gt;SECD&lt;/b&gt;&lt;/pre&gt;
&lt;/b&gt;:&lt;/b&gt;&lt;pre class=&quot;brush:sql;&quot;&gt;alter system set standby_pdb_source_file_dblink=&#39;my_copy_link_sp&#39;;
&lt;b&gt;PRIM:
&lt;/b&gt;alter system set standby_pdb_source_file_dblink=&#39;my_copy_link_ps&#39;;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;2. Execute the steps for HOT cloning in MAA Oracle configuration&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;On PRIM:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;

&lt;pre class=&quot;brush:sql;&quot;&gt;
&lt;/pre&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;create pluggable database joords_tmp from pdb1 standbys=none;
alter  pluggable database joords_tmp open;
alter  pluggable database joords_tmp close;
alter  pluggable database joords_tmp open read only;

create pluggable database mypdb_clone from joords_tmp;
alter  pluggable database mypdb_clone open;

alter  pluggable database joords_tmp close;
drop   pluggable database joords_tmp including datafiles;&lt;/pre&gt;
&lt;br /&gt;
Validate with dgmgrl the status of the configuration &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;after DML&#39;s on a table on the PDB =&amp;gt; mypdb_clone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2018/09/maintain-standby-databases-when.html</link><author>noreply@blogger.com (joordsblog)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-7058483899575089849</guid><pubDate>Fri, 08 Sep 2017 11:04:00 +0000</pubDate><atom:updated>2017-09-08T13:04:03.214+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Any Distance</category><category domain="http://www.blogger.com/atom/ns#">Dataguard</category><category domain="http://www.blogger.com/atom/ns#">Far Sync</category><category domain="http://www.blogger.com/atom/ns#">Fast Sync</category><category domain="http://www.blogger.com/atom/ns#">FASTSYNC</category><category domain="http://www.blogger.com/atom/ns#">Zero Data Loss</category><title>DataGuard FastSync : Define the Redo Transport Mode SYNC NOAFFRIM</title><description>&lt;b&gt;FASTSYNC &lt;/b&gt;is a new DataGuard capability available with Oracle Database 12c. The FASTSYNC configures redo transport services for this configuration member using the &lt;u&gt;SYNC&lt;/u&gt; and &lt;u&gt;NOAFFIRM&lt;/u&gt; attributes of the LOG_ARCHIVE_DEST_n initialization parameter. The attribute NOAFFIRM specifies that the standby acknowledge receipt of redo without waiting for the write to the standby redo log file to complete. This mode is only available in &lt;b&gt;maximum availability protection mode&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Remark:&lt;/u&gt;&lt;br /&gt;FASTSYNC transport mode uses the NOAFFIRM attribute of the LOG_ARCHIVE_DEST_n parameter, data loss is possible.&lt;br /&gt;
&lt;br /&gt;
The following attributes of LOG_ARCHIVE_DEST_N initialization parameter define the redo transport mode that is used by primary database to send redo to the standby database:&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;SYNC&lt;/b&gt; &lt;br /&gt;Specifies that redo data generated by a transaction must have received at a destination that has this attribute before the transaction can commit. &amp;nbsp;In the configuration with multiple SYNC destinations, the redo must be processes as described here for every SYNC destination.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ASYNC &lt;/b&gt;(default) &lt;br /&gt;Specifies that redo data generated by a transaction need not have been received at a destination that has this attribute before the transaction can commit.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AFFIRM&amp;nbsp;&lt;/b&gt;Specifies that redo transport destination acknowledge received redo data after writing it to the standby redo log.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;NOAFFIRM&amp;nbsp;&lt;/b&gt;Specifies that a redo transport destination acknowledge received redo data before writing it to the standby redo log&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;div&gt;
If neither the AFFIRM or NOAFFIRM attribute is specified, the default is AFFIRM. &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;When the SYNC attribute is specified and the NOAFFIRM&amp;nbsp;&lt;/li&gt;
&lt;li&gt;When the ASYNC attribute is specified.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;h3&gt;
Configuration Zero Data Loss&amp;nbsp;&lt;/h3&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
A Zero data loss protection requires synchronous communication between a production database (primary) and the remote database (standby) used for data protection and availability. The DataGuard favorite configuration for &amp;nbsp;zero data loss is &lt;b&gt;Maximum Availability&lt;/b&gt; protection mode with synchronous redo transport (SYNC). With&lt;b&gt; FAR SYNC&lt;/b&gt; instances and the usages of the &lt;b&gt;FASTSYNC &lt;/b&gt;attribute for the redo data stream we can setup a &lt;b&gt;&lt;u&gt;Oracle (Active) Data Guard Far Sync Zero Data Loss at Any Distance&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDTX2yY0UBe_m5hl9u4NMei8TALrJBEsoYdo_xshgVqBs6ApsbrB8xZkJd7PbO8W6LeNdqsDuCxk9L3zsjUJH0W7jqhOtclIyCJiTO0Rfmjg9tYt74qNxID_oyNyC0nmA_we2yUiqQqnc/s1600/FARSYNC.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;195&quot; data-original-width=&quot;520&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDTX2yY0UBe_m5hl9u4NMei8TALrJBEsoYdo_xshgVqBs6ApsbrB8xZkJd7PbO8W6LeNdqsDuCxk9L3zsjUJH0W7jqhOtclIyCJiTO0Rfmjg9tYt74qNxID_oyNyC0nmA_we2yUiqQqnc/s400/FARSYNC.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Far Sync Configuration&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h3&gt;
Configures redo transport services to use FASTSYNC&lt;/h3&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;DGMGRL&lt;br /&gt;&lt;/b&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;[oracle@oel7 Desktop]$ dgmgrl sysdg@oel7/cdb1_CFG
DGMGRL for Linux: Release 12.2.0.1.0 - Production on Fri Sep 8 02:14:20 2017

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

Welcome to DGMGRL, type &quot;help&quot; for information.
Password:
Connected to &quot;cdb2&quot;
Connected as SYSDG.
DGMGRL&amp;gt; show configuration

Configuration - DRSolution

  Protection Mode: MaxAvailability
  Members:
  cdb1   - Primary database
    cdb1fs - Far sync instance 
      cdb2   - Physical standby database 

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS   (status updated 25 seconds ago)

DGMGRL&amp;gt; show database verbose cdb1 RedoRoutes
  RedoRoutes = &#39;(cdb1:cdb1fs sync)&#39;

DGMGRL&amp;gt; show far_sync verbose cdb1fs RedoRoutes
  RedoRoutes = &#39;(cdb1:cdb2 async)&#39;

DGMGRL&amp;gt; show database verbose cdb2 RedoRoutes
  RedoRoutes = &#39;(cdb2:cdb1 sync)&#39;

DGMGRL&amp;gt; show database verbose cdb1 LogXptMode
  LogXptMode = &#39;SYNC&#39;

DGMGRL&amp;gt; show far_sync verbose cdb1fs LogXptMode
  LogXptMode = &#39;ASYNC&#39;
  
DGMGRL&amp;gt; show database verbose cdb2 LogXptMode
  LogXptMode = &#39;SYNC&#39;
&lt;/pre&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;SQL&amp;gt; show parameter log_archive_dest_2
NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2   string  service=&quot;cdb1fs&quot;, SYNC AFFIRM
       delay=0 optional compression=d
       isable max_failure=0 max_conne
       ctions=1 reopen=300 db_unique_
       name=&quot;cdb1fs&quot; net_timeout=30,
       valid_for=(online_logfile,all_
       roles)

&lt;/pre&gt;
&lt;/li&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;&lt;/pre&gt;
&lt;li&gt;&lt;b&gt;Configure FASTSYNC&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush:sql;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;DGMGRL&amp;gt; edit database cdb1 set property &#39;redoroutes&#39;=&#39;(cdb1:cdb1fs &lt;/span&gt;fastsync&lt;span style=&quot;font-weight: normal;&quot;&gt;)&#39;;

DGMGRL&amp;gt; show database verbose cdb1 RedoRoutes
  RedoRoutes = &#39;(cdb1:cdb1fs &lt;/span&gt;fastsync&lt;span style=&quot;font-weight: normal;&quot;&gt;)&#39;

DGMGRL&amp;gt; show database verbose cdb1 LogXptMode
  LogXptMode = &#39;SYNC&#39;

&lt;/span&gt;&lt;/pre&gt;
&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Alertlog&lt;br /&gt;&lt;/b&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;==&amp;gt; /home/oracle/app/diag/rdbms/cdb1/cdb1/trace/alert_cdb1.log &amp;lt;==
Using STANDBY_ARCHIVE_DEST parameter default value as USE_DB_RECOVERY_FILE_DEST
ALTER SYSTEM SET log_archive_dest_2=&#39;service=&quot;cdb1fs&quot;&#39;,&#39;&lt;b&gt;SYNC NOAFFIRM&lt;/b&gt; delay=0 optional compression=disable max_failure=0 max_connections=1 reopen=300 db_unique_name=&quot;cdb1fs&quot; net_timeout=30&#39;,&#39;valid_for=(online_logfile,all_roles)&#39; SCOPE=BOTH;
ALTER SYSTEM SWITCH ALL LOGFILE start (cdb1)

&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Settings LOG_ARCHIVE_DEST_n&lt;/b&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Before change =&amp;gt; log_archive_dest_2 setting&lt;br /&gt;&lt;/b&gt;&lt;pre class=&quot;brush:sql;&quot;&gt;SQL&amp;gt; show parameter log_archive_dest_2

NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2       string  service=&quot;cdb1fs&quot;, SYNC &lt;b&gt;AFFIRM &lt;/b&gt;
                                                 delay=0 optional compression
       =disable max_failure=0 max_con
       nections=1 reopen=300 db_uniqu
       e_name=&quot;cdb1fs&quot; net_timeout=30
       , valid_for=(online_logfile,al
       l_roles)

&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;After change =&amp;gt;&amp;nbsp;&lt;/b&gt;&lt;b&gt;log_archive_dest_2 setting&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;SQL&amp;gt; show parameter log_archive_dest_2

NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2       string  service=&quot;cdb1fs&quot;, SYNC &lt;b&gt;NOAFFIRM &lt;/b&gt;
                                                 delay=0 optional compression
       =disable max_failure=0 max_con
       nections=1 reopen=300 db_uniqu
       e_name=&quot;cdb1fs&quot; net_timeout=30
       , valid_for=(online_logfile,al
       l_roles)
&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2017/09/dataguard-fastsync-define-redo.html</link><author>noreply@blogger.com (joordsblog)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDTX2yY0UBe_m5hl9u4NMei8TALrJBEsoYdo_xshgVqBs6ApsbrB8xZkJd7PbO8W6LeNdqsDuCxk9L3zsjUJH0W7jqhOtclIyCJiTO0Rfmjg9tYt74qNxID_oyNyC0nmA_we2yUiqQqnc/s72-c/FARSYNC.PNG" height="72" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-8869161883571962307</guid><pubDate>Thu, 07 Sep 2017 07:41:00 +0000</pubDate><atom:updated>2017-09-08T09:37:02.896+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Downstream Goldengate</category><category domain="http://www.blogger.com/atom/ns#">extract</category><category domain="http://www.blogger.com/atom/ns#">Goldengate hub</category><category domain="http://www.blogger.com/atom/ns#">relpicate</category><category domain="http://www.blogger.com/atom/ns#">remote</category><category domain="http://www.blogger.com/atom/ns#">Remote capture</category><category domain="http://www.blogger.com/atom/ns#">Remote Delivery</category><title>Implementation of a GoldenGate Replicate Hub: GoldenGate Remote Capture and Deliver Goldengate processes</title><description>Oracle GoldenGate can run on a machine separate from the source and/or target database server. The setup is called &lt;b&gt;GoldenGate remote capturing and delivery&lt;/b&gt;. A creation of a &lt;i&gt;&lt;b&gt;GoldenGate Replicate Hub&lt;/b&gt;&lt;/i&gt;. On Oracle Databases the remote capture can be a remote integrated capture or downstream capture. For remote delivery can be an integrated delivery, a coordinated delivery or classic delivery.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;&lt;u&gt;Architect overview&lt;/u&gt;&lt;/b&gt;&lt;/h3&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdL2x0gupHky5TjPpy2tD6pOIAppM9J7cw9FYgH_UbypkG1kuRDHb59jH_ZhfU1zyMhEjwj7gQZiQL1nG9sGWZI1kU8EdB5-7elEzOUtEr1udbng-SquFKLJiligVE-DrYkd_E-5VcmE8/s1600/Remote_Capture_Delivery.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;206&quot; data-original-width=&quot;379&quot; height=&quot;217&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdL2x0gupHky5TjPpy2tD6pOIAppM9J7cw9FYgH_UbypkG1kuRDHb59jH_ZhfU1zyMhEjwj7gQZiQL1nG9sGWZI1kU8EdB5-7elEzOUtEr1udbng-SquFKLJiligVE-DrYkd_E-5VcmE8/s400/Remote_Capture_Delivery.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;GoldenGate Replicatie Hub - Remote Capture and Delivery&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h3&gt;
Oracle GoldenGate Remote Capture and Delivery Support Overview&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
GoldenGate Replicate Hub or GoldenGate Remote Capture and Delivery deployment allows us to offload the GoldenGate processes from the source and target databases servers. The Remote Capture and Delivery process uses the SQL*Net for connection to the source and target database. The GoldenGate Manager, the Capture and Delivery processes runs on the GoldenGate Replicate Hub including the maintenance of the trail and other goldengate files in the Goldengate file-structure on the GoldenGate server. The GoldenGate capture process uses the Logmining server at the source database to mine the redo logs. The GoldenGate Replicate Hub Capture process does not offload the source database for log mining like the GoldenGate Downstream deployment does.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Hereby a summary what is supported by Oracle GoldenGate&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;What is Supported&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;As of 12.1.2.+ version, the following Oracle GoldenGate packages support remote capture and delivery:&lt;/b&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Oracle GoldenGate for Oracle DB &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(capture/delivery)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Oracle GoldenGate for MySQL &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(delivery)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Oracle GoldenGate for DB2 LUW &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(capture/delivery)&lt;/li&gt;
&lt;li&gt;Oracle GoldenGate for Informix &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (capture/delivery)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Oracle GoldenGate for Big Data &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (delivery)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Oracle GoldenGate for Teradata &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (delivery)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Oracle GoldenGate for iSeries &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(delivery)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Oracle GoldenGate for SQL Server &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(delivery)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Oracle GoldenGate for JMS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(capture/delivery)&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;b&gt;GoldenGate NOT support remote capture.&lt;/b&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Oracle GoldenGate for DB2 z/OS&lt;/li&gt;
&lt;li&gt;Non-Stop&lt;/li&gt;
&lt;li&gt;DB2 iSeries&lt;/li&gt;
&lt;li&gt;SQL Server &amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;li&gt;How to Use Remote Capture and Delivery&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;To run remote capture/delivery, different databases use different approaches.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Oracle GoldenGate for Oracle DB&lt;/b&gt;&lt;br /&gt;You can perform remote capture with the following two methods:&amp;nbsp;&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Integrated Capture with &amp;nbsp;SQL*Net connection&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Downstream capture in either real-time or archive log mode. &lt;br /&gt;For downstream data capture mode, you need to setup Oracle Data Guard &amp;nbsp;redo log files shipment &amp;nbsp;to the downstream database [&lt;a href=&quot;http://joordsblog.vandenoord.eu/2017/07/gg-downstream-mining-setup-uses.html&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;]. It&#39;s required the source database to be 10.2.0.4+ and the downstream database to be 11.2.0.3.0+.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;&lt;b&gt;Oracle GoldenGate for DB2 LUW&lt;/b&gt;&lt;br /&gt;With DB2 connect, user can setup the remote DB2 as if they are an local database instance. Oracle GoldenGate then can capture from the remote DB2 database via the local accessing point setup by the DB2 connect.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Oracle GoldenGate for Informix&lt;/b&gt;&lt;br /&gt;You can setup the ODBC connection to access the informix database on the remote server Oracle GoldenGate machine for access. The followings requirements need to be met: Endian order of both the systems should be same and the second is the bit width (32bit or 64bit) has to be same. For example from Linux to Linux, Windows to Windows, Solaris to Solaris but not across.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Oracle GoldenGate for MySQL&lt;/b&gt;&lt;br /&gt;For Oracle GoldenGate to delivery to MySQL database remotely, you just need to use the TARGETDB to specify the target database connection with the username and password. The MySQL user should have the remote access privileges.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&lt;b&gt;References GoldenGate &amp;nbsp;Remote Capture and Delivery&amp;nbsp;&lt;/b&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&lt;a href=&quot;http://jinyuwang.weebly.com/core-platform/oracle-goldengate-remote-capture-and-delivery-support-overview&quot; target=&quot;_blank&quot;&gt;Oracle GoldenGate Remote Capture and Delivery Support Overview&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;h3&gt;
Technical Questions to Ask Before Choosing setup the Remote Capture and Delivery&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
What should you ask yourself before implementing a Goldengate Remote capture and delivery architecture or GoldenGate Replicate Hub&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;u&gt;Questions to ask and validate for implementing GoldenGate Remote Capture and Delivery&lt;/u&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;Does Oracle GoldenGate support the remote capture and delivery for the source and target databases?&amp;nbsp;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Validate the Remote capture and delivery Matrix for Source and Target database types/versions&lt;/li&gt;
&lt;li&gt;Which Goldengate Version can handle remote capture or delivery processes&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Answer should be =&amp;gt; Yes&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;li&gt;Do you have a high standard on the replication throughput and latency?&amp;nbsp;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Oracle remote capture and delivery is general 15-20 slower than a nativeGoldengate implementation, because of network communications&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Answer should be =&amp;gt; No&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;li&gt;Do your source/target databases operating systems have the same endian format as the Goldengate Replicate hub?&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;The server running Oracle GoldenGate and the server running the database or database server have to have the same Endiannes&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Answer should be =&amp;gt; Yes&lt;/b&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ol&gt;
&lt;h3&gt;
How to Configure Remote Capture and Delivery for Oracle Database&lt;/h3&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
The implementation og Remote GoldeGate capture and delivery process does not change from the steps of Native Goldengate implementation. The only thing that is different, Goldengate is not installed on a Database server.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;Configure the OGG server hub for installing the Goldengate binaries&lt;/li&gt;
&lt;li&gt;Setup a SQL*Net on the OGG Replicate server Hub&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Source DB SQL*Net&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush:sql;&quot;&gt;source_db =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = sourcedb.joords.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = source_db)
    )
  )

&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Target DB SQL*Net&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush:sql;&quot;&gt;target_db =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = targetdb.joords.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = target_db)
    )
  )

&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Setup the credential store&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Add Credential store&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush:sql;&quot;&gt;add credentialstore

&lt;/pre&gt;
&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Source alias&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush:sql;&quot;&gt;alter credentialstore add user source_db_admin@source_db password XXX alias oggadmin_source&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;Target Alias&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush:sql;&quot;&gt;alter credentialstore add user source_db_admin@target_db password XXX alias oggadmin_target

&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;li&gt;Create extract &amp;nbsp; &amp;nbsp; =&amp;gt; &amp;nbsp;Remote Capture Process&lt;/li&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;EXTRACT EXT01
useridalias  oggadmin_source
TranlogOptions IntegratedParams (max_sga_size 256)
ExtTrail ./dirdat/in
DiscardFile ./dirrpt/ext01.dsc, Append Megabytes 50
LOGALLSUPCOLS
UPDATERECORDFORMAT COMPACT
REPORTCOUNT EVERY 2 HOURS, RATE
Table JOORDS_src.*;

&lt;/pre&gt;
&lt;li&gt;Create &amp;nbsp;replicate =&amp;gt; &amp;nbsp;Remote Delivery Process&lt;/li&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;REPLICAT REP01
useridalias oggadmin_target
DBOPTIONS INTEGRATEDPARAMS (parallelism 6)
DISCARDFILE ./dirrpt/REPIN.dsc, Purge
REPORTCOUNT EVERY 5 records, RATE
MAP JOORDS_src.*, TARGET JOORDS_trg.*;

&lt;/pre&gt;
&lt;li&gt;Register and Start the processes in GoldenGate Replicate Hub instance&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;h4&gt;
The GoldenGate Replicate Hub is&amp;nbsp;&lt;u&gt;not&amp;nbsp;&lt;/u&gt;a GoldenGate Downstream implementation.&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;GoldenGate Downstream deployment allows you to offload the source database extract load to intermediate or target server. The source database ships its redo logs to a downstream database, and Extract uses the logmining server at the downstream database to mine the redo logs. A downstream mining database can accept both archived logs and online redo logs from a source database. On the Downstream server there is a Native GoldenGate operational.&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;&lt;u&gt;References:&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://jinyuwang.weebly.com/core-platform/oracle-goldengate-remote-capture-and-delivery-support-overview&quot; target=&quot;_blank&quot;&gt;Oracle GoldenGate Remote Capture and Delivery Support Overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://amardeepsidhu.com/blog/2012/05/26/configure-goldengate-extract-to-read-from-remote-logs/comment-page-1/&quot; target=&quot;_blank&quot;&gt;Configure GoldenGate Extract to read from remote logs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://jinyuwang.weebly.com/core-platform/endianness-and-the-operating-system&quot; target=&quot;_blank&quot;&gt;Endianness and the Operating System 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://docs.oracle.com/goldengate/c1221/gg-winux/GIORA/GUID-1242CEAD-3BE2-4E33-8882-11405F1B99CA.htm#GIORA168&quot; target=&quot;_blank&quot;&gt;Endianness and the Operating System 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=441528822611222&amp;amp;id=1485620.1&amp;amp;_adf.ctrl-state=1245u2lhet_57&quot; target=&quot;_blank&quot;&gt;Oracle GoldenGate Best Practices: Configuring Downstream Integrated Extract (Doc ID 1485620.1)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/goldengate/11g/ogg_downstream_deployment/index.html&quot; target=&quot;_blank&quot;&gt;Using Oracle GoldenGate Downstream Deployment for Oracle-to-Oracle Database Synchronization on Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://joordsblog.vandenoord.eu/2017/07/gg-downstream-mining-setup-uses.html&quot; target=&quot;_blank&quot;&gt;GoldenGate Downstream mining setup - uses NOREGISTER&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2017/09/implementation-of-goldengate-replicate.html</link><author>noreply@blogger.com (joordsblog)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdL2x0gupHky5TjPpy2tD6pOIAppM9J7cw9FYgH_UbypkG1kuRDHb59jH_ZhfU1zyMhEjwj7gQZiQL1nG9sGWZI1kU8EdB5-7elEzOUtEr1udbng-SquFKLJiligVE-DrYkd_E-5VcmE8/s72-c/Remote_Capture_Delivery.PNG" height="72" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-616862581566129143</guid><pubDate>Mon, 04 Sep 2017 09:40:00 +0000</pubDate><atom:updated>2020-01-17T11:56:30.405+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Alternate</category><category domain="http://www.blogger.com/atom/ns#">Cascade Standby</category><category domain="http://www.blogger.com/atom/ns#">Dataguard</category><category domain="http://www.blogger.com/atom/ns#">DGMGRL</category><category domain="http://www.blogger.com/atom/ns#">failover</category><category domain="http://www.blogger.com/atom/ns#">Far Sync</category><category domain="http://www.blogger.com/atom/ns#">group</category><category domain="http://www.blogger.com/atom/ns#">prio</category><category domain="http://www.blogger.com/atom/ns#">priority</category><category domain="http://www.blogger.com/atom/ns#">Redo Data</category><category domain="http://www.blogger.com/atom/ns#">Redolog</category><category domain="http://www.blogger.com/atom/ns#">STANDBY DATABASE</category><title>Dataguard: Redoroutes for Alternate Destinations Redo data Transport failover</title><description>Using the &lt;b&gt;RedoRoutes&lt;/b&gt; Property for Remote Alternate Destinations within a Dataguard environments. The RedoRoutes property can be used to set up a remote alternate destination so that a terminal Standby Database ( Standby DB, Cascade Standby DB, FarSync DB) can still receive redo data even if the Standby Database from which it was receiving the redo data fails.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
In this example below we have a primary cdb1 who send his redo data to the farsync instance. The farsync cdb1fs send the redo data to the standby database cdb2. See the instructions for building the dataguard environnment &quot;&lt;a href=&quot;http://joordsblog.vandenoord.eu/2017/08/maxaviability-dataguard-environment.html&quot; target=&quot;_blank&quot;&gt;MaxAvailability DataGuard environment : Adding a far sync instance to the environment&lt;/a&gt;&quot;. Is it possible to configure a setup, when the primary database, cdb1, send the redo data directly to standby database CDB2 in a case that the farsync csb1fs is not available. &amp;nbsp;And when the FAR SYNC instance cdb1fs is operational again the configuration is operational again as designed.&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
In Oracle 12.2 we threw away the &lt;u&gt;&lt;i&gt;ALTERNATE&lt;/i&gt;&lt;/u&gt;&amp;nbsp;attribute of redo transport and replacing this with 2 new attributes -­&amp;gt; &lt;b&gt;GROUP&lt;/b&gt; and &lt;b&gt;PRIORITY&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;GROUP &amp;nbsp; &amp;nbsp; &amp;nbsp;: Says we are all potential alternates of each other in the same group&lt;/li&gt;
&lt;li&gt;PRIORITY : Tells DataGuard when to fallback to the original target between groups&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
You can use the DGMGRL command-line interface to configure and implement the enhanced redo destinations capability provided by the GROUP and PRIORITY attributes of the LOG_ARCHIVE_DEST_n parameter (&lt;a href=&quot;https://docs.oracle.com/database/122/DGBKR/managing-oracle-data-guard-broker-configuration-members.htm#DGBKR3852&quot; target=&quot;_blank&quot;&gt;Advanced Redo Transport Settings&lt;/a&gt;). &amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Setup an alternate destination when farsync instance is failing&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Status of the Dataguard&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;DGMGRL&amp;gt; show configuration 

Configuration - DRSolution

  Protection Mode: MaxAvailability
  Members:
  cdb1   - Primary database
    cdb1fs - Far sync instance 
      cdb2   - Physical standby database 

Fast-Start Failover: DISABLED

DGMGRL&amp;gt; show database verbose cdb1 RedoRoutes
  RedoRoutes = &#39;(cdb1:cdb1fs sync)&#39;

DGMGRL&amp;gt; show far_sync verbose cdb1fs RedoRoutes
  RedoRoutes = &#39;(cdb1:cdb2 async)&#39;

DGMGRL&amp;gt; show database verbose cdb2 RedoRoutes
  RedoRoutes = &#39;(cdb2:cdb1 sync)&#39;
&lt;/pre&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;
Configure an alternate destination for farsync instance cdb1fs for the cdb1 primary database. It will go directly to standby database cdb2 and in a dataguard &amp;nbsp;&lt;b&gt;MAX AVAILABILITY&lt;/b&gt; DataGuard setting &amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;DGMGRL&amp;gt; EDIT DATABASE cdb1 SET PROPERTY &#39;RedoRoutes&#39; = &#39;(cdb1 : ( cdb1fs SYNC PRIORITY=1, cdb2 ASYNC PRIORITY=2 ))&#39;;&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;DGMGRL&amp;gt; show configuration

Configuration - DRSolution

  Protection Mode: MaxAvailability
  Members:
  cdb1   - Primary database
    cdb1fs - Far sync instance 
      cdb2   - Physical standby database 

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS   (status updated 50 seconds ago)
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;
In the current command we don&#39;t see the configuration of the redoroutes alternatives.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;DGMGRL&amp;gt; show configuration verbose

Configuration - DRSolution

  Protection Mode: MaxAvailability
  Members:
  cdb1   - Primary database
    cdb1fs - Far sync instance 
      cdb2   - Physical standby database 
    cdb2   - Physical standby database (alternate of cdb1fs)

  Properties:
    FastStartFailoverThreshold      = &#39;30&#39;
    OperationTimeout                = &#39;30&#39;
    TraceLevel                      = &#39;USER&#39;
    FastStartFailoverLagLimit       = &#39;30&#39;
    CommunicationTimeout            = &#39;180&#39;
    ObserverReconnect               = &#39;0&#39;
    FastStartFailoverAutoReinstate  = &#39;TRUE&#39;
    FastStartFailoverPmyShutdown    = &#39;TRUE&#39;
    BystandersFollowRoleChange      = &#39;ALL&#39;
    ObserverOverride                = &#39;FALSE&#39;
    ExternalDestination1            = &#39;&#39;
    ExternalDestination2            = &#39;&#39;
    PrimaryLostWriteAction          = &#39;CONTINUE&#39;
    ConfigurationWideServiceName    = &#39;cdb1_CFG&#39;

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;
Using the verbose attribute shows the alternate configuration setup for the farsync instance cdb1fs for the redo data coming from the primary database cdb1.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Logging information in the alert logs&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
Looking in the alert logs of the databases we notice the the following &quot;ALTER SYSTEM commands&quot;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;&lt;u&gt;Information alert_cdb1.log&lt;/u&gt;
==&amp;gt; /home/oracle/app/diag/rdbms/cdb1/cdb1/trace/alert_cdb1.log &amp;lt;==
ALTER SYSTEM SET log_archive_dest_2=&#39;service=&quot;cdb1fs&quot;&#39;,&#39;SYNC AFFIRM delay=0 optional compression=disable max_failure=1 max_connections=1 reopen=300 db_unique_name=&quot;cdb1fs&quot; net_timeout=30&#39;,&#39;group=1 priority=1 valid_for=(online_logfile,all_roles)&#39; SCOPE=BOTH;
ALTER SYSTEM SET log_archive_dest_3=&#39;service=&quot;cdb2&quot;&#39;,&#39;ASYNC NOAFFIRM delay=0 optional compression=disable max_failure=1 max_connections=1 reopen=300 db_unique_name=&quot;cdb2&quot; net_timeout=30&#39;,&#39;group=1 priority=2 valid_for=(online_logfile,all_roles)&#39; SCOPE=BOTH;
ALTER SYSTEM SWITCH ALL LOGFILE start (cdb1)

&lt;u&gt;Information alert_cdb1fs.log&lt;/u&gt;
==&amp;gt; /home/oracle/app/diag/rdbms/cdb1fs/cdb1fs/trace/alert_cdb1fs.log &amp;lt;==
ALTER SYSTEM SET fal_server=&#39;cdb1&#39;,&#39;cdb2&#39; SCOPE=BOTH;

&lt;u&gt;Information alert_cdb2.log&lt;/u&gt;
==&amp;gt; /home/oracle/app/diag/rdbms/cdb2/cdb2/trace/alert_cdb2.log &amp;lt;==
ALTER SYSTEM SET fal_server=&#39;cdb1fs&#39;,&#39;cdb1&#39; SCOPE=BOTH;
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Introducing a failure of the farsync instance cdb1fs. Stop the farsync instance cdb1fs by using the OS command kill -9 &amp;lt;ospid process smon of cdb1fs&amp;gt;. &amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;Logging information in the alert logs&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;==&amp;gt; /home/oracle/app/diag/rdbms/cdb1fs/cdb1fs/trace/alert_cdb1fs.log &amp;lt;==
Instance Critical Process (pid: 22, ospid: 2815, SMON) died unexpectedly
PMON (ospid: 2721): terminating the instance due to error 474
System state dump requested by (instance=1, osid=2721 (PMON)), summary=[abnormal instance termination].
System State dumped to trace file /home/oracle/app/diag/rdbms/cdb1fs/cdb1fs/trace/cdb1fs_diag_2791_20170830001708.trc

==&amp;gt; /home/oracle/app/diag/rdbms/cdb2/cdb2/trace/alert_cdb2.log &amp;lt;==
RFS[4]: Assigned to RFS process (PID:3022)
RFS[4]: Possible network disconnect with primary database
RFS[2]: Possible network disconnect with primary database
RFS[1]: Possible network disconnect with primary database
RFS[3]: Possible network disconnect with primary database

==&amp;gt; /home/oracle/app/diag/rdbms/cdb1fs/cdb1fs/trace/alert_cdb1fs.log &amp;lt;==
Dumping diagnostic data in directory=[cdmp_20170830001708], requested by (instance=1, osid=2721 (PMON)), summary=[abnormal instance termination].

==&amp;gt; /home/oracle/app/diag/rdbms/cdb1/cdb1/trace/alert_cdb1.log &amp;lt;==
LGWR: Attempting destination LOG_ARCHIVE_DEST_2 network reconnect (3113)
LGWR: Destination LOG_ARCHIVE_DEST_2 network reconnect abandoned
Errors in file /home/oracle/app/diag/rdbms/cdb1/cdb1/trace/cdb1_lgwr_3117.trc:
ORA-03113: end-of-file on communication channel
Error 3113 for archive log file 1 to &#39;cdb1fs&#39;
Destination LOG_ARCHIVE_DEST_2 is UNSYNCHRONIZED

==&amp;gt; /home/oracle/app/diag/rdbms/cdb1fs/cdb1fs/trace/alert_cdb1fs.log &amp;lt;==
Instance terminated by PMON, pid = 2721

==&amp;gt; /home/oracle/app/diag/rdbms/cdb1/cdb1/trace/alert_cdb1.log &amp;lt;==
LGWR: Failed to archive log 1 thread 1 sequence 96 (3113)
LGWR: Error 1041 disconnecting from destination LOG_ARCHIVE_DEST_2 standby host &#39;cdb1fs&#39;
Destination LOG_ARCHIVE_DEST_2 no longer supports SYNCHRONIZATION
Thread 1 advanced to log sequence 97 (LGWR switch)
  Current log# 2 seq# 97 mem# 0: /home/oracle/app/oradata/CDB1/onlinelog/o1_mf_2_dsts05kj_.log
  Current log# 2 seq# 97 mem# 1: /home/oracle/app/orafra/cdb1/CDB1/onlinelog/o1_mf_2_dsts075w_.log
Archived Log entry 167 added for T-1.S-96 ID 0x3740d1fd LAD:1

==&amp;gt; /home/oracle/app/diag/rdbms/cdb2/cdb2/trace/alert_cdb2.log &amp;lt;==
RFS[5]: Assigned to RFS process (PID:5257)
RFS[5]: Selected log 4 for T-1.S-96 dbid 926465619 branch 952748181

==&amp;gt; /home/oracle/app/diag/rdbms/cdb1/cdb1/trace/alert_cdb1.log &amp;lt;==
ARC2: Standby redo logfile selected for thread 1 sequence 96 for destination LOG_ARCHIVE_DEST_3

==&amp;gt; /home/oracle/app/diag/rdbms/cdb2/cdb2/trace/alert_cdb2.log &amp;lt;==
Primary database is in MAXIMUM PERFORMANCE mode
Changing standby controlfile to MAXIMUM PERFORMANCE mode
Re-archiving standby log 4 T-1.S-96
RFS[6]: Assigned to RFS process (PID:5259)
RFS[6]: Selected log 5 for T-1.S-97 dbid 926465619 branch 952748181

==&amp;gt; /home/oracle/app/diag/rdbms/cdb1/cdb1/trace/alert_cdb1.log &amp;lt;==
TT04: Standby redo logfile selected for thread 1 sequence 97 for destination LOG_ARCHIVE_DEST_3

==&amp;gt; /home/oracle/app/diag/rdbms/cdb2/cdb2/trace/alert_cdb2.log &amp;lt;==
Expanded controlfile section 11 from 110 to 220 records
Requested to grow by 110 records; added 4 blocks of records
2017-08-30T00:17:11.098683-07:00
Archived Log entry 111 added for T-1.S-96 ID 0x3740d1fd LAD:1

==&amp;gt; /home/oracle/app/diag/rdbms/cdb1/cdb1/trace/alert_cdb1.log &amp;lt;==
ALTER SYSTEM SET log_archive_dest_state_3=&#39;ENABLE&#39; SCOPE=MEMORY SID=&#39;*&#39;;

==&amp;gt; /home/oracle/app/diag/rdbms/cdb2/cdb2/trace/alert_cdb2.log &amp;lt;==
Media Recovery Waiting for thread 1 sequence 97 (in transit)
Recovery of Online Redo Log: Thread 1 Group 5 Seq 97 Reading mem 0
  Mem# 0: /home/oracle/app/oradata/CDB2/onlinelog/o1_mf_5_dsv0nwny_.log
  Mem# 1: /home/oracle/app/orafra/cdb1/CDB2/onlinelog/o1_mf_5_dsv0nwv0_.log

==&amp;gt; /home/oracle/app/diag/rdbms/cdb1/cdb1/trace/alert_cdb1.log &amp;lt;==
Thread 1 advanced to log sequence 98 (LGWR switch)
  Current log# 3 seq# 98 mem# 0: /home/oracle/app/oradata/CDB1/onlinelog/o1_mf_3_dsts05mj_.log
  Current log# 3 seq# 98 mem# 1: /home/oracle/app/orafra/cdb1/CDB1/onlinelog/o1_mf_3_dsts0758_.log
Archived Log entry 169 added for T-1.S-97 ID 0x3740d1fd LAD:1

==&amp;gt; /home/oracle/app/diag/rdbms/cdb2/cdb2/trace/alert_cdb2.log &amp;lt;==
Archived Log entry 112 added for T-1.S-97 ID 0x3740d1fd LAD:1
Media Recovery Waiting for thread 1 sequence 98
Primary database is in MAXIMUM PERFORMANCE mode
RFS[7]: Assigned to RFS process (PID:5274)
RFS[7]: Selected log 4 for T-1.S-98 dbid 926465619 branch 952748181

==&amp;gt; /home/oracle/app/diag/rdbms/cdb1/cdb1/trace/alert_cdb1.log &amp;lt;==
TT03: Standby redo logfile selected for thread 1 sequence 98 for destination LOG_ARCHIVE_DEST_3
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;Information DataGuard broker

&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;DGMGRL&amp;gt; show configuration

Configuration - DRSolution

  Protection Mode: MaxAvailability
  Members:
  cdb1   - Primary database
    Warning: ORA-16629: database reports a different protection level from the protection mode

    cdb2   - Physical standby database (alternate of cdb1fs)

  Members Not Receiving Redo:
  cdb1fs - Far sync instance 
    Warning: ORA-1034: ORACLE not available

Fast-Start Failover: DISABLED

Configuration Status:
WARNING   (status updated 44 seconds ago)
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;Summary of the changes, caused by a failing farsync instance cdb1fs.&lt;/b&gt;&lt;br /&gt;
The Primary database cdb1 activates the LOG_ARCHIVE_DEST_3 ( the alternate destination) for the redo data delivery to the standby database.&lt;br /&gt;
The farsync cdb1fs is not the delivery the redo data any more to the standby database cdb2.&lt;br /&gt;
And a dataguard protection mode switch, Primary database is in MAXIMUM PERFORMANCE mode - Changing standby controlfile to MAXIMUM PERFORMANCE mode.&lt;br /&gt;
The alternate redo data stream was reconfigured by using &lt;b&gt;ASYNC&lt;/b&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Start the farSync instance cdb1fs&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
When we active the farsync cdb1fs would the configuration be restored&lt;br /&gt;
&lt;br /&gt;
Start the farSync instance cdb1fs&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;sqlplus startup mount cdb1fs&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
By following the alert logs of the databases we see the following happening at database level&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;==&amp;gt; /home/oracle/app/diag/rdbms/cdb1/cdb1/trace/alert_cdb1.log &amp;lt;==
alter system switch logfile
Thread 1 cannot allocate new log, sequence 99
Checkpoint not complete
  Current log# 3 seq# 98 mem# 0: /home/oracle/app/oradata/CDB1/onlinelog/o1_mf_3_dsts05mj_.log
  Current log# 3 seq# 98 mem# 1: /home/oracle/app/orafra/cdb1/CDB1/onlinelog/o1_mf_3_dsts0758_.log
Thread 1 advanced to log sequence 99 (LGWR switch)
  Current log# 1 seq# 99 mem# 0: /home/oracle/app/oradata/CDB1/onlinelog/o1_mf_1_dsts05k5_.log
  Current log# 1 seq# 99 mem# 1: /home/oracle/app/orafra/cdb1/CDB1/onlinelog/o1_mf_1_dsts05vz_.log
Archived Log entry 171 added for T-1.S-98 ID 0x3740d1fd LAD:1

==&amp;gt; /home/oracle/app/diag/rdbms/cdb2/cdb2/trace/alert_cdb2.log &amp;lt;==
RFS[7]: Selected log 5 for T-1.S-99 dbid 926465619 branch 952748181

==&amp;gt; /home/oracle/app/diag/rdbms/cdb1/cdb1/trace/alert_cdb1.log &amp;lt;==
TT03: Standby redo logfile selected for thread 1 sequence 99 for destination &lt;b&gt;LOG_ARCHIVE_DEST_3&lt;/b&gt;

==&amp;gt; /home/oracle/app/diag/rdbms/cdb2/cdb2/trace/alert_cdb2.log &amp;lt;==

Archived Log entry 113 added for T-1.S-98 ID 0x3740d1fd LAD:1
Media Recovery Waiting for thread 1 sequence 99 (in transit)
Recovery of Online Redo Log: Thread 1 Group 5 Seq 99 Reading mem 0
  Mem# 0: /home/oracle/app/oradata/CDB2/onlinelog/o1_mf_5_dsv0nwny_.log
  Mem# 1: /home/oracle/app/orafra/cdb1/CDB2/onlinelog/o1_mf_5_dsv0nwv0_.log

....
....

==&amp;gt; /home/oracle/app/diag/rdbms/cdb1/cdb1/trace/alert_cdb1.log &amp;lt;==
ALTER SYSTEM SET log_archive_dest_state_2=&#39;ENABLE&#39; SCOPE=MEMORY SID=&#39;*&#39;;
LGWR: Standby redo logfile selected to archive thread 1 sequence 109
LGWR: Standby redo logfile selected for thread 1 sequence 109 for destination LOG_ARCHIVE_DEST_2
Thread 1 advanced to log sequence 109 (LGWR switch)
  Current log# 2 seq# 109 mem# 0: /home/oracle/app/oradata/CDB1/onlinelog/o1_mf_2_dsts05kj_.log
  Current log# 2 seq# 109 mem# 1: /home/oracle/app/orafra/cdb1/CDB1/onlinelog/o1_mf_2_dsts075w_.log
Archived Log entry 193 added for T-1.S-108 ID 0x3740d1fd LAD:1
LGWR: Standby redo logfile selected to archive thread 1 sequence 110
LGWR: Standby redo logfile selected for thread 1 sequence 110 for destination &lt;b&gt;LOG_ARCHIVE_DEST_2&lt;/b&gt;
Thread 1 advanced to log sequence 110 (LGWR switch)
  Current log# 3 seq# 110 mem# 0: /home/oracle/app/oradata/CDB1/onlinelog/o1_mf_3_dsts05mj_.log
  Current log# 3 seq# 110 mem# 1: /home/oracle/app/orafra/cdb1/CDB1/onlinelog/o1_mf_3_dsts0758_.log
Archived Log entry 195 added for T-1.S-109 ID 0x3740d1fd LAD:1
LGWR: Standby redo logfile selected to archive thread 1 sequence 111
LGWR: Standby redo logfile selected for thread 1 sequence 111 for destination LOG_ARCHIVE_DEST_2
&lt;b&gt;Primary database is in MAXIMUM AVAILABILITY mode
Changing standby controlfile to MAXIMUM AVAILABILITY mode&lt;/b&gt;
Standby controlfile consistent with primary

==&amp;gt; /home/oracle/app/diag/rdbms/cdb1/cdb1/trace/alert_cdb1fs.log &amp;lt;==  
&lt;b&gt;Changing standby controlfile to MAXIMUM PERFORMANCE mode&lt;/b&gt;
RFS[2]: Assigned to RFS process (PID:5848)
RFS[2]: Selected log 6 for T-1.S-107 dbid 926465619 branch 952748181
Archived Log entry 21 added for T-1.S-107 ID 0x3740d1fd LAD:1
ALTER SYSTEM SET log_archive_dest_state_2=&#39;ENABLE&#39; SCOPE=MEMORY SID=&#39;*&#39;;
Changing standby controlfile to MAXIMUM AVAILABILITY mode
Changing standby controlfile to RESYNCHRONIZATION level
&lt;b&gt;Primary database is in MAXIMUM AVAILABILITY mode
Standby controlfile consistent with primary
&lt;/b&gt;
==&amp;gt; /home/oracle/app/diag/rdbms/cdb2/cdb2/trace/alert_cdb2.log &amp;lt;==
2017-08-30T00:27:50.253227-07:00
&lt;b&gt;Primary database is in MAXIMUM PERFORMANCE mode
Changing standby controlfile to MAXIMUM AVAILABILITY mode
Changing standby controlfile to RESYNCHRONIZATION level&lt;/b&gt;
RFS[9]: Assigned to RFS process (PID:5865)
RFS[9]: Selected log 4 for T-1.S-109 dbid 926465619 branch 952748181
&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Dataguard configuration validation and sqlplus&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;SQL&amp;gt; select protection_mode,protection_level from v$database;
 
PROTECTION_MODE      PROTECTION_LEVEL
-------------------- --------------------
MAXIMUM AVAILABILITY RESYNCHRONIZATION

&lt;/pre&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;DGMGRL&amp;gt; show configuration

Configuration - DRSolution

  Protection Mode: MaxAvailability
  Members:
  cdb1   - Primary database
    Warning: ORA-16629: database reports a different protection level from the protection mode

    cdb1fs - Far sync instance 
      cdb2   - Physical standby database 

Fast-Start Failover: DISABLED
&lt;/pre&gt;
##wait

&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;Configuration Status:
WARNING   (status updated 30 seconds ago)

DGMGRL&amp;gt; show configuration

Configuration - DRSolution

  Protection Mode: MaxAvailability
  Members:
  cdb1   - Primary database
    cdb1fs - Far sync instance 
      cdb2   - Physical standby database 

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS   (status updated 39 seconds ago)
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
It works as designed.&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;The redoroutes attributes PRIORITY and GROUPS can be used to setup alternate redo data streams&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2017/09/dataguard-redoroutes-for-alternate.html</link><author>noreply@blogger.com (joordsblog)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5532576497841734741.post-6569034899517740593</guid><pubDate>Wed, 30 Aug 2017 14:02:00 +0000</pubDate><atom:updated>2017-08-30T16:04:40.708+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Dataguard</category><category domain="http://www.blogger.com/atom/ns#">Far Sync</category><category domain="http://www.blogger.com/atom/ns#">FAR_SYNC</category><category domain="http://www.blogger.com/atom/ns#">FARSYNC</category><category domain="http://www.blogger.com/atom/ns#">LOG_ARCHIVE_DEST_2=&#39;&#39;</category><category domain="http://www.blogger.com/atom/ns#">MAXAVIABILITY</category><category domain="http://www.blogger.com/atom/ns#">MAXPERFORMANCE</category><category domain="http://www.blogger.com/atom/ns#">ORA-16698</category><category domain="http://www.blogger.com/atom/ns#">ORA-16900</category><category domain="http://www.blogger.com/atom/ns#">UPLICATE TARGET DATABASE FOR FARSYNC</category><title>MaxAvailability DataGuard environment : Adding a far sync instance to the environment</title><description>An Oracle Data Guard far sync instance is a remote Oracle Data Guard destination that accepts redo&lt;br /&gt;
from the primary database and then ships that redo to other members of the Oracle Data Guard configuration. A far sync instance manages a control file, receives redo into standby redo logs (SRLs), and archives those SRLs to local archived redo logs, but that is where the similarity with &amp;nbsp;standbys ends. A far sync instance does not have user data files, cannot be opened for access, cannot run redo apply, and can never function in the primary role or be converted to any type of standby database.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;Far Sync is a lightweight Oracle instance that has only a control file, spfile, password file&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;and standby log files, there are no database files or online redo logs&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Oracle Far Sync provides the ability to perform a zero data loss failover to a remote standby database without requiring a second standby database or complex operation. Far Sync enables this by deploying a Far Sync instance at a distance that is within an acceptable range of the primary for SYNC transport. The Far Sync instance receives redo from the primary via SYNC transport. and immediately forwards the redo to the standby databases via ASYNC transport.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
The Far Sync instance can also forward redo to the new Oracle Database Backup, Logging, and Recovery Appliance&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
First we create a DataGuard environment in Max Aviability mode.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
To create the environment follow the steps of &amp;nbsp;&quot;&lt;a href=&quot;http://joordsblog.vandenoord.eu/2017/08/using-dbca-to-create-standby-database.html&quot; target=&quot;_blank&quot;&gt;Using DBCA to create a standby database&lt;/a&gt;&quot;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
This will setup an environment of cdb1 and cdb2 database with MaxAviablility.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
DGMGRL connfiguration overview Dataguard status :&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;DGMGRL&amp;gt; show configuration

Configuration - DRSolution

  Protection Mode: MaxAvailability
  Members:
  cdb1 - Primary database
    cdb2 - Physical standby database 

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS   (status updated 18 seconds ago)
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
We can create manualy the far sync instance. In this blog we do it with the new RMAN command &quot;RMAN &quot;DUPLICATE TARGET DATABASE FOR FARSYNC FROM ACTIVE DATABASE&quot;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;Setup and prepare the farsync environment cdb1fs instance:&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;Setup and prepare the farsync environment cdb1fs instance:&lt;/li&gt;
&lt;li&gt;Add cdb1fs to the /etc/oratab&lt;/li&gt;
&lt;li&gt;Setup a tnsnames entry to the networking&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Prepare a dedicated service name for the farsync Database in the listener configuration&lt;/li&gt;
&lt;li&gt;Create a inital far sync instance cdb1fs with pfile and state nomount&lt;/li&gt;
&lt;li&gt;Create the duplicate RMAN script for creating the far sync instance cdb1fs&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Add the far sync instance cdb1fs to the dataguard environment.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;1. Add cdb1fs to the /etc/oratab&lt;/b&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;echo &quot;cdb1fs:/home/oracle/app/oracle/product/12.2.0/db_1:N&quot; &amp;gt;&amp;gt; /etc/oratab&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;2. Setup the tnsnames for cdb1fs far sync instance&lt;/b&gt;&amp;nbsp;&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;echo &quot;CDB1FS =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oel7)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = cdb1fs)
   (ur=a)
    )
  )
&quot; &amp;gt;&amp;gt; $ORACLE_HOME/network/admin/tnsnames.ora
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;3. Prepare a dedicated service name for the farsync Database in the listener configuration&lt;/b&gt;&amp;nbsp;&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;Listener.ora  SID_LIST_LISTENER  
===============================
SID_LIST_LISTENER=
   (SID_LIST=
 (SID_DESC=
          (GLOBAL_DBNAME=cdb1_dgmgrl)
          (SID_NAME=cdb1)   
          (ORACLE_HOME=/home/oracle/app/oracle/product/12.2.0/db_1)
         )
 (SID_DESC=
          (GLOBAL_DBNAME=cdb2_dgmgrl)
          (SID_NAME=cdb2)   
          (ORACLE_HOME=/home/oracle/app/oracle/product/12.2.0/db_1)
         )
 (SID_DESC=
          (GLOBAL_DBNAME=cdb1fs)
          (SID_NAME=cdb1fs)   
          (ORACLE_HOME=/home/oracle/app/oracle/product/12.2.0/db_1)
         )
        )
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
And execute a reload of the listener so that the service is registerd as a service into the listener&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;lsnrctl reload&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;4. Create a inital far sync instance cdb1fs with pfile and state nomount &lt;/b&gt;&amp;nbsp;&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;mkdir -p /home/oracle/app/admin/cdb1fs/adump&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Create and startup the cdb1fs instance
&lt;br /&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;echo &quot;db_unique_name=cdb1fs
db_name=cdb1
sga_target=325M
pga_aggregate_target=10M&quot; &amp;gt;&amp;gt; $ORACLE_HOME/dbs/initcdb1fs.ora

cd $ORACLE_HOME/dbs
orapwd file=&#39;orapwcdb1fs&#39; entries=10 dbuniquename=cdb1fs password=xxxxx


. oraenv [cdb1fs]
sqlplus / as sysdba &amp;lt;&amp;lt; EOF
startup force nomount
exit 
EOF

&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;5a. Create the duplicate RMAN script for creating the farsync&lt;/b&gt; &amp;nbsp;&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;echo &quot;run {allocate channel prmy1 type disk;
allocate auxiliary channel stby1 type disk;
DUPLICATE TARGET DATABASE FOR FARSYNC
FROM ACTIVE DATABASE
SPFILE
  SET DB_UNIQUE_NAME=&#39;cdb1fs&#39;
  SET SGA_TARGET=&#39;352M&#39;
  RESET CONTROL_FILES
  SET LOG_ARCHIVE_DEST_2=&#39;&#39;
;}&quot; &amp;gt; $HOME/active_standby_farsync.rcv 
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;5b. execute the duplicate RMAN script for creating the farsync&lt;/b&gt;&amp;nbsp;&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;rman auxiliary sys/oracle@cdb1fs  target  sys/oracle@cdb1 cmdfile=/home/oracle/active_standby_farsync.rcv log=/home/oracle/cre_actv_stndby_farsync.log&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;6. Add the farsync cdb1fs to the dataguard environment&lt;/b&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;dgmgrl sysdg@oel7/cdb1_CFG

DGMGRL&amp;gt; show configuration

Configuration - DRSolution

  Protection Mode: MaxAvailability
  Members:
  cdb1 - Primary database
    cdb2 - Physical standby database 

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS   (status updated 18 seconds ago)

Add the far sync instance to the dataguard connfiguration
==========================================================

DGMGRL&amp;gt;  ADD FAR_SYNC cdb1fs as connect identifier is cdb1fs;
far sync instance &quot;cdb1fs&quot; added

DGMGRL&amp;gt; show configuration

Configuration - DRSolution

  Protection Mode: MaxAvailability
  Members:
  cdb1   - Primary database
    cdb2   - Physical standby database 

  Members Not Receiving Redo:
  cdb1fs - Far sync instance (disabled)

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS   (status updated 40 seconds ago)

DGMGRL&amp;gt; EDIT CONFIGURATION SET PROTECTION MODE AS MAXPERFORMANCE;
Succeeded.

DGMGRL&amp;gt; show configuration

Configuration - DRSolution

  Protection Mode: MaxPerformance
  Members:
  cdb1   - Primary database
    cdb2   - Physical standby database 

  Members Not Receiving Redo:
  cdb1fs - Far sync instance (disabled)

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS   (status updated 6 seconds ago)

DGMGRL&amp;gt; edit database cdb1    set property &#39;redoroutes&#39;=&#39;(cdb1:cdb1fs sync)&#39;;

DGMGRL&amp;gt; edit far_sync cdb1fs  set property &#39;redoroutes&#39;=&#39;(cdb1:cdb2 async)&#39;;

DGMGRL&amp;gt; edit far_sync cdb1fs  set property &#39;redoroutes&#39;=&#39;(cdb1:cdb2 async)&#39;;

DGMGRL&amp;gt; show configuration    

Configuration - DRSolution

  Protection Mode: MaxPerformance
  Members:
  cdb1   - Primary database
    cdb1fs - Far sync instance (disabled)
      cdb2   - Physical standby database 
        Error: ORA-16685: database does not receive redo data

Fast-Start Failover: DISABLED

Configuration Status:
ERROR   (status updated 12 seconds ago)

DGMGRL&amp;gt; enable far_sync cdb1fs;
Enabled.

DGMGRL&amp;gt; EDIT CONFIGURATION SET PROTECTION MODE AS MAXAVAILABILITY;
Succeeded.
DGMGRL&amp;gt; show configuration

Configuration - DRSolution

  Protection Mode: MaxAvailability
  Members:
  cdb1   - Primary database
    cdb1fs - Far sync instance 
      cdb2   - Physical standby database 

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS   (status updated 19 seconds ago)

DGMGRL&amp;gt; show database verbose cdb1 RedoRoutes
  RedoRoutes = &#39;(cdb1:cdb1fs sync)&#39;

DGMGRL&amp;gt; show far_sync verbose cdb1fs RedoRoutes
  RedoRoutes = &#39;(cdb1:cdb2 async)&#39;

DGMGRL&amp;gt; show database verbose cdb2 RedoRoutes
  RedoRoutes = &#39;(cdb2:cdb1 sync)&#39;
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;How and what with a switchover Dataguard command&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
Lets play what will happen if we do a switch over of the database. The FAR SYNC instance is only operational for the cdb1 instance the cdb2 instance in this setup is communication directly to the cdb1.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:sql;&quot;&gt;DGMGRL&amp;gt; switchover to cdb2;
Performing switchover NOW, please wait...
Operation requires a connection to database &quot;cdb2&quot;
Connecting ...
Connected to &quot;cdb2&quot;
Connected as SYSDG.
New primary database &quot;cdb2&quot; is opening...
Operation requires start up of instance &quot;cdb1&quot; on database &quot;cdb1&quot;
Starting instance &quot;cdb1&quot;...
ORACLE instance started.
Database mounted.
Connected to &quot;cdb1&quot;
Switchover succeeded, new primary is &quot;cdb2&quot;

DGMGRL&amp;gt; show configuration

Configuration - DRSolution

  Protection Mode: MaxAvailability
  Members:
  cdb2   - Primary database
    cdb1   - Physical standby database 

  Members Not Receiving Redo:
  cdb1fs - Far sync instance 

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS   (status updated 56 seconds ago)

DGMGRL&amp;gt; switchover to cdb1
Performing switchover NOW, please wait...
Operation requires a connection to database &quot;cdb1&quot;
Connecting ...
Connected to &quot;cdb1&quot;
Connected as SYSDG.
New primary database &quot;cdb1&quot; is opening...
Operation requires start up of instance &quot;cdb2&quot; on database &quot;cdb2&quot;
Starting instance &quot;cdb2&quot;...
ORACLE instance started.
Database mounted.
Connected to &quot;cdb2&quot;
Switchover succeeded, new primary is &quot;cdb1&quot;

DGMGRL&amp;gt; show configuration

Configuration - DRSolution

  Protection Mode: MaxAvailability
  Members:
  cdb1   - Primary database
    cdb1fs - Far sync instance 
      Warning: ORA-16778: redo transport error for one or more members

      cdb2   - Physical standby database 
        Warning: ORA-16809: multiple warnings detected for the member

Fast-Start Failover: DISABLED

Configuration Status:
WARNING   (status updated 12 seconds ago)

= ============================ =
= Be patience  After some time =
= ============================ =

DGMGRL&amp;gt; show configuration

Configuration - DRSolution

  Protection Mode: MaxAvailability
  Members:
  cdb1   - Primary database
    cdb1fs - Far sync instance 
      cdb2   - Physical standby database 

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS   (status updated 42 seconds ago)
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;&lt;u&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Problems with the rollout of FAR SYNC instance&amp;nbsp;&lt;/span&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&lt;b&gt;ORA-16698: member has a LOG_ARCHIVE_DEST_n parameter with SERVICE attribute set&lt;/b&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;DGMGRL command ADD FAR_SYNC cdb1fs as connect identifier is cdb1fs;&lt;br /&gt;&lt;i&gt;Results into an Error&lt;/i&gt;: ORA-16698: member has a LOG_ARCHIVE_DEST_n parameter with SERVICE attribute set. &lt;br /&gt;&lt;u&gt;Solution &lt;/u&gt;=&amp;gt; Use in the duplicate command RMAN a reset of the log_archive_dest_state_2 &amp;nbsp;&quot;SPFILE SET LOG_ARCHIVE_DEST_2=&#39;&#39;&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;&lt;b&gt;ORA-16900: change of LogXptMode or RedoRoutes property violates overall protection mode&lt;/b&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;DGMGRL command edit database cdb1 set property &#39;redoroutes&#39;=&#39;(cdb1:cdb1fs sync)&#39;;&lt;br /&gt;&lt;i&gt;Result into an Error&lt;/i&gt;: ORA-16900: change of LogXptMode or RedoRoutes property violates overall protection mode.&lt;br /&gt;&lt;u&gt;Solution&lt;/u&gt; =&amp;gt; Temporary change the protection mode to MAXPERFORMANCE. Execute the add and redoroutes properties. When finished protection mode to MAXAVIABLILITY&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;The original post is on &lt;a href=&quot;http://joordsblog.vandenoord.eu/&quot;&gt;Joords Oracle DBA blog&lt;/a&gt;&lt;br/&gt;
&amp;#169; copyright, 2011.&lt;br/&gt;
Best Regards!
&lt;br/&gt;
Thorough knowledge of Oracle RDBMS technology, pragmatically Oracle database administrator.
(OCM 11g, OCP8 ,OCP8i,OCP9i,OCP10g,OCP11g, RAC Expert 10g and OCP12g)&lt;/div&gt;</description><link>http://joordsblog.vandenoord.eu/2017/08/maxaviability-dataguard-environment.html</link><author>noreply@blogger.com (joordsblog)</author></item></channel></rss>