{"id":3724,"date":"2014-05-20T21:32:00","date_gmt":"2014-05-20T19:32:00","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/oracle-policy-managed-databases-policies-and-policy-sets\/"},"modified":"2014-05-20T21:32:00","modified_gmt":"2014-05-20T19:32:00","slug":"oracle-policy-managed-databases-policies-and-policy-sets","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/oracle-policy-managed-databases-policies-and-policy-sets\/","title":{"rendered":"Oracle policy managed databases: Policies and policy sets"},"content":{"rendered":"<p>In this post, I will continue my experiments with Oracle policy managed databases with Grid Infrastructure, and present one of the new features introduced with Grid Infrastructure 12c last June: the cluster configuration policies and policy sets. It allows the administrator to dynamically reconfigure all server pools at a time, with a single command, according to the business workload.<\/p>\n<p>To take a simple example, imagine you have two servers allocated for your production instances, and two servers allocated for you development instances. This repartition is conform to your daily workload. But you have very intensive batches running every night on your production databases. The production servers are strongly used, and you have two development servers, up and running, but not used at all. What a great resources wasting!<\/p>\n<p>In this case you have several solutions:<\/p>\n<p>1) Shut down development servers during the night because they are not used. It will at least allow energy saving \ud83d\ude42<br \/>\n2) Review your needs and allocate more server(s) to the production system<br \/>\n3) Create a crazy script to reconfigure each server pool, one by one, to accomodate the configuration to the real needs, with srvctl commands run in serial.<br \/>\n4) Use policies and policy sets<\/p>\n<p>As you may expect, I will develop the last solution!<\/p>\n<p>A policy set is a &#8220;document&#8221; (Oracle definition) which contains one or more policies. Each policy contains the configuration of all server-pools in the cluster: MIN_SIZE and MAX_SIZE, IMPORTANCE, server list, etc.<\/p>\n<p>It will make the administrator able to activate a policy or another, according to the workload or business needs, to dynamically and immediately change all the configuration of the cluster server-pools. For instance: use two servers for production and two servers for development during working days, and use three servers for production and one server for development during nights and week ends.<\/p>\n<p>First of all, there is my current configuration:<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">[oracle@node01 ~]$ <span style=\"color: #ff0000\">srvctl config srvpool<\/span>\nServer pool name: Free\nImportance: 0, Min: 0, Max: -1\nCategory:\nCandidate server names:\nServer pool name: Generic\nImportance: 0, Min: 0, Max: -1\nCategory:\nCandidate server names:\nServer pool name: srvprod\n<span style=\"color: #ff0000\">Importance: 0, Min: 2, Max: 2<\/span>\nCategory: hub\nCandidate server names:\nServer pool name: srvtest\n<span style=\"color: #ff0000\">Importance: 0, Min: 2, Max: 2<\/span>\nCategory: hub\nCandidate server names:<\/pre>\n<p>I have two nodes running in my srvprod pool and two nodes running in the srvtest pool.<\/p>\n<p>An instance DB1 (prod) is running on nodes 1 and 4:<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">[oracle@node01 ~]$ srvctl status database -d DB1\nInstance DB1_1 is running on node node01\nInstance DB1_2 is running on node node04<\/pre>\n<p>And an instance DB2 (dev) is running on nodes 2 and 3:<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">[oracle@node01 ~]$ srvctl status database -d DB2\nInstance DB2_1 is running on node node02\nInstance DB2_2 is running on node node03<\/pre>\n<p>The simplest way to benefit of policies and policy sets is to create a text file with the wanted configuration. Following steps explain how to proceed.<\/p>\n<h3>Step 1: Create a new policy set<\/h3>\n<p>The crsctl tool offers an option to generate a new policy set file, based on the current active configuration. We must connect as grid:<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">[grid@node01 ~]$ mkdir -p \/u00\/app\/oracle\/admin\/policies\n[grid@node01 ~]$ crsctl create policyset -file \/u00\/app\/oracle\/admin\/policies\/new_policy<\/pre>\n<p>The file has been generated:<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">[grid@node01 ~]$ ll \/u00\/app\/oracle\/admin\/policies\ntotal 4\n-rw-r--r-- 1 grid oinstall 305 Apr 29 16:21 <span style=\"color: #ff0000\">new_policy<\/span><\/pre>\n<p>&nbsp;<\/p>\n<p>There is the file content:<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">[grid@node01 ~]$ cat \/u00\/app\/oracle\/admin\/policies\/new_policy\nSERVER_POOL_NAMES=Free ora.srvprod ora.srvtest\nPOLICY\n\u00a0 <span style=\"color: #ff0000\">NAME=Default<\/span>\n\u00a0 SERVERPOOL\n\u00a0\u00a0\u00a0 NAME=ora.srvprod\n\u00a0\u00a0\u00a0 IMPORTANCE=0\n\u00a0\u00a0\u00a0 MAX_SIZE=2\n\u00a0\u00a0\u00a0 MIN_SIZE=2\n\u00a0\u00a0\u00a0 SERVER_CATEGORY=ora.hub.category\n\u00a0 SERVERPOOL\n\u00a0\u00a0\u00a0 NAME=ora.srvtest\n\u00a0\u00a0\u00a0 IMPORTANCE=0\n\u00a0\u00a0\u00a0 MAX_SIZE=2\n\u00a0\u00a0\u00a0 MIN_SIZE=2\n\u00a0\u00a0\u00a0 SERVER_CATEGORY=ora.hub.category<\/pre>\n<p>The line &#8220;NAME=Default&#8221; corresponds to the name of the policy in the policy set. The policy set itself is represented by the file &#8220;new_policy&#8221; created above.<\/p>\n<h3>Step 2: Update the current policy set<\/h3>\n<p>To update the current policy set, we just have to edit our policy set file &#8220;new_policy&#8221; and to add new policies above the Default one.<\/p>\n<p>As an example, imagine we want to allocate one server more for production during the nights, and to allocate all servers to the production during week ends, to disable the development instances. We append the following policies:<\/p>\n<p>POLICY<br \/>\n<span style=\"color: #ff0000\"> NAME=Nights<\/span><br \/>\nSERVERPOOL<br \/>\nNAME=ora.srvprod<br \/>\nIMPORTANCE=0<br \/>\n<span style=\"color: #ff9900\">\u00a0 MAX_SIZE=3<\/span><br \/>\n<span style=\"color: #ff9900\">\u00a0\u00a0\u00a0 MIN_SIZE=3<\/span><br \/>\nSERVER_CATEGORY=ora.hub.category<br \/>\nSERVERPOOL<br \/>\nNAME=ora.srvtest<br \/>\nIMPORTANCE=0<br \/>\n<span style=\"color: #ff9900\"> MAX_SIZE=1<\/span><br \/>\n<span style=\"color: #ff9900\">\u00a0\u00a0\u00a0 MIN_SIZE=1<\/span><br \/>\nSERVER_CATEGORY=ora.hub.category<br \/>\nPOLICY<br \/>\n<span style=\"color: #ff0000\">\u00a0 NAME=WeekEnds<\/span><br \/>\nSERVERPOOL<br \/>\nNAME=ora.srvprod<br \/>\nIMPORTANCE=0<br \/>\n<span style=\"color: #ff9900\">\u00a0 MAX_SIZE=4<\/span><br \/>\n<span style=\"color: #ff9900\">\u00a0\u00a0\u00a0 MIN_SIZE=4<\/span><br \/>\nSERVER_CATEGORY=ora.hub.category<br \/>\nSERVERPOOL<br \/>\nNAME=ora.srvtest<br \/>\nIMPORTANCE=0<br \/>\n<span style=\"color: #ff9900\">MAX_SIZE=0<\/span><br \/>\n<span style=\"color: #ff9900\">\u00a0\u00a0\u00a0 MIN_SIZE=0<\/span><br \/>\nSERVER_CATEGORY=ora.hub.category<\/p>\n<p>Once the file is edited, it must be loaded into the policy set configuration using crsctl:<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">[grid@node01 ~]$ <span style=\"color: #ff0000\">crsctl modify policyset<\/span> -file \/u00\/app\/oracle\/admin\/policies\/new_policy<\/pre>\n<p>&nbsp;<\/p>\n<h3>Step 3: Enable a new policy<\/h3>\n<p>Our policy set now contains three policies (Default, Nights and WeekEnds). The currently enabled policy is &#8220;Default&#8221;:<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">[grid@node01 ~]$ <span style=\"color: #ff0000\">crsctl status policyset<\/span> | grep -i last\nLAST_ACTIVATED_POLICY=Default<\/pre>\n<p>We are going to enable the &#8220;Nights&#8221; policy and wee what happens. To enable a policy, use the following crsctl command as grid:<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">[grid@node01 ~]$ <span style=\"color: #ff0000\">crsctl modify policyset<\/span> -attr \"LAST_ACTIVATED_POLICY=Nights\"\nCRS-2673: Attempting to stop 'ora.db2.db' on 'node02'\nCRS-2677: Stop of 'ora.db2.db' on 'node02' succeeded\nCRS-2672: Attempting to start 'ora.db1.db' on 'node02'\nCRS-2676: Start of 'ora.db1.db' on 'node02' succeeded<\/pre>\n<p>In the previous output, we can see on node02 that Oracle has stopped DB2 and started DB1 instead. We can confirm with srvctl:<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">[grid@node01 ~]$ srvctl status srvpool\nServer pool name: Free\nActive servers count: 0\nServer pool name: Generic\nActive servers count: 0\n<span style=\"color: #ff0000\">Server pool name: srvprod<\/span>\n<span style=\"color: #ff0000\">Active servers count: 3<\/span>\n<span style=\"color: #ff0000\">Server pool name: srvtest<\/span>\n<span style=\"color: #ff0000\">Active servers count: 1<\/span>\n[grid@node01 ~]$ srvctl status database -d DB1\nInstance DB1_1 is running on node node01\nInstance DB1_2 is running on node node04\nInstance DB1_3 is running on node node02\n[grid@node01 ~]$ srvctl status database -d DB2\nInstance DB2_2 is running on node node03<\/pre>\n<p>Now I enable the &#8220;WeekEnds&#8221; policy. The remaing development server will be allocated to the production server pool, and 4 production instances will be running:<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">[grid@node01 ~]$ crsctl modify policyset -attr \"LAST_ACTIVATED_POLICY=WeekEnds\"\nCRS-2673: Attempting to stop 'ora.db2.db' on 'node03'\nCRS-2677: Stop of 'ora.db2.db' on 'node03' succeeded\nCRS-2672: Attempting to start 'ora.DB1.db' on 'node03'\nCRS-2676: Start of 'ora.DB1.db' on 'node03' succeeded<\/pre>\n<p>All nodes are now part of the production pool:<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">[grid@node01 ~]$ srvctl status srvpool\nServer pool name: Free\nActive servers count: 0\nServer pool name: Generic\nActive servers count: 0\n<span style=\"color: #ff0000\">Server pool name: srvprod<\/span>\n<span style=\"color: #ff0000\">Active servers count: 4<\/span>\nServer pool name: srvtest\nActive servers count: 0<\/pre>\n<p>Four production instances are opened:<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">[grid@node01 ~]$ srvctl status database -d DB1\nInstance DB1_1 is running on node node01\nInstance DB1_2 is running on node node04\nInstance DB1_3 is running on node node02\nInstance DB1_4 is running on node node03<\/pre>\n<p>And the service for development is completely down:<\/p>\n<pre class=\"brush: actionscript3; gutter: true; first-line: 1\">[grid@node01 ~]$ srvctl status database -d DB2\nDatabase is not running.<\/pre>\n<p>To reset to the initial policy, just use the same command with the &#8220;Default&#8221; policy attribute:<\/p>\n<p>[grid@node01 ~]$ crsctl modify policyset -attr &#8220;LAST_ACTIVATED_POLICY=Default&#8221;<\/p>\n<h3>Conclusion<\/h3>\n<p>This feature represents an easy way to configure a whole policy managed cluster at will. I have demonstrated how to edit a policy set using a text file generated using crsctl, but Oracle also documented how to manually definea policy set with command line. In my opinion, this is most fastidious and the text file is a better choice.<\/p>\n<p>I only regret that Oracle has not created a way to enable policies according to the database workload, or to schedule policies over the time. Here, we must manually enable the policy or use the crontab&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this post, I will continue my experiments with Oracle policy managed databases with Grid Infrastructure, and present one of the new features introduced with Grid Infrastructure 12c last June: the cluster configuration policies and policy sets. It allows the administrator to dynamically reconfigure all server pools at a time, with a single command, according [&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":[198],"tags":[456,17,209,216,446],"type_dbi":[],"class_list":["post-3724","post","type-post","status-publish","format-standard","hentry","category-database-management","tag-grid-infrastructure","tag-oracle-11g","tag-oracle-12c","tag-oracle-rac","tag-policy-managed-databases"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Oracle policy managed databases: Policies and policy sets - 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\/oracle-policy-managed-databases-policies-and-policy-sets\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Oracle policy managed databases: Policies and policy sets\" \/>\n<meta property=\"og:description\" content=\"In this post, I will continue my experiments with Oracle policy managed databases with Grid Infrastructure, and present one of the new features introduced with Grid Infrastructure 12c last June: the cluster configuration policies and policy sets. It allows the administrator to dynamically reconfigure all server pools at a time, with a single command, according [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/oracle-policy-managed-databases-policies-and-policy-sets\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-05-20T19:32:00+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=\"6 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\\\/oracle-policy-managed-databases-policies-and-policy-sets\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-policy-managed-databases-policies-and-policy-sets\\\/\"},\"author\":{\"name\":\"Oracle Team\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/66ab87129f2d357f09971bc7936a77ee\"},\"headline\":\"Oracle policy managed databases: Policies and policy sets\",\"datePublished\":\"2014-05-20T19:32:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-policy-managed-databases-policies-and-policy-sets\\\/\"},\"wordCount\":835,\"commentCount\":0,\"keywords\":[\"Grid Infrastructure\",\"Oracle 11g\",\"Oracle 12c\",\"Oracle RAC\",\"Policy-managed databases\"],\"articleSection\":[\"Database management\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-policy-managed-databases-policies-and-policy-sets\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-policy-managed-databases-policies-and-policy-sets\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-policy-managed-databases-policies-and-policy-sets\\\/\",\"name\":\"Oracle policy managed databases: Policies and policy sets - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2014-05-20T19:32:00+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/66ab87129f2d357f09971bc7936a77ee\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-policy-managed-databases-policies-and-policy-sets\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-policy-managed-databases-policies-and-policy-sets\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-policy-managed-databases-policies-and-policy-sets\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Oracle policy managed databases: Policies and policy sets\"}]},{\"@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":"Oracle policy managed databases: Policies and policy sets - 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\/oracle-policy-managed-databases-policies-and-policy-sets\/","og_locale":"en_US","og_type":"article","og_title":"Oracle policy managed databases: Policies and policy sets","og_description":"In this post, I will continue my experiments with Oracle policy managed databases with Grid Infrastructure, and present one of the new features introduced with Grid Infrastructure 12c last June: the cluster configuration policies and policy sets. It allows the administrator to dynamically reconfigure all server pools at a time, with a single command, according [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/oracle-policy-managed-databases-policies-and-policy-sets\/","og_site_name":"dbi Blog","article_published_time":"2014-05-20T19:32:00+00:00","author":"Oracle Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Oracle Team","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/oracle-policy-managed-databases-policies-and-policy-sets\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/oracle-policy-managed-databases-policies-and-policy-sets\/"},"author":{"name":"Oracle Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"headline":"Oracle policy managed databases: Policies and policy sets","datePublished":"2014-05-20T19:32:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/oracle-policy-managed-databases-policies-and-policy-sets\/"},"wordCount":835,"commentCount":0,"keywords":["Grid Infrastructure","Oracle 11g","Oracle 12c","Oracle RAC","Policy-managed databases"],"articleSection":["Database management"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/oracle-policy-managed-databases-policies-and-policy-sets\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/oracle-policy-managed-databases-policies-and-policy-sets\/","url":"https:\/\/www.dbi-services.com\/blog\/oracle-policy-managed-databases-policies-and-policy-sets\/","name":"Oracle policy managed databases: Policies and policy sets - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2014-05-20T19:32:00+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/oracle-policy-managed-databases-policies-and-policy-sets\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/oracle-policy-managed-databases-policies-and-policy-sets\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/oracle-policy-managed-databases-policies-and-policy-sets\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Oracle policy managed databases: Policies and policy sets"}]},{"@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\/3724","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=3724"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/3724\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=3724"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=3724"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=3724"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=3724"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}