{"id":10810,"date":"2018-02-09T22:01:26","date_gmt":"2018-02-09T21:01:26","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/"},"modified":"2018-02-09T22:01:26","modified_gmt":"2018-02-09T21:01:26","slug":"server-process-name-in-postgres-and-oracle","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/","title":{"rendered":"Server process name in Postgres and Oracle"},"content":{"rendered":"<h2>By Franck Pachot<\/h2>\n<p>.<br \/>\nEvery database analysis should start with system load analysis. If the host is in CPU starvation, then looking at other statistics can be pointless. With &#8216;top&#8217; on Linux, or equivalent such as process explorer on Windows, you see the process (and threads). If the name of the process is meaningful, you already have a clue about the active sessions. Postgres goes further by showing the operation (which SQL command), the state (running or waiting), and the identification of the client.<\/p>\n<h3>Postgres<\/h3>\n<p>By default &#8216;top&#8217; displays the program name (like &#8216;comm&#8217; in \/proc or in &#8216;ps&#8217; format), which will be &#8216;postgres&#8217; for all PostgreSQL processes. But you can also display the command line with &#8216;c&#8217; in interactive mode, or directly starting with &#8216;top -c&#8217;, which is the same as the \/proc\/$pid\/cmdline or &#8216;cmd&#8217; or &#8216;args&#8217; in &#8216;ps&#8217; format.<\/p>\n<pre><code>\ntop -c\n&nbsp;\nTasks: 263 total,  13 running, 250 sleeping,   0 stopped,   0 zombie\n%Cpu(s): 24.4 us,  5.0 sy,  0.0 ni, 68.5 id,  0.9 wa,  0.0 hi,  1.2 si,  0.0 st\nKiB Mem :  4044424 total,   558000 free,  2731380 used,   755044 buff\/cache\nKiB Swap:   421884 total,   418904 free,     2980 used.  2107088 avail Mem\n&nbsp;\n  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND\n20347 postgres  20   0  394760  11660   8696 S   7.6  0.3   0:00.49 postgres: demo demo 192.168.56.125(37664) DELETE\n20365 postgres  20   0  393816  11448   8736 S   6.9  0.3   0:00.37 postgres: demo demo 192.168.56.125(37669) idle\n20346 postgres  20   0  393800  11440   8736 S   6.6  0.3   0:00.37 postgres: demo demo 192.168.56.125(37663) UPDATE\n20356 postgres  20   0  396056  12480   8736 S   6.6  0.3   0:00.42 postgres: demo demo 192.168.56.125(37667) INSERT\n20357 postgres  20   0  393768  11396   8736 S   6.6  0.3   0:00.40 postgres: demo demo 192.168.56.125(37668) DELETE waiting\n20366 postgres  20   0  394728  11652   8736 S   6.6  0.3   0:00.35 postgres: demo demo 192.168.56.125(37670) UPDATE\n20387 postgres  20   0  394088  11420   8720 S   6.6  0.3   0:00.41 postgres: demo demo 192.168.56.125(37676) UPDATE\n20336 postgres  20   0  395032  12436   8736 S   6.3  0.3   0:00.37 postgres: demo demo 192.168.56.125(37661) UPDATE\n20320 postgres  20   0  395032  12468   8736 R   5.9  0.3   0:00.33 postgres: demo demo 192.168.56.125(37658) DROP TABLE\n20348 postgres  20   0  395016  12360   8736 R   5.9  0.3   0:00.33 postgres: demo demo 192.168.56.125(37665) VACUUM\n20371 postgres  20   0  396008  12708   8736 R   5.9  0.3   0:00.40 postgres: demo demo 192.168.56.125(37673) INSERT\n20321 postgres  20   0  396040  12516   8736 D   5.6  0.3   0:00.31 postgres: demo demo 192.168.56.125(37659) INSERT\n20333 postgres  20   0  395016  11920   8700 R   5.6  0.3   0:00.36 postgres: demo demo 192.168.56.125(37660) UPDATE\n20368 postgres  20   0  393768  11396   8736 R   5.6  0.3   0:00.43 postgres: demo demo 192.168.56.125(37671) UPDATE\n20372 postgres  20   0  393768  11396   8736 R   5.6  0.3   0:00.36 postgres: demo demo 192.168.56.125(37674) INSERT\n20340 postgres  20   0  394728  11700   8736 S   5.3  0.3   0:00.40 postgres: demo demo 192.168.56.125(37662) idle\n20355 postgres  20   0  394120  11628   8672 S   5.3  0.3   0:00.32 postgres: demo demo 192.168.56.125(37666) DELETE waiting\n20389 postgres  20   0  395016  12196   8724 R   5.3  0.3   0:00.37 postgres: demo demo 192.168.56.125(37677) UPDATE\n20370 postgres  20   0  393768  11392   8736 S   4.6  0.3   0:00.34 postgres: demo demo 192.168.56.125(37672) DELETE\n20376 postgres  20   0  393816  11436   8736 S   4.6  0.3   0:00.37 postgres: demo demo 192.168.56.125(37675) DELETE waiting\n20243 postgres  20   0  392364   5124   3696 S   1.0  0.1   0:00.06 postgres: wal writer process\n<\/code><\/pre>\n<p>This is very useful information. Postgres changes the process title when it executes a statement. In this example:<\/p>\n<ul>\n<li>&#8216;postgres:&#8217; is the name of the process<\/li>\n<li>&#8216;demo demo&#8217; are the database name and the user name<\/li>\n<li>&#8216;192.168.56.125(37664)&#8217; are the IP address and port of the client. <\/li>\n<li>DELETE, UPDATE&#8230; are the commands. They are more or less the command name used in the feed back after the command completion<\/li>\n<li>&#8216;idle&#8217; is for sessions not currently running a statement<\/li>\n<li>&#8216;waiting&#8217; is added when the session is waiting on a blocker session (enqueued on a lock for example)<\/li>\n<li>&#8216;wal writer process&#8217; is a background process<\/li>\n<\/ul>\n<p>This is very useful information, especially because we have, on the same sampling, the Postgres session state (idle, waiting or running an operation) with the Linux process state (S when sleeping, R when runnable or running, D when in I\/O,&#8230; ).<\/p>\n<h3>Oracle<\/h3>\n<p>With Oracle, you can have ASH to sample session state, but being able to see it at OS level would be great. It would also be a safeguard if we need to kill a process.<\/p>\n<p>But, the Oracle processes do not change while running. They are set at connection time.<\/p>\n<p>The background processes mention the Oracle process name and the Instance name:<\/p>\n<pre><code>\n[oracle@VM122 ~]$ ps -u oracle -o pid,comm,cmd,args | head\n&nbsp;\n  PID COMMAND         CMD                         COMMAND\n 1873 ora_pmon_cdb2   ora_pmon_CDB2               ora_pmon_CDB2\n 1875 ora_clmn_cdb2   ora_clmn_CDB2               ora_clmn_CDB2\n 1877 ora_psp0_cdb2   ora_psp0_CDB2               ora_psp0_CDB2\n 1880 ora_vktm_cdb2   ora_vktm_CDB2               ora_vktm_CDB2\n 1884 ora_gen0_cdb2   ora_gen0_CDB2               ora_gen0_CDB2\n<\/code><\/pre>\n<p>The foreground processes mention the instance and the connection type, LOCAL=YES for bequeath, LOCAL=NO for remote via listener. <\/p>\n<pre><code>\n[oracle@VM122 ~]$ ps -u oracle -o pid,comm,cmd,args | grep -E \"[ ]oracle_|[ ]PID\"\n&nbsp;\n  PID COMMAND         CMD                         COMMAND\n21429 oracle_21429_cd oracleCDB2 (LOCAL=NO)       oracleCDB2 (LOCAL=NO)\n21431 oracle_21431_cd oracleCDB2 (LOCAL=NO)       oracleCDB2 (LOCAL=NO)\n21451 oracle_21451_cd oracleCDB2 (LOCAL=NO)       oracleCDB2 (LOCAL=NO)\n21517 oracle_21517_cd oracleCDB1 (LOCAL=NO)       oracleCDB1 (LOCAL=NO)\n<\/code><\/pre>\n<p>You need to join V$PROCESS with V$SESSION on (V$PROCESS.ADDR=V$SESSION.PADDR) to find the state, operation and client information<\/p>\n<p>For the fun, you can change the program name (ARGV0) and arguments (ARGS).<\/p>\n<p>The local connections can change the name in the BEQueath connection string:<\/p>\n<pre><code>\nsqlplus -s system\/oracle@\"(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=$ORACLE_HOME\/bin\/oracle)(ARGV0=postgres)(ARGS='(DESCRIPTION=(LOCAL=MAYBE)(ADDRESS=(PROTOCOL=BEQ)))')(ENVS='OLE_HOME=$ORACLE_HOME,ORACLE_SID=CDB1'))\" &lt;&lt;&lt; &quot;host ps -u oracle -o pid,comm,cmd,args | grep -E &#039;[ ]oracle_|[ ]PID&#039;&quot;\n&nbsp;\n  PID COMMAND         CMD                         COMMAND\n21155 oracle_21155_cd oracleCDB2 (LOCAL=NO)       oracleCDB2 (LOCAL=NO)\n21176 oracle_21176_cd oracleCDB2 (LOCAL=NO)       oracleCDB2 (LOCAL=NO)\n21429 oracle_21429_cd oracleCDB2 (LOCAL=NO)       oracleCDB2 (LOCAL=NO)\n21431 oracle_21431_cd oracleCDB2 (LOCAL=NO)       oracleCDB2 (LOCAL=NO)\n21451 oracle_21451_cd oracleCDB2 (LOCAL=NO)       oracleCDB2 (LOCAL=NO)\n21517 oracle_21517_cd oracleCDB1 (LOCAL=NO)       oracleCDB1 (LOCAL=NO)\n22593 oracle_22593_cd postgres (DESCRIPTION=(LOCA postgres (DESCRIPTION=(LOCAL=MAYBE)(ADDRESS=(PROTOCOL=BEQ)))\n<\/code><\/pre>\n<p>The remote connection can have the name changed from the static registration, adding an ARVG0 value on the listener side:<\/p>\n<pre><code>\nLISTENER=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))\nSID_LIST_LISTENER=(SID_LIST=\n (SID_DESC=(GLOBAL_DBNAME=MYAPP)(ARGV0=myapp)(SID_NAME=CDB1)(ORACLE_HOME=\/u01\/app\/oracle\/product\/12.2.0\/dbhome_1))\n (SID_DESC=(GLOBAL_DBNAME=CDB1_DGMGRL)(SID_NAME=CDB1)(ORACLE_HOME=\/u01\/app\/oracle\/product\/12.2.0\/dbhome_1))\n (SID_DESC=(GLOBAL_DBNAME=CDB2_DGMGRL)(SID_NAME=CDB2)(ORACLE_HOME=\/u01\/app\/oracle\/product\/12.2.0\/dbhome_1))\n )\n<\/code><\/pre>\n<p>When reloading the listener with this (ARGV0=myapp) to identify connection from this MYAPP service<\/p>\n<pre><code>[oracle@VM122 ~]$ sqlplus -s system\/oracle@\/\/localhost\/MYAPP &lt;&lt;&lt; &quot;host ps -u oracle -o pid,comm,cmd,args | grep -E &#039;[ ]oracle_|[ ]PID&#039;&quot;\n  PID COMMAND         CMD                         COMMAND\n21155 oracle_21155_cd oracleCDB2 (LOCAL=NO)       oracleCDB2 (LOCAL=NO)\n21176 oracle_21176_cd oracleCDB2 (LOCAL=NO)       oracleCDB2 (LOCAL=NO)\n21429 oracle_21429_cd oracleCDB2 (LOCAL=NO)       oracleCDB2 (LOCAL=NO)\n21431 oracle_21431_cd oracleCDB2 (LOCAL=NO)       oracleCDB2 (LOCAL=NO)\n21451 oracle_21451_cd oracleCDB2 (LOCAL=NO)       oracleCDB2 (LOCAL=NO)\n21517 oracle_21517_cd oracleCDB1 (LOCAL=NO)       oracleCDB1 (LOCAL=NO)\n24261 oracle_24261_cd myapp (LOCAL=NO)            myapp (LOCAL=NO)\n<\/code><\/pre>\n<p>However, I would not recommend to change the default. This can be very confusing for people expecting ora_xxxx_SID and oracleSID process names.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>By Franck Pachot . Every database analysis should start with system load analysis. If the host is in CPU starvation, then looking at other statistics can be pointless. With &#8216;top&#8217; on Linux, or equivalent such as process explorer on Windows, you see the process (and threads). If the name of the process is meaningful, you [&hellip;]<\/p>\n","protected":false},"author":27,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[59,83],"tags":[221,96,570],"type_dbi":[],"class_list":["post-10810","post","type-post","status-publish","format-standard","hentry","category-oracle","category-postgresql","tag-data-guard","tag-oracle","tag-postgres"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Server process name in Postgres and Oracle - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Server process name in Postgres and Oracle\" \/>\n<meta property=\"og:description\" content=\"By Franck Pachot . Every database analysis should start with system load analysis. If the host is in CPU starvation, then looking at other statistics can be pointless. With &#8216;top&#8217; on Linux, or equivalent such as process explorer on Windows, you see the process (and threads). If the name of the process is meaningful, you [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-02-09T21:01:26+00:00\" \/>\n<meta name=\"author\" content=\"Oracle Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Oracle Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/\"},\"author\":{\"name\":\"Oracle Team\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\"},\"headline\":\"Server process name in Postgres and Oracle\",\"datePublished\":\"2018-02-09T21:01:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/\"},\"wordCount\":481,\"commentCount\":0,\"keywords\":[\"Data Guard\",\"Oracle\",\"postgres\"],\"articleSection\":[\"Oracle\",\"PostgreSQL\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/\",\"name\":\"Server process name in Postgres and Oracle - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2018-02-09T21:01:26+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Server process name in Postgres and Oracle\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\",\"name\":\"Oracle Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"caption\":\"Oracle Team\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/oracle-team\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Server process name in Postgres and Oracle - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/","og_locale":"en_US","og_type":"article","og_title":"Server process name in Postgres and Oracle","og_description":"By Franck Pachot . Every database analysis should start with system load analysis. If the host is in CPU starvation, then looking at other statistics can be pointless. With &#8216;top&#8217; on Linux, or equivalent such as process explorer on Windows, you see the process (and threads). If the name of the process is meaningful, you [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/","og_site_name":"dbi Blog","article_published_time":"2018-02-09T21:01:26+00:00","author":"Oracle Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Oracle Team","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/"},"author":{"name":"Oracle Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"headline":"Server process name in Postgres and Oracle","datePublished":"2018-02-09T21:01:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/"},"wordCount":481,"commentCount":0,"keywords":["Data Guard","Oracle","postgres"],"articleSection":["Oracle","PostgreSQL"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/","url":"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/","name":"Server process name in Postgres and Oracle - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2018-02-09T21:01:26+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/server-process-name-in-postgres-and-oracle\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Server process name in Postgres and Oracle"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee","name":"Oracle Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","caption":"Oracle Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/oracle-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/10810","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=10810"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/10810\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=10810"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=10810"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=10810"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=10810"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}