{"id":259,"date":"2019-07-31T14:21:20","date_gmt":"2019-07-31T12:21:20","guid":{"rendered":"http:\/\/anjo.pt\/wp\/keyword-oracle\/?p=259"},"modified":"2019-07-31T14:39:41","modified_gmt":"2019-07-31T12:39:41","slug":"pupdel-sql-and-sqlplus_product_profile","status":"publish","type":"post","link":"https:\/\/anjo.pt\/keyword-oracle\/2019\/07\/31\/pupdel-sql-and-sqlplus_product_profile\/","title":{"rendered":"pupdel.sql and SQLPLUS_PRODUCT_PROFILE"},"content":{"rendered":"\n<p>On Oracle 18c and 19c, the CreateDBCatalog.sql script has one more line calling:<\/p>\n\n\n\n<p>\/u00\/app\/oracle\/product\/19.3.0\/<strong>sqlplus<\/strong>\/admin\/<strong>pupdel.sql<\/strong><\/p>\n\n\n\n<p><strong>What is this  pupdel.sql? <\/strong><\/p>\n\n\n\n<p>It creates a trigger after drop of user on the database, that will delete entries on SYSTEM.SQLPLUS_PRODUCT_PROFILE table belonging to this user.<\/p>\n\n\n\n<p><strong>But, what is   SYSTEM.SQLPLUS_PRODUCT_PROFILE ?<\/strong><\/p>\n\n\n\n<p>This is the new name for PRODUCT_USER_PROFILE table, which allows to restrict usage of sqlplus based on keywords\/attributes and users. PRODUCT_USER_PROFILE is now a synonym of SQLPLUS_PRODUCT_PROFILE and there is also the public view PRODUCT_PRIVS which shows the privileges of the current connected user.<\/p>\n\n\n\n<p>From Oracle 19c all this is anyway desupported, as described at the documentation:<\/p>\n\n\n\n<p><a href=\"https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/19\/sqpug\/SQL-Plus-security.html#GUID-F94ACCFA-824F-4B58-B0D5-A73AB56DE3AA\">https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/19\/sqpug\/SQL-Plus-security.html#GUID-F94ACCFA-824F-4B58-B0D5-A73AB56DE3AA<\/a><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>On Oracle 18c and 19c, the CreateDBCatalog.sql script has one more line calling: \/u00\/app\/oracle\/product\/19.3.0\/sqlplus\/admin\/pupdel.sql What is this pupdel.sql? It creates a trigger after drop of user on the database, that will delete entries on SYSTEM.SQLPLUS_PRODUCT_PROFILE table belonging to this user. But, what is SYSTEM.SQLPLUS_PRODUCT_PROFILE ? This is the new name for PRODUCT_USER_PROFILE table, which allows [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,39],"tags":[43,42,41,40],"class_list":{"0":"post-259","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-oracle-12c","7":"category-oracle-19c","8":"tag-19c","9":"tag-dbca","10":"tag-installation","11":"tag-sqlplus","12":"czr-hentry"},"_links":{"self":[{"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/posts\/259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/comments?post=259"}],"version-history":[{"count":2,"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/posts\/259\/revisions"}],"predecessor-version":[{"id":261,"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/posts\/259\/revisions\/261"}],"wp:attachment":[{"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/media?parent=259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/categories?post=259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/anjo.pt\/keyword-oracle\/wp-json\/wp\/v2\/tags?post=259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}