{
  "date": "2017-06-15T15:15:16",
  "slug": "12c-nssn-process-for-data-guard-sync-transport",
  "link": "https://www.dbi-services.com/blog/12c-nssn-process-for-data-guard-sync-transport/",
  "title": {
    "rendered": "12c NSSn process for Data Guard SYNC transport"
  },
  "content": {
    "rendered": "<h2>By Franck Pachot</h2>\n<p>.<br />\nIn a previous post <a href=\"https://www.dbi-services.com/blog/dataguard-wait-events-have-changed-in-12c/\" target=\"_blank\" rel=\"noopener noreferrer\">https://www.dbi-services.com/blog/dataguard-wait-events-have-changed-in-12c/</a> I mentioned the new processes NSA for ASYNC transport and NSS for SYNC transport. I&#8217;m answering a bit late to a comment about the number of processes: yes there is one NSSn process per LOG_ARCHIVE_DEST_n destination in SYNC and the numbers match.<br />\n<!--more--></p>\n<p>Here is my configuration with two physical standby:</p>\n<pre><code>DGMGRL&gt; show configuration\n&nbsp;\nConfiguration - orcl\n&nbsp;\n  Protection Mode: MaxPerformance\n  Members:\n  orcla - Primary database\n    orclb - Physical standby database\n    orclc - Physical standby database\n&nbsp;\nFast-Start Failover: DISABLED\n&nbsp;\nConfiguration Status:\nSUCCESS   (status updated 56 seconds ago)</code></pre>\n<p>Both are in SYNC:</p>\n<pre><code>DGMGRL&gt; show database orclb logxptmode;\n  LogXptMode = 'sync'\nDGMGRL&gt; show database orclc logxptmode;\n  LogXptMode = 'sync'</code></pre>\n<p>I can see two NSS processes:</p>\n<pre><code>DGMGRL&gt; host ps -edf | grep --color=auto ora_nss[0-9]\nExecuting operating system command(s):\" ps -edf | grep --color=auto ora_nss[0-9]\"\noracle    4952     1  0 16:05 ?        00:00:00 ora_nss3_ORCLA\noracle    5322     1  0 16:17 ?        00:00:00 ora_nss2_ORCLA</code></pre>\n<p>Here are the two log archive dest:</p>\n<pre><code>SQL&gt; select name,value from v$parameter where regexp_like(name,'^log_archive_dest_[23]$');\nNAME                VALUE                                                                                                                                                                     \n----                -----\nlog_archive_dest_2  service=\"ORCLB\", SYNC AFFIRM delay=0 optional compression=disable max_failure=0 max_connections=1 reopen=300 db_unique_name=\"orclb\" net_timeout=30, valid_for=(online_logfile,all_roles)\nlog_archive_dest_3  service=\"ORCLC\", SYNC AFFIRM delay=0 optional compression=disable max_failure=0 max_connections=1 reopen=300 db_unique_name=\"orclc\" net_timeout=30, valid_for=(online_logfile,all_roles)</code></pre>\n<p>I set the 3rd one in ASYNC:</p>\n<pre><code>DGMGRL&gt; edit database orclc set property logxptmode=ASYNC;\nProperty \"logxptmode\" updated</code></pre>\n<p>The NSS3 has stopped:</p>\n<pre><code>DGMGRL&gt; host ps -edf | grep --color=auto ora_nss[0-9]\nExecuting operating system command(s):\" ps -edf | grep --color=auto ora_nss[0-9]\"\noracle    5322     1  0 16:17 ?        00:00:00 ora_nss2_ORCLA</code></pre>\n<p>I set the 2nd destination to ASYNC:</p>\n<pre><code>DGMGRL&gt; edit database orclb set property logxptmode=ASYNC;\nProperty \"logxptmode\" updated</code></pre>\n<p>The NSS2 has stopped:</p>\n<pre><code>DGMGRL&gt; host ps -edf | grep --color=auto ora_nss[0-9]\nExecuting operating system command(s):\" ps -edf | grep --color=auto ora_nss[0-9]\"</code></pre>\n<p>Now starting the 3rd destination first:</p>\n<pre><code>DGMGRL&gt; edit database orclc set property logxptmode=SYNC;\nProperty \"logxptmode\" updated</code></pre>\n<p>I can see that nss3 has started as it is the log_archive_dest_3  which is in SYNC now:</p>\n<pre><code>DGMGRL&gt; host ps -edf | grep --color=auto ora_nss[0-9]\nExecuting operating system command(s):\" ps -edf | grep --color=auto ora_nss[0-9]\"\noracle    5368     1  0 16:20 ?        00:00:00 ora_nss3_ORCLA</code></pre>\n<p>Then starting the second one:</p>\n<pre><code>DGMGRL&gt; edit database orclb set property logxptmode=SYNC;\nProperty \"logxptmode\" updated</code></pre>\n<p>Here are the two processes:</p>\n<pre><code>\nDGMGRL&gt; host ps -edf | grep --color=auto ora_nss[0-9]\nExecuting operating system command(s):\" ps -edf | grep --color=auto ora_nss[0-9]\"\noracle    5368     1  0 16:20 ?        00:00:00 ora_nss3_ORCLA\noracle    5393     1  0 16:20 ?        00:00:00 ora_nss2_ORCLA</code></pre>\n<p>So if you see some SYNC Remote Write events in ASH, look at the program name to know which destination it is.</p>\n",
    "protected": false
  }
}
