{"id":1772,"date":"2017-10-15T20:41:09","date_gmt":"2017-10-15T18:41:09","guid":{"rendered":"http:\/\/clemente.pamplona.name\/dba\/?p=1772"},"modified":"2017-10-15T20:41:09","modified_gmt":"2017-10-15T18:41:09","slug":"ora-65092-nuevos-errores-de-la-12c","status":"publish","type":"post","link":"http:\/\/clemente.pamplona.name\/dba\/ora-65092-nuevos-errores-de-la-12c\/","title":{"rendered":"ORA-65092 (nuevos errores de la 12c)"},"content":{"rendered":"<p>Tras las vacaciones vamos a ver una entrada r\u00e1pida y sencilla para \u00abdummies de la 12c\u00bb<\/p>\n<p>Como sabemos, la versi\u00f3n 12c con las bases de datos multicontenedoras nos han tra\u00eddo una nueva diferenciaci\u00f3n de usuarios de bases de datos, los usuarios globales y los usuarios locales. <\/p>\n<p>A nivel de usuarios locales , apenas cambia nada, pero , cuando hablamos de usuarios y privilegios globales, podemos hacernos un poco de l\u00edo.<\/p>\n<p>Supongamos tenemos un sistema con un CDB y multiples PDBs, tenemos un usuario que queremos est\u00e9 en todas las bases de datos, este usuario pongamos que es el usuario <i>PEPE<\/i>, y al ser un usuaro <b>global<\/b> ( est\u00e1 en todos los pdbs) su nombre de esquema ser\u00e1 C##PEPE<\/p>\n<p>Si quisi\u00e9ramos darle el privilegio <i>CREATE TABLE<\/i> solamente tendr\u00edamos que conectarnos al CDB$ROOT y ejecutar <\/p>\n<pre>\r\nSQL >GRANT CREATE TABLE TO C##PEPE;\r\n<\/pre>\n<p>Como veis, no hemos incluido la clausula <i> CONTAINER=ALL<\/i> por que en este tipo de sentencias es impl\u00edcita.<br \/>\nPero, \u00bfque ocurre si se lo queremos quitar?. Si ahora ejecutamos <\/p>\n<pre>\r\nSQL > REVOKE create table FROM C##PEPE;\r\n<\/pre>\n<p>recibir\u00edamos el error<\/p>\n<pre>\r\nORA-65092:system privilege granted with a different scope to C##PEPE\r\n<\/pre>\n<h2>\u00bfComo es posible?<\/h2>\n<p>Desafortunadamente vamos a tener que ir acostumbr\u00e1ndonos a este tipo de cosas con la gestion de los usuarios globales, la causa del error es que, al contrario de lo que ocurre cuando das un permiso a un usuario global ( donde la c\u00e1usula CONTAINER=ALL es implicita), cuando se los quitas no lo es, por lo que, a no ser que la especifiques manualmente  recibiremos el error visto anteriormente.<\/p>\n<p>Para revocar el privilegio solamente habr\u00eda que hacer:<\/p>\n<pre>\r\nSQL > REVOKE create table FROM C##PEPE CONTAINER=ALL;\r\n<\/pre>\n<p>Mas informaci\u00f3n como siempre en:<br \/>\n<a href=\"http:\/\/docs.oracle.com\/database\/121\/ERRMG\/ORA-60001.htm#BEGIN\">Documentaci\u00f3n de errores de ORACLE<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tras las vacaciones vamos a ver una entrada r\u00e1pida y sencilla para \u00abdummies de la 12c\u00bb Como sabemos, la versi\u00f3n 12c con las bases de datos multicontenedoras nos han tra\u00eddo una nueva diferenciaci\u00f3n de usuarios de bases de datos, los &hellip; <a href=\"http:\/\/clemente.pamplona.name\/dba\/ora-65092-nuevos-errores-de-la-12c\/\">Sigue leyendo <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[60,744,9,66],"tags":[756,824,750,697],"class_list":["post-1772","post","type-post","status-publish","format-standard","hentry","category-12c","category-cdbpdb","category-dummie","category-errores-ora","tag-cdb","tag-ora-65092","tag-pdb","tag-user"],"_links":{"self":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1772","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/comments?post=1772"}],"version-history":[{"count":11,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1772\/revisions"}],"predecessor-version":[{"id":1783,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1772\/revisions\/1783"}],"wp:attachment":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/media?parent=1772"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/categories?post=1772"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/tags?post=1772"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}