{"id":11683,"date":"2018-09-10T16:01:16","date_gmt":"2018-09-10T14:01:16","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/"},"modified":"2018-09-10T16:01:16","modified_gmt":"2018-09-10T14:01:16","slug":"pdb-lockdown-with-oracle-18-3-0-0","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/","title":{"rendered":"PDB lockdown with Oracle 18.3.0.0"},"content":{"rendered":"<p>The PDB lockdown feature offers you the possibility to restrict operations and functionality available from within a PDB, and might be very useful from a security perspective.<\/p>\n<p>Some new features have been added to the 18.3.0.0 Oracle version:<\/p>\n<ul>\n<li>You have the possibility to create PDB lockdown profiles in the application root like in the CDB root. This facilitates to have a more precise control access to the applications associated with the application container.<\/li>\n<li>You can create a PDB lockdown profile from another PDB lockdown profile.<\/li>\n<li>Three default PDB lockdown profiles have been added : PRIVATE_DBAAS, SAAS and PUBLIC_DBAAS<\/li>\n<li>The v$lockdown_rules is a new view allowing you to display the contents of a PDB lockdown profile.<\/li>\n<\/ul>\n<p>Let\u2019s make some tests:<\/p>\n<p>At first we create a lockdown profile from the CDB (as we did with Oracle 12.2)<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; create lockdown profile psi;\n\nLockdown Profile created.\n\n<\/pre>\n<p>We alter the lockdown profile to disable any statement on the PDB side except alter system set open_cursors=500;<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter lockdown profile PSI disable statement=('ALTER SYSTEM') \nclause=('SET') OPTION ALL EXCEPT=('open_cursors');\n\nLockdown Profile altered.\n\n<\/pre>\n<p>Then we enable the lockdown profile:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter system set PDB_LOCKDOWN=PSI;\n\nSystem altered.<\/pre>\n<p>We can check the pdb_lockdown parameter value from the CDB side:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; show parameter pdb_lockdown\n\nNAME\t\t\t\t     TYPE\t VALUE\n------------------------------------ ----------- -------\npdb_lockdown\t\t\t     string\t PSI<\/pre>\n<p>From the PDB side what happens ?<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter session set container=pdb;\n\nSession altered.\n\nSQL&gt; alter system set cursor_sharing='FORCE';\nalter system set cursor_sharing='FORCE'\n*\nERROR at line 1:\nORA-01031: insufficient privileges\n\nSQL&gt; alter system set optimizer_mode='FIRST_ROWS_10';\nalter system set optimizer_mode='FIRST_ROWS_10'\n*\nERROR at line 1:\nORA-01031: insufficient privileges\n\n<\/pre>\n<p>This is a good feature, allowing a greater degree of separation between different PDB of the same instance.<\/p>\n<p>We can create a lockdown profile disabling partitioned tables creation:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; connect \/ as sysdba\nConnected.\nSQL&gt; create lockdown profile psi;\n\nLockdown Profile created.\n\nSQL&gt; alter lockdown profile psi disable option=('Partitioning');\n\nLockdown Profile altered.\n\nSQL&gt; alter system set pdb_lockdown ='PSI';\n\nSystem altered.<\/pre>\n<p>On the CDB side, we can create partitioned tables:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; create table emp (name varchar2(10)) partition by hash(name);\n\nTable created.<\/pre>\n<p>On the PDB side we cannot create partitioned tables:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter session set container = pdb;\n\nSession altered.\n\nSQL&gt; show parameter pdb_lockdown\n\nNAME\t\t\t\t     TYPE\n------------------------------------ --------------------------------\nVALUE\n------------------------------\npdb_lockdown\t\t\t     string\nAPP\nSQL&gt; create table emp (name varchar2(10)) partition by hash(name);\ncreate table emp (name varchar2(10)) partition by hash(name)\n*\nERROR at line 1:\nORA-00439: feature not enabled: Partitioning<\/pre>\n<p>We now have the possibility to create a lockdown profile from another one:<\/p>\n<p>Remember we have the pdb lockdown profile app disabling partitioned tables creation, we can create a new app_hr lockdown profile from the app lockdown profile and add new features to the app_hr one:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; create lockdown profile app_hr from app;\n\nLockdown Profile created.<\/pre>\n<p>The app_hr lockdown profile will not have the possibility to run alter system flush shared_pool:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter lockdown profile app_hr disable STATEMENT = ('ALTER SYSTEM') \nclause = ('flush shared_pool');\n\nLockdown Profile altered.<\/pre>\n<p>We can query the dba_lockdown_profiles view:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; SELECT profile_name, rule_type, rule, status \n     FROM   dba_lockdown_profiles order by 1;\n\nPROFILE_NAME\t\t   RULE_TYPE\t    RULE.        STATUS\n\nAPP\t\t\t    OPTION.     PARTITIONING\t DISABLE\nAPP_HR\t\t\t   STATEMENT\tALTER SYSTEM\t DISABLE\nAPP_HR\t\t            OPTION.     PARTITIONING     DISABLE<\/pre>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter system set pdb_lockdown=app_hr;\n\nSystem altered.\n\nSQL&gt; alter session set container=pdb;\n\nSession altered.\n\nSQL&gt; alter system flush shared_pool ;\nalter system flush shared_pool\n*\nERROR at line 1:\nORA-01031: insufficient privileges<\/pre>\n<p>If we reset the pdb_lockdown to app, we now can flush the shared pool:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter system set pdb_lockdown=app;\n\nSystem altered.\n\nSQL&gt; alter system flush shared_pool ;\n\nSystem altered.<\/pre>\n<p>We now can create lockdown profiles in the application root, so let\u2019s create an application PDB:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; CREATE PLUGGABLE DATABASE apppsi \nAS APPLICATION CONTAINER ADMIN USER app_admin IDENTIFIED BY manager\nfile_name_convert=('\/home\/oracle\/oradata\/DB18', \n'\/home\/oracle\/oradata\/DB18\/apppsi');  \n\nPluggable database created.\n\nSQL&gt; show pdbs\n\n    CON_ID CON_NAME\t\t\t  OPEN MODE  RESTRICTED\n---------- ------------------------------ ---------- ----------\n\t 2 PDB$SEED\t\t\t  READ ONLY  NO\n\t 3 PDB\t\t\t\t  READ WRITE NO\n\t 4 APPPSI\t\t\t  MOUNTED<\/pre>\n<p>We open the application PDB:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter pluggable database apppsi open;\n\nPluggable database altered.<\/pre>\n<p>We connect to the application container :<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter session set container=apppsi;\n\nSession altered.<\/pre>\n<p>We have the possibility to create a lockdown profile:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; create lockdown profile apppsi;\n\nLockdown Profile created.<\/pre>\n<p>And to disable some features:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter lockdown profile apppsi disable option=('Partitioning');\n\nLockdown Profile altered.<\/pre>\n<p>But there is a problem if we try to enable the profile:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter system set pdb_lockdown=apppsi;\nalter system set pdb_lockdown=apppsi\n*\nERROR at line 1:\nORA-65208: Lockdown profile APPPSI does not exist.<\/pre>\n<p>And surprise we cannot create a partitioned table:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; create table emp (name varchar2(10)) partition by hash(name);\ncreate table emp (name varchar2(10)) partition by hash(name)\n*\nERROR at line 1:\nORA-00439: feature not enabled: Partitioning<\/pre>\n<p>Let\u2019s do some more tests: we alter the lockdown profile like this:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter lockdown profile apppsi disable statement=('ALTER SYSTEM') \nclause = ('flush shared_pool');\n\nLockdown Profile altered.\n\nSQL&gt; alter system flush shared_pool;\nalter system flush shared_pool\n*\nERROR at line 1:\nORA-01031: insufficient privileges<\/pre>\n<p>In fact we cannot use sys in order to test lockdown profiles in APP root, we have to use an application user with privileges such as create or alter lockdown profiles in the application container. So after creating an appuser in the application root:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; connect appuser\/appuser@apppsi\n\nSQL&gt; create lockdown profile appuser_hr;\n\nLockdown Profile created.\n\nSQL&gt; alter lockdown profile appuser_hr disable option=('Partitioning');\n\nLockdown Profile altered.<\/pre>\n<p>And now it works fine:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter system set pdb_lockdown=appuser_hr;\n\nSystem altered.\n\nSQL&gt; create table emp (name varchar2(10)) partition by hash (name);\ncreate table emp (name varchar2(10)) partition by hash (name)\n*\nERROR at line 1:\nORA-00439: feature not enabled: Partitioning<\/pre>\n<p>And now can we enable again the partitioning option for the appuser_hr profile in the APP root ?<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter lockdown profile appuser_hr enable option = ('Partitioning');\n\nLockdown Profile altered.\n\nSQL&gt; create table emp (name varchar2(10)) partition by hash (name);\ncreate table emp (name varchar2(10)) partition by hash (name)\n*\nERROR at line 1:\nORA-00439: feature not enabled: Partitioning<\/pre>\n<p>It does not work as expected, the lockdown profile has been updated, but as previously we cannot create a partitioned table.<\/p>\n<p>Let\u2019s do another test with the statement option: we later the lockdown profile in order to disable all alter system set statements except with open_cursors:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter lockdown profile appuser_hr disable statement=('ALTER SYSTEM') \nclause=('SET') OPTION ALL EXCEPT=('open_cursors');\n\nLockdown Profile altered.\n\nSQL&gt; alter system set open_cursors=500;\n\nSystem altered.<\/pre>\n<p>This is a normal behavior.<\/p>\n<p>Now we alter the lockdown profile in order to disable alter system flush shared_pool:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter lockdown profile appuser_hr disable STATEMENT = ('ALTER SYSTEM') \nclause = ('flush shared_pool');\n\nLockdown Profile altered.\n\nSQL&gt; alter system flush shared_pool;\nalter system flush shared_pool\n*\nERROR at line 1:\nORA-01031: insufficient privileges<\/pre>\n<p>That\u2019s fine :=)<\/p>\n<p>Now we enable the statement:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; alter lockdown profile appuser_hr enable STATEMENT = ('ALTER SYSTEM') \nclause = ('flush shared_pool');\n\nLockdown Profile altered.\n\nSQL&gt; alter system flush shared_pool;\nalter system flush shared_pool\n*\nERROR at line 1:\nORA-01031: insufficient privileges<\/pre>\n<p>And again this is not possible \u2026<\/p>\n<p>Let\u2019s try in the CDB root:<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; connect \/ as sysdba\nConnected.\n\nSQL&gt; alter lockdown profile app disable statement =('ALTER SYSTEM') \nclause=('SET') OPTION ALL EXCEPT=('open_cursors');\n\nLockdown Profile altered.\n\nSQL&gt; alter session set container=pdb;\n\nSession altered.\n\nSQL&gt; alter system set cursor_sharing='FORCE';\nalter system set cursor_sharing='FORCE'\n*\nERROR at line 1:\nORA-01031: insufficient privileges<\/pre>\n<p>The behavior is correct, let\u2019s try to enable it :<\/p>\n<pre class=\"brush: sql; gutter: false; first-line: 1\">SQL&gt; connect \/ as sysdba\nConnected.\n\nSQL&gt; alter lockdown profile app enable statement=('ALTER SYSTEM') \nclause ALL;\n\nLockdown Profile altered.\n\nSQL&gt; alter session set container=pdb;\n\nSession altered.\n\nSQL&gt; alter system set cursor_sharing='FORCE';\n\nSystem altered.<\/pre>\n<p>This is correct again, it seems it does not work correctly in the APP root \u2026<\/p>\n<p>In conclusion the lockdown profile new features are powerful and will be very useful for security reasons. It will allow the DBAs to define a finer granularity\u00a0 to restrict user\u2019s rights to what they only need to access. But we have to be careful, with the PDB lockdown profiles we can build and generate very complicated database administration.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The PDB lockdown feature offers you the possibility to restrict operations and functionality available from within a PDB, and might be very useful from a security perspective. Some new features have been added to the 18.3.0.0 Oracle version: You have the possibility to create PDB lockdown profiles in the application root like in the CDB [&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":[],"tags":[],"type_dbi":[],"class_list":["post-11683","post","type-post","status-publish","format-standard","hentry"],"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>PDB lockdown with Oracle 18.3.0.0 - 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\/pdb-lockdown-with-oracle-18-3-0-0\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PDB lockdown with Oracle 18.3.0.0\" \/>\n<meta property=\"og:description\" content=\"The PDB lockdown feature offers you the possibility to restrict operations and functionality available from within a PDB, and might be very useful from a security perspective. Some new features have been added to the 18.3.0.0 Oracle version: You have the possibility to create PDB lockdown profiles in the application root like in the CDB [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-09-10T14:01:16+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=\"7 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\/pdb-lockdown-with-oracle-18-3-0-0\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/\"},\"author\":{\"name\":\"Oracle Team\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\"},\"headline\":\"PDB lockdown with Oracle 18.3.0.0\",\"datePublished\":\"2018-09-10T14:01:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/\"},\"wordCount\":645,\"commentCount\":0,\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/\",\"name\":\"PDB lockdown with Oracle 18.3.0.0 - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2018-09-10T14:01:16+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PDB lockdown with Oracle 18.3.0.0\"}]},{\"@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":"PDB lockdown with Oracle 18.3.0.0 - 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\/pdb-lockdown-with-oracle-18-3-0-0\/","og_locale":"en_US","og_type":"article","og_title":"PDB lockdown with Oracle 18.3.0.0","og_description":"The PDB lockdown feature offers you the possibility to restrict operations and functionality available from within a PDB, and might be very useful from a security perspective. Some new features have been added to the 18.3.0.0 Oracle version: You have the possibility to create PDB lockdown profiles in the application root like in the CDB [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/","og_site_name":"dbi Blog","article_published_time":"2018-09-10T14:01:16+00:00","author":"Oracle Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Oracle Team","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/"},"author":{"name":"Oracle Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"headline":"PDB lockdown with Oracle 18.3.0.0","datePublished":"2018-09-10T14:01:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/"},"wordCount":645,"commentCount":0,"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/","url":"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/","name":"PDB lockdown with Oracle 18.3.0.0 - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2018-09-10T14:01:16+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/pdb-lockdown-with-oracle-18-3-0-0\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PDB lockdown with Oracle 18.3.0.0"}]},{"@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\/11683","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=11683"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/11683\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=11683"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=11683"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=11683"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=11683"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}