tag:blogger.com,1999:blog-39630624334787552472024-03-13T03:04:30.709-07:00Bitácora DBA | Oracle BlogDiseño, Seguridad y Performance en Bases de Datos Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.comBlogger330125tag:blogger.com,1999:blog-3963062433478755247.post-40187854537094689262021-02-13T06:48:00.013-08:002023-01-10T03:32:17.962-08:00Usando el "Last Login Time" para mejorar la seguridad de la base de datos <div><span style="font-family: arial;">Es bastante común que en una base de datos Oracle tengamos la necesidad de saber si se están realizando conexiones con determinados usuarios. Esto puede ser por diferentes motivos, esquemas o usuarios creados y que nunca se han utilizado, empleados desvinculados, aplicaciones que se han migrado de base de datos pero sus esquemas originales aún permanecen, etc. Pueden existir muchas y variada razones.</span></div><div><span style="font-family: arial;">Para poder detectar esto, sin necesidad de recurrir a la auditoria, desde la versión 12c Oracle comenzó a registrar el último inicio de sesión exitoso.</span></div><div><span style="font-family: arial;"><br /></span></div><div><span style="font-family: arial;">Esta información es almacenada en la tabla SYS.USER $ y pueder ser consultada en la columna LAST_LOGIN de la vista DBA_USERS. Como ya mencioné, esta funcionalidad es independiente de la auditoria.</span></div><div><span style="font-family: arial;">Cuando iniciamos sesión utilizando SQL*Plus, podemos ver esta información en el texto del banner.</span></div><div><span style="font-family: arial;"><br /></span></div><div>[oracle@server01 ORADB12C][~]$ sqlplus test01</div><div><br /></div><div>SQL*Plus: Release 12.1.0.2.0 Production on Sat Feb 13 06:31:51 2021</div><div><br /></div><div>Copyright (c) 1982, 2014, Oracle. All rights reserved.</div><div><br /></div><div>Enter password:</div><div><span style="background-color: #fcff01;">Last Successful login time: Sat Feb 13 2021 06:31:01 -05:00</span></div><div><br /></div><div>Connected to:</div><div>Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production</div><div>With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,</div><div>Advanced Analytics, Real Application Testing and Unified Auditing options<span><a name='more'></a></span><span></span></div><div><span style="font-family: arial;">Como comentaba anteriormente, la información es almacenada en la tabla SYS.USER$, específicamente en la columna SPARE6, y puede ser consultada de manera simple utilizando la vista DBA_USERS (columna LAST_LOGIN).</span></div><div><br /></div><div>SQL> col username for a15</div><div>SQL> col last_login for a25</div><div>SQL> alter session set NLS_TIMESTAMP_TZ_FORMAT='DD.MM.YYYY HH24:MI:SS';</div><div>Session altered.</div><div><br /></div><div>SQL> select username,last_login from dba_users where username='TEST01';</div><div><br /></div><div>USERNAME LAST_LOGIN</div><div>--------------- -------------------------</div><div>TEST01 <span style="background-color: #fcff01;">13.02.2021 06:31:54</span></div><div><br /></div><div>SQL> col name for a15</div><div>SQL> col last_login for a25</div><div>SQL> alter session set NLS_TIMESTAMP_TZ_FORMAT='DD.MM.YYYY HH24:MI:SS';</div><div><br /></div><div>SQL> select name, spare6 from user$ where name='TEST01';</div><div><br /></div><div>NAME SPARE6</div><div>--------------- ---------</div><div>TEST01 13-FEB-21</div><div><br /></div><div><span style="font-family: arial;">Con esta información disponible, resulta sencillo para un DBA indagar sobre el comportamiento relacionado con el inicio de session de determinados usuarios.</span></div><div><span style="font-family: arial;"><br /></span></div><div><span style="font-family: arial;">Por ejemplo:</span></div><div><span style="font-family: arial;"><br /></span></div><div><span style="font-family: arial;">Detectar aquellos que nunca iniciaron sesión:</span></div><div><br /></div><div>SQL> select username, last_login from dba_users where last_login IS NULL;</div><div><br /></div><div><span style="font-family: arial;">Conocer cuando fue el último login de aquellos que lo hicieron:</span></div><div><br /></div><div>SQL> select username, last_login from dba_users where last_login IS NOT NULL;</div><div><br /></div><div><span style="font-family: arial;">Identificar los usuarios que no iniciaron sesión por una determinada cantidad de tiempo (por ejemplo los últimos 30 días):</span></div><div><br /></div><div>SQL> select sysdate from dual;</div><div><br /></div><div>SYSDATE</div><div>---------</div><div>13-FEB-21</div><div><br /></div><div>SQL> select username, last_login from dba_users where last_login < sysdate - 30;</div><div><br /></div><div>USERNAME LAST_LOGIN</div><div>--------------- -------------------------</div><div>HR_ADMIN 09.12.2020 09:12:34</div><div><br /></div><div><span style="font-family: arial;">En definitiva, se puede obtener información interesante que posteriormente deberá ser analizada para poder detectar patrones de comportamiento sobre los cuales profundizar, tomar decisiones y realizar acciones si fuera necesario.</span></div><div><span style="font-family: arial;"><br /></span></div><div><span style="font-family: arial;">Que acciones?, por ejemplo:</span></div><div><ul style="text-align: left;"><li><span style="font-family: arial;">Eliminar usuarios que ya no se conecten (por diferentes motivos).</span></li><li><span style="font-family: arial;">Eliminar esquemas que no se utilicen (ej. Esquemas de aplicaciones que se hayan migrado).</span></li><li><span style="font-family: arial;">Detectar conexiones con el owner de la aplicación que no se deberían realizar.</span></li></ul></div><div><span style="font-family: arial;">Estos son sólo algunos ejemplos y por supuesto existen muchos más casos y utilidades.</span></div><div><span style="font-family: arial;"><br /></span></div><div><span style="font-family: arial;">Algo a tener en cuenta:</span></div><div><span style="font-family: arial;">Existe una opción de SQL*Plus, utilizando el parámetro <b>–nologintime</b>, para evitar que se muestre la información del ultimo login (“<i>Last Successful login time: …</i>”).</span></div><div><span style="font-family: arial;">En este caso, si bien la información no es mostrada por SQL*Plus al iniciar la sesión, igualmente queda registrada y disponible en la tabla SYS.USERS$</span></div><div><br /></div><div>[oracle@server01 ORADB12C][~]$ sqlplus <span style="background-color: #fcff01;">-nologintime</span> TEST01</div><div><br /></div><div>SQL*Plus: Release 12.1.0.2.0 Production on Sat Feb 13 08:50:13 2021</div><div><br /></div><div>Copyright (c) 1982, 2014, Oracle. All rights reserved.</div><div><br /></div><div>Enter password:</div><div><br /></div><div>Connected to:</div><div>Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production</div><div>With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,</div><div>Advanced Analytics, Real Application Testing and Unified Auditing options</div><div><br /></div><div><br /></div><div>SQL> select username, last_login from dba_users where username='TEST01';</div><div><br /></div><div>USERNAME LAST_LOGIN</div><div>--------------- -------------------------</div><div>TEST01 13.02.2021 08:50:15</div><div><br /></div><div><span style="font-family: arial;">Por último, es importante destacar que los inicios de sesión del usuario SYS y otros que utilicen passwordfile para su autenticación no son registrados en la tabla SYS.USERS$.</span></div><div><span style="font-family: arial;"><br /></span></div><div><span style="font-family: arial;">Dado que esta función está destinada principalmente a un uso interactivo, la limitación en la captura de esta información es, hasta cierto punto, comprensible. Registrar de esta manera el último inicio de sesión de usuarios con privilegios administrativos (SYSDBA, SYSDG, SYSBACKUP, etc.) redundaría en el registro de muchísimas conexiones internas de RMAN o Dataguard por ejemplo. </span></div><div><span style="font-family: arial;">Si necesitamos garantizar la trazabilidad de sesiones de este tipo de usuarios, es mandatorio que utilicemos la auditoría de la base de datos con la opción AUDIT_SYS_OPERATIONS habilitada.</span></div><div><span style="font-family: arial;"><br /></span></div><div><span style="font-family: arial;">No obstante, a partir de la versión 12.2, el horario y fecha del ultimo inicio de sesión exitoso de usuarios administrativos, que utilizan password-file como método de autenticación, es capturado en la vista dinámica V$PWFILE_USERS (columna LAST_LOGIN).</span></div><div><span style="font-family: arial;"><br /></span></div><div><span style="font-family: arial;"><b>Conclusión:</b></span></div><div><span style="font-family: arial;">Esta simple mejora incorporada en Oracle 12c nos puede ayudar bastante en la detección y análisis de determinados comportamientos durante el ciclo de vida de usuarios y esquemas.</span></div><div><span style="font-family: arial;">Usuarios que no son utilizados y siguen activos, esquemas (con datos) que ya no son necesarios, conexiones de usuarios que no se deberían realizar, etc. son sólo algunos casos ejemplo. </span></div><div><span style="font-family: arial;">Es necesario tener presente que de ninguna manera el uso de esta funcionalidad debe reemplazar a una buena estrategia de auditoria, pero si es un buen complemento que permite, de forma ágil y sencilla, obtener información relevante para tomar acciones rápidas o comenzar una tarea más profunda de análisis en caso de ser necesario. </span></div><div><br /></div>Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-85283748075422417592021-02-06T14:35:00.002-08:002021-02-08T14:40:37.639-08:00Diferencia entre "Session User" y "Current User"<div><span style="font-family: arial;">En esta breve publicación voy a trata de explicar dos conceptos que en muchas oportunidades suelen confundirse (o por lo menos no quedan del todo claros). Estoy hablando de “session user” y “current user”.</span></div><div><span style="font-family: arial;">En bases de datos Oracle, durante el tiempo de vida de una sesión, es muy probable que el usuario conectado utilice privilegios de diferentes usuarios. Esto sucede muy a menudo y de manera transparente (en el detrás de escena de la sesión). </span></div><div><span style="font-family: arial;">En todo momento, mientras esté viva la sesión, podemos identificar dos usuarios prinicpales: el usuario de sesión (“session user”) y el usuario actual (“current user”). Estas dos identidades pueden referirse al mismo usuario o pueden ser diferentes de acuardo al privilegio que se esté utilizando.</span></div><div><span style="font-family: arial;">Veamos primero de que se trata cada uno de estos conceptos y posteriormente voy a usar un ejemplo para tratar de ilustrarlo.</span></div><div><span style="font-family: arial;"><br /></span></div><div><span style="font-family: arial;"><b>Session user:</b> Es el usuario con el que fue iniciada la sesión en la base de datos. Este usuario permanece sin cambios durante el tiempo de vida de la sesión. A veces se denomina también usuario de inicio de sesión. Podemos conocer cuál es, utilizando la función sys_context con el namespace USERENV(que hace referencia a la sesión actual) y el parámetro SESSION_USER: SYS_CONTEXT ('USERENV', 'SESSION_USER'). </span></div><div><span style="font-family: arial;">Si, por ejemplo, nos conectamos a la base de datos como USERS1, entonces el usuario de sesión será USERS1.</span></div><div><span style="font-family: arial;"><br /></span></div><div><span style="font-family: arial;"><b>Current user:</b> Es el usuario cuyos privilegios están actualmente activos. Este usuario puede cambiar a lo largo del tiempo de vida de la sesión. Podemos saber cuál es “current user” en determinado momento utilizando también la función sys_context con USERENV, pero en este caso con el parámetro ‘CURRENT_USER’: </span></div><div><span style="font-family: arial;">SYS_CONTEXT ('USERENV', 'CURRENT_USER').</span></div><div><span style="font-family: arial;">Por ejemplo, si el usuario USER1 está ejecutando un procedimiento almacenado propiedad del usuario USER2, durante el tiempo que dure la ejecución del mismo, el usuario actual será USER2 y el usuario de sesión permanecerá sin cambios como USER1.(Cuando un usuario ejecuta un procedimiento o función, del cual no es propietario, y al cual se le han otorgado permisos de ejecución, los privilegios del owner del procedimiento o función son activados). </span></div><div><span><a name='more'></a></span></div><div><span style="font-family: arial;">Veamos cómo funciona esto con un ejemplo:</span></div><div><span style="font-family: arial;"><br /></span></div><div><span style="font-family: arial;">Voy a preparar primero un escenario de prueba donde utilizaré tres usuarios distintos:</span></div><div><ul style="text-align: left;"><li><span style="font-family: arial;">USER1</span></li><li><span style="font-family: arial;">USER2</span></li><li><span style="font-family: arial;">USER3</span></li></ul></div><div><span style="font-family: arial;">USER1 lo voy a utilizar como usuario de validación (desde el cual voy a realizar las verificaciones), en el usuario USER2 voy a crear dos procedures, PROC1 que devuelve “session_user” y “current_user” directamente ejecutando la función SYS_CONTEXT y otro, PROC2, que lo hace llamando a dos funciones propiedad del usuario USER3 que también utilizan SYS_CONTEXT para retornar los valores del session y el current. </span></div><div><br /></div><div><span style="font-family: arial;">Creación de usuarios:</span></div><div><span style="font-family: arial;"><br /></span></div><div>CREATE USER user1 IDENTIFIED BY Oracle1;</div><div>CREATE USER user2 IDENTIFIED BY Oracle1;</div><div>CREATE USER user3 IDENTIFIED BY Oracle1;</div><span><br /></span><div><span style="font-family: arial;">Permisos:</span></div><div><span style="font-family: arial;"><br /></span></div><div>GRANT CREATE SESSION TO user1;</div><div>GRANT CREATE SESSION, CREATE PROCEDURE TO user2;</div><div>GRANT CREATE SESSION, CREATE PROCEDURE TO user3;</div><div><br /></div><div><span style="font-family: arial;">Aquí voy a crear las funciones en el usuario USER3 que devuelven session_user y current_user usando SYS_CONTEXT.</span></div><div><br /></div><div>SQL> CONN user3</div><div>Enter password: ***********</div><div>Connected.</div><div><br /></div><div>SQL> CREATE OR REPLACE FUNCTION get_session_user</div><div>RETURN varchar2</div><div>IS</div><div>BEGIN</div><div>RETURN SYS_CONTEXT('USERENV', 'SESSION_USER');</div><div>END;</div><div>/</div><div><br /></div><div>Function created.</div><div><br /></div><div>SQL> CREATE OR REPLACE FUNCTION get_current_user</div><div>RETURN varchar2</div><div>IS</div><div>BEGIN</div><div>RETURN SYS_CONTEXT('USERENV', 'CURRENT_USER');</div><div>END; </div><div>/</div><div><br /></div><div>Function created.</div><div><br /></div><div><span style="font-family: arial;">Grant de ejecución a USER2 sobre las dos funciones.</span></div><div><br /></div><div>SQL> GRANT EXECUTE ON get_session_user TO user2;</div><div><br /></div><div>Grant succeeded.</div><div><br /></div><div>SQL> GRANT EXECUTE ON get_current_user TO user2;</div><div><br /></div><div>Grant succeeded.</div><div><br /></div><div><span style="font-family: arial;">Con el usuario USER2 voy a crear dos procedimientos, uno muestra SESSION_USER y CURRENT_USER utilizando SYS_CONTEXT. El otro procedimiento llama a las funciones de USER3 (get_session_user y get_current_user) para mostrar lo mismo. </span></div><div><br /></div><div>SQL> CONN user2</div><div>Enter password: ***********</div><div>Connected.</div><div><br /></div><div>SQL> CREATE OR REPLACE PROCEDURE proc1 AS</div><div> 2 BEGIN</div><div> 3 DBMS_OUTPUT.PUT_LINE('Session user is ' || SYS_CONTEXT('USERENV', 'SESSIO N_USER'));</div><div> 4 DBMS_OUTPUT.PUT_LINE('Current user is ' ||SYS_CONTEXT('USERENV', 'CURREN T_USER'));</div><div> 5 END;</div><div> 6 /</div><div><br /></div><div>Procedure created.</div><div><br /></div><div><br /></div><div>SQL> CREATE OR REPLACE PROCEDURE proc2 AS</div><div> 2 BEGIN</div><div> 3 DBMS_OUTPUT.PUT_LINE('Session user is ' || user3.get_session_user);</div><div> 4 DBMS_OUTPUT.PUT_LINE('Current user is ' || user3.get_current_user);</div><div> 5 END;</div><div> 6 /</div><div><br /></div><div>Procedure created.</div><div><br /></div><div><span style="font-family: arial;">Por último, conectado con el usuario USER1, voy a verificar los resultados:</span></div><div><span style="font-family: arial;"><br /></span></div><div><span style="font-family: arial;">Conexión con USER1:</span></div><div><br /></div><div>SQL> CONN user1</div><div>Enter password:</div><div>Connected.</div><div><br /></div><div><span style="font-family: arial;">Verificación “session user” y “current user” con la funcion SYS_CONTEXT:</span></div><div><br /></div><div><span style="font-family: arial;">SESSION_USER:</span></div><div><br /></div><div>SQL> SET SERVEROUTPUT ON</div><div><br /></div><div>SQL> EXEC DBMS_OUTPUT.PUT_LINE('Session user is ' || SYS_CONTEXT('USERENV', 'SESSION_USER'));</div><div>Session user is USER1</div><div><br /></div><div>PL/SQL procedure successfully completed.</div><div><br /></div><div><span style="font-family: arial;">CURRENT_USER:</span></div><div><br /></div><div>SQL> EXEC DBMS_OUTPUT.PUT_LINE('Current user is ' || SYS_CONTEXT('USERENV', 'CURRENT_USER'));</div><div>Current user is USER1</div><div><br /></div><div>PL/SQL procedure successfully completed.</div><div><br /></div><div><span style="font-family: arial;">Como podemos ver en este caso ambos coinciden.</span></div><div><span style="font-family: arial;"><br /></span></div><div><span style="font-family: arial;">Ahora, ejecuto el proc1 propiedad del usuario user2</span></div><div><br /></div><div>SQL> EXEC user2.proc1;</div><div>Session user is USER1</div><div>Current user is USER2</div><div><br /></div><div>PL/SQL procedure successfully completed.</div><div><br /></div><div><span style="font-family: arial;">En este caso, "session user" continúa siendo USER1 pero el "current" pasa a ser USER2, puesto que es el owner del procedure.</span></div><div><span style="font-family: arial;"><br /></span></div><div><span style="font-family: arial;">Por último ejecuto el procedure proc2 del usuario USER2, este a su vez llama a las funciones get_session_user y get_current_user del USER3.</span></div><div><br /></div><div>SQL> EXEC user2.proc2;</div><div>Session user is USER1</div><div>Current user is USER3</div><div><br /></div><div>PL/SQL procedure successfully completed.</div><div><br /></div><div><span style="font-family: arial;">Aquí podemos ver que el “session user” permanece como USER1 pero el “current” pasa a ser USER3, ya que el procedimiento PROC2 del usuario USER2 llama una función del usuario USER3.</span></div><div><span style="font-family: arial;"><br /></span></div><div><span style="font-family: arial;"><b>Conclusión:</b></span></div><div><span style="font-family: arial;">En el ejemplo queda claro como el "session user" siempre se mantiene y el "current user" puede ir variando de acuerdo a los privilegios que se vayan utilizando durante la vida de la sesión.</span></div><div><br /></div>Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-23056958031931667822021-01-19T10:26:00.031-08:002021-02-08T14:47:35.942-08:00Oracle 21c: Common Mandatory Profiles <p><span style="font-family: arial;"><a href="https://blogs.oracle.com/database/introducing-oracle-database-21c" target="_blank">Oracle Database 21c</a> incorpora la posibilidad de forzar
restricciones en cuanto a la longitud y composición de las contraseña en las
PDBs. Esto se puede realizar, creando un perfil mandatorio (“mandatory
profile”) en el CDB raíz y aplicándolo luego a una, varias o todas las PDBs.</span></p>
<div style="text-align: left;"><span style="line-height: 107%;"><span style="font-family: arial;">El perfil mandatorio, es un nuevo tipo de perfil genérico donde
sólo pueden ser configurados los parámetros <i>password_verify_function</i> y <i>password_grace_time</i> para
determinar la longitud de la contraseña. <br /></span></span><span style="line-height: 107%;"><span style="font-family: arial;">Para crearlo se utiliza la sentencia:</span></span></div>
<p class="MsoNormal"><span style="line-height: 107%;"><span><span style="font-family: inherit;">SQL> create <b>mandatory</b> profile ...</span><span style="font-family: arial;"><o:p></o:p></span></span></span></p>
<p class="MsoNormal"><span style="line-height: 107%;"><span style="font-family: arial;">Este perfil agrega una verificación de longitud mínima de
contraseña a los perfiles locales que están asociados con los usuarios de las
PDBs por medio de una función de validación. <o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="line-height: 107%;"><span style="font-family: arial;">Definido en el contenedor raíz (CDB $ ROOT), <span style="mso-spacerun: yes;"> </span>actúa como un perfil de usuario que está
permanentemente activo. Los límites definidos en este, se aplican de manera
adicional a los límites existentes del perfil que tenga asignado el usuario. Esto
crea un efecto de unión ya que la función de verificación de complejidad de la
contraseña del perfil mandatorio se ejecutará antes que la propia función (si es
que la hubiera) del perfil asignado a la cuenta de usuario.<o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="line-height: 107%;"><span style="font-family: arial;">Esto quiere decir que la longitud de la contraseña definida
en el perfil mandatorio tendrá prioridad sobre cualquier longitud de contraseña
definida en otro perfil asociado al usuario.<o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="line-height: 107%;"><span style="font-family: arial;">Al poder ser creado o modificado solamente desde el CDB $
ROOT, un administrador de PDB no puede eliminar el requisito de complejidad de contraseña
impuesto por el perfil mandatorio <span style="mso-spacerun: yes;"> </span>facilitando
de esta manera que los usuarios puedan establecer contraseñas más cortas e
inseguras.<span></span></span></span></p><a name='more'></a><span style="font-family: arial;"><o:p></o:p></span><p></p>
<p class="MsoNormal"><span style="line-height: 107%;"><span style="font-family: arial;">Para usar este tipo de perfiles, debemos primero crear (o
modificar) una función de verificación de contraseña, definiendo allí las
restricciones en cuanto a longitud y composición, ejecutar luego la sentencia CREATE
MANDATORY PROFILE indicando la función de validación que generamos, en el parámetro PASSWORD_VERIFY_FUNCTION, y por ultimo configurar el parámetro de inicio MANDATORY_USER_PROFILE en la raíz
del CDB para aplicarlo a las PDBs sobre las cuales queremos forzar la verificación.<o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="line-height: 107%;"><span style="font-family: arial;">Las tareas básicas necesarias que debemos realizar para implementar
esta funcionalidad son:<o:p></o:p></span></span></p>
<p class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -18pt;"></p><ul style="text-align: left;"><li><span style="font-family: arial;"><span style="line-height: 107%;"><span style="mso-list: Ignore;"><span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span></span></span><span style="line-height: 107%;">Establecer una función de<span style="mso-spacerun: yes;"> </span>validación de contraseña.<o:p></o:p></span></span></li><li><span style="font-family: arial;"><span style="line-height: 107%;"><span style="mso-list: Ignore;"><span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span></span></span><span style="line-height: 107%;">Crear un perfil mandatorio utilizando la función.<o:p></o:p></span></span></li><li><span style="font-family: arial;"><span style="line-height: 107%;"><span style="mso-list: Ignore;"><span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span></span></span></span><span style="line-height: 107%;"><span style="font-family: arial;">Asignar el perfil mandatorio a una, varias o
todas las PDBs.</span><span face="Arial, sans-serif" style="font-size: 10pt;"><o:p></o:p></span></span></li></ul><!--[if !supportLists]--><p></p>
<p class="MsoListParagraphCxSpLast"><span style="font-family: arial;">Veamos un ejemplo de cómo hacerlo:</span></p><p class="MsoListParagraphCxSpLast"></p><p style="text-align: left;"><b style="mso-bidi-font-weight: normal;"><span style="font-family: arial; line-height: 107%;">Creación
o modificación de una función de complejidad de contraseña.</span></b></p><p style="text-align: left;"><span style="font-family: arial; line-height: 107%;">Creamos una función de verificación de contraseña con las
restricciones que queremos implementar.<br /></span><span style="font-family: arial; line-height: 107%;">Ej.: <i>pdb_mandatory_verify_function_01</i>
donde validamos una longitud mínima de 10 caracteres.</span></p><div style="text-align: left;"><span style="font-family: arial; line-height: 107%;"><br /></span></div>
<div style="text-align: left;"><span style="font-family: inherit;">SQL> create or replace function pdb_mandatory_verify_function_01<br /></span><span style="font-family: inherit;"> ( username varchar2,<br /></span><span style="font-family: inherit;"> password varchar2,<br /></span><span style="font-family: inherit;"> old_password varchar2)<br /></span><span style="font-family: inherit;"> return boolean IS<br /></span><span style="font-family: inherit;">begin<br /></span><span style="font-family: inherit;"> -- mandatory verify function will always be evaluated regardless of the<br /></span><span style="font-family: inherit;"> -- password verify function that is associated to a particular profile/user<br /></span><span style="font-family: inherit;"> -- requires the minimum password length to be 10 characters<br /></span><span style="font-family: inherit;"> if not <span style="background-color: #fcff01;">ora_complexity_check(password, chars => 10)</span> then<br /></span><span style="font-family: inherit;"> return(false);<br /></span><span style="font-family: inherit;"> end if;<br /></span><span style="font-family: inherit;"> return(true);<br /></span><span style="font-family: inherit;">end;<br /></span><span style="font-family: inherit;">/ <br /></span><span style="font-family: inherit;">Function created.</span></div><p class="MsoNormal"><span style="font-family: inherit;"><span style="line-height: 107%;"></span></span></p><p class="MsoNormal"><span style="font-family: arial;"><span face="Arial, sans-serif" style="line-height: 107%;">En este caso utilizamos la función <i>ora_complexity_check</i> dentro de la función de verificación, podemos evaluar
también otras condiciones de complejidad de la contraseña como cantidad de mayúsculas, minúsculas, dígitos y caracteres especiales. Esta función es
llamada originalmente por la función ora12c_strong_verify_function y su
definición la podemos encontrar en<i> </i></span><span style="line-height: 107%;"><span><i>{ORACLE_HOME} /rdbms/admin/catpvf.sql</i></span></span><span face="Arial, sans-serif" style="line-height: 107%;">.<o:p></o:p></span></span></p><div style="text-align: left;"><span style="font-family: arial; line-height: 107%;">Ejemplo:<br /></span><span style="line-height: 107%;"><span style="font-family: inherit;">ora_complexity_check (password, chars => 9, upper =>
2, lower => 2, digit => 2, special => 2)</span></span></div><p class="MsoNormal"><span style="font-family: arial; line-height: 107%;">
</span></p><p style="text-align: left;"><b><span style="font-family: arial; line-height: 107%;">Creación
de un profile mandatorio:</span></b></p><p style="text-align: left;"><span face="Arial, sans-serif" style="line-height: 107%;"><span style="font-family: arial;">Para crear un perfil mandatorio genérico en el contenedor raíz, es necesario especificar la palabra clave MANDATORY
en la sentencia CREATE PROFILE.</span></span></p><p class="MsoNormal" style="text-align: left;"><span style="line-height: 107%;"><span style="font-family: inherit;">SQL> CREATE <span style="background-color: #fcff01;">MANDATORY</span> PROFILE c##mandatory_profile_01 LIMIT
PASSWORD_VERIFY_FUNCTION pdb_mandatory_verify_function_01 CONTAINER=ALL;</span><span style="font-family: Courier New;"><o:p></o:p></span></span></p><p class="MsoNormal"><span style="font-family: arial; line-height: 107%;">A diferencia de la creación de un profile tradicional, en
este caso solamente podemos utilizar y
establecer los parámetros <i>password_verify_function</i> y <i>password_grace_time</i>
para definir los límites de este perfil.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: arial; line-height: 107%;">Con el parámetro PASSWORD_VERIFY_FUNCTION indicamos la
función de verificación.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: arial; line-height: 107%;">El parámetro alternativo PASSWORD_GRACE_TIME<i>, </i>en este caso permite especificar un período de gracia para
las cuentas de usuario que infrinjan los requisitos obligatorios de complejidad
de contraseñas, y cuyas contraseñas deben ser necesariamente modificadas. Por
ejemplo, en los esquemas importados utilizando datapump, Oracle comprueba el cumplimiento de la
restricciones de contraseña impuestas con el perfil mandatorio y si no cumple
con ellas se fuerza a cambiarla posteriormente. Si la contraseña no es cambiada
dentro del período de gracia, se rechazarán posteriormente más conexiones.<o:p></o:p></span></p><p class="MsoNormal"><span face="Arial, sans-serif" style="line-height: 107%;"><span style="font-family: arial;">El valor predeterminado de <i>password_verify_function</i> es nulo y el de <i>password_grace_time</i> es 0.</span></span></p><div style="text-align: left;"><span style="font-family: inherit;"><span style="line-height: 107%;">SQL> SELECT resource_name, limit, mandatory FROM
cdb_profiles<br /></span><span style="line-height: 107%;"> WHERE profile='</span><span style="line-height: 107%;">C##MANDATORY_PROFILE_01</span><span style="line-height: 107%;">' AND
resource_type='PASSWORD';<br /><o:p></o:p></span><span style="line-height: 107%;"> <br /></span><span style="line-height: 107%;">RESOURCE_NAME LIMIT MAN</span><span style="line-height: 107%;"> <br /></span><span style="line-height: 107%;">------------------------------
------------------------------ ---</span><span style="line-height: 107%;"><br /></span><span style="line-height: 107%;">PASSWORD_VERIFY_FUNCTION FROM ROOT YES<br /></span><span style="line-height: 107%;">FAILED_LOGIN_ATTEMPTS YES<br /></span><span style="line-height: 107%;">PASSWORD_LIFE_TIME YES<br /></span><span style="line-height: 107%;">PASSWORD_REUSE_TIME YES<br /></span><span style="line-height: 107%;">PASSWORD_REUSE_MAX YES<br /></span><span style="line-height: 107%;">PASSWORD_LOCK_TIME YES<br /></span><span style="line-height: 107%;">PASSWORD_GRACE_TIME YES<br /></span><span style="line-height: 107%;">INACTIVE_ACCOUNT_TIME YES<br /></span><span style="line-height: 107%;">PASSWORD_ROLLOVER_TIME YES<br /></span><span style="line-height: 107%;">PASSWORD_VERIFY_FUNCTION PDB_MANDATORY_VERIFY_FUNCTION YES<br /></span><span style="line-height: 107%;">FAILED_LOGIN_ATTEMPTS YES<br /></span><span style="line-height: 107%;">PASSWORD_LIFE_TIME YES<br /></span><span style="line-height: 107%;">PASSWORD_REUSE_TIME YES<br /></span><span style="line-height: 107%;">PASSWORD_REUSE_MAX YES<br /></span><span style="line-height: 107%;">PASSWORD_LOCK_TIME YES<br /></span><span style="line-height: 107%;">PASSWORD_GRACE_TIME YES<br /></span><span style="line-height: 107%;">INACTIVE_ACCOUNT_TIME YES<br /></span><span style="line-height: 107%;">PASSWORD_ROLLOVER_TIME YES<br /></span><span style="line-height: 107%;"><br /></span></span></div><div style="text-align: left;"><span style="font-family: inherit;"><span style="line-height: 107%;">18 rows selected.</span></span></div><p class="MsoNormal"><b><span style="font-family: arial; line-height: 107%;">Configuración
del parámetro MANDATORY_USER_PROFILE<o:p></o:p></span></b></p><p class="MsoNormal"><span style="font-family: arial; line-height: 107%;">Utilizando el parámetro de inicio MANDATORY_USER_PROFILE podemos
definir si utilizaremos o no un perfil mandatorio y cual será.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: arial; line-height: 107%;">El valor de este parámetro se puede establecer a nivel root
del CDB o para algunas PDBs en particular.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: arial; line-height: 107%;">Cuando se establece en el CDB $ ROOT, el perfil de usuario
mandatorio especificado se aplica al CDB y a todos los PDBs que contiene.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: arial; line-height: 107%;">Cuando se establece a nivel PDB, el perfil de usuario
obligatorio especificado se aplica sólo a esa PDB y anula la restricción
impuesta por el perfil mandatorio definido en el CDB$ROOT (si es que lo hubiera).<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: arial; line-height: 107%;">Sólo los usuarios “comunes”, con el privilegio ALTER SYSTEM o
SYSDBA granteado “commonly”, pueden establecer el valor de parámetro
MANDATORY_USER_PROFILE en la raíz del CDB o en una PDB. Esto evita que los
administradores locales de PDBs puedan eludir cualquier restricción que se
aplique en el CDB$ROOT.</span></p><div style="line-height: normal; margin-bottom: 0.0001pt; text-align: left;"><span style="font-family: inherit;"><div style="line-height: normal; margin-bottom: 0.0001pt;">SQL> show con_name;</div><div style="line-height: normal; margin-bottom: 0.0001pt;"> </div><div style="line-height: normal; margin-bottom: 0.0001pt;">CON_NAME</div><div style="line-height: normal; margin-bottom: 0.0001pt;">------------------------------</div><div style="line-height: normal; margin-bottom: 0.0001pt;">CDB$ROOT</div><div style="line-height: normal; margin-bottom: 0.0001pt;"> </div><div style="line-height: normal; margin-bottom: 0.0001pt;">SQL> alter system set mandatory_user_profile=C##MANDATORY_PROFILE_01;</div><div style="line-height: normal; margin-bottom: 0.0001pt;"> </div><div style="line-height: normal; margin-bottom: 0.0001pt;">System altered.</div><div style="line-height: normal; margin-bottom: 0.0001pt;"> </div><div style="line-height: normal; margin-bottom: 0.0001pt;">SQL> SHOW PARAMETER mandatory_user_profile</div><div style="line-height: normal; margin-bottom: 0.0001pt;"> </div><div style="line-height: normal; margin-bottom: 0.0001pt;">NAME TYPE VALUE</div><div style="line-height: normal; margin-bottom: 0.0001pt;">--------------------------------- --------- -----------------------</div><div style="line-height: normal; margin-bottom: 0.0001pt;">mandatory_user_profile string C##MANDATORY_PROFILE_01</div></span></div><div style="line-height: normal; margin-bottom: 0.0001pt; text-align: left;"><p style="text-align: left;"><span style="font-family: arial;"><span style="line-height: 17.12px;">Está previsto que la función de verificación de contraseña del “mandatory profile” se aplique utilizando el parámetro MANDATORY_USER_PROFILE desde el CDB$ROOT, esto implica que la restricción siempre es obtenida y ejecutada desde la raiz y por consecuencia se aplica a todas las PDBs en la base de datos contenedor.<br /></span><span style="line-height: 17.12px;">En el caso de querer hacerlo en una PDB en particular, debemos indicar y posicionarnos en el contenedor correspondiente:</span></span></p><div style="text-align: left;"><span style="font-family: inherit;">SQL> alter session set container=PDB1;<br />SQL> show con_name;<br /> <br />CON_NAME<br />------------------------------<br />PDB1<br /> <br />SQL> alter system set mandatory_user_profile= C##MANDATORY_PROFILE_01;<br /> <br />System altered.</span></div><p style="text-align: left;"><span style="font-family: inherit;"><span style="line-height: 107%;"></span></span></p></div><p class="MsoNormal" style="text-align: left;"><span style="font-family: inherit;"><o:p></o:p></span></p><p class="MsoNormal" style="text-align: left;"><span style="font-family: arial; line-height: 107%;">Podríamos también generar diferentes “mandatory profiles”
con distintas restricciones para utilizar en diferentes PDBs o grupo de ellas.</span></p><p class="MsoNormal"><b><span style="font-family: arial; line-height: 107%;">Algunas
restricciones a tener en cuenta:<o:p></o:p></span></b></p><p class="MsoNormal"><span style="font-family: arial; line-height: 107%;">Sólo los usuarios comunes a los que se les ha otorgado el
privilegio de sistema ALTER PROFILE de manera “commonly” pueden modificar o eliminar
el perfil obligatorio, y siempre haciéndolo desde la raíz del CDB.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: arial; line-height: 107%;">Solo un usuario común al que se le haya otorgado el
privilegio ALTER SYSTEM o que tenga el privilegio administrativo SYSDBA puede
modificar MANDTORY_USER_PROFILE en el archivo init.ora.</span></p><p class="MsoNoSpacing"><span style="font-family: arial;">Realizamos una pequeña prueba:<o:p></o:p></span></p><p class="MsoNoSpacing"><span style="font-family: arial;">Creamos un nuevo usuario en la PDB que tenga asignado
el perfil mandatorio:</span><o:p></o:p></p><div style="text-align: left;"><span style="font-family: inherit;"><o:p> <br /></o:p>SQL> CONNECT system@PDB1<br /><o:p> <br /></o:p>Enter password: *********<br /><o:p> <br /></o:p>Connected.<br /><o:p> <br /></o:p><o:p> <br /></o:p>SQL> CREATE USER sdalessandro IDENTIFIED BY oracle;<br /><o:p> <br /></o:p>CREATE USER sdalessandro IDENTIFIED BY oracle<br /><o:p> <br /></o:p>*<br /><o:p> <br /></o:p>ERROR at line 1:<br /><o:p> <br /></o:p>ORA-28219: password verification failed for mandatory
profile<br /><o:p> <br /></o:p><span style="background-color: #fcff01;">ORA-20000: password length less than 10 characters</span></span></div><p class="MsoNoSpacing"><o:p></o:p></p><p class="MsoNoSpacing"><o:p></o:p></p><p class="MsoNoSpacing"><o:p></o:p></p><p class="MsoNoSpacing"><o:p></o:p></p><p class="MsoNoSpacing"><o:p></o:p></p><p class="MsoNoSpacing"><o:p></o:p></p><p class="MsoNoSpacing"><o:p></o:p></p><p class="MsoNoSpacing"><o:p></o:p></p><p class="MsoNoSpacing"><span style="font-family: arial;">Al utilizar una contraseña menor a 10 caracteres, devuelve el error de longitud.</span></p><div style="text-align: left;"><span style="font-family: arial;"><o:p>Probamos con una contraseña que cumpla la validación:</o:p></span></div><div style="text-align: left;"><span style="font-family: inherit;"><o:p><br /></o:p>SQL> CREATE USER sdalessandro IDENTIFIED BY oracle12345;<br /><o:p> <br /></o:p>User created.<br /><o:p> </o:p></span></div><div style="text-align: left;"><span style="font-family: arial;">En este caso, con una contraseña mayor o igual a 10 caracteres, no hay incovenientes para crear al
usuario.</span></div><div style="text-align: left;"><span style="font-family: arial;"><br /></span></div><div style="text-align: left;"><span style="font-family: arial;"><b>Conclusión<br /></b></span><span style="font-family: arial;">Esta
nueva característica, resulta una herramienta más que interesante para
fortalecer la implementación de mejoras en cuanto seguridad y “compliance” en
ambientes multitenant.<br /></span><span face="Arial, sans-serif"><span style="font-family: arial;">Personalmente,
creo que centralizar aspectos críticos de seguridad en la raíz del CDB permite
reducir bastante la superficie ante eventuales ataques, además de minimizar los
posibles puntos de falla, error y control.</span></span></div><p class="MsoNormal"><span style="font-family: arial; line-height: 107%;">
</span></p><p></p>Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com1tag:blogger.com,1999:blog-3963062433478755247.post-49552869705900132972020-12-24T04:03:00.013-08:002022-09-18T10:54:52.133-07:00Perfiles para STIG y CIS en Oracle 21c<div><span style="font-family: arial;">Con cada nueva versión de base de datos, Oracle mejora varios aspectos relacionados con la seguridad. En esta línea, con la versión 12.2 incorporó un nuevo perfil de usuario llamado ORA_STIG_PROFILE para cumplir con el estándar de configuración STIG (Security Technical Implementation Guide).</span></div><div><span style="font-family: arial;">Este perfil aborda varios requisitos de STIG, como la necesidad de una función de complejidad de contraseña, tiempo de reutilización de las mismas, número máximo de intentos fallidos de login y algunos otros más.</span></div><div><span style="font-family: arial;"><span>La configuración de ORA_STIG_PROFILE en las versiones 12.2, 18c y 19c es la siguiente</span><span>:</span></span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">SQL> SELECT profile,resource_name,limit </span></div><div><span style="font-family: inherit;">FROM dba_profiles </span></div><div><span style="font-family: inherit;">WHERE profile='ORA_STIG_PROFILE' </span></div><div><span style="font-family: inherit;">ORDER BY resource_name;</span></div><div><span style="font-family: inherit;"> </span></div><div><span style="font-family: inherit;">PROFILE RESOURCE_NAME LIMIT</span></div><div><span style="font-family: inherit;">---------------------------- ------------------------------ --------</span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE COMPOSITE_LIMIT DEFAULT</span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE CONNECT_TIME DEFAULT</span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE CPU_PER_CALL DEFAULT</span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE CPU_PER_SESSION DEFAULT</span></div><div><span style="background-color: white; font-family: inherit;">ORA_STIG_PROFILE FAILED_LOGIN_ATTEMPTS 3</span></div><div><span style="background-color: white; font-family: inherit;">ORA_STIG_PROFILE IDLE_TIME 15</span></div><div><span style="background-color: white; font-family: inherit;">ORA_STIG_PROFILE INACTIVE_ACCOUNT_TIME 35</span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE LOGICAL_READS_PER_CALL DEFAULT</span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE LOGICAL_READS_PER_SESSION DEFAULT</span></div><div><span style="background-color: white; font-family: inherit;">ORA_STIG_PROFILE PASSWORD_GRACE_TIME 5</span></div><div><span style="background-color: white; font-family: inherit;">ORA_STIG_PROFILE PASSWORD_LIFE_TIME 60</span></div><div><span style="background-color: white; font-family: inherit;">ORA_STIG_PROFILE PASSWORD_LOCK_TIME UNLIMITED</span></div><div><span style="background-color: white; font-family: inherit;">ORA_STIG_PROFILE PASSWORD_REUSE_MAX 10</span></div><div><span style="background-color: white; font-family: inherit;">ORA_STIG_PROFILE PASSWORD_REUSE_TIME 365</span></div><div><span style="background-color: white; font-family: inherit;">ORA_STIG_PROFILE PASSWORD_VERIFY_FUNCTION ORA12C_STIG_VERIFY_FUNCTION</span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE PRIVATE_SGA DEFAULT</span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE SESSIONS_PER_USER DEFAULT</span></div><div><span style="font-family: inherit;"> </span></div><div><span style="font-family: inherit;">17 rows selected.</span></div><div><span><br /><a name='more'></a></span></div><div><span style="font-family: arial;">Se diferencia del profile “DEFAULT” en las siguientes definiciones:</span></div><div><span style="font-family: arial;"><br /></span></div><div><span style="font-family: inherit;">password_life_time 60</span></div><div><span style="font-family: inherit;">password_grace_time 5</span></div><div><span style="font-family: inherit;">password_reuse_time 365</span></div><div><span style="font-family: inherit;">password_reuse_max 10</span></div><div><span style="font-family: inherit;">failed_login_attempts 3</span></div><div><span style="font-family: inherit;">password_lock_time unlimited</span></div><div><span style="font-family: inherit;">inactive_account_time 35</span></div><div><span style="font-family: inherit;">idle_time 15</span></div><div><span style="font-family: inherit;">password_verify_function ora12c_stig_verify_function</span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: arial;">La función de verificación de contraseña ora12c_stig_verify_function, fue creada específicamente para exigir una mayor complejidad de las mismas, tomando en cuenta las recomendaciones de la guía STIG v1 r2 publicada el 22 de enero de 2016.</span></div><div><span style="font-family: arial;">En el nuevo release 21c, liberado los primeros días de diciembre, encontramos algunas modificaciones en este profile para mejorar y reforzar los controles de seguridad.</span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">SQL> SELECT profile,resource_name,limit </span></div><div><span style="font-family: inherit;">FROM dba_profiles </span></div><div><span style="font-family: inherit;">WHERE profile='ORA_STIG_PROFILE' </span></div><div><span style="font-family: inherit;">ORDER BY resource_name;</span></div><div><span style="font-family: inherit;"> </span></div><div><span style="font-family: inherit;">PROFILE RESOURCE_NAME LIMIT </span></div><div><span style="font-family: inherit;">---------------- ------------------------- --------------------------- </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE COMPOSITE_LIMIT DEFAULT </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE CONNECT_TIME DEFAULT </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE CPU_PER_CALL DEFAULT </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE CPU_PER_SESSION DEFAULT </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE FAILED_LOGIN_ATTEMPTS 3 </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE IDLE_TIME 15 </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE INACTIVE_ACCOUNT_TIME 35 </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE LOGICAL_READS_PER_CALL DEFAULT </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE LOGICAL_READS_PER_SESSION DEFAULT </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE PASSWORD_GRACE_TIME 0 </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE PASSWORD_LIFE_TIME 35 </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE PASSWORD_LOCK_TIME UNLIMITED </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE PASSWORD_REUSE_MAX 5 </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE PASSWORD_REUSE_TIME 175 </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE PASSWORD_ROLLOVER_TIME DEFAULT </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE PASSWORD_VERIFY_FUNCTION ORA12C_STIG_VERIFY_FUNCTION </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE PRIVATE_SGA DEFAULT </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE SESSIONS_PER_USER DEFAULT</span></div><div><span style="font-family: inherit;"> </span></div><div><span style="font-family: inherit;">18 rows selected.</span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: arial;">Los parámetros que fueron actualizados son los siguientes:</span></div><div><span style="font-family: arial;"><br /></span></div><div><span style="font-family: inherit;">PASSWORD_GRACE_TIME</span></div><div><span style="font-family: inherit;">PASSWORD_LIFE_TIME</span></div><div><span style="font-family: inherit;">PASSWORD_REUSE_MAX</span></div><div><span style="font-family: inherit;">PASSWORD_REUSE_TIME</span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: arial;">Se incorporó además un nuevo parámetro llamado PASSWORD_ROLLOVER_TIME relacionado con la nueva funcionalidad “Gradual Database Password Rollover”.</span></div><div><span style="font-family: arial;">Este parámetro indica la cantidad de tiempo, especificado en días, en que un usuario al cambiar la contraseña podrá iniciar sesión indistintamente con la nueva contraseña o con la antigua. Esta funcionalidad la veremos más en detalle en un futuro artículo.</span></div><div><span style="font-family: arial;">Cabe aclarar que este parámetro fue incorporado también en el profile DEFAULT. </span></div><div><span style="font-family: arial;">Además de la actualización del perfil ORA_STIG_PROFILE, la versión 21c incorpora también un nuevo perfil de usuario llamado ORA_CIS_PROFILE, que en este caso apunta a cumplir con los lineamientos del estándar de referencia “CIS Benchmark para bases de datos Oracle”.</span></div><div><span style="font-family: arial;">CIS (Center for Internet Security) es una organización sin fines de lucro formada en octubre de 2000 cuya misión es identificar, desarrollar, validar, promover y mantener soluciones de mejores prácticas enfocadas en la ciberdefensa y ciberseguridad. CIS viene publicando desde el año 2009 su “Benchmark para bases de datos Oracle”, y en octubre de este año fue liberado el estándar para la versión 19c.</span></div><div><span style="font-family: arial;">La configuración del nuevo profile ORA_CIS_PROFILE es la siguiente:</span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">SQL> SELECT profile,resource_name,limit </span></div><div><span style="font-family: inherit;">FROM dba_profiles </span></div><div><span style="font-family: inherit;">WHERE profile='ORA_STIG_PROFILE' </span></div><div><span style="font-family: inherit;">ORDER BY resource_name;</span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">PROFILE RESOURCE_NAME LIMIT </span></div><div><span style="font-family: inherit;">--------------- ------------------------- ---------------------- </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE COMPOSITE_LIMIT DEFAULT </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE CONNECT_TIME DEFAULT </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE CPU_PER_CALL DEFAULT </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE CPU_PER_SESSION DEFAULT </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE FAILED_LOGIN_ATTEMPTS 5 </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE IDLE_TIME DEFAULT </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE INACTIVE_ACCOUNT_TIME 120 </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE LOGICAL_READS_PER_CALL DEFAULT </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE LOGICAL_READS_PER_SESSION DEFAULT </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE PASSWORD_GRACE_TIME 5 </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE PASSWORD_LIFE_TIME 90 </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE PASSWORD_LOCK_TIME 1 </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE PASSWORD_REUSE_MAX 20 </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE PASSWORD_REUSE_TIME 365 </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE PASSWORD_ROLLOVER_TIME DEFAULT </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE PASSWORD_VERIFY_FUNCTION ORA12C_VERIFY_FUNCTION </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE PRIVATE_SGA DEFAULT </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE SESSIONS_PER_USER 10</span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: arial;">La siguiente salida muestra una comparación de los profiles DEFAULT, STIG y CIS en el release 21c para tener una idea a simple vista de los límites que impone cada uno.</span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">PROFILE RESOURCE_NAME LIMIT </span></div><div><span style="font-family: inherit;">---------------- ------------------------- --------------------------- </span></div><div><span style="font-family: inherit;">DEFAULT COMPOSITE_LIMIT UNLIMITED </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE COMPOSITE_LIMIT DEFAULT </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE COMPOSITE_LIMIT DEFAULT </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">DEFAULT CONNECT_TIME UNLIMITED </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE CONNECT_TIME DEFAULT </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE CONNECT_TIME DEFAULT </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">DEFAULT CPU_PER_CALL UNLIMITED </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE CPU_PER_CALL DEFAULT </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE CPU_PER_CALL DEFAULT </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">DEFAULT CPU_PER_SESSION UNLIMITED </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE CPU_PER_SESSION DEFAULT </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE CPU_PER_SESSION DEFAULT </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">DEFAULT FAILED_LOGIN_ATTEMPTS 10 </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE FAILED_LOGIN_ATTEMPTS 5 </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE FAILED_LOGIN_ATTEMPTS 3 </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">DEFAULT IDLE_TIME UNLIMITED </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE IDLE_TIME DEFAULT </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE IDLE_TIME 15 </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">DEFAULT INACTIVE_ACCOUNT_TIME UNLIMITED </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE INACTIVE_ACCOUNT_TIME 120 </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE INACTIVE_ACCOUNT_TIME 35 </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">DEFAULT LOGICAL_READS_PER_CALL UNLIMITED </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE LOGICAL_READS_PER_CALL DEFAULT </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE LOGICAL_READS_PER_CALL DEFAULT </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">DEFAULT LOGICAL_READS_PER_SESSION UNLIMITED </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE LOGICAL_READS_PER_SESSION DEFAULT </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE LOGICAL_READS_PER_SESSION DEFAULT </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">DEFAULT PASSWORD_GRACE_TIME 30 </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE PASSWORD_GRACE_TIME 5 </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE PASSWORD_GRACE_TIME 0 </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">DEFAULT PASSWORD_LIFE_TIME 360 </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE PASSWORD_LIFE_TIME 90 </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE PASSWORD_LIFE_TIME 35 </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">DEFAULT PASSWORD_LOCK_TIME 1 </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE PASSWORD_LOCK_TIME 1 </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE PASSWORD_LOCK_TIME UNLIMITED </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">DEFAULT PASSWORD_REUSE_MAX 4 </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE PASSWORD_REUSE_MAX 20 </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE PASSWORD_REUSE_MAX 5 </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">DEFAULT PASSWORD_REUSE_TIME 1 </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE PASSWORD_REUSE_TIME 365 </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE PASSWORD_REUSE_TIME 175 </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">DEFAULT PASSWORD_ROLLOVER_TIME 0 </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE PASSWORD_ROLLOVER_TIME DEFAULT </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE PASSWORD_ROLLOVER_TIME DEFAULT </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">DEFAULT PASSWORD_VERIFY_FUNCTION CLOUD_VERIFY_FUNCTION </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE PASSWORD_VERIFY_FUNCTION ORA12C_VERIFY_FUNCTION </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE PASSWORD_VERIFY_FUNCTION ORA12C_STIG_VERIFY_FUNCTION </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">DEFAULT PRIVATE_SGA UNLIMITED </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE PRIVATE_SGA DEFAULT </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE PRIVATE_SGA DEFAULT </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">DEFAULT SESSIONS_PER_USER UNLIMITED </span></div><div><span style="font-family: inherit;">ORA_CIS_PROFILE SESSIONS_PER_USER 10 </span></div><div><span style="font-family: inherit;">ORA_STIG_PROFILE SESSIONS_PER_USER DEFAULT </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: arial;"><b>Conclusión:</b></span></div><div><span style="font-family: arial;">Estos perfiles, especialmente diseñados, permiten una rápida implementación de algunos de los requerimientos indicados por dos de los principales estándares de seguridad para bases de datos Oracle. </span></div><div><span style="font-family: arial;">Pueden ser utilizados directamente con los usuarios de la base de datos o como parte de profiles propios. </span></div><div><span style="font-family: arial;">Oracle los mantiene actualizados para facilitar la implementación de políticas de contraseñas acordes con los lineamientos de STIG y CIS.</span></div><div><br /></div>Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-20971652507457740012020-12-19T08:03:00.009-08:002021-01-19T11:26:47.478-08:00Oracle 21c: Novedades en la seguridad de la base de datos
<p><span style="font-family: arial;">Finalmente, Oracle Database 20c fué sólo un versión de "preview" y no va a existir oficialmente como release (de hecho ya no está disponible para prueba en el cloud de Oracle).</span></p><p><span style="font-family: arial;">Por otro lado, los primeros dias de diciembre fue disponibilizada en Always Free Autonomous Database (solamente en las siguientes regiones: IAD, PHX, LHR, FRA) y Database Cloud Service (RAC y single-instance sobre VM; single-instance en "Bare Metal") la nueva versión Oracle Database 21c y su correspondiente documentación.</span></p><p><span style="font-family: arial;">Se debe tener en cuenta que 21c es un "Innovation Release", con lo cual sólo estará soportada 2 años y medio a partir de su liberación, y no tendrá disponible soporte extendido.</span></p><p><span style="font-family: arial;">En este <a href="https://plsql-argentina.blogspot.com/2020/07/innovation-release-vs-long-term-support.html" rel="nofollow" target="_blank">artículo</a>, mi colega <a href="https://www.linkedin.com/in/lisandrofernigrini/" rel="nofollow" target="_blank">Lisandro Fernigrini</a> explica detalladamente las diferencias entre las versiones "Innovation Release" y "Long Term Support Release" para quien quiera comprender mejor estos conceptos.</span></p><p><span style="font-family: arial;">En el post <a href="https://sdalessandro.blogspot.com/2020/02/news-oracle-database-20c-security.html" target="_blank">"What's new in Oracle Database 20c Security?"</a> de febrero de este año, enumeraba algunas de las nuevas funcionalidades y cambios de comportamiento relacionados con seguridad, del (en ese momento) nuevo release 20c.</span></p><p><span style="font-family: arial;">Que sucederá con ellas entonces? </span></p><p><span style="font-family: arial;">Pues, al haber sido 20c una versión de prueba, todas estas funcionalidades siguen presentes también en el nuevo release 21c.</span></p><p><span style="font-family: arial;">A continuación, un breve resumen de las novedades más destacadas relacionadas con funcionalidades de seguridad para la nueva versión.<span></span></span></p><a name='more'></a><h3 style="text-align: left;"><b style="font-family: arial;">General Security</b></h3><p></p><p></p><ul style="text-align: left;"><li><span style="font-family: arial;">Nuevo tipo de tablas Oracle Blockchain.</span></li></ul><p></p><p><span style="font-family: arial;"><b>Autenticación y autorización</b></span></p><p></p><ul style="text-align: left;"><li><span style="font-family: arial;"><a href="https://sdalessandro.blogspot.com/2020/12/perfiles-stig-cis-21c.html" target="_blank">Perfiles de usuario nuevos y actualizados para cumplir con los requerimientos de STIG y CIS</a>.</span></li><li><span style="font-family: arial;">Cambio gradual de la contraseña de base de datos para aplicaciones (“Gradual Database Password Rollover”). </span></li><li><span style="font-family: arial;">Se fuerza a que el password file sea obligatoriamente “case sensitive”.</span></li><li><span style="font-family: arial;"><a href="https://sdalessandro.blogspot.com/2021/01/mandatory-profiles.html" rel="nofollow" target="_blank">Se permite imponer una restricción de longitud mínima de contraseña para todas las PDBs</a>.</span></li><li><span style="font-family: arial;">Posibilidad de poder especificar la ubicación del Wallet de CMU (Centrally Managed Users) y el archivo dsi.ora a través de una "property" de base de datos.</span></li><li><span style="font-family: arial;">Se incorpora la vista USER_APPLICATION_ROLES al diccionario de datos.</span></li><li><span style="font-family: arial;">La autenticación por Windows ya no utiliza por defecto NTLM.</span></li><li><span style="font-family: arial;">Nuevo privilegio de sistema y parámetro de inicio para mejorar la seguridad en el diagnóstico de eventos.</span></li><li><span style="font-family: arial;">Capacidad de utilizar múltiples Principales de Kerberos con un único cliente de base de datos. </span></li><li><span style="font-family: arial;">Se soporta múltiples Wallets para distintas conexiones SSL en procesos.</span></li><li><span style="font-family: arial;">Las conexiones de la base de datos Oracle a los servidores Kerberos ahora están predeterminadas por TCP.</span></li><li><span style="font-family: arial;">Queda soportado Micro Edition Suite (MES) para FIPS 140.2.</span></li><li><span style="font-family: arial;">Soporte de Oracle SQL*Loader para Object Store Credentials.</span></li></ul><p></p><p><span style="font-family: arial;"><b>Cifrado</b></span></p><p></p><ul style="text-align: left;"><li><span style="font-family: arial;">Soporte para DBMS_CRYPTO Asymmetric Key Operations.</span></li></ul><p></p><p><span style="font-family: arial;"><b>Auditoria</b></span></p><p></p><ul style="text-align: left;"><li><span style="font-family: arial;">Los cambios realizados en las políticas de Auditoria Unificada se hacen efectivos inmediatamente.</span></li><li><span style="font-family: arial;">Políticas predefinidas de Auditoria Unificada para cumplir con los requerimientos de STIG y CIS.</span></li><li><span style="font-family: arial;">Políticas de Auditoría Unificada aplicadas al usuario actual.</span></li><li><span style="font-family: arial;">Auditoria para servicios Oracle XML DB HTTP y FTP.</span></li><li><span style="font-family: arial;">La Auditoria Unificada sobre un “Objeto Editado” (Editioned Object) es aplicada ahora a todas sus ediciones.</span></li><li><span style="font-family: arial;">Destino de SYSLOG para políticas comunes de Auditoría Unificada.</span></li><li><span style="font-family: arial;">Queda obsoleto el uso de auditoria tradicional.</span></li></ul><p></p><h3 style="text-align: left;"><span style="font-family: arial;">Database Vault:</span></h3><p></p><ul style="text-align: left;"><li><span style="font-family: arial;">Ahora es posible proteger la sentencia ADMINISTER KEY MANAGEMENT aplicando reglas de comandos de Oracle Database Vault.</span></li><li><span style="font-family: arial;">Las columnas REALM_NAME y RULE_SET_NAME de la vista DBA_DV_SIMULATION_LOG utilizan ahora tipo de datos VARCHAR2.</span></li><li><span style="font-family: arial;">Capacidad para evitar que las políticas locales de Oracle Database Vault bloqueen operaciones comunes.</span></li><li><span style="font-family: arial;">Se permite ahora la instalación y desinstalación de Oracle Label y Oracle Database Vault Security en PDBs. </span></li><li><span style="font-family: arial;">No es necesario deshabilitar Oracle Database Vault antes de los upgrades.</span></li></ul><p></p><h3 style="text-align: left;"><span style="font-family: arial;">Label Security:</span></h3><p></p><ul style="text-align: left;"><li><span style="font-family: arial;">Se permite ahora la instalación y desinstalación de Oracle Label Security en PDBs.</span></li></ul><p></p><h3 style="text-align: left;"><span style="font-family: arial;">Advance Security - Data Encryption and Redaction</span></h3><p></p><ul style="text-align: left;"><li><span style="font-family: arial;">Uso compartido de la Master Encryption Key de TDE por parte de todos los procesos de Oracle.</span></li><li><span style="font-family: arial;">Capacidad de poder controlar “heartbeats” en PDBs en modo Isolated y United. </span></li><li><span style="font-family: arial;">Posibilidad de definir el algoritmo de encriptación para el tablespace por defecto (default tablespace). </span></li><li><span style="font-family: arial;">Capacidad de poder a una librería PKCS#11 son sufrir baja de servicios.</span></li><li><span style="font-family: arial;">Mejoras de performance utilizando un gran número de claves TDE con Wallets u Oracle Key Vault.</span></li></ul><p></p>Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-25374139926133967822020-02-14T10:58:00.002-08:002020-08-13T09:31:22.044-07:00What's new in Oracle Database 20c Security?<span style="font-family: arial;"><span face="">A
cloud preview of Oracle Database 20c was recently released and your
documentation is also available.</span><br />
</span><div class="MsoNormal">
<span face="" style="font-family: arial;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/index.html" target="_blank">Oracle Database 20c Documentation</a>.</span></div>
<div class="MsoNormal">
<span face="" style="font-family: arial;"><br /></span></div>
<div class="MsoNormal">
<span face="" style="font-family: arial;">As
usual, many changes are introduced (new features incorporated, behavior
changes, deprecated and desupported Features, etc.)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: arial;"><span face="">Regarding
to database security features, the most relevant things are:</span><br />
<span face=""><br /></span></span></div>
<h3>
<b><span face="" style="font-family: arial; font-size: medium;">Behavior Changes, Deprecated and Desupported Features:</span></b></h3>
<div class="MsoNormal">
<span face="" style="font-family: arial;">It is important to take a look at these sections of the 20c documentation, to ensure that none of the security features we are using are affected.</span></div>
<div class="MsoNormal">
<span face="" style="font-family: arial, helvetica, sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span class="MsoHyperlink"><span color="" style="color: windowtext;"><span face="" style="font-family: arial, helvetica, sans-serif;"><u>Behavior Changes for Oracle Database 20c Upgrade Planning</u><o:p></o:p></span></span></span></div>
<div class="MsoNormal">
</div>
<ul>
<li><span class="MsoHyperlink"><span color="" style="color: windowtext;"><span color="" style="color: windowtext; text-decoration-line: none;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/upgrd/behavior-changes-deprecated-desupport-oracle-database.html#GUID-D848002A-DBAD-48FA-8467-E849630B8E42"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">About
Read-Only Oracle Homes</span></a></span></span></span></li>
</ul>
<br />
<div class="MsoNormal">
<span class="MsoHyperlink"><span color="" style="color: windowtext;"><span face="" style="font-family: arial, helvetica, sans-serif;"><u>Deprecated Features in Oracle Database 20c</u><o:p></o:p></span></span></span></div>
<div class="MsoNormal">
</div>
<ul>
<li><span class="MsoHyperlink"><span color="" style="color: windowtext;"><span color="" style="color: windowtext; text-decoration-line: none;"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/upgrd/behavior-changes-deprecated-desupport-oracle-database.html#GUID-B02F70E4-3BC2-41F2-BA0A-C5BE3FFAA92D">Deprecation
of Traditional Auditing</a></span></span></span></span></li>
<li><span class="MsoHyperlink"><span color="" style="color: windowtext;"><span color="" style="color: windowtext; text-decoration-line: none;"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/upgrd/behavior-changes-deprecated-desupport-oracle-database.html#GUID-CD96159D-6D79-4229-B054-1621545EF2A1">Deprecation
of Older Algorithms in DBMS_CRYPTO</a></span></span></span></span></li>
<li><span class="MsoHyperlink"><span color="" style="color: windowtext;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/upgrd/behavior-changes-deprecated-desupport-oracle-database.html#GUID-24A4A348-CC71-4A0D-BFF6-1F075C5F6E09"><span color="" style="color: windowtext; text-decoration-line: none;"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Deprecation
of Enterprise User Security (EUS) User Migration Utility</span></span></a></span></span></li>
<li><span class="MsoHyperlink"><span color="" style="color: windowtext;"><span color="" style="color: windowtext; text-decoration-line: none;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/upgrd/behavior-changes-deprecated-desupport-oracle-database.html#GUID-BFF2EBB9-8E3F-48BF-A325-475B4BC20CD8"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Deprecation
of TLS 1.0 (Transport Layer Security</span></a></span></span></span></li>
</ul>
<br />
<div class="MsoNormal">
<span class="MsoHyperlink"><span color="" style="color: windowtext;"><span face="" style="font-family: arial, helvetica, sans-serif;"><u>Desupported Features in Oracle Database 20c</u><o:p></o:p></span></span></span></div>
<div class="MsoNormal">
</div>
<ul>
<li><span class="MsoHyperlink"><span color="" style="color: windowtext;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/upgrd/behavior-changes-deprecated-desupport-oracle-database.html#GUID-92A36569-B4B6-49AB-857E-6963D93D6A0D"><span color="" style="color: windowtext; text-decoration-line: none;"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Desupport of
DBMS_OBFUSCATION_TOOLKIT Package</span></span></a></span></span></li>
<li><span class="MsoHyperlink"><span color="" style="color: windowtext;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/upgrd/behavior-changes-deprecated-desupport-oracle-database.html#GUID-7B35E6E6-5F4B-4FF6-BFD1-EB7F4BFBCFD9"><span color="" style="color: windowtext; text-decoration-line: none;"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Desupport of
DBMS_CRYPTO_TOOLKIT_TYPES and DBMS_CRYPTO_TOOLKIT</span></span></a></span></span></li>
<li><span class="MsoHyperlink"><span color="" style="color: windowtext;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/upgrd/behavior-changes-deprecated-desupport-oracle-database.html#GUID-3DABD29D-5BF2-4DEB-A0AD-E0BFE53D9723"><span color="" style="color: windowtext; text-decoration-line: none;"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Desupport of
Oracle ACFS Security (Vault) and ACFS Auditing</span></span></a></span></span></li>
<li><span class="MsoHyperlink"><span color="" style="color: windowtext;"><span color="" style="color: windowtext; text-decoration-line: none;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/upgrd/behavior-changes-deprecated-desupport-oracle-database.html#GUID-455CBC42-58B3-41F9-AC52-F95A35624560"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Desupport of
ACFS Encryption on Solaris and Windows</span></a></span></span></span></li>
</ul>
<br />
<div class="MsoNormal">
<span class="MsoHyperlink"><span color="" style="color: windowtext;"><u><span face="" style="font-family: arial, helvetica, sans-serif;">Desupported Parameters in Oracle Database 20c</span></u></span></span></div>
<div class="MsoNormal">
</div>
<ul>
<li><span class="MsoHyperlink"><span color="" style="color: windowtext;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/upgrd/behavior-changes-deprecated-desupport-oracle-database.html#GUID-32A120BB-3210-4F33-AAF0-F309D0FE23FB"><span color="" style="color: windowtext; text-decoration-line: none;"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Desupport of
UNIFIED_AUDIT_SGA_QUEUE_SIZE</span></span></a></span></span></li>
<li><span class="MsoHyperlink"><span color="" style="color: windowtext;"><span color="" style="color: windowtext; text-decoration-line: none;"><span face="" style="font-family: arial, helvetica, sans-serif;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/upgrd/behavior-changes-deprecated-desupport-oracle-database.html#GUID-F57B916B-C958-46C0-BBCF-364437629DBB"><span style="color: blue;">Desupport of
IGNORECASE Parameter for Passwords</span><a name='more'></a></a></span></span></span></span></li>
</ul>
<h3>
<b><span face="" style="font-family: arial, helvetica, sans-serif;">New Features:</span></b></h3>
<div>
<b><span face="" style="font-family: arial, helvetica, sans-serif;"><br /></span></b></div>
<div class="MsoNormal">
<u><span face="" style="font-family: arial, helvetica, sans-serif;">General Security</span></u></div>
<div class="MsoNormal">
</div>
<ul>
<li><span color="" style="color: windowtext; text-decoration: none; text-underline: none;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/newft/force-upgraded-password-file-be-case-sensitive.html"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Force
Upgraded Password File to be Case Sensitive</span></a></span></li>
<li><span color="" style="color: windowtext; text-decoration: none; text-underline: none;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/newft/connect-multiple-databases-different-certificates-single-client.html"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Connect to
Multiple Databases with Different Certificates from a single client</span></a></span></li>
<li><span color="" style="color: windowtext; text-decoration: none; text-underline: none;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/newft/ability-specify-location-cmu-wallet-and-dsi-ora-file-database-property.html"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Ability to
Specify the Location of the CMU Wallet and dsi.ora File with a Database
Property</span></a></span></li>
<li><span color="" style="color: windowtext; text-decoration: none; text-underline: none;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/newft/addition-user_application_roles-data-dictionary-view.html"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Addition of
USER_APPLICATION_ROLES Data Dictionary View</span></a></span></li>
<li><span color="" style="color: windowtext; text-decoration: none; text-underline: none;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/newft/predefined-unified-audit-policies-security-technical-implementation-guides-stig-compliance.html"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Predefined
Unified Audit Policies for Security Technical Implementation Guides (STIG)
Compliance</span></a></span></li>
<li><span color="" style="color: windowtext; text-decoration: none; text-underline: none;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/newft/syslog-destination-common-unified-audit-policies.html"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">SYSLOG
Destination for Common Unified Audit Policies</span></a></span></li>
<li><span color="" style="color: windowtext; text-decoration: none; text-underline: none;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/newft/unified-audit-policies-enforced-current-user.html"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Unified Audit
Policies Enforced on the Current User</span></a></span></li>
<li><span color="" style="color: windowtext; text-decoration: none; text-underline: none;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/newft/unified-audit-policy-configuration-changes-effective-immediately.html"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Unified Audit
Policy Configuration Changes Effective Immediately</span></a></span></li>
<li><span color="" style="color: windowtext; text-decoration: none; text-underline: none;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/newft/auditing-oracle-xml-db-http-and-ftp-services.html"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Auditing for
Oracle XML DB HTTP and FTP Services</span></a></span></li>
<li><span color="" style="color: windowtext; text-decoration: none; text-underline: none;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/newft/oracle-blockchain-table.html"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Oracle
Blockchain Table</span></a></span></li>
<li><span color="" style="color: windowtext; text-decoration: none; text-underline: none;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/newft/enterprise-user-manager-support-pdb-directory-service-connections.html"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Enterprise
User Manager Support for Per-PDB Directory Service Connections</span></a></span></li>
</ul>
<div>
<u><span face="" style="font-family: arial, helvetica, sans-serif;">Advanced Security</span></u></div>
<br />
<div class="MsoNormal">
</div>
<ul>
<li><span color="" style="color: windowtext; text-decoration: none; text-underline: none;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/newft/ability-set-default-tablespace-encryption-algorithm.html"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Ability to
Set the Default Tablespace Encryption Algorithm</span></a></span></li>
<li><span color="" style="color: windowtext; text-decoration: none; text-underline: none;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/newft/improved-performance-wallets-large-numbers-tde-keys-wallets-and-oracle-key-vault.html"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Improved
Performance for Wallets with Large Numbers of TDE Keys in Wallets and Oracle
Key Vault</span></a></span></li>
<li><span color="" style="color: windowtext; text-decoration: none; text-underline: none;"><a href="https://docs.oracle.com/en/database/oracle/oracle-database/20/newft/enhanced-database-availability-zero-downtime-switch-updated-pkcs11-library.html"><span face="" style="color: blue; font-family: arial, helvetica, sans-serif;">Enhanced
Database Availability with Zero Downtime to Switch Over to an Updated PKCS#11
Library</span></a></span></li>
</ul>
<br />
<div class="MsoNormal">
<span face="" style="font-family: arial, helvetica, sans-serif;">In future posts, I will expand on about each change.</span></div>
Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com1tag:blogger.com,1999:blog-3963062433478755247.post-61932792273499111302020-01-23T10:11:00.001-08:002020-01-23T10:16:41.505-08:00Ya está disponible Oracle Key Vault 18.2<span style="font-family: "arial" , "helvetica" , sans-serif;">Ya
está disponible para su descarga, instalación o actualización la versión 18.2
de Oracle Key Vault. OKV, como es denominado comúnmente, es una plataforma para
la gestión de claves de manera robusta,
segura y totalmente compatible con los estándares del mercado. Permite almacenar,
administrar y compartir de manera simple “objetos de seguridad” tales como: claves de encriptación,
Oracle Wallets, Java Key Store(JKS), </span><span style="background: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;">Java Cryptography Extension KeyStore</span><span style="font-family: "arial" , "helvetica" , sans-serif;">
(JCEKS) y credentialstores. Esto convierte a OKV en una excelente opción para
centralizar las claves de seguridad de manera robusta en un ambiente principalmente
nutrido de productos del Oracle Stack.</span><br />
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Desde
el punto del DBA, sin lugar a dudas, es un producto que facilita muchísimo la
gestión centralizada a nivel “corporativo” de las claves utilizadas por las
bases de datos Oracle (también MySQL) tanto en ambientes on-premises como híbridos.
<span style="mso-spacerun: yes;"> </span>Según mi opinión, esto hace buenos aportes
tanto al mundo de la administración (DBA) como al de la seguridad corporativa y
gestión de riesgos.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Con
la versión previa de Oracle Key Vault (18.1) se introdujo además una
arquitectura de cluster “multimaster” que permite que distintos nodos geográficamente
distribuidos brinden servicio, lo cual mejora notablemente la disponibilidad de
las “claves”. <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Con
este nuevo release (18.2) se incorporan mejoras en la administración y
seguridad del producto así como también una implementación más sencilla.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Dentro
de estas mejoras y nuevas funcionalidades podemos encontrar:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><b>1.)
Rotación del certificado para el servidor OKV</b><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">OKV
18.2 introduce la capacidad de poder rotar los certificados del servidor OKV
sin ningún tipo de “downtime” ni <span style="mso-spacerun: yes;"> </span>intervención
del lado de la base de datos, eliminando así la necesidad de actualizar los
certificados de forma manual y volver a tener que enrolar <span style="mso-spacerun: yes;"> </span>todos los “endpoints”.</span></div>
<a name='more'></a><br />
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><b>2.)
<span style="background: white;">Auto-expiring Persistent Cache</span></b><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Además
de reducir la carga en el clúster de OKV, la opción de memoria cache
persistente, proporciona acceso a las claves incluso si ocurriesen fallas en la
red. El caché persistente en OKV 18.2 ahora está protegido por una contraseña
generada automáticamente, limitando cualquier uso fuera de la base de datos que
actualmente está en ejecución. Luego de reiniciar la base de datos, se re-crea automáticamente
un nuevo caché, protegido por una nueva password aleatoria.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><b>3.)
Despliegue más seguro de los clientes OKV</b><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Después
de desplegar un cliente OKV, los instaladores se eliminan automáticamente para impedir
un uso no autorizado de los mismos.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">En
definitiva, OKV 18.2 continúa en la línea de proponer una solución de lo más sólida,
escalable, segura y que además resuelve muchos de los issues que se presentan
en la administración de claves para bases de datos Oracle que utilizan Transparent
Data Encryption (TDE). Desde luego es una buena alternativa a tener en cuenta
en el diseño de arquitecturas de seguridad de bases de datos, ya que además
puede ser utilizado en ambientes heterogéneos ya que incorporan otro tipos de
productos.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Como
siempre (y principalmente en productos relacionados con la seguridad) sugiero a
quienes ya tiene implementado el software, probar y actualizar a la última versión
lo más rápido posible.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Para
profundizar con más detalle las novedades de la nueva versión.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="https://docs.oracle.com/en/database/oracle/key-vault/18.2/okvrn/index.html">https://docs.oracle.com/en/database/oracle/key-vault/18.2/okvrn/index.html</a><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Descargar
OKV 18.2 desde <a href="https://edelivery.oracle.com/" target="_blank">Oracle Software Delivery Cloud </a>para instalaciones nuevas, o aplicar
el parche 30675657 para actualizar los servidores OKV 12.2 o 18.1 ya
productivos a la última versión.</span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-71431102348076176612020-01-15T14:44:00.000-08:002020-01-17T03:52:24.765-08:00Oracle CPU de Enero 2020 (Critical Patch Update)<span style="font-family: "arial" , "helvetica" , sans-serif;">El último CPU (Critical Patch Update) liberado el pasado martes 14 de enero, aborda 334 nuevas vulnerabilidades de seguridad en diversas familias de productos Oracle dentro de las que se incluyen: <u>Oracle Database Server</u>, Oracle Communications Applications, Oracle Construction and Engineering, Oracle E-Business Suite, Oracle Enterprise Manager, Oracle Financial Services Applications, Oracle Food and Beverage Aplicaciones, Oracle Fusion Middleware, Oracle GraalVM, Oracle Health Sciences Applications, Oracle Hospitality Applications, Oracle Hyperion, Oracle iLearning, Oracle Java SE, Oracle JD Edwards, <u>Oracle MySQL</u>, Oracle PeopleSoft, Oracle Retail Applications, Oracle Siebel CRM, Oracle Systems, Oracle Supply Chain, Oracle Utilities Applications, Oracle Virtualization.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Este CPU comprende aproximadamente un 35% de vulnerabilidades (Common Vulnerabilities and Exposures- CVEs) que no son propias de productos Oracle, es decir, de los 334 parches de seguridad proporcionados por este CPU, 117 son para CVEs de productos "non-Oracle", lo cual implica correcciones de seguridad para productos de terceros (por ejemplo, componentes de código abierto) que si son incluidos en las distribuciones tradicionales de productos de Oracle. En varios casos, el mismo CVE aparece varias veces en el “Critical Patch Update Advisory”, porque un componente con determinada vulnerabilidad (por ejemplo, Apache) puede estar presente en muchos productos Oracle diferentes.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">El estándar CVSS v3 considera que las vulnerabilidades con un puntaje base de CVSS entre 9.0 y 10.0 tienen una calificación cualitativa de "<u>Crítica</u>". Las vulnerabilidades con un puntaje base de CVSS entre 7.0 y 8.9 tienen una calificación cualitativa de "<u>Alta</u>". Al igual que con el CPU anterior, la cantidad de CVEs que no son propias de Oracle, representan una cantidad significativa de expuestos críticos y de alta gravedad: 27 de las 117 CVE que no son propias de productos Oracle, son por vulnerabilidades <u>altas</u> y <u>críticas</u>. Lo cual resulta significativo.</span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"></span><br />
<a name='more'></a><span style="font-family: "arial" , "helvetica" , sans-serif;">En cuanto a <u>bases de datos</u><span style="font-family: "arial" , "helvetica" , sans-serif;">, este CPU de enero 2020 incluye 12 nuevos parches de seguridad para Database Server. El puntaje base más alto de CVSS para estas vulnerabilidades es 7.7, con lo cual ninguna de ellas alcanza el grado de "crítica". Tres de estas 12 vulnerabilidades pueden explotarse de forma remota sin autenticación, es decir, pueden explotarse en una red sin requerir credenciales de usuario (es algo para tener en cuenta). Por otro lado, ninguno </span></span><span style="font-family: "arial" , "helvetica" , sans-serif;">de estos parches es aplicable a instalaciones "only-client", es decir, instalaciones que no tienen instalado Oracle Database Server.</span><br />
<br />
<table border="1" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="background: #FCFBFA; border-collapse: collapse; border: none; mso-border-alt: solid #70665E .75pt; mso-padding-alt: 0cm 0cm 0cm 0cm; mso-yfti-tbllook: 1184; width: 100%px;">
<thead>
<tr>
<td style="background: #DEDAD6; border-bottom: solid windowtext 1.0pt; border: solid #70665E 1.0pt; mso-border-alt: solid #70665E .75pt; mso-border-bottom-alt: solid windowtext .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 21.62%;" width="21%"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<b><span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">CVE#<o:p></o:p></span></span></b></div>
</td>
<td style="background: #DEDAD6; border-left: none; border: solid #70665E 1.0pt; mso-border-alt: solid #70665E .75pt; mso-border-left-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 78.38%;" width="78%"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<b><span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Description<o:p></o:p></span></span></b></div>
</td>
</tr>
</thead>
<tbody>
<tr>
<td style="background: white; border-top: none; border: solid #70665E 1.0pt; mso-border-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 21.62%;" width="21%"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<b><span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">CVE-2019-10072<o:p></o:p></span></span></b></div>
</td>
<td style="background: white; border-bottom: solid #70665E 1.0pt; border-left: none; border-right: solid #70665E 1.0pt; border-top: none; mso-border-alt: solid #70665E .75pt; mso-border-left-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 78.38%;" width="78%"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Vulnerability in the Workload Manager (Apache Tomcat) component of
Oracle Database Server. Supported versions that are affected are 12.2.0.1,
18c and 19c. Easily exploitable vulnerability allows unauthenticated attacker
with network access via HTTP to compromise Workload Manager (Apache Tomcat).
Successful attacks of this vulnerability can result in unauthorized ability
to cause a hang or frequently repeatable crash (complete DOS) of Workload
Manager (Apache Tomcat).<br />
<br />
<u>Note</u>: This patch addresses also additional three vulnerabilities:
CVE-2018-11784, CVE-2019-0199, CVE-2019-0221 and CVE-2019-0232. For Windows
platform - due to CVE-2019-0232 - the CVSS 3.0 score is 8.1.<br />
<br />
CVSS v3.0 Base Score 7.5 (Availability impacts). CVSS Vector:
(CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H). <o:p></o:p></span></span></div>
</td>
</tr>
<tr>
<td style="background: white; border-top: none; border: solid #70665E 1.0pt; mso-border-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 21.62%;" width="21%"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<b><span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">CVE-2020-2510<o:p></o:p></span></span></b></div>
</td>
<td style="background: white; border-bottom: solid #70665E 1.0pt; border-left: none; border-right: solid #70665E 1.0pt; border-top: none; mso-border-alt: solid #70665E .75pt; mso-border-left-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 78.38%;" width="78%"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Vulnerability in the Core RDBMS component of Oracle Database Server.
Supported versions that are affected are 11.2.0.4, 12.1.0.2, 12.2.0.1, 18c
and 19c. Difficult to exploit vulnerability allows unauthenticated attacker
with network access via OracleNet to compromise Core RDBMS. Successful
attacks require human interaction from a person other than the attacker.
Successful attacks of this vulnerability can result in takeover of Core
RDBMS.<br />
<br />
CVSS v3.0 Base Score 7.5 (Confidentiality, Integrity and Availability
impacts). CVSS Vector: (CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H). <o:p></o:p></span></span></div>
</td>
</tr>
<tr>
<td style="background: white; border-top: none; border: solid #70665E 1.0pt; mso-border-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 21.62%;" width="21%"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<b><span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">CVE-2020-2511<o:p></o:p></span></span></b></div>
</td>
<td style="background: white; border-bottom: solid #70665E 1.0pt; border-left: none; border-right: solid #70665E 1.0pt; border-top: none; mso-border-alt: solid #70665E .75pt; mso-border-left-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 78.38%;" width="78%"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Vulnerability in the Core RDBMS component of Oracle Database Server.
Supported versions that are affected are 12.1.0.2, 12.2.0.1, 18c and 19c.
Easily exploitable vulnerability allows low privileged attacker having Create
Session privilege with network access via OracleNet to compromise Core RDBMS.
While the vulnerability is in Core RDBMS, attacks may significantly impact
additional products. Successful attacks of this vulnerability can result in
unauthorized ability to cause a hang or frequently repeatable crash (complete
DOS) of Core RDBMS.<br />
<br />
CVSS v3.0 Base Score 7.7 (Availability impacts). CVSS Vector:
(CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H). <o:p></o:p></span></span></div>
</td>
</tr>
<tr>
<td style="background: white; border-top: none; border: solid #70665E 1.0pt; mso-border-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 21.62%;" width="21%"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<b><span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">CVE-2020-2512<o:p></o:p></span></span></b></div>
</td>
<td style="background: white; border-bottom: solid #70665E 1.0pt; border-left: none; border-right: solid #70665E 1.0pt; border-top: none; mso-border-alt: solid #70665E .75pt; mso-border-left-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 78.38%;" width="78%"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Vulnerability in the Database Gateway for ODBC component of Oracle
Database Server. Supported versions that are affected are 11.2.0.4, 12.1.0.2,
12.2.0.1, 18c and 19c. Difficult to exploit vulnerability allows
unauthenticated attacker with network access via OracleNet to compromise
Database Gateway for ODBC. Successful attacks of this vulnerability can
result in unauthorized ability to cause a hang or frequently repeatable crash
(complete DOS) of Database Gateway for ODBC.<br />
<br />
CVSS v3.0 Base Score 5.9 (Availability impacts). CVSS Vector:
(CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H). <o:p></o:p></span></span></div>
</td>
</tr>
<tr>
<td style="background: white; border-top: none; border: solid #70665E 1.0pt; mso-border-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 21.62%;" width="21%"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<b><span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">CVE-2020-2515<o:p></o:p></span></span></b></div>
</td>
<td style="background: white; border-bottom: solid #70665E 1.0pt; border-left: none; border-right: solid #70665E 1.0pt; border-top: none; mso-border-alt: solid #70665E .75pt; mso-border-left-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 78.38%;" width="78%"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Vulnerability in the Database Gateway for ODBC component of Oracle
Database Server. Supported versions that are affected are 11.2.0.4, 12.1.0.2,
12.2.0.1, 18c and 19c. Difficult to exploit vulnerability allows low
privileged attacker having Create Session privilege with network access via
OracleNet to compromise Database Gateway for ODBC. Successful attacks of this
vulnerability can result in unauthorized update, insert or delete access to
some of Database Gateway for ODBC accessible data as well as unauthorized
read access to a subset of Database Gateway for ODBC accessible data and
unauthorized ability to cause a partial denial of service (partial DOS) of
Database Gateway for ODBC.<br />
<br />
CVSS v3.0 Base Score 5.0 (Confidentiality, Integrity and Availability
impacts). CVSS Vector: (CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L). <o:p></o:p></span></span></div>
</td>
</tr>
<tr>
<td style="background: white; border-top: none; border: solid #70665E 1.0pt; mso-border-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 21.62%;" width="21%"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<b><span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">CVE-2020-2516<o:p></o:p></span></span></b></div>
</td>
<td style="background: white; border-bottom: solid #70665E 1.0pt; border-left: none; border-right: solid #70665E 1.0pt; border-top: none; mso-border-alt: solid #70665E .75pt; mso-border-left-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 78.38%;" width="78%"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Vulnerability in the Core RDBMS component of Oracle Database Server.
Supported versions that are affected are 12.1.0.2, 12.2.0.1, 18c and 19c.
Easily exploitable vulnerability allows high privileged attacker having
Create Materialized View, Create Table privilege with network access via
OracleNet to compromise Core RDBMS. Successful attacks require human
interaction from a person other than the attacker. Successful attacks of this
vulnerability can result in unauthorized update, insert or delete access to
some of Core RDBMS accessible data.<br />
<br />
CVSS v3.0 Base Score 2.4 (Integrity impacts). CVSS Vector: (CVSS:3.0/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:L/A:N).
<o:p></o:p></span></span></div>
</td>
</tr>
<tr>
<td style="background: white; border-top: none; border: solid #70665E 1.0pt; mso-border-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 21.62%;" width="21%"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<b><span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">CVE-2020-2517<o:p></o:p></span></span></b></div>
</td>
<td style="background: white; border-bottom: solid #70665E 1.0pt; border-left: none; border-right: solid #70665E 1.0pt; border-top: none; mso-border-alt: solid #70665E .75pt; mso-border-left-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 78.38%;" width="78%"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Vulnerability in the Database Gateway for ODBC component of Oracle
Database Server. Supported versions that are affected are 12.2.0.1, 18c and
19c. Difficult to exploit vulnerability allows high privileged attacker
having Create Procedure, Create Database Link privilege with network access
via OracleNet to compromise Database Gateway for ODBC. Successful attacks of
this vulnerability can result in unauthorized update, insert or delete access
to some of Database Gateway for ODBC accessible data and unauthorized ability
to cause a partial denial of service (partial DOS) of Database Gateway for
ODBC.<br />
<br />
CVSS v3.0 Base Score 3.3 (Integrity and Availability impacts). CVSS Vector:
(CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:L). <o:p></o:p></span></span></div>
</td>
</tr>
<tr>
<td style="background: white; border-top: none; border: solid #70665E 1.0pt; mso-border-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 21.62%;" width="21%"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<b><span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">CVE-2020-2518<o:p></o:p></span></span></b></div>
</td>
<td style="background: white; border-bottom: solid #70665E 1.0pt; border-left: none; border-right: solid #70665E 1.0pt; border-top: none; mso-border-alt: solid #70665E .75pt; mso-border-left-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 78.38%;" width="78%"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Vulnerability in the Java VM component of Oracle Database Server.
Supported versions that are affected are 11.2.0.4, 12.1.0.2, 12.2.0.1, 18c
and 19c. Difficult to exploit vulnerability allows low privileged attacker
having Create Session privilege with network access via multiple protocols to
compromise Java VM. Successful attacks of this vulnerability can result in
takeover of Java VM.<br />
<br />
CVSS v3.0 Base Score 7.5 (Confidentiality, Integrity and Availability
impacts). CVSS Vector: (CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H). <o:p></o:p></span></span></div>
</td>
</tr>
<tr>
<td style="background: white; border-top: none; border: solid #70665E 1.0pt; mso-border-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 21.62%;" width="21%"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<b><span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">CVE-2020-2527<o:p></o:p></span></span></b></div>
</td>
<td style="background: white; border-bottom: solid #70665E 1.0pt; border-left: none; border-right: solid #70665E 1.0pt; border-top: none; mso-border-alt: solid #70665E .75pt; mso-border-left-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 78.38%;" width="78%"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Vulnerability in the Core RDBMS component of Oracle Database Server.
Supported versions that are affected are 12.1.0.2, 12.2.0.1, 18c and 19c.
Easily exploitable vulnerability allows high privileged attacker having
Create Index, Create Table privilege with network access via OracleNet to
compromise Core RDBMS. While the vulnerability is in Core RDBMS, attacks may
significantly impact additional products. Successful attacks of this
vulnerability can result in unauthorized read access to a subset of Core RDBMS
accessible data.<br />
<br />
CVSS v3.0 Base Score 4.1 (Confidentiality impacts). CVSS Vector:
(CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:N/A:N). <o:p></o:p></span></span></div>
</td>
</tr>
<tr>
<td style="background: white; border-top: none; border: solid #70665E 1.0pt; mso-border-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 21.62%;" width="21%"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<b><span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">CVE-2020-2568<o:p></o:p></span></span></b></div>
</td>
<td style="background: white; border-bottom: solid #70665E 1.0pt; border-left: none; border-right: solid #70665E 1.0pt; border-top: none; mso-border-alt: solid #70665E .75pt; mso-border-left-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 78.38%;" width="78%"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Vulnerability in the Oracle Applications DBA component of Oracle
Database Server. Supported versions that are affected are 12.1.0.2, 12.2.0.1,
18c and 19c. Easily exploitable vulnerability allows low privileged attacker
having Local Logon privilege with logon to the infrastructure where Oracle
Applications DBA executes to compromise Oracle Applications DBA. Successful
attacks require human interaction from a person other than the attacker.
Successful attacks of this vulnerability can result in unauthorized update,
insert or delete access to some of Oracle Applications DBA accessible data
and unauthorized ability to cause a partial denial of service (partial DOS)
of Oracle Applications DBA.<br />
<br />
CVSS v3.0 Base Score 3.9 (Integrity and Availability impacts). CVSS Vector:
(CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L). <o:p></o:p></span></span></div>
</td>
</tr>
<tr>
<td style="background: white; border-top: none; border: solid #70665E 1.0pt; mso-border-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 21.62%;" width="21%"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<b><span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">CVE-2020-2569<o:p></o:p></span></span></b></div>
</td>
<td style="background: white; border-bottom: solid #70665E 1.0pt; border-left: none; border-right: solid #70665E 1.0pt; border-top: none; mso-border-alt: solid #70665E .75pt; mso-border-left-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 78.38%;" width="78%"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Vulnerability in the Oracle Applications DBA component of Oracle
Database Server. Supported versions that are affected are 12.2.0.1, 18c and
19c. Easily exploitable vulnerability allows low privileged attacker having
Local Logon privilege with logon to the infrastructure where Oracle
Applications DBA executes to compromise Oracle Applications DBA. Successful
attacks require human interaction from a person other than the attacker.
Successful attacks of this vulnerability can result in unauthorized update,
insert or delete access to some of Oracle Applications DBA accessible data
and unauthorized ability to cause a partial denial of service (partial DOS)
of Oracle Applications DBA.<br />
<br />
CVSS v3.0 Base Score 3.9 (Integrity and Availability impacts). CVSS Vector:
(CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L). <o:p></o:p></span></span></div>
</td>
</tr>
<tr>
<td style="background: white; border-top: none; border: solid #70665E 1.0pt; mso-border-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 21.62%;" width="21%"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<b><span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">CVE-2020-2731<o:p></o:p></span></span></b></div>
</td>
<td style="background: white; border-bottom: solid #70665E 1.0pt; border-left: none; border-right: solid #70665E 1.0pt; border-top: none; mso-border-alt: solid #70665E .75pt; mso-border-left-alt: solid #70665E .75pt; mso-border-top-alt: solid #70665E .75pt; padding: 3.6pt 3.6pt 3.6pt 3.6pt; width: 78.38%;" width="78%"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="color: #100f0e;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Vulnerability in the Core RDBMS component of Oracle Database Server.
Supported versions that are affected are 12.1.0.2, 12.2.0.1, 18c and 19c.
Easily exploitable vulnerability allows low privileged attacker having Local
Logon privilege with logon to the infrastructure where Core RDBMS executes to
compromise Core RDBMS. Successful attacks require human interaction from a
person other than the attacker. Successful attacks of this vulnerability can
result in unauthorized update, insert or delete access to some of Core RDBMS
accessible data and unauthorized ability to cause a partial denial of service
(partial DOS) of Core RDBMS.<br />
<br />
CVSS v3.0 Base Score 3.9 (Integrity and Availability impacts). CVSS Vector:
(CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L). </span><span style="font-family: "segoe ui" , sans-serif; font-size: 10pt;"><o:p></o:p></span></span></div>
</td>
</tr>
</tbody></table>
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Oracle, como siempre
lo hace, sugiere a sus clientes que permanezcan en versiones con soporte
activo y recomienda fuertemente que se apliquen los parches de seguridad necesarios
sin demora.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Para más información:</span></div>
<div class="MsoNormal">
<ul>
<li><a href="https://oracle.com/security-alerts/cpujan2020.html." rel="nofollow" target="_blank"><span style="font-family: "arial" , "helvetica" , sans-serif;">The advisory for the Critical Patch Update</span></a></li>
<li><a href="https://www.oracle.com/corporate/security-practices/assurance" rel="nofollow" target="_blank"><span style="font-family: "arial" , "helvetica" , sans-serif;">The Oracle Software Security Assurance web site</span></a></li>
</ul>
</div>
<div class="MsoNormal">
<o:p></o:p></div>
<br />Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-49713885000324457232018-12-31T10:50:00.000-08:002019-01-03T10:54:14.956-08:00Novedades Oracle Database Cloud Service - Diciembre 2018<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhneSWefo9fdstifT9CUKmfe_jA85lHTYWroaivM2uJO3m4atwZE7B1ppj2MhCsMbZdF7sPRHv9YYUw6jYt6IjJJaYFeQlW9vv0uifLKo5nCl3Ki9C0Y7oN8aRF6ersYP62O49u4vDDcDs/s1600/oracle_db_cloud_serv.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="80" data-original-width="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhneSWefo9fdstifT9CUKmfe_jA85lHTYWroaivM2uJO3m4atwZE7B1ppj2MhCsMbZdF7sPRHv9YYUw6jYt6IjJJaYFeQlW9vv0uifLKo5nCl3Ki9C0Y7oN8aRF6ersYP62O49u4vDDcDs/s1600/oracle_db_cloud_serv.jpg" /></a></div>
<h4 class="sect4" id="CSDBN-GUID-DA64552B-E538-4DC1-B07D-03CDF6A2435F" style="background-color: white; box-sizing: border-box; color: #333333; font-weight: 500; line-height: 1.1; margin-bottom: 10px; margin-top: 10px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">December 2018</span></h4>
<div style="background-color: white; box-sizing: border-box;">
<div class="section" style="box-sizing: border-box; margin: 14px 0px;">
<div class="tblformal" id="GUID-DA64552B-E538-4DC1-B07D-03CDF6A2435F__GUID-423E57D9-D2CC-4419-8FF6-315753689AAE" style="box-sizing: border-box;">
<div class="table-responsive" style="box-sizing: border-box; min-height: 0.01%; overflow-x: auto;">
<table border="1" cellpadding="4" cellspacing="0" class="Formal" frame="hsides" rules="rows" style="background-color: transparent; border-collapse: collapse; border-spacing: 0px; box-sizing: border-box; min-width: 420px; table-layout: fixed; width: 100%px;" summary="Summary of December 2018 new features available in Database Cloud Service." title=""><thead style="box-sizing: border-box;">
<tr align="left" style="box-sizing: border-box;" valign="top"><th align="left" id="d456e25" style="background: rgb(63, 63, 63); border-bottom-style: none; border-top-style: none; box-sizing: border-box; overflow-wrap: break-word; padding: 3pt; text-align: left;" valign="bottom" width="30%"><span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="color: white; font-family: "arial" , "helvetica" , sans-serif; font-weight: 400;">Feature</span></span></th><th align="left" id="d456e27" style="background: rgb(63, 63, 63); border-bottom-style: none; border-top-style: none; box-sizing: border-box; overflow-wrap: break-word; padding: 3pt; text-align: left;" valign="bottom" width="70%"><span style="font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="color: white; font-family: "arial" , "helvetica" , sans-serif; font-weight: 400;">Description</span></span></th></tr>
</thead><tbody style="box-sizing: border-box;">
<tr align="left" style="border-bottom: 1px solid rgb(63, 63, 63); box-sizing: border-box; padding: 8px 6px; vertical-align: top;" valign="top"><td align="left" headers="d456e25 " id="d456e31" style="box-sizing: border-box; overflow-wrap: break-word; padding: 8px;" valign="top" width="30%"><span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Updated notices of future deprecations and removals</span></span></td><td align="left" headers="d456e31 d456e27 " style="box-sizing: border-box; overflow-wrap: break-word; padding: 8px;" valign="top" width="70%"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Soon, <span class="bold" style="box-sizing: border-box;">Oracle Database Cloud Service</span> (<span class="bold" style="box-sizing: border-box;">Database Classic</span> on the <span class="uicontrol bold" style="box-sizing: border-box;">My Services Dashboard</span>), will drop the option to create database deployments on OCI regions. Oracle recommends creating new database deployments for OCI using the <span class="bold" style="box-sizing: border-box;">Oracle Cloud Infrastructure Database</span> service (<span class="bold" style="box-sizing: border-box;">Database</span> on the <span class="uicontrol bold" style="box-sizing: border-box;">My Services Dashboard</span>). This service offers database deployments on Bare Metal, VM, and Exadata.</span></span></div>
<div style="box-sizing: border-box; margin-bottom: 14px; margin-top: 14px;">
<span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Cloud support for Oracle Database 12c Release 2 ends July 2020. Cloud support for Oracle Database 11g Release 2 ends December 2020. These actions apply to all cloud services: DBCS, ExaCS, ExaCC, and OCI Database.</span></span></div>
<div style="box-sizing: border-box; margin-top: 14px;">
<span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;">If you are using, or are planning to use, one of the release versions listed above, Oracle recommends that you plan an upgrade to a supported RDBMS release (for example, Oracle Database 18c or Oracle Database 12c Release 1) before services using Oracle Database 12c Release 2 or Oracle Database 11g Release 2 enter the unsupported state.</span></span></div>
</td></tr>
<tr align="left" style="border-bottom: 1px solid rgb(63, 63, 63); box-sizing: border-box; padding: 8px 6px; vertical-align: top;" valign="top"><td align="left" headers="d456e25 " id="d456e60" style="box-sizing: border-box; overflow-wrap: break-word; padding: 8px;" valign="top" width="30%"><div style="box-sizing: border-box;">
<span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Cloud tooling update available for deployments hosting Oracle RAC databases</span></span></div>
</td><td align="left" headers="d456e60 d456e27 " style="box-sizing: border-box; overflow-wrap: break-word; padding: 8px;" valign="top" width="70%"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;">The 18.3.1 update to cloud tooling is available to apply to existing <span style="box-sizing: border-box;">Database Cloud Service</span>database deployments that host Oracle RAC databases.</span></span></div>
<div style="box-sizing: border-box; margin-top: 14px;">
<span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;">To apply this update, use the tag <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; padding: 0px;">18331</code> when following the instructions <a href="https://www.oracle.com/pls/topic/lookup?ctx=en/cloud/paas/database-dbaas-cloud/csdbn&id=CSDBI-GUID-DF1E6376-90ED-49A8-B5F1-A390A26110F4" style="background-color: transparent; box-sizing: border-box;" target="_blank">Updating the Cloud Tooling by Using the raccli Utility</a> in <span id="GUID-DA64552B-E538-4DC1-B07D-03CDF6A2435F__CSDBI" style="box-sizing: border-box;"><cite style="box-sizing: border-box;">Administering Oracle Database Cloud Service</cite></span>.</span></span></div>
</td></tr>
<tr align="left" style="border-bottom: 2px solid rgb(63, 63, 63); box-sizing: border-box; padding: 8px 6px; vertical-align: top;" valign="top"><td align="left" headers="d456e25 " id="d456e83" style="box-sizing: border-box; overflow-wrap: break-word; padding: 8px;" valign="top" width="30%"><span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;">October 2018 PSU, BP and RU patches available to apply to existing deployments</span></span></td><td align="left" headers="d456e83 d456e27 " style="box-sizing: border-box; overflow-wrap: break-word; padding: 8px;" valign="top" width="70%"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;">The October 2018 Patch Set Update (PSU), Bundle Patch (BP) and Release Update (RU) are now available to patch existing <span style="box-sizing: border-box;">Database Cloud Service</span> database deployments, provided that you use a command-line utility to apply the patch. Which of these patches you apply depends on the Oracle Database version of your deployment.</span></span></div>
<div style="box-sizing: border-box; margin-bottom: 14px; margin-top: 14px;">
<span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Before you apply the appropriate patch, make sure your deployment has the latest version of cloud tooling, as described in <a href="https://www.oracle.com/pls/topic/lookup?ctx=en/cloud/paas/database-dbaas-cloud/csdbn&id=CSDBI-GUID-CD12878B-3F62-4E14-B12A-9F286B470294" style="background-color: transparent; box-sizing: border-box;" target="_blank">Updating the Cloud Tooling on <span style="box-sizing: border-box;">Database Cloud Service</span></a> in <span id="GUID-DA64552B-E538-4DC1-B07D-03CDF6A2435F__CSDBI" style="box-sizing: border-box;"><cite style="box-sizing: border-box;">Administering Oracle Database Cloud Service</cite></span>.</span></span></div>
<div style="box-sizing: border-box; margin-bottom: 14px; margin-top: 14px;">
<span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;">For information about using command-line utilities to apply a patch, see these topics in <span id="GUID-DA64552B-E538-4DC1-B07D-03CDF6A2435F__CSDBI" style="box-sizing: border-box;"><cite style="box-sizing: border-box;">Administering Oracle Database Cloud Service</cite></span>:</span></span></div>
<ul id="GUID-DA64552B-E538-4DC1-B07D-03CDF6A2435F__UL_R2C_52Z_42B" style="box-sizing: border-box; margin-bottom: 10px; margin-top: 0px;" xmlns:df="http://dita2indesign.org/dita/functions" xmlns:dita-ot="http://dita-ot.sourceforge.net/ns/201007/dita-ot" xmlns:enum="http://dita4publishers.org/enumerables" xmlns:htmlutil="http://dita4publishers.org/functions/htmlutil" xmlns:local="http//local/function" xmlns:relpath="http://dita2indesign/functions/relpath">
<li style="box-sizing: border-box;"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;">For database deployments hosting a single-instance database, see <a href="https://www.oracle.com/pls/topic/lookup?ctx=en/cloud/paas/database-dbaas-cloud/csdbn&id=CSDBI-GUID-AFBAB8B1-0468-4634-AA6E-6EBA9D86037C" style="background-color: transparent; box-sizing: border-box;" target="_blank">Applying a Patch by Using the dbaascli Utility</a>.</span></span></div>
</li>
<li style="box-sizing: border-box;"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;">For database deployments hosting an Oracle Data Guard configuration of single-instance databases, see <a href="https://www.oracle.com/pls/topic/lookup?ctx=en/cloud/paas/database-dbaas-cloud/csdbn&id=CSDBI-GUID-B30815FE-65CE-4688-8549-1FF1CEA10A70" style="background-color: transparent; box-sizing: border-box;" target="_blank">Applying a Patch by Using the dbpatchmdg Utility</a>.</span></span></div>
</li>
<li style="box-sizing: border-box;"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;">For database deployments hosting an Oracle RAC database or Oracle Data Guard configuration of Oracle RAC databases, see <a href="https://www.oracle.com/pls/topic/lookup?ctx=en/cloud/paas/database-dbaas-cloud/csdbn&id=CSDBI-GUID-2E4712E6-DF6C-4D8C-B863-B2468E6E3525" style="background-color: transparent; box-sizing: border-box;" target="_blank">Applying a Patch by Using the raccli Utility</a> and provide the tag value for your database version:</span></span></div>
<ul id="GUID-DA64552B-E538-4DC1-B07D-03CDF6A2435F__UL_RQM_V2Z_42B" style="box-sizing: border-box; list-style-type: disc; margin-bottom: 0px; margin-top: 0px;">
<li style="box-sizing: border-box;"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; padding: 0px;">28659165</code> for Oracle Database Release 18c</span></span></div>
</li>
<li style="box-sizing: border-box;"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; padding: 0px;">28672345</code> for Oracle Database Release 12.2</span></span></div>
</li>
<li style="box-sizing: border-box;"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; padding: 0px;">28349951</code> for Oracle Database Release 12.1</span></span></div>
</li>
<li style="box-sizing: border-box;"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="color: #333333; font-family: "helvetica neue" , "segoe ui" , "roboto" , , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; padding: 0px;">28429134</code> for Oracle Database Release 11.2</span></span></div>
</li>
</ul>
</li>
</ul>
</td></tr>
</tbody></table>
</div>
<div class="table-responsive" style="box-sizing: border-box; min-height: 0.01%; overflow-x: auto;">
<span style="color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="color: #333333; font-family: "arial" , "helvetica" , sans-serif;">Fuente: <a href="https://docs.oracle.com/en/cloud/paas/database-dbaas-cloud/csdbn/index.html#CSDBN-GUID-DA64552B-E538-4DC1-B07D-03CDF6A2435F">What's New for Oracle Database Cloud Service</a></span></div>
<div class="table-responsive" style="box-sizing: border-box; min-height: 0.01%; overflow-x: auto;">
<br /></div>
</div>
</div>
</div>
Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com2tag:blogger.com,1999:blog-3963062433478755247.post-29833552794706646902018-12-26T06:57:00.000-08:002019-01-03T12:43:42.556-08:00Oracle 18c: Como hacer un MERGE ONLINE de Particiones y Subparticiones<span style="font-family: "arial" , "helvetica" , sans-serif;">A partir de Oracle 18c tenemos la posibilidad de realizar un MERGE de manera ONLINE de particiones (y subparticiones) cuando estamos utilizando el feature de "Partitioning".</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">Veamos un ejemplo de como hacerlo:</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Primero creamos una tabla para la demostración:</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">La table tiene tres columnas, una de ellas del tipo fecha particionada por rangos (BY RANGE)</span><br />
<br />
create table vtas<br />
(<br />
nro_fc number,<br />
fecha_vta date,<br />
precio number<br />
)<br />
partition BY RANGE (fecha_vta)<br />
(<br />
partition vtas_q1_16 values less than (TO_DATE('01-APR-2016', 'DD-MON-YYYY')),<br />
partition vtas_q2_16 values less than (TO_DATE('01-JUL-2016', 'DD-MON-YYYY')),<br />
partition vtas_q3_16 values less than (TO_DATE('01-OCT-2016', 'DD-MON-YYYY')),<br />
partition vtas_q4_16 values less than (TO_DATE('01-JAN-2017', 'DD-MON-YYYY')),<br />
partition vtas_q1_17 values less than (TO_DATE('01-APR-2017', 'DD-MON-YYYY')),<br />
partition vtas_q2_17 values less than (TO_DATE('01-JUL-2017', 'DD-MON-YYYY')),<br />
partition vtas_q3_17 values less than (TO_DATE('01-OCT-2017', 'DD-MON-YYYY')),<br />
partition vtas_q4_17 values less than (TO_DATE('01-JAN-2018', 'DD-MON-YYYY')),<br />
partition vtas_futuro values less than (TO_DATE('01-JAN-2020', 'DD-MON-YYYY'))<br />
)<br />
<b>ENABLE ROW MOVEMENT</b><br />
/<br />
<a name='more'></a><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">Insertamos algunos datos y calculamos estadísticas:</span><br />
<br />
exec DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=>'SDALESSA', TABNAME=>'VTAS', ESTIMATE_PERCENT=>DBMS_STATS.AUTO_SAMPLE_SIZE, CASCADE=> TRUE, METHOD_OPT=> 'FOR ALL COLUMNS SIZE 1', GRANULARITY=>'ALL');<br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">En una sesión nueva SESS1.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">Verificamos, nombre de partición, posición, intervalo y valor más alto.</span><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">SESS1:</span><br />
select table_name, partition_name, partition_position, interval, high_value<br />
from user_tab_partitions<br />
where table_name='VTAS' order by table_name, partition_position;<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_N1vLjGa6mv06fI06FvUpDyz5ZFpX05nE278Gne6ZsfNrsEER5O1XSX7-CxU2BHGXZgy0EtRhvp4gWOtzlx7fYX8jnr8NTenuCyP3eb4JoEkib6MgxDgMkc4Cn_UXPHX0Pf2kPfhr5eg/s1600/fig-01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="224" data-original-width="1057" height="134" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_N1vLjGa6mv06fI06FvUpDyz5ZFpX05nE278Gne6ZsfNrsEER5O1XSX7-CxU2BHGXZgy0EtRhvp4gWOtzlx7fYX8jnr8NTenuCyP3eb4JoEkib6MgxDgMkc4Cn_UXPHX0Pf2kPfhr5eg/s640/fig-01.png" width="640" /></a></div>
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">Realizamos el "merge" online de dos particiones:</span><br />
<br />
alter table vtas merge partitions vtas_q1_16, vtas_q2_16 into partition vtas_q2_16 <b>online</b>;<br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">En otra sesión SESS2.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">Ejecutamos un update de la tabla</span><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">SESS2:</span><br />
update vtas<br />
set fecha_vta = '01-JUN-16'<br />
where nro_fc = 116;<br />
commit;<br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">Volvemos a la SESS1 y verificamos si el "merge" fué realizado con éxito. Comprobamos también el rango de particionamiento.</span><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">SESS1:</span><br />
select table_name, partition_name, partition_position, interval, high_value<br />
from user_tab_partitions<br />
where table_name='VTAS'<br />
order by table_name, partition_position;<br />
<br />
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVMemticPgLtw3GlZph2QJXFxggeQsNZnaDfe4V4NNenH6n-BwfMQYdV7AweLAZDpo060GJ-8SNubCKcPc60feFa6x-i0UUWlzzghKoK2U1eBQ0KCei8suYcMBw7ThTu0YMntVBoxnI7w/s1600/fig-02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="206" data-original-width="1057" height="123" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVMemticPgLtw3GlZph2QJXFxggeQsNZnaDfe4V4NNenH6n-BwfMQYdV7AweLAZDpo060GJ-8SNubCKcPc60feFa6x-i0UUWlzzghKoK2U1eBQ0KCei8suYcMBw7ThTu0YMntVBoxnI7w/s640/fig-02.png" width="640" /></a></div>
<br /></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Con esta nueva funcionalidad podemos subir todavía más los niveles de disponibilidad de nuestras bases de datos.</span></div>
Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-53137612247719074982018-12-03T05:20:00.000-08:002018-12-31T05:23:11.847-08:00Novedades Oracle Database Cloud Service - Noviembre 2018<div class="sect4" style="box-sizing: border-box;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhneSWefo9fdstifT9CUKmfe_jA85lHTYWroaivM2uJO3m4atwZE7B1ppj2MhCsMbZdF7sPRHv9YYUw6jYt6IjJJaYFeQlW9vv0uifLKo5nCl3Ki9C0Y7oN8aRF6ersYP62O49u4vDDcDs/s1600/oracle_db_cloud_serv.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="80" data-original-width="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhneSWefo9fdstifT9CUKmfe_jA85lHTYWroaivM2uJO3m4atwZE7B1ppj2MhCsMbZdF7sPRHv9YYUw6jYt6IjJJaYFeQlW9vv0uifLKo5nCl3Ki9C0Y7oN8aRF6ersYP62O49u4vDDcDs/s1600/oracle_db_cloud_serv.jpg" /></a></div>
<div style="box-sizing: border-box; color: inherit; font-weight: 500; line-height: 1.1; margin-bottom: 10px; margin-top: 10px;">
<span style="font-family: Arial, Helvetica, sans-serif;">November 2018</span></div>
<div style="box-sizing: border-box;">
<div class="section" style="box-sizing: border-box; margin: 14px 0px;">
<div class="tblformal" id="GUID-04D6611F-0714-4708-954D-652C5C927C95__GUID-423E57D9-D2CC-4419-8FF6-315753689AAE" style="box-sizing: border-box;">
<div class="table-responsive" style="box-sizing: border-box; min-height: 0.01%; overflow-x: auto;">
<table border="1" cellpadding="4" cellspacing="0" class="Formal" frame="hsides" rules="rows" style="background-color: transparent; border-collapse: collapse; border-spacing: 0px; box-sizing: border-box; min-width: 420px; table-layout: fixed; width: 100%px;" summary="Summary of November 2018 new features available in Database Cloud Service." title=""><thead style="box-sizing: border-box;">
<tr align="left" style="box-sizing: border-box;" valign="top"><th align="left" id="d757e25" style="background: rgb(63, 63, 63); border-bottom-style: none; border-top-style: none; box-sizing: border-box; color: white; overflow-wrap: break-word; padding: 3pt; text-align: left;" valign="bottom" width="30%"><span style="font-family: "arial" , "helvetica" , sans-serif;">Feature</span></th><th align="left" id="d757e27" style="background: rgb(63, 63, 63); border-bottom-style: none; border-top-style: none; box-sizing: border-box; color: white; overflow-wrap: break-word; padding: 3pt; text-align: left;" valign="bottom" width="70%"><span style="font-family: "arial" , "helvetica" , sans-serif;">Description</span></th></tr>
</thead><tbody style="box-sizing: border-box;">
<tr align="left" style="border-bottom: 1px solid rgb(63, 63, 63); box-sizing: border-box; padding: 8px 6px; vertical-align: top;" valign="top"><td align="left" headers="d757e25 " id="d757e31" style="box-sizing: border-box; overflow-wrap: break-word; padding: 8px;" valign="top" width="30%"><div style="box-sizing: border-box; margin: 0px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Jul 2018 PSU, BP or RU integrated into base image for single-instance databases</span></div>
</td><td align="left" headers="d757e31 d757e27 " style="box-sizing: border-box; overflow-wrap: break-word; padding: 8px;" valign="top" width="70%"><div style="box-sizing: border-box; margin: 0px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">The July 2018 PSU (Patch Set Update), BP (Bundle Patch) or RU (Release Update), depending on Oracle Database version, is now integrated into the base image for new <span style="box-sizing: border-box;">Database Cloud Service</span> database deployments that host single-instance databases and Data Guard configurations with single-instance primary and standby databases. When you create such a database deployment, it will already include the PSU, BP or RU functionality.</span></div>
</td></tr>
<tr align="left" style="border-bottom: 1px solid rgb(63, 63, 63); box-sizing: border-box; padding: 8px 6px; vertical-align: top;" valign="top"><td align="left" headers="d757e25 " id="d757e41" style="box-sizing: border-box; overflow-wrap: break-word; padding: 8px;" valign="top" width="30%"><span style="font-family: "arial" , "helvetica" , sans-serif;">Faster patching</span></td><td align="left" headers="d757e41 d757e27 " style="box-sizing: border-box; overflow-wrap: break-word; padding: 8px;" valign="top" width="70%"><span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="box-sizing: border-box;">Database Cloud Service</span> patching time is now faster by approximately fifty percent.</span></td></tr>
<tr align="left" style="border-bottom: 2px solid rgb(63, 63, 63); box-sizing: border-box; padding: 8px 6px; vertical-align: top;" valign="top"><td align="left" headers="d757e25 " id="d757e48" style="box-sizing: border-box; overflow-wrap: break-word; padding: 8px;" valign="top" width="30%"><span style="font-family: "arial" , "helvetica" , sans-serif;">New versions for SQL Developer Web, ORDS, APEX and ORE</span></td><td align="left" headers="d757e48 d757e27 " style="box-sizing: border-box; overflow-wrap: break-word; padding: 8px;" valign="top" width="70%"><div style="box-sizing: border-box; margin: 0px 0px 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">New versions of several components have been integrated into the base image for single-instance databases:</span></div>
<ul id="GUID-04D6611F-0714-4708-954D-652C5C927C95__UL_I1H_TJY_RFB" style="box-sizing: border-box; list-style-type: disc; margin-bottom: 10px; margin-top: 0px;" xmlns:df="http://dita2indesign.org/dita/functions" xmlns:dita-ot="http://dita-ot.sourceforge.net/ns/201007/dita-ot" xmlns:enum="http://dita4publishers.org/enumerables" xmlns:htmlutil="http://dita4publishers.org/functions/htmlutil" xmlns:local="http//local/function" xmlns:relpath="http://dita2indesign/functions/relpath">
<li style="box-sizing: border-box;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Oracle SQL Developer Web version 18.2.1</span></li>
<li style="box-sizing: border-box;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Oracle REST Data Services (ORDS) version 18.1.0</span></li>
<li style="box-sizing: border-box;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Oracle Application Express (APEX) version 18.1.0.00.45</span></li>
<li style="box-sizing: border-box;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Oracle R Enterprise (ORE) version 1.5.1</span></li>
</ul>
</td></tr>
</tbody></table>
</div>
<div class="table-responsive" style="box-sizing: border-box; min-height: 0.01%; overflow-x: auto;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="table-responsive" style="box-sizing: border-box; min-height: 0.01%; overflow-x: auto;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Fuente: <a href="https://docs.oracle.com/en/cloud/paas/database-dbaas-cloud/csdbn/index.html#CSDBN-GUID-04D6611F-0714-4708-954D-652C5C927C95">What's New for Oracle Database Cloud Service</a></span></div>
</div>
</div>
</div>
</div>
Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-49613546547652966342018-11-05T11:52:00.000-08:002018-11-06T12:29:03.220-08:00Monitoreando el uso de indices de otros esquemas <span style="font-family: "arial" , "helvetica" , sans-serif;">La vista v$object_usage permite ver información de la utilización de indices sobre los cuales se ha activado la opción de monitoreo con:</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">alter index<i> index_name</i> monitoring usage;</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Esta vista nos brinda info de aquellos indices monitoreados pertenecientes al propio schema con el cual se está corriendo la consulta.</span><br />
<br />
SQL> select index_name, table_name, monitoring, used from v$object_usage;<br />
<br />
INDEX_NAME TABLE_NAME MONITORING USED<br />
------------------------------ ------------------------------ ---------- ----<br />
T1_IDX1 T1 <b>YES NO</b><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">Si queremos </span><span style="font-family: "arial" , "helvetica" , sans-serif;">ver información de todos los indices monitoreados en la base de datos, o si simplemente necesitamos verificar uno o varios owners en particular. </span><br />
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Podemos utilizar la siguiente consulta:</span></div>
<div>
<br /></div>
SQL> select<br />
u.name "owner",<br />
io.name "index_name",<br />
t.name "table_name",<br />
decode(bitand(i.flags, 65536), 0, 'no', 'yes') "monitoring",<br />
decode(bitand(nvl(ou.flags,0), 1), 0, 'no', 'yes') "used",<br />
ou.start_monitoring "start_monitoring",<br />
ou.end_monitoring "end_monitoring"<br />
from<br />
sys.obj$ io,<br />
sys.obj$ t,<br />
sys.ind$ i,<br />
sys.object_usage ou,<br />
sys.user$ u<br />
where<br />
t.obj# = i.bo#<br />
and<br />
io.owner# = u.user#<br />
and<br />
io.obj# = i.obj#<br />
and<br />
u.name in ('<i><OWNER></i>')<br />
and<br />
i.obj# = ou.obj#(+);<br />
<span style="font-family: inherit;"><br /></span>
<br />
<div class="MsoNormal">
<span style="font-family: inherit;"><o:p> </o:p>owner index_name table_name monitoring used start_monitoring end_monitoring</span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">---------- -------------
----------------- ---------- ----
------------------- -------------------<o:p></o:p></span></div>
<br />
<div class="MsoNormal">
<span style="font-family: inherit;">TST1 T1_IDX1 T1 <b> no
yes</b> 11/06/2018 13:09:24 11/06/2018 13:14:04<o:p></o:p></span></div>
<div>
<br /></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Nota: Lógicamente necesitaremos los privilegios necesarios de SELECT para acceder a las tablas de "sys" utilizadas y que la consulta se ejecute correctamente. </span></div>
<div>
<br /></div>
Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com1tag:blogger.com,1999:blog-3963062433478755247.post-1478265228683426262018-10-20T04:29:00.000-07:002018-10-22T04:30:48.168-07:00 Oracle Critical Patch Update Advisory - Octubre 2018<br />
<div class="MsoNormal">
<span style="color: #333333;"><span style="font-family: Arial, Helvetica, sans-serif;"><b>October 16, 2018</b></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjohuj_fEemYEkuJyCEeW735xde71u25nVIHcJSyeH2QVYvarhDp6ulazvWn-wfYiSmPXtpKoHboyCDGhrWiUhZW_BkNeryK6GNLDqwwyh1PUsDj1Q7gHKqsl8-YtIkycx_ikQm772bcHc/s1600/oracle_patch_update-680x400.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="400" data-original-width="680" height="117" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjohuj_fEemYEkuJyCEeW735xde71u25nVIHcJSyeH2QVYvarhDp6ulazvWn-wfYiSmPXtpKoHboyCDGhrWiUhZW_BkNeryK6GNLDqwwyh1PUsDj1Q7gHKqsl8-YtIkycx_ikQm772bcHc/s200/oracle_patch_update-680x400.jpg" width="200" /></a></div>
<div class="MsoNormal">
<span style="color: #333333; font-family: Arial, Helvetica, sans-serif;">The Critical Patch
Update for October 2018 was released on October 16th, 2018.</span></div>
<div class="MsoNormal">
<span style="color: #333333;"><span style="font-family: Arial, Helvetica, sans-serif;">
Oracle strongly recommends applying the patches as soon as possible.<br />
<br />
If you are new to this process, please review Oracle's Security Fixing Policies
and the Critical Patch Update Advisory. After reviewing these resources, if you
are unable to determine if you require a software update, or how to apply it,
please contact Oracle Support. <br />
<br />
The Critical Patch Update Advisory is the starting point for relevant
information. <br />
It includes the list of products affected, pointers to obtain the patches, a
summary of the security vulnerabilities for each product suite, and links to
other important documents. Supported products that are not listed in the
"Affected Products and Components" section of the advisory do not
require new patches to be applied.<br />
<br />
Also, it is essential to review the Critical Patch Update supporting
documentation <br />
referenced in the Advisory before applying patches, as this is where you can
find important pertinent information.<br />
<br />
Critical Patch Update Advisories are available at the following location:<br />
<br />
Oracle Technology Network: <a href="http://app.response.oracle-mail.com/e/er?elq_mid=125645&sh=0822252608071826132326152208082613230912293029070305&cmid=SPPT160711P00036C0002&s=1973398186&lid=321854&elqTrackId=a65768b516b8407786aa858809d5f5dd&elq=96e80f805c854b24ada3f70b100cb2b4&elqaid=125645&elqat=1" target="_blank">http://www.oracle.com/SecurityAlerts</a><br />
<br />
Oracle Cloud Customers should review:<br />
<a href="http://app.response.oracle-mail.com/e/er?elq_mid=125645&sh=0822252608071826132326152208082613230912293029070305&cmid=SPPT160711P00036C0002&s=1973398186&lid=321853&elqTrackId=c99e8a4615bc4b33adf6d219edc4f7eb&elq=96e80f805c854b24ada3f70b100cb2b4&elqaid=125645&elqat=1" target="_blank">http://www.oracle.com/SecurityAlerts#cloud</a><br />
<br />
The Critical Patch Update Advisory for October 2018 is available at the
following location:<br />
<br />
Oracle Technology Network:<br />
<a href="http://app.response.oracle-mail.com/e/er?elq_mid=125645&sh=0822252608071826132326152208082613230912293029070305&cmid=SPPT160711P00036C0002&s=1973398186&lid=321852&elqTrackId=b2ab47690e1b4d64b427a3b877086789&elq=96e80f805c854b24ada3f70b100cb2b4&elqaid=125645&elqat=1" target="_blank">http://www.oracle.com/technetwork/security-advisory/cpuoct2018-4428296.html</a><br />
<br />
Important information can also be found at:<br />
<a href="http://app.response.oracle-mail.com/e/er?elq_mid=125645&sh=0822252608071826132326152208082613230912293029070305&cmid=SPPT160711P00036C0002&s=1973398186&lid=321851&elqTrackId=4c6453acf58745b886a969efd0408dd0&elq=96e80f805c854b24ada3f70b100cb2b4&elqaid=125645&elqat=1" target="_blank">https://blogs.oracle.com/security/</a><br />
<br />
Oracle's Security Fixing Policies are available at the following location:<br />
<br />
<a href="http://app.response.oracle-mail.com/e/er?elq_mid=125645&sh=0822252608071826132326152208082613230912293029070305&cmid=SPPT160711P00036C0002&s=1973398186&lid=321850&elqTrackId=72b7755fbe144a54b8b24798affee69d&elq=96e80f805c854b24ada3f70b100cb2b4&elqaid=125645&elqat=1" target="_blank">http://www.oracle.com/support/assurance/vulnerability-remediation/security-fixing.html</a><br />
<br />
The next four dates for Critical Patch Updates are: <o:p></o:p></span></span></div>
<ul type="disc">
<li class="MsoNormal" style="color: #333333; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: Arial, Helvetica, sans-serif;">January 15, 2019<o:p></o:p></span></li>
<li class="MsoNormal" style="color: #333333; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: Arial, Helvetica, sans-serif;">April 16, 2019<o:p></o:p></span></li>
<li class="MsoNormal" style="color: #333333; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: Arial, Helvetica, sans-serif;">July 16, 2019<o:p></o:p></span></li>
<li class="MsoNormal" style="color: #333333; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: Arial, Helvetica, sans-serif;">October 15, 2019</span></li>
</ul>
<br />
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="https://www.oracle.com/technetwork/security-advisory/cpuoct2018-4428296.html">Oracle Critical Patch Update Advisory - October 2018</a></span><br />
<br />Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-72309492853349856472018-10-11T17:27:00.000-07:002018-10-11T17:32:36.459-07:00ODC Appreciation Day: Minimizando contención con “scalable sequences” en Oracle 18c<span style="font-family: "arial" , "helvetica" , sans-serif;">Es la primera vez que participo en el<span style="background: white; color: #333a42;"> </span><span style="background: white; border: 1pt none; box-sizing: inherit; color: #426f86; outline: 0px; padding: 0cm; transition: all 0.1s linear 0s;"><a href="https://oracle-base.com/blog/2018/10/11/odc-appreciation-day-effective-evangelism-staying-positive/" style="box-sizing: inherit; outline: 0px; transition: all 0.1s linear 0s;" target="_blank">Oracle Development
Community Appreciation Day</a>,</span> promovido por Tim Hall para contribuir con la comunidad publicando algo
de información sobre la tecnología Oracle que utilizamos a diario.</span><span style="font-family: "arial" , "helvetica" , sans-serif;"> </span><br />
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">En mi caso, trataré en este artículo una nueva funcionalidad incorporada en el último release de Oracle Database 18c.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Con la versión 18.1, se ha introducido una nueva
funcionalidad en la base de datos Oracle: Las <span style="mso-spacerun: yes;"> </span>"secuencias escalables” o en inglés <span style="mso-spacerun: yes;"> </span><span style="background: white; color: black;">"Scalable Sequences"</span>.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Se trata de la capacidad de poder crear secuencias
escalables para mejorar el rendimiento durante la carga masiva de datos, en
tablas que utilizan como claves el valor generado por una secuencia. Las
secuencias escalables optimizan el proceso de generación de valores
secuenciales mediante el uso de una combinación única del número de instancia y
el número de sesión para minimizar la contención sobre los bloques “leaf” en índices
durante cargas masivas. Esta es una de las pocas funciones que no es habilita
automáticamente y requiere la intervención del DBA para garantizar que su implementación
no afecte ni cambie la lógica de negocio necesaria.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Por su parte, desde el punto de vista de negocio, esta
funcionalidad brinda una mejora notable en los procesos de carga masiva de
datos al reducir, como comenté anteriormente, la contención generada al insertar
<span style="mso-spacerun: yes;"> </span>datos en tablas que utilizan valores de
secuencia.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Al incorporar la capacidad de poder crear valores de secuencias
con componente de instancia e identificadores de sesión agregados al valor propio
de la secuencia, la contención en la generación <span style="mso-spacerun: yes;"> </span>y en las inserciones en bloques de índice para
los valores clave, se reduce significativamente. Esto significa que Oracle
Database es aún más escalable para la carga de datos y puede admitir tasas de rendimiento
en este tipo de operaciones todavía más altas.</span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"></span></div>
<a name='more'></a><span style="font-family: "arial" , "helvetica" , sans-serif;">La sintaxis para definir una secuencia como escalable es la
siguiente:</span><br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">create /alter sequence nombre_de_secuencia <span style="mso-spacerun: yes;"> </span>scale [extend | noextend] | noscale<o:p></o:p></span></span></div>
<div class="MsoNormal">
<o:p><span style="font-family: inherit;"> </span></o:p><span style="font-family: inherit;"> </span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="color: black;">CREATE | ALTER SEQUENCE [ schema. ]sequence</span><br style="-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; widows: 2; word-spacing: 0px;" />
<span style="-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; widows: 2; word-spacing: 0px;">[ { INCREMENT BY |
START WITH } integer</span><br style="-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; widows: 2; word-spacing: 0px;" />
<span style="-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; widows: 2; word-spacing: 0px;">| { MAXVALUE
integer | NOMAXVALUE }</span><br style="-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; widows: 2; word-spacing: 0px;" />
<span style="-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; widows: 2; word-spacing: 0px;">| { MINVALUE
integer | NOMINVALUE }</span><br style="-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; widows: 2; word-spacing: 0px;" />
<span style="-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; widows: 2; word-spacing: 0px;">| { CYCLE | NOCYCLE
}</span><br style="-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; widows: 2; word-spacing: 0px;" />
<span style="-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; widows: 2; word-spacing: 0px;">| { CACHE integer |
NOCACHE }</span><br style="-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; widows: 2; word-spacing: 0px;" />
<span style="-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; widows: 2; word-spacing: 0px;">| { ORDER | NOORDER
}</span><br style="-webkit-text-stroke-width: 0px; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; widows: 2; word-spacing: 0px;" />
<span style="-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; widows: 2; word-spacing: 0px;">| { SCALE {EXTEND |
NOEXTEND} | NOSCALE}</span><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><b>SCALE / NOSCALE</b><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Cuando se especifica la opción SCALE, <span style="mso-spacerun: yes;"> </span>se establece un prefijo numérico al comienzo
de la secuencia (por defecto de 6 dígitos) con el formato:<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="mso-spacerun: yes;"> [ </span>iii || sss || ... ]<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">En donde "iii" determina un offset de 3 dígitos, correspondiente
al id de instancia, dado por [(id de instancia% 100) + 100] y <span style="mso-spacerun: yes;"> "</span>sss" es un offset, también de tres dígitos, correspondiente al ID de sesión, dado en este caso por [id de sesión% 1000].
Finalmente “||” es el operador de concatenación usado entre iii,sss y el valor de la
secuencia.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Resumiendo entonces, de los 6 dígitos usados por el offset, <span style="mso-spacerun: yes;"> </span>tres dígitos corresponden al número de
instancia y tres al ID de sesión. <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "calibri" , sans-serif; font-size: 11pt;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><b>EXTEND/NOEXTEND</b></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Cuando se especifica EXTEND junto a la palabra clave SCALE,
los valores de secuencia generados son todos de longitud (x + y), donde <i>“x”</i> es
la longitud del desplazamiento escalable (valor predeterminado 6), e <i>“y”</i>es el
número máximo de dígitos en la secuencia acorde al valor máximo. Por lo tanto,
para una secuencia ascendente con un valor máximo de 100 y SCALABLE EXTEND </span><span style="font-family: "arial" , "helvetica" , sans-serif;">especificados, los valores de secuencia generados son de
la forma:</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"> iii || sss || 001, iii || sss || 002,…, iii || sss || 100</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">La configuración predeterminada para la cláusula SCALE es
NOEXTEND. Con la configuración NOEXTEND, los valores de secuencia generados son
a lo sumo tan anchos como el número máximo de dígitos en la secuencia maxvalue/minvalue. La base de datos agrega la escala de 6 dígitos en la parte superior del dígito
para el valor máximo. Esta configuración es útil para la integración con
aplicaciones existentes donde las secuencias se utilizan para rellenar columnas
de ancho fijo. Al invocar NEXTVAL en una secuencia con SCALABLE NOEXTEND
especificado, se genera un error de usuario si el valor generado requiere <u>más
dígitos de representación que el valor máximo/mínimo de la secuencia</u>.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">La adición de 100 en la generación iii garantiza que todos
los valores generados tengan la misma longitud y, por lo tanto, no habrá
duplicados en los valores generados en todas las instancias.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">La longitud predeterminada del desplazamiento de secuencia
escalable es 6.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Así que en el siguiente ejemplo, la secuencia escalable será
de 13 dígitos (número de desplazamiento escalable de 6 dígitos + valor máximo
de 7 dígitos)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Algunos ejemplos:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Datos de la sesión que usaremos:</span><span style="font-family: inherit;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">SQL> select instance_number from v$instance;<o:p></o:p></span></span></div>
<div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span style="color: black;"><span style="font-family: inherit;">INSTANCE_NUMBER<br />
---------------<br />
1<o:p></o:p></span></span></div>
<div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span style="color: black;"><span style="font-family: inherit;"><br /></span></span></div>
<div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span style="color: black;"><span style="font-family: inherit;">SQL> select sys_context('userenv','sid')
from dual;<o:p></o:p></span></span></div>
<div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span style="color: black;"><span style="font-family: inherit;">SYS_CONTEXT('USERENV','SID')<br />
---------------------------------------------<br />
34<o:p></o:p></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Creamos una secuencia estándar:</span><span style="font-family: inherit;"><o:p></o:p></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">SQL> create sequence tst_sequence;<o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">Sequence created.<o:p></o:p></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Verificamos que no tiene habilitadas las opciones SCALE y EXTEND:</span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">SQL> select sequence_name, scale_flag, extend_flag from user_sequences;<o:p></o:p></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">SEQUENCE_NAME S E<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">------------- -- --<o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">TST_SEQUENCE N N<o:p></o:p></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Creamos ahora la secuencia con máximo default (<span style="color: black;">9999999999999999999999999999-28
digitos)</span> y SCALE habilitado pero no EXTEND</span><span style="font-family: inherit;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">SQL> create sequence tst_sequence scale;<o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">Sequence created.<o:p></o:p></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Verificamos:</span><span style="font-family: inherit;"><o:p></o:p></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">SQL> select sequence_name,max_value,scale_flag, extend_flag from
user_sequences;<o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">SEQUENCE_NAME <span style="mso-spacerun: yes;"> </span>MAX_VALUE<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>S E<o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">-------------<span style="mso-spacerun: yes;"> </span>---------------------------
<span style="mso-spacerun: yes;"> </span>-- --<o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">TST_SEQUENCE 9999999999999999999999999999 <span style="mso-spacerun: yes;"> </span>Y N <o:p></o:p></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Al no estar habilitado EXTEND utiliza SCALE iii/sss en la parte superior
del máximo (28 digitos)</span><span style="font-family: inherit;"><o:p></o:p></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">SQL> select tst_sequence.nextval from dual;<o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">NEXTVAL <o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">----------------------------<o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="color: red;"><b>101</b></span><b>034</b>0000000000000000000001<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Creamos ahora la secuencia con maxvalue en <span style="color: black;">9999999(7 digitos) y scale extend
habilitado:</span></span><span style="font-family: inherit;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">SQL> create sequence test_seq maxvalue 9999999 scale extend;<o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">Sequence created.<o:p></o:p></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: "arial" , "helvetica" , sans-serif;">El numero de secuencia es entonces 0000001 y se agrega en la parte
superior los 6 digitos correspondientes a sesión 034 e instancia
101(instance_id + 100)<o:p></o:p></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">SQL> select test_seq.nextval from dual;<o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">NEXTVAL<o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">-------------<o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><b><span style="color: red;">101</span></b><b>034</b>0000001<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">En el siguiente caso, el maxvalue es 9999999, scale y extend
habilitado.</span><span style="font-family: inherit;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">SQL> create sequence test_seq maxvalue 9999999 scale extend;<o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">Sequence created.<o:p></o:p></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Al
estar habilitado EXTEND se adiciona a los 3 digitos del maxvalue(100)el numero
de sesión e instancia.</span><span style="font-family: inherit;"><o:p></o:p></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">SQL> select test_seq.nextval from dual;<o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">NEXTVAL<o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="color: black;"><span style="font-family: inherit;">-----------<o:p></o:p></span></span></div>
<div class="MsoNormal">
<b style="color: red;">101</b><span style="font-family: inherit;"><b>034</b>0000001<o:p></o:p></span><br />
<span style="font-family: inherit;"><br /></span></div>
<div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span style="color: black;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Si por el contrario se especifica
NOEXTEND, el offset de instancia (iii) y sesión (sss) van a ser contemplado en
el maxvalue que es de 100(3 digitos) por lo tanto nos va a devolver un error:</span><span style="font-family: inherit;"><o:p></o:p></span></span><br />
<span style="color: black;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></span></div>
<div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span style="color: black;"><span style="font-family: inherit;">SQL> create sequence seq_noextend
start with 1 increment by 1 minvalue 1 maxvalue 100 scale noextend;<o:p></o:p></span></span></div>
<div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span style="color: black;"><span style="font-family: inherit;">Sequence created.<o:p></o:p></span></span><br />
<span style="color: black;"><span style="font-family: inherit;"><br /></span></span></div>
<div class="MsoNormal" style="mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span style="color: black;"><span style="font-family: inherit;">SQL> select seq_noextend.nextval
from dual;<br />
select seq_noextend.nextval from dual<br />
*<br />
ERROR at line 1:<br />
ORA-64603: NEXTVAL cannot be instantiated for SEQ_NOEXTEND. Widen the sequence
by 4 digits or alter sequence with SCALE EXTEND.<o:p></o:p></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">En este caso, creamos la secuencia con un máximo de 9999999
(7 digitos) como indicamos extent a scale<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Se puede realizar un alter de las cláusulas “extend” y “noextend”
y también de puede cambiar una secuencia escalable a secuencia normal y
viceversa.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Oracle recomienda que no especifique ordenamiento para una secuencia escalable, ya que los
números de secuencia escalables están desordenados a nivel global.</span><span style="font-family: inherit;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> alter sequence test_seq maxvalue 9999999 scale
noextend;<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Sequence altered.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> alter sequence test_seq maxvalue 9999999 noscale;<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Sequence altered.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> alter sequence test_seq maxvalue 9999999 scale;<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Sequence altered.</span><o:p></o:p></div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Espero les resulte interesante</span>.<br />
<br />Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-42788457703752021752018-09-30T13:21:00.000-07:002018-10-01T13:27:11.108-07:00Novedades Oracle Database Cloud Service - Septiembre 2018<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhneSWefo9fdstifT9CUKmfe_jA85lHTYWroaivM2uJO3m4atwZE7B1ppj2MhCsMbZdF7sPRHv9YYUw6jYt6IjJJaYFeQlW9vv0uifLKo5nCl3Ki9C0Y7oN8aRF6ersYP62O49u4vDDcDs/s1600/oracle_db_cloud_serv.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="80" data-original-width="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhneSWefo9fdstifT9CUKmfe_jA85lHTYWroaivM2uJO3m4atwZE7B1ppj2MhCsMbZdF7sPRHv9YYUw6jYt6IjJJaYFeQlW9vv0uifLKo5nCl3Ki9C0Y7oN8aRF6ersYP62O49u4vDDcDs/s1600/oracle_db_cloud_serv.jpg" /></a></div>
<span style="color: inherit; font-family: "arial" , "helvetica" , sans-serif;">September 2018</span><br />
<div class="sect4" style="box-sizing: border-box;">
<div style="box-sizing: border-box;">
<div class="section" style="box-sizing: border-box; margin: 14px 0px;">
<div class="tblformal" id="GUID-A178A549-B13C-4789-99A2-31E03122713A__GUID-423E57D9-D2CC-4419-8FF6-315753689AAE" style="box-sizing: border-box;">
<div class="table-responsive" style="box-sizing: border-box; min-height: 0.01%; overflow-x: auto;">
<table border="1" cellpadding="4" cellspacing="0" class="Formal" frame="hsides" rules="rows" style="background-color: transparent; border-collapse: collapse; border-spacing: 0px; box-sizing: border-box; min-width: 420px; table-layout: fixed; width: 100%px;" summary="Summary of September 2018 new features available in Database Cloud Service." title=""><thead style="box-sizing: border-box;">
<tr align="left" style="box-sizing: border-box;" valign="top"><th align="left" id="d465e25" style="background: rgb(63, 63, 63); border-bottom-style: none; border-top-style: none; box-sizing: border-box; color: white; overflow-wrap: break-word; padding: 3pt; text-align: left;" valign="bottom" width="30%"><span style="font-family: "arial" , "helvetica" , sans-serif;">Feature</span></th><th align="left" id="d465e27" style="background: rgb(63, 63, 63); border-bottom-style: none; border-top-style: none; box-sizing: border-box; color: white; overflow-wrap: break-word; padding: 3pt; text-align: left;" valign="bottom" width="70%"><span style="font-family: "arial" , "helvetica" , sans-serif;">Description</span></th></tr>
</thead><tbody style="box-sizing: border-box;">
<tr align="left" style="border-bottom: 1px solid rgb(63, 63, 63); box-sizing: border-box; padding: 8px 6px; vertical-align: top;" valign="top"><td align="left" headers="d465e25 " id="d465e31" style="box-sizing: border-box; overflow-wrap: break-word; padding: 8px;" valign="top" width="30%"><div style="box-sizing: border-box; margin: 0px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">New short name for <span style="box-sizing: border-box;">Oracle Database Cloud Service</span> in My Services</span></div>
</td><td align="left" headers="d465e31 d465e27 " style="box-sizing: border-box; overflow-wrap: break-word; padding: 8px;" valign="top" width="70%"><div style="box-sizing: border-box; margin: 0px 0px 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">As of late September, 2018, the short name used by the My Services console for <span style="box-sizing: border-box;">Oracle Database Cloud Service</span> changed from <span class="bold" style="box-sizing: border-box; font-weight: bold;">Database</span> to <span class="bold" style="box-sizing: border-box; font-weight: bold;">Database Classic</span>.</span></div>
<div style="box-sizing: border-box; margin: 14px 0px 0px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Also, the short name for the Oracle Database cloud service that is specific to <span id="GUID-A178A549-B13C-4789-99A2-31E03122713A__OCINFRASTRUCTURE" style="box-sizing: border-box;">Oracle Cloud Infrastructure</span> changed from <span class="bold" style="box-sizing: border-box; font-weight: bold;">Database (OCI)</span> to <span class="bold" style="box-sizing: border-box; font-weight: bold;">Database</span>.</span></div>
</td></tr>
<tr align="left" style="border-bottom: 1px solid rgb(63, 63, 63); box-sizing: border-box; padding: 8px 6px; vertical-align: top;" valign="top"><td align="left" headers="d465e25 " id="d465e61" style="box-sizing: border-box; overflow-wrap: break-word; padding: 8px;" valign="top" width="30%"><div style="box-sizing: border-box; margin: 0px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Extreme Performance QuickStart option creates a single-instance database</span></div>
</td><td align="left" headers="d465e61 d465e27 " style="box-sizing: border-box; overflow-wrap: break-word; padding: 8px;" valign="top" width="70%"><div style="box-sizing: border-box; margin: 0px 0px 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Previously, when you used the Extreme Performance QuickStart option, <span style="box-sizing: border-box;">Oracle Database Cloud Service</span> created a database deployment hosting a clustered database using Oracle Real Application Clusters (Oracle RAC), housed on two compute nodes.</span></div>
<div style="box-sizing: border-box; margin: 14px 0px 0px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Now, when you use the Extreme Performance QuickStart option, <span style="box-sizing: border-box;">Oracle Database Cloud Service</span> creates a database deployment hosting a single-instance database, housed on one compute node. For more information, see the <a href="https://www.oracle.com/pls/topic/lookup?ctx=en/cloud/paas/database-dbaas-cloud/csdbn&id=CSDBI-GUID-B60C4298-1AF3-4204-813D-08D7175C28B2" style="background-color: transparent; box-sizing: border-box; color: #226aa8; text-decoration: none;" target="_blank">Extreme Performance</a> section of "Creating a QuickStart Database Deployment" in <span id="GUID-A178A549-B13C-4789-99A2-31E03122713A__CSDBI" style="box-sizing: border-box;"><cite style="box-sizing: border-box;">Administering Oracle Database Cloud Service</cite></span>.</span></div>
</td></tr>
<tr align="left" style="border-bottom: 2px solid rgb(63, 63, 63); box-sizing: border-box; padding: 8px 6px; vertical-align: top;" valign="top"><td align="left" headers="d465e25 " id="d465e84" style="box-sizing: border-box; overflow-wrap: break-word; padding: 8px;" valign="top" width="30%"><div style="box-sizing: border-box; margin: 0px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Consolidated patching commands for deployments hosting an Oracle Data Guard configuration of single-instance databases</span></div>
</td><td align="left" headers="d465e84 d465e27 " style="box-sizing: border-box; overflow-wrap: break-word; padding: 8px;" valign="top" width="70%"><div style="box-sizing: border-box; margin: 0px 0px 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Previously, you used different command-line utilities with different subcommands and options to perform patching operations on the cloud tooling, database and OS software on deployments hosting an Oracle Data Guard configuration of single-instance databases.</span></div>
<div style="box-sizing: border-box; margin: 14px 0px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Now, all the patching operations across all these types of software are consolidated under a single command:</span></div>
<pre class="oac_no_warn" dir="ltr" style="background: rgb(238, 238, 238); border-radius: 6px; border: 1px solid rgb(170, 170, 170); box-sizing: border-box; color: #333333; display: block; font-family: "Courier New", Courier, monospace; font-size: 15.4px; line-height: 1.42857; margin: 0px 0px 10px; overflow-wrap: normal; overflow: auto; padding: 5px; white-space: pre; word-break: normal;"><span style="font-size: small;">dbaascli patch <span class="italic" style="box-sizing: border-box; font-style: italic;">software</span> <span class="italic" style="box-sizing: border-box; font-style: italic;">action</span></span></pre>
<div style="box-sizing: border-box; margin: 14px 0px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">where</span> <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; font-family: "Courier New", Courier, monospace; padding: 0px;"><span class="codeinlineitalic" style="box-sizing: border-box; font-style: italic;">software</span></code> <span style="font-family: "arial" , "helvetica" , sans-serif;">is <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; padding: 0px;">db</code> (database), <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; padding: 0px;">os</code> (OS) or <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; padding: 0px;">tools</code> (cloud tooling) and <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; padding: 0px;"><span class="codeinlineitalic" style="box-sizing: border-box; font-style: italic;">action</span></code> is a patching operation like </span><code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; font-family: "Courier New", Courier, monospace; padding: 0px;">list</code> or <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; font-family: "Courier New", Courier, monospace; padding: 0px;">apply</code>.</div>
<div style="box-sizing: border-box; margin: 14px 0px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">When you create a new database deployment hosting an Oracle Data Guard configuration of single-instance databases, it will include these consolidated patching commands. To use these new commands in an existing deployment, you must first update the deployment's cloud tooling by running the following, now-obsolete command (as the <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; padding: 0px;">root</code> user) one last time:</span></div>
<pre class="oac_no_warn" dir="ltr" style="background: rgb(238, 238, 238); border-radius: 6px; border: 1px solid rgb(170, 170, 170); box-sizing: border-box; color: #333333; display: block; font-family: "Courier New", Courier, monospace; font-size: 15.4px; line-height: 1.42857; margin: 0px 0px 10px; overflow-wrap: normal; overflow: auto; padding: 5px; white-space: pre; word-break: normal;"><span style="font-size: small;">dbaascli dbpatchm --run -toolsinst -rpmversion=LATEST</span></pre>
</td></tr>
</tbody></table>
</div>
<div class="table-responsive" style="box-sizing: border-box; min-height: 0.01%; overflow-x: auto;">
<div class="table-responsive" style="box-sizing: border-box; min-height: 0.01%; overflow-x: auto;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Fuente: <a href="https://docs.oracle.com/en/cloud/paas/database-dbaas-cloud/csdbn/index.html#CSDBN-GUID-A178A549-B13C-4789-99A2-31E03122713A">What's New for Oracle Database Cloud Service</a></span></div>
</div>
</div>
</div>
</div>
</div>
Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-59389328193876938242018-09-06T15:07:00.001-07:002018-10-08T14:33:18.770-07:00Interpretando un "Explain Plan" (Parte I)<span style="font-family: "arial" , "helvetica" , sans-serif;"><b>¿Qué es un explain plan?</b></span><br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Un explain plan es una representación de la ruta de acceso que
el optimizador de Oracle Database toma cuando es ejecutada una consulta SQL en
la base de datos. El procesamiento de una consulta SQL se puede dividir en 7
fases:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoListParagraph" style="margin-left: 27.0pt; mso-list: l1 level1 lfo1; text-indent: -18.0pt;">
<!--[if !supportLists]--><span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;">1-<span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span></span></span><u>Sintáctica:</u>
<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>se verifica la sintaxis de la consulta<o:p></o:p></span></div>
<div class="MsoListParagraph" style="margin-left: 27.0pt; mso-list: l1 level1 lfo1; text-indent: -18.0pt;">
<!--[if !supportLists]--><span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;">2-<span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span></span></span><u>Semántica:</u>
comprueba que todos los objetos existan <span style="mso-spacerun: yes;"> </span>y sean accesibles<o:p></o:p></span></div>
<div class="MsoListParagraph" style="margin-left: 27.0pt; mso-list: l1 level1 lfo1; text-indent: -18.0pt;">
<!--[if !supportLists]--><span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;">3-<span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span></span></span><u>View
Merging:</u> se reescribe la consulta como join en tablas base en lugar de usar
vistas<o:p></o:p></span></div>
<div class="MsoListParagraph" style="margin-left: 27.0pt; mso-list: l1 level1 lfo1; text-indent: -18.0pt;">
<!--[if !supportLists]--><span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;">4-<span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span></span></span><u>Transformación
de sentencias:</u> se reescribe la consulta transformando algunas construcciones
complejas en otras más simples siempre que sea posible (por ejemplo,
subconsulta unnesting, in/or transformation, etc.). Algunas transformaciones
usan reglas mientras que otras tienen un costo basado en estadísticas.<o:p></o:p></span></div>
<div class="MsoListParagraph" style="margin-left: 27.0pt; mso-list: l1 level1 lfo1; text-indent: -18.0pt;">
<!--[if !supportLists]--><span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;">5-<span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span></span></span><u>Optimización:</u>
determina la ruta de acceso óptima para la consulta. El optimizador basado en
costos (CBO) usa estadísticas para analizar los costos relativos de acceso a
los objetos.<o:p></o:p></span></div>
<div class="MsoListParagraph" style="margin-left: 27.0pt; mso-list: l1 level1 lfo1; text-indent: -18.0pt;">
<!--[if !supportLists]--><span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;">6-<span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> <u> </u></span></span></span><u>Query
Evaluation Plan (QEP): </u>Se evalúan las diferentes opciones de acceso y se <span style="mso-spacerun: yes;"> </span>genera el plan.<o:p></o:p></span></div>
<div class="MsoListParagraph" style="margin-left: 27.0pt; mso-list: l1 level1 lfo1; text-indent: -18.0pt;">
<!--[if !supportLists]--><span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;">7-<span style="font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> </span></span></span><u>QEP execution:</u> Se llevan adelante la acciones indicadas en el plan de ejecución
determinado.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Los pasos del 1 al 6 a veces se agrupan y se denominan 'parsing',
fase de 'parseo' o simplemente análisis.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">El paso 7 es la ejecución misma de la sentencia.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">El <span style="mso-spacerun: yes;"> "e</span></span><span style="font-family: "arial" , "helvetica" , sans-serif;">xplain plan" es fundamentalmente una representación de la ruta de acceso </span><span style="font-family: "arial" , "helvetica" , sans-serif;">generada
en el paso 6.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Una vez que se ha determinado el “access path” o ruta de
acceso, éste se almacena en memoria en la “library cache” <span style="mso-spacerun: yes;"> </span>junto con la sentencia correspondiente. Las
consultas se almacenan en la “library cache” en función de una representación
en hash del literal de la sentencia, este hash luego lo utiliza Oracle para ubicarla en memoria. Antes
de realizar las fases 1-6 antes mencionadas para un SQL determinado, Oracle busca
la sentencia en la “library cache” para ver si ya fue "parseada" y utilizar el
plan ya generado. Primero aplica un algoritmo hash al texto del SQL en cuestión
y luego se busca este valor hash en <span style="mso-spacerun: yes;"> </span>“library
cache”. <span style="mso-spacerun: yes;"> </span>Si el hash coincide con alguno
de los almacenados, se utilizará ese “Access path” o método de acceso para
resolver la consulta. Este será siempre utilizado (para la misma consulta) hasta <span style="mso-spacerun: yes;"> </span>tanto la misma vuelva a parseada. Dependiendo
de las circunstancias, el plan de ejecución tal vez varie de un parseo a otro. (En futuros posteos
veremos que determina que una consulta vuelva a ser parseada).</span><span style="font-family: "arial" , "helvetica" , sans-serif;"> </span></div>
<div class="MsoNormal">
<o:p><span style="font-family: "arial" , "helvetica" , sans-serif;"></span></o:p></div>
<a name='more'></a><span style="font-family: "arial" , "helvetica" , sans-serif;"><b><br /></b></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><b>Terminología</b></span><br />
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Veamos un poco de terminología y conceptos relacionados a un
plan de ejecución:</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><u>Row
Source:</u> una “row source”
es una función de software que implementa operaciones específicas (como
por ejemplo un “full table scan” o un “hash join”) y devuelve un conjunto de
filas.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><u>Predicados:</u> <span style="mso-spacerun: yes;"> </span>Son las
cláusulas “where” de una consulta. Se utilizan para unir tablas (join) o para
restringir las filas devueltas (filtros).<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Tuplas. Se refiere a la filas (rows).<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><u>Driving table:
</u>esta es la “row source” <span style="mso-spacerun: yes;"> </span>que se utiliza
para iniciar el procesamiento de la consulta. Si devuelve muchas filas, puede
tener un efecto negativo en todas las operaciones posteriores.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><u>Probed table:</u> este es el objeto en el que buscamos los datos
después de haber recuperado los datos clave relevantes de la “driving table”.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><b>¿Cómo accede Oracle a los datos?</b><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">A nivel físico, Oracle lee bloques de datos. La unidad mínima
de lectura, <span style="mso-spacerun: yes;"> </span>es de un bloque Oracle, la
lectura más grande está limitada por los límites impuestos a nivel sistema
operativo (y por el multi-block I/O). Lógicamente, Oracle accede los datos que
deben ser leídos utilizando alguno (o varios) de los siguientes métodos:</span></div>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo2; text-indent: -18.0pt;">
</div>
<ul>
<li><span style="font-family: "arial" , "helvetica" , sans-serif; text-indent: -18pt;">Full Table Scan (FTS)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif; text-indent: -18pt;">Index Look-up (unique & non-unique)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif; text-indent: -18pt;">Index Full Scan</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif; text-indent: -18pt;">Index Fast Full Scan</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif; text-indent: -18pt;">Rowid</span></li>
</ul>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><b>Ejemplos de planes de ejecución (explain plan)</b>:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Vamos a ejemplificar un plan de ejecución y sus partes, <span style="mso-spacerun: yes;"> </span>utilizando la salida de un “explain plan”
generado con la opción autotrace de SQL * Plus. Más adelante (en otros posts)
veremos diferentes maneras de generar planes de ejecución.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">En nuestro ejemplo de hoy utilizamos el parámetro statistics_level
en typical (default) para la generación del plan.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Como comentaba, si bien existen diferentes métodos para
mostrar los planes de ejecución y a veces la información puede parecer levemente
diferente, la información básica de la que se genera el plan es la misma. Con los
diferentes mecanismos vamos a poder obtener información más detallada ante
determinadas situaciones y bajo condiciones específicas.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><b>Secciones de un Explain Plan</b><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Cuando genera un explain plan, se muestran diferentes secciones
dependiendo de la consulta sobre la cual se haya generado el plan y las
características u opciones <span style="mso-spacerun: yes;"> </span>que utilicemos
para obtener el plan de ejecución. Todos los planes de ejecución tendrán una
tabla principal del plan, que muestra las operaciones que son llevadas a cabo
para ejecutar la consulta y posiblemente incluya otro tipo de información como
"plan hash value", cantidad de filas estimadas, estimación de costo
para cada uno de los <span style="mso-spacerun: yes;"> </span>pasos, etc. <o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Ejemplo:</span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> show parameter statistics_level<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">NAME<span style="mso-spacerun: yes;"> </span>TYPE<span style="mso-spacerun: yes;"> </span>VALUE<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">------------------------------------ -----------
------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="background-color: yellow;">statistics_level<span style="mso-spacerun: yes;"> </span>string<span style="mso-spacerun: yes;"> </span>TYPICAL</span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">SQL><span style="background-color: yellow;"> set autotrace on</span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> select * from dual;<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">D<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">-<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">X<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Execution Plan<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">----------------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="background-color: yellow;">Plan hash value: 272002086</span><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">--------------------------------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">| <span style="background-color: yellow;">Id<span style="mso-spacerun: yes;"> </span>| Operation<span style="mso-spacerun: yes;"> </span>| Name | Rows<span style="mso-spacerun: yes;"> </span>| Bytes | Cost (%CPU)| Time</span><span style="mso-spacerun: yes;"> </span>|<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">--------------------------------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">|<span style="mso-spacerun: yes;"> </span>0 | SELECT
STATEMENT<span style="mso-spacerun: yes;"> </span>|<span style="mso-spacerun: yes;"> </span>|<span style="mso-spacerun: yes;">
</span>1 |<span style="mso-spacerun: yes;"> </span>2 |<span style="mso-spacerun: yes;"> </span>2<span style="mso-spacerun: yes;">
</span>(0)| 00:00:01 |<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">|<span style="mso-spacerun: yes;"> </span>1 |<span style="mso-spacerun: yes;"> </span>TABLE ACCESS FULL| DUAL |<span style="mso-spacerun: yes;"> </span>1 |<span style="mso-spacerun: yes;">
</span>2 |<span style="mso-spacerun: yes;"> </span>2<span style="mso-spacerun: yes;"> </span>(0)| 00:00:01 |<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">--------------------------------------------------------------------------</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Statistics<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">----------------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>0<span style="mso-spacerun: yes;"> </span>recursive calls<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>0<span style="mso-spacerun: yes;"> </span>db block gets<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>2<span style="mso-spacerun: yes;"> </span>consistent gets<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>0<span style="mso-spacerun: yes;"> </span>physical reads<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>0<span style="mso-spacerun: yes;"> </span>redo size<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>522<span style="mso-spacerun: yes;"> </span>bytes sent via SQL*Net to client<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>524<span style="mso-spacerun: yes;"> </span>bytes received via SQL*Net from client<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>2<span style="mso-spacerun: yes;"> </span>SQL*Net roundtrips to/from client<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>0<span style="mso-spacerun: yes;"> </span>sorts (memory)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>0<span style="mso-spacerun: yes;"> </span>sorts (disk)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>1<span style="mso-spacerun: yes;"> </span>rows processed<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> <span style="background-color: yellow;">set autotrace traceonly</span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> select * from t1;<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">38224 rows selected.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Execution Plan<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">----------------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Plan hash value: 3617692013<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">--------------------------------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">| Id<span style="mso-spacerun: yes;"> </span>| Operation<span style="mso-spacerun: yes;"> </span>| Name | Rows<span style="mso-spacerun: yes;"> </span>| Bytes | Cost (%CPU)| Time<span style="mso-spacerun: yes;"> </span>|<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">--------------------------------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">|<span style="mso-spacerun: yes;"> </span>0 | SELECT
STATEMENT<span style="mso-spacerun: yes;"> </span>|<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>|
37155 |<span style="mso-spacerun: yes;"> </span>2866K|<span style="mso-spacerun: yes;"> </span>51<span style="mso-spacerun: yes;">
</span>(0)| 00:00:01 |<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">|<span style="mso-spacerun: yes;"> </span>1 |<span style="mso-spacerun: yes;"> </span>TABLE ACCESS FULL| T1<span style="mso-spacerun: yes;"> </span>| 37155 |<span style="mso-spacerun: yes;">
</span>2866K|<span style="mso-spacerun: yes;"> </span>51<span style="mso-spacerun: yes;"> </span>(0)| 00:00:01 |<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">--------------------------------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Note<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">-----<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>- dynamic sampling
used for this statement (level=2)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Statistics<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">----------------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>0<span style="mso-spacerun: yes;"> </span>recursive calls<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>0<span style="mso-spacerun: yes;"> </span>db block gets<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>2727<span style="mso-spacerun: yes;"> </span>consistent gets<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>0<span style="mso-spacerun: yes;"> </span>physical reads<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>0<span style="mso-spacerun: yes;"> </span>redo size<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>1796910<span style="mso-spacerun: yes;"> </span>bytes sent via SQL*Net to client<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>28552<span style="mso-spacerun: yes;"> </span>bytes received via SQL*Net from client<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>2550<span style="mso-spacerun: yes;"> </span>SQL*Net roundtrips to/from client<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>0<span style="mso-spacerun: yes;"> </span>sorts (memory)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>0<span style="mso-spacerun: yes;"> </span>sorts (disk)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>38224<span style="mso-spacerun: yes;"> </span>rows processed<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Si la consulta tiene una cláusula where, se generarán los
predicados:</span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> set autotrace traceonly<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> select * from t1 where object_id = 45673;<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">no rows selected<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Execution Plan<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">----------------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Plan hash value: 3617692013<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">--------------------------------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">| Id<span style="mso-spacerun: yes;"> </span>| Operation<span style="mso-spacerun: yes;"> </span>| Name | Rows<span style="mso-spacerun: yes;"> </span>| Bytes | Cost (%CPU)| Time<span style="mso-spacerun: yes;"> </span>|<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">--------------------------------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">|<span style="mso-spacerun: yes;"> </span>0 | SELECT
STATEMENT<span style="mso-spacerun: yes;"> </span>|<span style="mso-spacerun: yes;"> </span>|<span style="mso-spacerun: yes;">
</span>2 |<span style="mso-spacerun: yes;"> </span>158 |<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>51<span style="mso-spacerun: yes;">
</span>(0)| 00:00:01 |<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">|*<span style="mso-spacerun: yes;"> </span>1 |<span style="mso-spacerun: yes;"> </span>TABLE ACCESS FULL| T1<span style="mso-spacerun: yes;"> </span>|<span style="mso-spacerun: yes;">
</span>2 |<span style="mso-spacerun: yes;"> </span>158 |<span style="mso-spacerun: yes;"> </span>51<span style="mso-spacerun: yes;">
</span>(0)| 00:00:01 |<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">--------------------------------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="background-color: yellow;">Predicate Information (identified by operation id):</span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">---------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>1 -
filter("OBJECT_ID"=45673)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Note<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">-----<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>- dynamic sampling
used for this statement (level=2)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Statistics<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">----------------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>5<span style="mso-spacerun: yes;"> </span>recursive calls<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>0<span style="mso-spacerun: yes;"> </span>db block gets<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>253<span style="mso-spacerun: yes;"> </span>consistent gets<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>0<span style="mso-spacerun: yes;"> </span>physical reads<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>0<span style="mso-spacerun: yes;"> </span>redo size<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>410<span style="mso-spacerun: yes;"> </span>bytes sent via SQL*Net to client<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>513<span style="mso-spacerun: yes;"> </span>bytes received via SQL*Net from client<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>1<span style="mso-spacerun: yes;"> </span>SQL*Net roundtrips to/from client<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>0<span style="mso-spacerun: yes;"> </span>sorts (memory)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>0<span style="mso-spacerun: yes;">
</span>sorts (disk)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>0<span style="mso-spacerun: yes;"> </span>rows processed</span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">La sección “Predicate Information” contiene información de predicados
de acceso (aquellos que son utilizados para acceder a los datos en objetos
subyacentes) o predicados de filtro (que se utilizan para restringir las filas
devueltas desde un paso en particular y refinar los resultados). Debemos tener<span style="mso-spacerun: yes;"> </span>en cuenta que el optimizador realiza
transformaciones, y estas pueden <span style="mso-spacerun: yes;"> </span>mostrar
predicados en una forma algo diferente a los presentados en la consulta
original.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Otro ejemplo de sección de Predicado:</span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: black;"><span style="font-family: inherit;">Predicate Information (identified by
operation id):<o:p></o:p></span></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: black;"><span style="font-family: inherit;">---------------------------------------------------<o:p></o:p></span></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="font-family: inherit;"><br /></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: black;"><span style="font-family: inherit;"><span style="mso-spacerun: yes;">
</span>2 - filter("DEPT"."DNAME"='ACCOUNTING' OR
"DEPT"."DNAME"='OPERATIONS' OR<o:p></o:p></span></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: black;"><span style="font-family: inherit;"><span style="mso-spacerun: yes;">
</span>"DEPT"."DNAME"='RESEARCH' OR
"DEPT"."DNAME"='SALES')<o:p></o:p></span></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: black;"><span style="font-family: inherit;"><span style="mso-spacerun: yes;">
</span>4 -
access("EMP"."DEPTNO"="DEPT"."DEPTNO")<o:p></o:p></span></span></div>
<div class="MsoNormal" style="tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span style="color: black;"><span style="font-family: inherit;">
filter("EMP"."DEPTNO"="DEPT"."DEPTNO")</span><span style="font-family: "courier new"; font-size: 10pt;"><o:p></o:p></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">En ocasiones, se generará una sección de "Nota"
que incluye información útil sobre el plan. La sección puede indicar (entre
otros) si la base de datos usó un “<span class="kmcontent"><span style="color: black;">SQL Plan Baseline</span>”, outline </span><span style="mso-spacerun: yes;"> </span>o un “SQL Profile” para esa consulta, si se
utilizó <span class="kmcontent"><span style="color: black;">dynamic sampling</span></span>
(indicando el nivel), si el optimizador usó “<span class="kmcontent"><span style="color: black;">statistics feedback</span>” </span>para ajustar sus
estimaciones de costos para aplicar a la segunda ejecución de la consulta, si es
un “<span class="kmcontent"><span style="color: black;">adaptive plan</span>” </span>o
si la consulta es tatalmente ejecutada <span style="mso-spacerun: yes;"> </span>remota. Por ejemplo:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Por ejemplo:</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: inherit;">Note</span><br />
<span style="font-family: inherit;">-----</span><br />
<span style="font-family: inherit;"> - SQL plan baseline SYS_SQL_PLAN_fbc180b13jjdg479e637 used for this statement</span><br />
<br />
<span style="font-family: inherit;">Note</span><br />
<span style="font-family: inherit;">-----</span><br />
<span style="font-family: inherit;"> - dynamic statistics used: dynamic sampling (level=2)</span><br />
<br />
<span style="font-family: inherit;">Note</span><br />
<span style="font-family: inherit;">-----</span><br />
<span style="font-family: inherit;"> - statistics feedback used for this statement</span><br />
<br />
<span style="font-family: inherit;">Note</span><br />
<span style="font-family: inherit;">-----</span><br />
<span style="font-family: inherit;"> - this is an adaptive plan</span><br />
<br />
<span style="font-family: inherit;">Note</span><br />
<span style="font-family: inherit;">-----</span><br />
<span style="font-family: inherit;"> - fully remote statement</span><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">Si una consulta es parcialmente remota, puede existir una sección que muestre la consulta que se envió al sitio remoto:</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Por ejemplo:</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Remote SQL Information (identified by operation id):</span><br />
<span style="font-family: inherit;">----------------------------------------------------</span><br />
<br />
<span style="font-family: inherit;"> 3 - select “id”, “name” FROM “emp” (accessing 'LOOP_LINK' )</span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span><span style="font-family: "arial" , "helvetica" , sans-serif;"><b>Conclusión:</b></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">En este artículo vimos a grandes rasgos,<span style="mso-spacerun: yes;"> </span>de que se trata y que estructura tiene un “explain
plan”, el cual es la herramienta que Oracle nos provee para visualizar el plan
de ejecución que utiliza el motor, para obtener los datos requeridos por determinada
consulta. Queda a las claras <span style="mso-spacerun: yes;"> </span>la
importancia de poder obtener la información de este plan de ejecución e interpretar/entender las operaciones
descriptas en el "explain plan",<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">ya que es la mejor herramienta que tenemos para escribir SQL de
manera eficiente y además poder ajustar aquellas sentencias que no se estén ejecutando de forma optima.</span><o:p></o:p><br />
<br /></div>
Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-51311191492093128252018-08-30T13:29:00.002-07:002018-10-01T13:25:11.386-07:00Novedades Oracle Database Cloud Service - Agosto 2018<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhneSWefo9fdstifT9CUKmfe_jA85lHTYWroaivM2uJO3m4atwZE7B1ppj2MhCsMbZdF7sPRHv9YYUw6jYt6IjJJaYFeQlW9vv0uifLKo5nCl3Ki9C0Y7oN8aRF6ersYP62O49u4vDDcDs/s1600/oracle_db_cloud_serv.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="80" data-original-width="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhneSWefo9fdstifT9CUKmfe_jA85lHTYWroaivM2uJO3m4atwZE7B1ppj2MhCsMbZdF7sPRHv9YYUw6jYt6IjJJaYFeQlW9vv0uifLKo5nCl3Ki9C0Y7oN8aRF6ersYP62O49u4vDDcDs/s1600/oracle_db_cloud_serv.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<h4 class="sect4" id="CSDBN-GUID-23EFD503-C4AE-4EFC-B494-7329C6FBBCC7" style="background-color: white; box-sizing: border-box; color: #333333; font-weight: 500; line-height: 1.1; margin-bottom: 10px; margin-top: 10px;" tabindex="-1">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Agosto 2018</span></h4>
<div style="background-color: white; box-sizing: border-box;">
<div class="section" style="box-sizing: border-box; margin: 14px 0px;">
<div class="tblformal" id="GUID-23EFD503-C4AE-4EFC-B494-7329C6FBBCC7__GUID-423E57D9-D2CC-4419-8FF6-315753689AAE" style="box-sizing: border-box;">
<div class="table-responsive" style="box-sizing: border-box; color: #333333; font-family: "Helvetica Neue", "Segoe UI", Roboto, sans-serif-regular, sans-serif; font-size: 14px; min-height: 0.01%; overflow-x: auto;">
<table border="1" cellpadding="4" cellspacing="0" class="Formal" frame="hsides" rules="rows" style="background-color: transparent; border-collapse: collapse; border-spacing: 0px; box-sizing: border-box; min-width: 420px; table-layout: fixed; width: 100%px;" summary="Summary of August 2018 new features available in Database Cloud Service." title=""><thead style="box-sizing: border-box;">
<tr align="left" style="box-sizing: border-box;" valign="top"><th align="left" id="d459e25" style="background: rgb(63, 63, 63); border-bottom-style: none; border-top-style: none; box-sizing: border-box; color: white; padding: 3pt; text-align: left; word-wrap: break-word;" valign="bottom" width="30%"><span style="font-family: "arial" , "helvetica" , sans-serif;">Feature</span></th><th align="left" id="d459e27" style="background: rgb(63, 63, 63); border-bottom-style: none; border-top-style: none; box-sizing: border-box; color: white; padding: 3pt; text-align: left; word-wrap: break-word;" valign="bottom" width="70%"><span style="font-family: "arial" , "helvetica" , sans-serif;">Description</span></th></tr>
</thead><tbody style="box-sizing: border-box;">
<tr align="left" style="border-bottom: 1px solid rgb(63, 63, 63); box-sizing: border-box; padding: 8px 6px; vertical-align: top;" valign="top"><td align="left" headers="d459e25 " id="d459e31" style="box-sizing: border-box; padding: 8px; word-wrap: break-word;" valign="top" width="30%"><div style="box-sizing: border-box;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">"Bring Your Own License" now enabled by default</span></div>
</td><td align="left" headers="d459e31 d459e27 " style="box-sizing: border-box; padding: 8px; word-wrap: break-word;" valign="top" width="70%"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">The "Bring Your Own License" (BYOL) feature is now enabled by default:</span></div>
<ul id="GUID-23EFD503-C4AE-4EFC-B494-7329C6FBBCC7__UL_JZ1_ZFP_W2B" style="box-sizing: border-box; margin-bottom: 10px; margin-top: 0px;" xmlns:df="http://dita2indesign.org/dita/functions" xmlns:dita-ot="http://dita-ot.sourceforge.net/ns/201007/dita-ot" xmlns:enum="http://dita4publishers.org/enumerables" xmlns:htmlutil="http://dita4publishers.org/functions/htmlutil" xmlns:local="http//local/function" xmlns:relpath="http://dita2indesign/functions/relpath">
<li style="box-sizing: border-box;"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">When creating a QuickStart database deployment, the "Bring Your Own License" feature is now used.</span></div>
</li>
<li style="box-sizing: border-box;"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">When creating a customized database deployment, the "Bring Your Own License" option is enabled by default.</span></div>
</li>
</ul>
<div style="box-sizing: border-box; margin-bottom: 14px; margin-top: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">To create a database deployment that does not use the "Bring Your Own License" feature, you must create a customized database deployment and disable the "Bring Your Own License" option.</span></div>
<div style="box-sizing: border-box; margin-top: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">For more information about the "Bring Your Own License" feature, see <a class="new-window" href="https://www.oracle.com/cloud/bring-your-own-license/faq/index.html" style="background-color: transparent; box-sizing: border-box; color: #226aa8; text-decoration-line: none;" target="_blank">FAQ: Oracle BYOL to PaaS</a>.</span></div>
</td></tr>
<tr align="left" style="border-bottom: 1px solid rgb(63, 63, 63); box-sizing: border-box; padding: 8px 6px; vertical-align: top;" valign="top"><td align="left" headers="d459e25 " id="d459e53" style="box-sizing: border-box; padding: 8px; word-wrap: break-word;" valign="top" width="30%"><div style="box-sizing: border-box;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">July 2018 PSU, BP and RU patches available in console</span></div>
</td><td align="left" headers="d459e53 d459e27 " style="box-sizing: border-box; padding: 8px; word-wrap: break-word;" valign="top" width="70%"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Last month, the July 2018 Patch Set Update (PSU), Bundle Patch (BP) and Release Update (RU) became available if you used a command-line utility to apply the patch.</span></div>
<div style="box-sizing: border-box; margin-top: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">They are now available in the <span style="box-sizing: border-box;">Oracle Database Cloud Service</span> console as well. For information about applying database patches using the console, see <a href="https://www.oracle.com/pls/topic/lookup?ctx=en/cloud/paas/database-dbaas-cloud/csdbn&id=CSDBI3422" style="background-color: transparent; box-sizing: border-box; color: #226aa8; text-decoration-line: none;" target="_blank">Applying a Patch</a> in <span id="GUID-23EFD503-C4AE-4EFC-B494-7329C6FBBCC7__CSDBI" style="box-sizing: border-box;"><cite style="box-sizing: border-box;">Administering Oracle Database Cloud Service</cite></span>.</span></div>
</td></tr>
<tr align="left" style="border-bottom: 1px solid rgb(63, 63, 63); box-sizing: border-box; padding: 8px 6px; vertical-align: top;" valign="top"><td align="left" headers="d459e25 " id="d459e73" style="box-sizing: border-box; padding: 8px; word-wrap: break-word;" valign="top" width="30%"><div style="box-sizing: border-box;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Simplified patching of <span class="bold" style="box-sizing: border-box; font-weight: bold;">Database Clustering with RAC and Data Guard Standby</span> deployments</span></div>
</td><td align="left" headers="d459e73 d459e27 " style="box-sizing: border-box; padding: 8px; word-wrap: break-word;" valign="top" width="70%"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Previously, to check or apply a database patch to a deployment of two Oracle RAC databases as the primary and standby databases of an Oracle Data Guard configuration, you had to check or apply the patch separately to each of the Oracle RAC databases.</span></div>
<div style="box-sizing: border-box; margin-top: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Now, the <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; padding: 0px;">raccli apply patch</code> command includes the <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; padding: 0px;">-dg</code> option, which enables you to check or apply a database patch to both the primary and standby Oracle RAC databases. For more information, see <a href="https://www.oracle.com/pls/topic/lookup?ctx=en/cloud/paas/database-dbaas-cloud/csdbn&id=CSDBI-GUID-27B4EF3C-E25D-48B8-852B-41412BE56C40" style="background-color: transparent; box-sizing: border-box; color: #226aa8; text-decoration-line: none;" target="_blank">raccli apply patch</a> in <span id="GUID-23EFD503-C4AE-4EFC-B494-7329C6FBBCC7__CSDBI" style="box-sizing: border-box;"><cite style="box-sizing: border-box;">Administering Oracle Database Cloud Service</cite></span>.</span></div>
</td></tr>
<tr align="left" style="border-bottom: 2px solid rgb(63, 63, 63); box-sizing: border-box; padding: 8px 6px; vertical-align: top;" valign="top"><td align="left" headers="d459e25 " id="d459e99" style="box-sizing: border-box; padding: 8px; word-wrap: break-word;" valign="top" width="30%"><div style="box-sizing: border-box;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Oracle for Insurance Products certified for use with <span style="box-sizing: border-box;">Database Cloud Service</span></span></div>
</td><td align="left" headers="d459e99 d459e27 " style="box-sizing: border-box; padding: 8px; word-wrap: break-word;" valign="top" width="70%"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">The Oracle for Insurance solutions team has certified the following product components for use with <span style="box-sizing: border-box;">Database Cloud Service</span> deployments created using the <span class="bold" style="box-sizing: border-box; font-weight: bold;">Oracle Database 12c Release 2</span> software release and the <span class="bold" style="box-sizing: border-box; font-weight: bold;">Enterprise Edition - High Performance</span> or <span class="bold" style="box-sizing: border-box; font-weight: bold;">Enterprise Edition - Extreme Performance</span> software edition:</span></div>
<ul id="GUID-23EFD503-C4AE-4EFC-B494-7329C6FBBCC7__UL_QMH_MWX_Q2B" style="box-sizing: border-box; margin-bottom: 10px; margin-top: 0px;" xmlns:df="http://dita2indesign.org/dita/functions" xmlns:dita-ot="http://dita-ot.sourceforge.net/ns/201007/dita-ot" xmlns:enum="http://dita4publishers.org/enumerables" xmlns:htmlutil="http://dita4publishers.org/functions/htmlutil" xmlns:local="http//local/function" xmlns:relpath="http://dita2indesign/functions/relpath">
<li style="box-sizing: border-box;"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span class="bold" style="box-sizing: border-box; font-weight: bold;">Oracle Health Insurance</span> components: OHI Components 2.17.2 and higher</span></div>
</li>
<li style="box-sizing: border-box;"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span class="bold" style="box-sizing: border-box; font-weight: bold;">Oracle Insurance Policy Administration for Life and Annuity</span>: OIPA 11.1.0 and higher</span></div>
</li>
<li style="box-sizing: border-box;"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span class="bold" style="box-sizing: border-box; font-weight: bold;">Oracle Insurance Policy Administration for Group Benefits</span>: OIPA 11.1.0 and higher</span></div>
</li>
</ul>
</td></tr>
</tbody></table>
</div>
<div class="table-responsive" style="box-sizing: border-box; color: #333333; font-family: "Helvetica Neue", "Segoe UI", Roboto, sans-serif-regular, sans-serif; font-size: 14px; min-height: 0.01%; overflow-x: auto;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Fuente: </span><a href="https://docs.oracle.com/en/cloud/paas/database-dbaas-cloud/csdbn/index.html#CSDBN-GUID-23EFD503-C4AE-4EFC-B494-7329C6FBBCC7" style="font-family: Arial, Helvetica, sans-serif;">What's New for Oracle Database Cloud Service</a></div>
</div>
</div>
</div>
Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-16575309521334383552018-08-29T13:09:00.000-07:002018-08-30T15:20:11.380-07:00Privilegios necesarios para ejecutar un Explain Plan<span style="font-family: "arial" , "helvetica" , sans-serif;">Como sabemos, una de las maneras que tenemos</span><span style="font-family: "arial" , "helvetica" , sans-serif;"> </span><span style="font-family: "arial" , "helvetica" , sans-serif;">para obtener el plan de ejecución de una
sentencia SQL es utilizar</span><span style="font-family: "arial" , "helvetica" , sans-serif;"> </span><span style="font-family: "arial" , "helvetica" , sans-serif;">la cláusula
EXPLAIN PLAN.</span><span style="font-family: "arial" , "helvetica" , sans-serif;"> </span><span style="font-family: "arial" , "helvetica" , sans-serif;">De esta forma podemos
determinar el plan de ejecución que una base de datos Oracle esta utiliza o
utilizará para la ejecución</span><span style="font-family: "arial" , "helvetica" , sans-serif;"> </span><span style="font-family: "arial" , "helvetica" , sans-serif;">de
determinada instrucción SQL. El comando EXPLAIN PLAN, inserta una fila en una
tabla especifica (output table),</span><span style="font-family: "arial" , "helvetica" , sans-serif;"> </span><span style="font-family: "arial" , "helvetica" , sans-serif;">con la
descripción de cada operación correspondiente a</span><span style="font-family: "arial" , "helvetica" , sans-serif;">
</span><span style="font-family: "arial" , "helvetica" , sans-serif;">cada paso del plan de ejecución. También se puede utilizar EXPLAIN PLAN
como parte de la herramienta SQL trace.</span><br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">EXPLAIN PLAN también determina el costo de ejecutar la
sentencia SQL. En el costo calculado, entran en juego diversas variables como
por ejemplo el número de bloques leídos, tiempo de lectura, lectura simple o
multibloque, ciclos de procesador, velocidad de CPU, etc. pero en definitiva es
lo que hace que Oracle determine un plan de ejecución específico sobre todos
los calculados.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">En el software de instalación del motor de base de datos
podemos encontrar un script de ejemplo con la definición de la output table
(PLAN_TABLE). La tabla de salida que finalmente<span style="mso-spacerun: yes;">
</span>utilicemos debe tener los mismos nombres de columna y tipos de datos que
esta tabla. Por lo general , el nombre común de este script es utlxplan.sql en versiones anteriores a 10.2 y </span><span style="font-family: Arial, Helvetica, sans-serif;">catplan.sql a partir de esta versión</span><span style="font-family: arial, helvetica, sans-serif;">. Lo podemos encontrar en</span><span style="font-family: Arial, Helvetica, sans-serif;"> @?/rdbms/admin/</span><br />
<span style="font-family: arial, helvetica, sans-serif;"><br /></span>
<a name='more'></a><span style="font-family: "arial" , "helvetica" , sans-serif;">La definición de la PLAN_TABLE (output table) en el script catplan.sql es la siguiente:</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">SQL> desc plan_table</span><br />
<span style="font-family: inherit;"> Name Null? Type</span><br />
<span style="font-family: inherit;"> ----------------------------------------- -------- ----------------------------</span><br />
<span style="font-family: inherit;"> STATEMENT_ID VARCHAR2(30)</span><br />
<span style="font-family: inherit;"> PLAN_ID NUMBER</span><br />
<span style="font-family: inherit;"> TIMESTAMP DATE</span><br />
<span style="font-family: inherit;"> REMARKS VARCHAR2(4000)</span><br />
<span style="font-family: inherit;"> OPERATION VARCHAR2(30)</span><br />
<span style="font-family: inherit;"> OPTIONS VARCHAR2(255)</span><br />
<span style="font-family: inherit;"> OBJECT_NODE VARCHAR2(128)</span><br />
<span style="font-family: inherit;"> OBJECT_OWNER VARCHAR2(30)</span><br />
<span style="font-family: inherit;"> OBJECT_NAME VARCHAR2(30)</span><br />
<span style="font-family: inherit;"> OBJECT_ALIAS VARCHAR2(65)</span><br />
<span style="font-family: inherit;"> OBJECT_INSTANCE NUMBER(38)</span><br />
<span style="font-family: inherit;"> OBJECT_TYPE VARCHAR2(30)</span><br />
<span style="font-family: inherit;"> OPTIMIZER VARCHAR2(255)</span><br />
<span style="font-family: inherit;"> SEARCH_COLUMNS NUMBER</span><br />
<span style="font-family: inherit;"> ID NUMBER(38)</span><br />
<span style="font-family: inherit;"> PARENT_ID NUMBER(38)</span><br />
<span style="font-family: inherit;"> DEPTH NUMBER(38)</span><br />
<span style="font-family: inherit;"> POSITION NUMBER(38)</span><br />
<span style="font-family: inherit;"> COST NUMBER(38)</span><br />
<span style="font-family: inherit;"> CARDINALITY NUMBER(38)</span><br />
<span style="font-family: inherit;"> BYTES NUMBER(38)</span><br />
<span style="font-family: inherit;"> OTHER_TAG VARCHAR2(255)</span><br />
<span style="font-family: inherit;"> PARTITION_START VARCHAR2(255)</span><br />
<span style="font-family: inherit;"> PARTITION_STOP VARCHAR2(255)</span><br />
<span style="font-family: inherit;"> PARTITION_ID NUMBER(38)</span><br />
<span style="font-family: inherit;"> OTHER LONG</span><br />
<span style="font-family: inherit;"> OTHER_XML CLOB</span><br />
<span style="font-family: inherit;"> DISTRIBUTION VARCHAR2(30)</span><br />
<span style="font-family: inherit;"> CPU_COST NUMBER(38)</span><br />
<span style="font-family: inherit;"> IO_COST NUMBER(38)</span><br />
<span style="font-family: inherit;"> TEMP_SPACE NUMBER(38)</span><br />
<span style="font-family: inherit;"> ACCESS_PREDICATES VARCHAR2(4000)</span><br />
<span style="font-family: inherit;"> FILTER_PREDICATES VARCHAR2(4000)</span><br />
<span style="font-family: inherit;"> PROJECTION VARCHAR2(4000)</span><br />
<span style="font-family: inherit;"> TIME NUMBER(38)</span><br />
<span style="font-family: inherit;"> QBLOCK_NAME VARCHAR2(30)</span><br />
<div>
<br /></div>
</div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Oracle Database también proporciona información sobre
cursores en memoria a través de varias vistas dinámicas (v$). Para que un usuario no privilegiado pueda acceder a estas vistas (o cualquier vista dinámica), es necesario llevar adelante cualquiera de estas tres opciones:</span><br />
<ul>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Otorgar privilegios de SELECT sobre las vistas base.</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Asignar el rol SELECT_CATALOG_ROLE. </span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Asignar el privilegio de sistema SELECT ANY DICTIONARY</span></li>
</ul>
<span style="font-family: "arial" , "helvetica" , sans-serif;">En caso de no cumplir con alguna de estas condiciones, obtendremos el siguiente error al tratar de consultar:</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: inherit;">SQL> select * from v$sql_workarea;</span><br />
<span style="font-family: inherit;">select * from v$sql_workarea</span><br />
<span style="font-family: inherit;"> *</span><br />
<span style="font-family: inherit;">ERROR at line 1:</span><br />
<span style="font-family: inherit;"></span><br />
<span style="font-family: inherit;">ORA-00942: table or view does not exist</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Para otorgar los privilegios al usuario (user1), en este ejemplo con usuario sys debemos ejecutar la siguiente sentencia:</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Para el caso de una vista en particular:</span><br />
<br />
SQL> grant select on v_$sql_workarea to user1;<br />
<br />
Grant succeeded.<br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">Rol SELECT_CATALOG_ROLE:</span><br />
<br />
SQL> grant select_catalog_role to user1;<br />
<br />
Grant succeeded.</div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><o:p></o:p></span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">Privilegio SELECT ANY DICTIONARY:</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
SQL> grant select any dictionary to user1;<br />
<br />
Grant succeeded.<br />
<br />
<div class="MsoNormal">
<o:p><span style="font-family: "arial" , "helvetica" , sans-serif;"> </span></o:p><span style="font-family: "arial" , "helvetica" , sans-serif;">Por ejemplo, para obtener información sobre las áreas de
trabajo (work areas) utilizadas por los cursores SQL podemos consultar la
vista</span><span style="font-family: "arial" , "helvetica" , sans-serif;"> </span><b style="font-family: Arial, Helvetica, sans-serif;">v$sql_workarea</b><span style="font-family: "arial" , "helvetica" , sans-serif;">.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL>
desc v$sql_workarea<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Name<span style="mso-spacerun: yes;"> </span>Type<span style="mso-spacerun: yes;"> </span>Nullable Default Comments <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">----------------------
------------ -------- ------- -------- <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ADDRESS<span style="mso-spacerun: yes;"> </span>RAW(8)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">HASH_VALUE<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL_ID<span style="mso-spacerun: yes;"> </span>VARCHAR2(13) Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">CHILD_NUMBER<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">WORKAREA_ADDRESS<span style="mso-spacerun: yes;"> </span>RAW(8)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OPERATION_TYPE<span style="mso-spacerun: yes;"> </span>VARCHAR2(20) Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OPERATION_ID<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">POLICY<span style="mso-spacerun: yes;"> </span>VARCHAR2(10) Y<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ESTIMATED_OPTIMAL_SIZE
NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ESTIMATED_ONEPASS_SIZE
NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_MEMORY_USED<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_EXECUTION<span style="mso-spacerun: yes;"> </span>VARCHAR2(10) Y<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_DEGREE<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">TOTAL_EXECUTIONS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OPTIMAL_EXECUTIONS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ONEPASS_EXECUTIONS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">MULTIPASSES_EXECUTIONS
NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ACTIVE_TIME<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">MAX_TEMPSEG_SIZE<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_TEMPSEG_SIZE NUMBER Y </span><span style="font-family: "courier new";">
<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Para obtener<span style="mso-spacerun: yes;"> </span>el plan
de ejecución de un cursor en memoria,<span style="mso-spacerun: yes;">
</span>podemos consultar<span style="mso-spacerun: yes;"> </span><b>v$sql_plan</b>.</span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL>
desc v$sql_plan<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Name<span style="mso-spacerun: yes;"> </span>Type<span style="mso-spacerun: yes;"> </span>Nullable Default Comments <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">-----------------
-------------- -------- ------- -------- <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ADDRESS<span style="mso-spacerun: yes;"> </span>RAW(8)<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">HASH_VALUE<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL_ID<span style="mso-spacerun: yes;"> </span>VARCHAR2(13)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_HASH_VALUE<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">CHILD_ADDRESS<span style="mso-spacerun: yes;"> </span>RAW(8)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">CHILD_NUMBER<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">TIMESTAMP<span style="mso-spacerun: yes;"> </span>DATE<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OPERATION<span style="mso-spacerun: yes;"> </span>VARCHAR2(30)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OPTIONS<span style="mso-spacerun: yes;"> </span>VARCHAR2(30)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OBJECT_NODE<span style="mso-spacerun: yes;"> </span>VARCHAR2(40)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OBJECT#<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OBJECT_OWNER<span style="mso-spacerun: yes;"> </span>VARCHAR2(30)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OBJECT_NAME<span style="mso-spacerun: yes;"> </span>VARCHAR2(30)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OBJECT_ALIAS<span style="mso-spacerun: yes;"> </span>VARCHAR2(65)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OBJECT_TYPE<span style="mso-spacerun: yes;"> </span>VARCHAR2(20)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OPTIMIZER<span style="mso-spacerun: yes;"> </span>VARCHAR2(20)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ID<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PARENT_ID<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">DEPTH<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">POSITION<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SEARCH_COLUMNS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">COST<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">CARDINALITY<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">BYTES<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OTHER_TAG<span style="mso-spacerun: yes;"> </span>VARCHAR2(35)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PARTITION_START<span style="mso-spacerun: yes;"> </span>VARCHAR2(64)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PARTITION_STOP<span style="mso-spacerun: yes;"> </span>VARCHAR2(64)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PARTITION_ID<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OTHER<span style="mso-spacerun: yes;"> </span>VARCHAR2(4000) Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">DISTRIBUTION<span style="mso-spacerun: yes;"> </span>VARCHAR2(20)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">CPU_COST<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">IO_COST<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">TEMP_SPACE<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ACCESS_PREDICATES
VARCHAR2(4000) Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">FILTER_PREDICATES
VARCHAR2(4000) Y<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PROJECTION<span style="mso-spacerun: yes;"> </span>VARCHAR2(4000) Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">TIME<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">QBLOCK_NAME<span style="mso-spacerun: yes;"> </span>VARCHAR2(30)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">REMARKS<span style="mso-spacerun: yes;"> </span>VARCHAR2(4000) Y<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OTHER_XML CLOB Y</span><span style="font-family: "courier new";"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Para estadísticas de ejecución por cada paso u operación de
un plan de ejecución de los cursores en caché (por ejemplo, número de filas
devueltas, número de bloques leídos, etc.), podemos consultar<span style="mso-spacerun: yes;"> </span><b>v$sql_plan_statistics</b>.</span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL>
desc v$sql_plan_statistics<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Name<span style="mso-spacerun: yes;"> </span>Type<span style="mso-spacerun: yes;"> </span>Nullable Default Comments <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">-------------------
------------ -------- ------- -------- <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ADDRESS<span style="mso-spacerun: yes;"> </span>RAW(8)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">HASH_VALUE<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL_ID<span style="mso-spacerun: yes;"> </span>VARCHAR2(13) Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_HASH_VALUE<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">CHILD_ADDRESS<span style="mso-spacerun: yes;"> </span>RAW(8)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">CHILD_NUMBER<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OPERATION_ID<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">EXECUTIONS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_STARTS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">STARTS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_OUTPUT_ROWS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;">
</span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OUTPUT_ROWS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_CR_BUFFER_GETS
NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">CR_BUFFER_GETS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_CU_BUFFER_GETS
NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">CU_BUFFER_GETS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_DISK_READS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">DISK_READS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_DISK_WRITES<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;">
</span>Y<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">DISK_WRITES<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_ELAPSED_TIME<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;">
</span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ELAPSED_TIME NUMBER Y
</span><span style="font-family: "courier new";"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Finalmente, para obtener un join<span style="mso-spacerun: yes;"> </span>de las tres vistas anteriores, podemos
consultar <b><span style="mso-spacerun: yes;"> </span>v$sql_plan_statistics_all.</b></span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL>
desc v$sql_plan_statistics_all<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Name<span style="mso-spacerun: yes;"> </span>Type<span style="mso-spacerun: yes;"> </span>Nullable Default Comments <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">----------------------
-------------- -------- ------- -------- <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ADDRESS<span style="mso-spacerun: yes;"> </span>RAW(8)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">HASH_VALUE<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL_ID<span style="mso-spacerun: yes;"> </span>VARCHAR2(13)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_HASH_VALUE<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">CHILD_ADDRESS<span style="mso-spacerun: yes;"> </span>RAW(8)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">CHILD_NUMBER<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">TIMESTAMP<span style="mso-spacerun: yes;"> </span>DATE<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OPERATION<span style="mso-spacerun: yes;"> </span>VARCHAR2(30)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OPTIONS<span style="mso-spacerun: yes;"> </span>VARCHAR2(30)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OBJECT_NODE<span style="mso-spacerun: yes;"> </span>VARCHAR2(40)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OBJECT#<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OBJECT_OWNER<span style="mso-spacerun: yes;"> </span>VARCHAR2(30)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OBJECT_NAME<span style="mso-spacerun: yes;"> </span>VARCHAR2(30)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;">
</span><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OBJECT_ALIAS<span style="mso-spacerun: yes;"> </span>VARCHAR2(65)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OBJECT_TYPE<span style="mso-spacerun: yes;"> </span>VARCHAR2(20)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OPTIMIZER<span style="mso-spacerun: yes;"> </span>VARCHAR2(20)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ID<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;">
</span><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PARENT_ID<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">DEPTH<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">POSITION<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SEARCH_COLUMNS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;">
</span><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">COST<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">CARDINALITY<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">BYTES<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OTHER_TAG<span style="mso-spacerun: yes;"> </span>VARCHAR2(35)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PARTITION_START<span style="mso-spacerun: yes;"> </span>VARCHAR2(64)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PARTITION_STOP<span style="mso-spacerun: yes;"> </span>VARCHAR2(64)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PARTITION_ID<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OTHER<span style="mso-spacerun: yes;"> </span>VARCHAR2(4000) Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">DISTRIBUTION<span style="mso-spacerun: yes;"> </span>VARCHAR2(20)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">CPU_COST<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">IO_COST<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">TEMP_SPACE<span style="mso-spacerun: yes;"> </span>NUMBER <span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ACCESS_PREDICATES<span style="mso-spacerun: yes;"> </span>VARCHAR2(4000) Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">FILTER_PREDICATES<span style="mso-spacerun: yes;"> </span>VARCHAR2(4000) Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PROJECTION<span style="mso-spacerun: yes;"> </span>VARCHAR2(4000) Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">TIME<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">QBLOCK_NAME<span style="mso-spacerun: yes;"> </span>VARCHAR2(30)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">REMARKS<span style="mso-spacerun: yes;"> </span>VARCHAR2(4000) Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OTHER_XML<span style="mso-spacerun: yes;"> </span>CLOB<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">EXECUTIONS<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;">
</span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_STARTS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">STARTS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_OUTPUT_ROWS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OUTPUT_ROWS<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_CR_BUFFER_GETS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">CR_BUFFER_GETS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_CU_BUFFER_GETS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">CU_BUFFER_GETS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_DISK_READS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">DISK_READS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_DISK_WRITES<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">DISK_WRITES<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_ELAPSED_TIME<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ELAPSED_TIME<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">POLICY<span style="mso-spacerun: yes;"> </span>VARCHAR2(10)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ESTIMATED_OPTIMAL_SIZE
NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ESTIMATED_ONEPASS_SIZE
NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_MEMORY_USED<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_EXECUTION<span style="mso-spacerun: yes;"> </span>VARCHAR2(10)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_DEGREE<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">TOTAL_EXECUTIONS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OPTIMAL_EXECUTIONS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ONEPASS_EXECUTIONS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">MULTIPASSES_EXECUTIONS
NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ACTIVE_TIME<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">MAX_TEMPSEG_SIZE<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_TEMPSEG_SIZE NUMBER Y </span><span style="font-family: "courier new";"> </span><span style="font-family: "courier new";"> </span><span style="font-family: "courier new";"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Las estadísticas de ejecución para cada paso u operación del
plan de ejecución de los cursores en caché, se pueden observar en la vista <span style="mso-spacerun: yes;"> </span><b>v$sql_plan_monitor</b> si la ejecución de la
sentencia es monitoreada. Podemos forzar el monitoreo utilizando el hint <span style="mso-spacerun: yes;"> </span>MONITOR.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL>
desc v$sql_plan_monitor<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Name<span style="mso-spacerun: yes;"> </span>Type<span style="mso-spacerun: yes;"> </span>Nullable Default Comments <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">-----------------------
------------ -------- ------- -------- <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">KEY<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">STATUS<span style="mso-spacerun: yes;"> </span>VARCHAR2(19) Y <span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">FIRST_REFRESH_TIME<span style="mso-spacerun: yes;"> </span>DATE<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_REFRESH_TIME<span style="mso-spacerun: yes;"> </span>DATE<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">FIRST_CHANGE_TIME<span style="mso-spacerun: yes;"> </span>DATE<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">LAST_CHANGE_TIME<span style="mso-spacerun: yes;"> </span>DATE<span style="mso-spacerun: yes;"> </span>Y <span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">REFRESH_COUNT<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SID<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PROCESS_NAME<span style="mso-spacerun: yes;"> </span>VARCHAR2(5)<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL_ID<span style="mso-spacerun: yes;"> </span>VARCHAR2(13) Y <span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL_EXEC_START<span style="mso-spacerun: yes;"> </span>DATE<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL_EXEC_ID<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL_PLAN_HASH_VALUE<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL_CHILD_ADDRESS<span style="mso-spacerun: yes;"> </span>RAW(8)<span style="mso-spacerun: yes;"> </span>Y <span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_PARENT_ID<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_LINE_ID<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_OPERATION<span style="mso-spacerun: yes;"> </span>VARCHAR2(30) Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_OPTIONS<span style="mso-spacerun: yes;"> </span>VARCHAR2(30) Y <span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_OBJECT_OWNER<span style="mso-spacerun: yes;"> </span>VARCHAR2(30) Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_OBJECT_NAME<span style="mso-spacerun: yes;"> </span>VARCHAR2(30) Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_OBJECT_TYPE<span style="mso-spacerun: yes;"> </span>VARCHAR2(20) Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_DEPTH<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y <span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_POSITION<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_COST<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_CARDINALITY<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_BYTES<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y <span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_TIME<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_PARTITION_START<span style="mso-spacerun: yes;"> </span>VARCHAR2(64) Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_PARTITION_STOP<span style="mso-spacerun: yes;"> </span>VARCHAR2(64) Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_CPU_COST<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y <span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_IO_COST<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PLAN_TEMP_SPACE<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">STARTS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OUTPUT_ROWS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y <span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">IO_INTERCONNECT_BYTES<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;">
</span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PHYSICAL_READ_REQUESTS<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;">
</span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PHYSICAL_READ_BYTES<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PHYSICAL_WRITE_REQUESTS
NUMBER<span style="mso-spacerun: yes;"> </span>Y <span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PHYSICAL_WRITE_BYTES<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;">
</span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">WORKAREA_MEM<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">WORKAREA_MAX_MEM<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">WORKAREA_TEMPSEG<span style="mso-spacerun: yes;"> </span>NUMBER<span style="mso-spacerun: yes;"> </span>Y <span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">WORKAREA_MAX_TEMPSEG NUMBER
Y</span><span style="font-family: "courier new";"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><b>Pre-requisitos para utilizar EXPLAIN PLAN (privilegios)</b><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Para utilizar la<span style="mso-spacerun: yes;">
</span>instrucción EXPLAIN PLAN, debemos tener los privilegios necesarios para
insertar filas en la<span style="mso-spacerun: yes;"> </span>tabla de salida
(PLAN_TABLE) que hayamos especificado.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Lógicamente, también debemos tener los privilegios
necesarios para ejecutar la sentencia SQL<span style="mso-spacerun: yes;">
</span>de la cual<span style="mso-spacerun: yes;"> </span>queramos obtener el
plan de ejecución.<span style="mso-spacerun: yes;"> </span>Si la instrucción SQL
accede a una vista, entonces debemos tener privilegios para acceder a las
tablas y vistas en las que se basa la vista. Si la vista se basa en otra vista
que se basan en tablas, debemos tener también privilegios para acceder tanto a
la otra vista como a sus tablas subyacentes.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Por otro lado, para<span style="mso-spacerun: yes;">
</span>poder examinar el plan de ejecución producido por EXPLAIN PLAN, debemos
tener también los privilegios necesarios para consultar la tabla de salida
(output table).<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">La instrucción EXPLAIN PLAN es una instrucción<span style="mso-spacerun: yes;"> </span>DML y no una sentencia DDL,<span style="mso-spacerun: yes;"> </span>por lo tanto, Oracle Database no realiza
commit <span style="mso-spacerun: yes;"> </span>implícitamente de los cambios
realizados en la tabla por la sentencia EXPLAIN PLAN. Si queremos mantener las
filas generadas por un EXPLAIN PLAN en la “output table”, debemos realizar un
commit de la transacción que contiene la sentencia.</span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<br />Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-39564353418619289962018-08-06T14:39:00.001-07:002018-10-01T13:29:52.257-07:00Novedades Oracle Database Cloud Service - Julio 2018<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhneSWefo9fdstifT9CUKmfe_jA85lHTYWroaivM2uJO3m4atwZE7B1ppj2MhCsMbZdF7sPRHv9YYUw6jYt6IjJJaYFeQlW9vv0uifLKo5nCl3Ki9C0Y7oN8aRF6ersYP62O49u4vDDcDs/s1600/oracle_db_cloud_serv.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="80" data-original-width="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhneSWefo9fdstifT9CUKmfe_jA85lHTYWroaivM2uJO3m4atwZE7B1ppj2MhCsMbZdF7sPRHv9YYUw6jYt6IjJJaYFeQlW9vv0uifLKo5nCl3Ki9C0Y7oN8aRF6ersYP62O49u4vDDcDs/s1600/oracle_db_cloud_serv.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;">Julio 2018</span></div>
<div style="background-color: white; box-sizing: border-box;">
<div class="section" style="box-sizing: border-box; margin: 14px 0px;">
<div class="tblformal" id="GUID-D33DC2E6-886A-45C4-98A0-2FDA1B561288__GUID-423E57D9-D2CC-4419-8FF6-315753689AAE" style="box-sizing: border-box;">
<div class="table-responsive" style="box-sizing: border-box; color: #333333; font-family: "Helvetica Neue", "Segoe UI", Roboto, sans-serif-regular, sans-serif; font-size: 14px; min-height: 0.01%; overflow-x: auto;">
<table border="1" cellpadding="4" cellspacing="0" class="Formal" frame="hsides" rules="rows" style="background-color: transparent; border-collapse: collapse; border-spacing: 0px; box-sizing: border-box; min-width: 420px; table-layout: fixed; width: 100%px;" summary="Summary of July 2018 new features available in Database Cloud Service." title=""><thead style="box-sizing: border-box;">
<tr align="left" style="box-sizing: border-box;" valign="top"><th align="left" id="d441e25" style="background: rgb(63, 63, 63); border-bottom-style: none; border-top-style: none; box-sizing: border-box; color: white; padding: 3pt; text-align: left; word-wrap: break-word;" valign="bottom" width="30%"><span style="font-family: "arial" , "helvetica" , sans-serif;">Feature</span></th><th align="left" id="d441e27" style="background: rgb(63, 63, 63); border-bottom-style: none; border-top-style: none; box-sizing: border-box; color: white; padding: 3pt; text-align: left; word-wrap: break-word;" valign="bottom" width="70%"><span style="font-family: "arial" , "helvetica" , sans-serif;">Description</span></th></tr>
</thead><tbody style="box-sizing: border-box;">
<tr align="left" style="border-bottom: 1px solid rgb(63, 63, 63); box-sizing: border-box; padding: 8px 6px; vertical-align: top;" valign="top"><td align="left" headers="d441e25 " id="d441e31" style="box-sizing: border-box; padding: 8px; word-wrap: break-word;" valign="top" width="30%"><div style="box-sizing: border-box;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Consolidated patching commands for single-instance deployments</span></div>
</td><td align="left" headers="d441e31 d441e27 " style="box-sizing: border-box; padding: 8px; word-wrap: break-word;" valign="top" width="70%"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Previously, you used different command-line utilities with different subcommands and options to perform patching operations on the cloud tooling, database and OS software on deployments of single-instance databases.</span></div>
<div style="box-sizing: border-box; margin-bottom: 14px; margin-top: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Now, all the patching operations across all these types of software are consolidated under a single command:</span></div>
<pre class="oac_no_warn" dir="ltr" style="background: rgb(238, 238, 238); border-radius: 6px; border: 1px solid rgb(170, 170, 170); box-sizing: border-box; color: #333333; font-family: "Courier New", Courier, monospace; font-size: 15.4px; line-height: 1.42857; margin-bottom: 10px; overflow: auto; padding: 5px; word-break: normal; word-wrap: normal;">dbaascli patch <span class="italic" style="box-sizing: border-box; font-style: italic;">software</span> <span class="italic" style="box-sizing: border-box; font-style: italic;">action</span></pre>
<div style="box-sizing: border-box; margin-bottom: 14px; margin-top: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">where <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; font-size: 15.4px; padding: 0px;"><span class="codeinlineitalic" style="box-sizing: border-box; font-style: italic;">software</span></code> is <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; font-size: 15.4px; padding: 0px;">db</code> (database), <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; font-size: 15.4px; padding: 0px;">os</code> (OS) or <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; font-size: 15.4px; padding: 0px;">tools</code> (cloud tooling) and <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; font-size: 15.4px; padding: 0px;"><span class="codeinlineitalic" style="box-sizing: border-box; font-style: italic;">action</span></code> is a patching operation like <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; font-size: 15.4px; padding: 0px;">list</code> or <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; font-size: 15.4px; padding: 0px;">apply</code>.</span></div>
<div style="box-sizing: border-box; margin-bottom: 14px; margin-top: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">When you create a new database deployment hosting a single-instance database, it will include these consolidated patching commands. To use these new commands in an existing deployment, you must first update the deployment's cloud tooling by running the following, now-obsolete command (as the <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; font-size: 15.4px; padding: 0px;">root</code> user) one last time</span>:</div>
<pre class="oac_no_warn" dir="ltr" style="background: rgb(238, 238, 238); border-radius: 6px; border: 1px solid rgb(170, 170, 170); box-sizing: border-box; color: #333333; font-family: "Courier New", Courier, monospace; font-size: 15.4px; line-height: 1.42857; margin-bottom: 10px; overflow: auto; padding: 5px; word-break: normal; word-wrap: normal;">dbaascli dbpatchm --run -toolsinst -rpmversion=LATEST</pre>
</td></tr>
<tr align="left" style="border-bottom: 1px solid rgb(63, 63, 63); box-sizing: border-box; padding: 8px 6px; vertical-align: top;" valign="top"><td align="left" headers="d441e25 " id="d441e80" style="box-sizing: border-box; padding: 8px; word-wrap: break-word;" valign="top" width="30%"><div style="box-sizing: border-box;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Cloud tooling update available for deployments hosting Oracle RAC databases</span></div>
</td><td align="left" headers="d441e80 d441e27 " style="box-sizing: border-box; padding: 8px; word-wrap: break-word;" valign="top" width="70%"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">The 18.3.1 update to cloud tooling is available to apply to existing <span style="box-sizing: border-box;">Database Cloud Service</span> database deployments that host Oracle RAC databases.</span></div>
<div style="box-sizing: border-box; margin-top: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">To apply this update, use the tag <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; font-size: 15.4px; padding: 0px;">1831</code> when following the instructions <a href="https://www.oracle.com/pls/topic/lookup?ctx=en/cloud/paas/database-dbaas-cloud/csdbn&id=CSDBI-GUID-DF1E6376-90ED-49A8-B5F1-A390A26110F4" style="background-color: transparent; box-sizing: border-box; color: #226aa8; text-decoration-line: none;" target="_blank">Updating the Cloud Tooling by Using the raccli Utility</a> in <span id="GUID-D33DC2E6-886A-45C4-98A0-2FDA1B561288__CSDBI" style="box-sizing: border-box;"><cite style="box-sizing: border-box;">Administering Oracle Database Cloud Service</cite></span>.</span></div>
</td></tr>
<tr align="left" style="border-bottom: 1px solid rgb(63, 63, 63); box-sizing: border-box; padding: 8px 6px; vertical-align: top;" valign="top"><td align="left" headers="d441e25 " id="d441e103" style="box-sizing: border-box; padding: 8px; word-wrap: break-word;" valign="top" width="30%"><div style="box-sizing: border-box;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">July 2018 PSU, BP and RU patches available to apply to existing deployments</span></div>
</td><td align="left" headers="d441e103 d441e27 " style="box-sizing: border-box; padding: 8px; word-wrap: break-word;" valign="top" width="70%"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">The July 2018 Patch Set Update (PSU), Bundle Patch (BP) and Release Update (RU) are now available to patch existing <span style="box-sizing: border-box;">Database Cloud Service</span> database deployments, provided that you use a command-line utility to apply the patch. Which of these patches you apply depends on the Oracle Database version of your deployment.</span></div>
<div style="box-sizing: border-box; margin-bottom: 14px; margin-top: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Before you apply the appropriate patch, make sure your deployment has the latest version of cloud tooling, as described in <a href="https://www.oracle.com/pls/topic/lookup?ctx=en/cloud/paas/database-dbaas-cloud/csdbn&id=CSDBI-GUID-CD12878B-3F62-4E14-B12A-9F286B470294" style="background-color: transparent; box-sizing: border-box; color: #226aa8; text-decoration-line: none;" target="_blank">Updating the Cloud Tooling on <span style="box-sizing: border-box;">Database Cloud Service</span></a> in <span id="GUID-D33DC2E6-886A-45C4-98A0-2FDA1B561288__CSDBI" style="box-sizing: border-box;"><cite style="box-sizing: border-box;">Administering Oracle Database Cloud Service</cite></span>.</span></div>
<div style="box-sizing: border-box; margin-bottom: 14px; margin-top: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">For information about using command-line utilities to apply a patch, see these topics in <span id="GUID-D33DC2E6-886A-45C4-98A0-2FDA1B561288__CSDBI" style="box-sizing: border-box;"><cite style="box-sizing: border-box;">Administering Oracle Database Cloud Service</cite></span>:</span></div>
<ul id="GUID-D33DC2E6-886A-45C4-98A0-2FDA1B561288__UL_R2C_52Z_42B" style="box-sizing: border-box; margin-bottom: 10px; margin-top: 0px;" xmlns:df="http://dita2indesign.org/dita/functions" xmlns:dita-ot="http://dita-ot.sourceforge.net/ns/201007/dita-ot" xmlns:enum="http://dita4publishers.org/enumerables" xmlns:htmlutil="http://dita4publishers.org/functions/htmlutil" xmlns:local="http//local/function" xmlns:relpath="http://dita2indesign/functions/relpath">
<li style="box-sizing: border-box;"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">For database deployments hosting a single-instance database, see <a href="https://www.oracle.com/pls/topic/lookup?ctx=en/cloud/paas/database-dbaas-cloud/csdbn&id=CSDBI-GUID-AFBAB8B1-0468-4634-AA6E-6EBA9D86037C" style="background-color: transparent; box-sizing: border-box; color: #226aa8; text-decoration-line: none;" target="_blank">Applying a Patch by Using the dbaascli Utility</a>.</span></div>
</li>
<li style="box-sizing: border-box;"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">For database deployments hosting an Oracle Data Guard configuration of single-instance databases, see <a href="https://www.oracle.com/pls/topic/lookup?ctx=en/cloud/paas/database-dbaas-cloud/csdbn&id=CSDBI-GUID-B30815FE-65CE-4688-8549-1FF1CEA10A70" style="background-color: transparent; box-sizing: border-box; color: #226aa8; text-decoration-line: none;" target="_blank">Applying a Patch by Using the dbpatchmdg Utility</a>.</span></div>
</li>
<li style="box-sizing: border-box;"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">For database deployments hosting an Oracle RAC database or Oracle Data Guard configuration of Oracle RAC databases, see <a href="https://www.oracle.com/pls/topic/lookup?ctx=en/cloud/paas/database-dbaas-cloud/csdbn&id=CSDBI-GUID-2E4712E6-DF6C-4D8C-B863-B2468E6E3525" style="background-color: transparent; box-sizing: border-box; color: #226aa8; text-decoration-line: none;" target="_blank">Applying a Patch by Using the raccli Utility</a> and provide the tag value for your database version:</span></div>
<ul id="GUID-D33DC2E6-886A-45C4-98A0-2FDA1B561288__UL_RQM_V2Z_42B" style="box-sizing: border-box; list-style-type: disc; margin-bottom: 0px; margin-top: 0px;">
<li style="box-sizing: border-box;"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; font-size: 15.4px; padding: 0px;">28297157</code> for Oracle Database Release 12.2</span></div>
</li>
<li style="box-sizing: border-box;"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; font-size: 15.4px; padding: 0px;">27968010</code> for Oracle Database Release 12.1</span></div>
</li>
<li style="box-sizing: border-box;"><div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; font-size: 15.4px; padding: 0px;">27967757</code> for Oracle Database Release 11.2</span></div>
</li>
</ul>
<div style="box-sizing: border-box; margin-bottom: 14px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Currently, you cannot use the <code class="codeph" style="background: inherit; border-radius: 4px; box-sizing: border-box; color: inherit; font-size: 15.4px; padding: 0px;">raccli</code> utility to apply this update to a deployment that hosts Oracle Database Release 18c.</span></div>
</li>
</ul>
</td></tr>
<tr align="left" style="border-bottom: 2px solid rgb(63, 63, 63); box-sizing: border-box; padding: 8px 6px; vertical-align: top;" valign="top"><td align="left" headers="d441e25 " id="d441e174" style="box-sizing: border-box; padding: 8px; word-wrap: break-word;" valign="top" width="30%"><div style="box-sizing: border-box;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Apr 2018 PSU, BP or RU integrated into base image for single-instance databases</span></div>
</td><td align="left" headers="d441e174 d441e27 " style="box-sizing: border-box; padding: 8px; word-wrap: break-word;" valign="top" width="70%"><div style="box-sizing: border-box;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">The April 2018 PSU (Patch Set Update), BP (Bundle Patch) or RU (Release Update), depending on Oracle Database version, is now integrated into the base image for new <span style="box-sizing: border-box;">Database Cloud Service</span>database deployments that host single-instance databases and Data Guard configurations with single-instance primary and standby databases. When you create such a database deployment, it will already include the PSU, BP or RU functionality</span>.</div>
</td></tr>
</tbody></table>
</div>
<div class="table-responsive" style="box-sizing: border-box; min-height: 0.01%; overflow-x: auto;">
<span style="color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="color: #333333; font-family: "arial" , "helvetica" , sans-serif;">Fuente: <a href="https://docs.oracle.com/en/cloud/paas/database-dbaas-cloud/csdbn/index.html#CSDBN-GUID-D33DC2E6-886A-45C4-98A0-2FDA1B561288">What's New for Oracle Database Cloud Service</a></span></div>
<div class="table-responsive" style="box-sizing: border-box; min-height: 0.01%; overflow-x: auto;">
<br /></div>
</div>
</div>
</div>
Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-36857037335882714332018-07-28T07:21:00.003-07:002018-07-28T07:26:59.643-07:00Agenda ODC Tour 2018 - Buenos Aires<div style="background-color: white; border: 0px; font-stretch: inherit; line-height: 1.5; margin-bottom: 1.5rem; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif;">Nuevamente los Grupos de Usuarios de la región y el apoyo de LAOUC organizamos el Oracle Developer Community Tour antes conocido como OTN Tour.</span><br />
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif;">Los Grupos de Usuarios de América Latina somos pioneros en la realización de esta iniciativa que se ha replicado en todo el mundo.</span><br />
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif;">El esperado encuentro ser desarrollará el día 9 de agosto en la Fundación UADE y con la participación de 21 speakers de nivel internacional difundiendo presentaciones de diversas áreas de interés: Base de Datos, Middleware, Java, MySQL, Virtualización, Linux, Docker, Cloud y Aplicaciones.</span><br />
<span style="color: #444444; font-family: "arial" , "helvetica" , sans-serif;">La agenda tentativa es la siguiente:</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdscfMH4j545C4zSU0tT_1tU_f6aXCkfIahpq4zT3c0S_31-wQ2APf8xKA8PTYN77HbvoxyKeJiiM-IK4Bbi5HUdJoRBqNho1YmKutggY7Jj3PvTn9HaEr-DPjYpugdU7INycF0weO2jc/s1600/2018-ODC-Tour-Agenda-Final-3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1376" data-original-width="1600" height="550" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdscfMH4j545C4zSU0tT_1tU_f6aXCkfIahpq4zT3c0S_31-wQ2APf8xKA8PTYN77HbvoxyKeJiiM-IK4Bbi5HUdJoRBqNho1YmKutggY7Jj3PvTn9HaEr-DPjYpugdU7INycF0weO2jc/s640/2018-ODC-Tour-Agenda-Final-3.jpg" width="640" /></a></div>
<div style="background-color: white; border: 0px; color: #444444; font-stretch: inherit; line-height: 1.5; margin-bottom: 1.5rem; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Inscripción <a href="https://www.eventbrite.com.ar/e/odc-tour-buenos-aires-tickets-47308474922">aqui</a></span><br />
<br /></div>
Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-11182830937207997582018-07-24T15:05:00.001-07:002018-07-24T15:09:56.390-07:00Privilegios necesarios para generar reportes AWR<span style="font-family: "arial" , "helvetica" , sans-serif;">Resulta bastante común que bajo ciertas situaciones
especiales, o en determinados proyectos, haya usuarios no administradores requieran la
posibilidad de ejecutar reportes AWR de una base de datos para analizar distintas cuestiones.</span><br />
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Para permitir esto, aplicando el principio de “mínimos
privilegios”, podemos construir un role de base de datos con los "grants" necesarios para poder generar los reportes, y asignarlo luego a los usuarios que lo necesiten.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Los privilegios necesarios para generar un reporte son los siguientes:</span><span style="font-family: inherit;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">grant select on <b>sys.v_$database</b> to rol_exec_awr;<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">grant select on <b>sys.v_$instance</b> to rol_exec_awr;<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">grant execute on <b>sys.dbms_workload_repository</b> to rol_exec_awr;<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">grant select on <b>sys.dba_hist_database_instance</b> to rol_exec_awr;<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">grant select on <b>sys.dba_hist_snapshot</b> to rol_exec_awr;<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Veamos un ejemplo de como hacerlo:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Vamos a crear primero un usuario </span><span style="font-family: "arial" , "helvetica" , sans-serif;">(awrusr)</span><span style="font-family: "arial" , "helvetica" , sans-serif;"> con privilegios de connect y resource para simular el usuario que
necesita correr los reportes AWR. </span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">[oracle@server01 ~]$
sqlplus / as sysdba<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> create user
awrusr identified by oracle<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>default tablespace users<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-tab-count: 1;"> </span>temporary tablespace temp;</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">User created.</span><br />
<a name='more'></a></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> grant
connect, resource to awrusr;<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Grant succeeded.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Una vez creado (y
sólo a modo de demostración) vamos a intentar ejecutar un reporte.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Nos conectamos con
el usuario e intentamos primero ver el historial de snaps:</span><span style="font-family: inherit;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">[oracle@server01 ~]$
sqlplus awrusr<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> select snap_id,
dbid, instance_number, end_interval_time<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>from<span style="mso-spacerun: yes;"> </span>dba_hist_snapshot<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>where
end_interval_time > trunc(sysdate-1)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>order
by<span style="mso-spacerun: yes;"> </span>snap_id;<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>from<span style="mso-spacerun: yes;"> </span><b style="mso-bidi-font-weight: normal;">dba_hist_snapshot</b><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>*<o:p></o:p></span></div>
<div class="MsoNormal">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: inherit;">ERROR at line 2:<o:p></o:p></span></b></div>
<div class="MsoNormal">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: inherit;">ORA-00942: table or view does not exist</span></b></div>
<div class="MsoNormal">
<o:p><span style="font-family: inherit;"></span></o:p></div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Enseguida vemos que el usuario no tiene acceso a la vista</span><br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> select *
from<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">table(sys.dbms_workload_repository.awr_report_html(1778878021,1,6108,6109));<span style="mso-spacerun: yes;"> </span>2<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">table(sys.<b style="mso-bidi-font-weight: normal;">dbms_workload_repository</b>.awr_report_html(1778878021,1,6108,6109))<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>*<o:p></o:p></span></div>
<div class="MsoNormal">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: inherit;">ERROR at line 2:<o:p></o:p></span></b></div>
<div class="MsoNormal">
<b style="mso-bidi-font-weight: normal;"><span style="font-family: inherit;">ORA-00904: : invalid identifier<o:p></o:p></span></b></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">De igual menera, tampoco puede ejecutar el package <b>dbms_workload_repository.</b></span><span style="font-family: inherit;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Si nos conectamos utlizando otra herramientas (por ejemplo SQL Developer), e intentamos
hacer lo mismo obeenemos el mismo resultado.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH9kyST9F96YViu7MFdsHvLX7Dl_jKc3msqBjO9rHs0oKkfVnL4BzfW3kpkBWHqUIH0WgiBaRa5oDWohei7M45eYWO1PDL3nD4xgbgOhT5rGaJmpWUSy6beuQJqVN36zQHN2pHE-gpn9I/s1600/img01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="287" data-original-width="617" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH9kyST9F96YViu7MFdsHvLX7Dl_jKc3msqBjO9rHs0oKkfVnL4BzfW3kpkBWHqUIH0WgiBaRa5oDWohei7M45eYWO1PDL3nD4xgbgOhT5rGaJmpWUSy6beuQJqVN36zQHN2pHE-gpn9I/s1600/img01.jpg" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Vamos entonces a crear el rol y dárselo al usuario:</span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Nos conectamos como SYSDBA y creamos el rol (awr_role) con los privilegios necesarios:</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">[oracle@server01 ~]$ sqlplus / as sysdba<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> create role awr_role;<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Role created.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL>grant select on sys.v_$database to awr_role;<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Grant succeeded.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL>grant select on sys.v_$instance to awr_role;<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Grant succeeded.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL>grant execute on sys.dbms_workload_repository to
awr_role;<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Grant succeeded.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> grant select on sys.dba_hist_database_instance to
awr_role;<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Grant succeeded.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> grant select on sys.dba_hist_snapshot to awr_role;<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Grant succeeded.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Finalmente “granteamos” el role creado al usuario:</span><span style="font-family: inherit;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> grant awr_role to awrusr;<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Grant succeeded.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Nos conectamos nuevamente con el usuario “awrusr” y repetimos la prueba de tratar de ver los snaps disponibles:</span><span style="font-family: inherit;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">[oracle@server01 ~]$ sqlplus awrusr/oracle<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> set linesize 250<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> select<span style="mso-spacerun: yes;">
</span>snap_id, dbid, instance_number, end_interval_time<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>from<span style="mso-spacerun: yes;"> </span>dba_hist_snapshot<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>where
end_interval_time > trunc(sysdate-1)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>order by<span style="mso-spacerun: yes;">
</span>snap_id;<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>SNAP_ID<span style="mso-spacerun: yes;"> </span>DBID INSTANCE_NUMBER END_INTERVAL_TIME<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">---------- ---------- ---------------
---------------------------------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6081
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
12.00.38.477 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6082
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
01.00.40.738 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6083
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
02.00.43.049 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6084
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
03.00.45.423 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6085
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
04.00.50.769 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6086
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
05.00.53.136 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6087
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
06.00.55.540 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6088
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
07.00.57.889 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6089
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
08.01.00.169 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6090
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
09.00.02.468 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6091
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
10.00.04.751 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6092
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
11.00.07.096 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6093
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
12.00.09.300 PM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6094
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
01.00.11.558 PM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6095
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
02.00.13.840 PM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6096
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
03.00.16.262 PM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6097
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
04.00.18.509 PM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6098
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
05.00.20.795 PM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6099
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
06.00.22.999 PM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6100
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
07.00.28.443 PM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6101
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
08.00.36.869 PM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6102
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
09.00.39.319 PM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6103
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
10.00.41.713 PM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6104
1778878021<span style="mso-spacerun: yes;"> </span>1 23-JUL-18
11.00.44.178 PM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6105
1778878021<span style="mso-spacerun: yes;"> </span>1 24-JUL-18
12.00.46.392 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6106
1778878021<span style="mso-spacerun: yes;"> </span>1 24-JUL-18
01.00.48.696 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6107
1778878021<span style="mso-spacerun: yes;"> </span>1 24-JUL-18
02.00.54.062 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6108
1778878021<span style="mso-spacerun: yes;"> </span>1 24-JUL-18
03.00.59.502 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6109
1778878021<span style="mso-spacerun: yes;"> </span>1 24-JUL-18
04.00.01.760 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6110
1778878021<span style="mso-spacerun: yes;"> </span>1 24-JUL-18
05.00.04.196 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6111
1778878021<span style="mso-spacerun: yes;"> </span>1 24-JUL-18
06.00.06.470 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6112
1778878021<span style="mso-spacerun: yes;"> </span>1 24-JUL-18
07.00.08.921 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6113
1778878021<span style="mso-spacerun: yes;"> </span>1 24-JUL-18
08.00.14.298 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6114
1778878021<span style="mso-spacerun: yes;"> </span>1 24-JUL-18
09.00.16.708 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6115
1778878021<span style="mso-spacerun: yes;"> </span>1 24-JUL-18
10.00.19.089 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6116
1778878021<span style="mso-spacerun: yes;"> </span>1 24-JUL-18
11.00.21.477 AM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6117
1778878021<span style="mso-spacerun: yes;"> </span>1 24-JUL-18
12.00.23.824 PM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6118
1778878021<span style="mso-spacerun: yes;"> </span>1 24-JUL-18
01.00.26.195 PM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6119
1778878021<span style="mso-spacerun: yes;"> </span>1 24-JUL-18
02.00.28.623 PM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6120
1778878021<span style="mso-spacerun: yes;"> </span>1 24-JUL-18
03.00.30.956 PM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6121
1778878021<span style="mso-spacerun: yes;"> </span>1 24-JUL-18
04.00.33.312 PM<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>6122
1778878021<span style="mso-spacerun: yes;"> </span>1 24-JUL-18
05.00.35.682 PM<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">42 rows selected<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Ahora si podemos hacerlo.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Por último, vamos a generar un reporte. Utilizaremos la siguiente sintaxis:</span><span style="font-family: inherit;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">select *<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"> from table(sys.dbms_workload_repository.awr_report_text(<i><dbid></i>,<i><instance_number></i>,<i><snapshot_id
begin</i>>,<i><snapshot_id eind></i>));</span><span style="font-family: inherit;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Al hacerlo desde SQL*Plus, debemos tener la precaución de
direccionar la salida a un archivo con “spool”. Podemos seleccionar la salida en
modo texto (awr_report_text) o HTML (awr_report_text) de acuerdo a nuestra
preferencias.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">En nuestro caso, prefiero modo texto ya que vamos a visualizarlo desde la linea de comando de un sistema operativo Unix.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">El output en SQL*Plus de nuestro ejemplo está truncado para facilitar la visualización, pero en el directorio
donde estamos posicionados encontraremos el file awr.out (nombre que pusimos en el spool) con el reporte completo.</span><span style="font-family: inherit;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> spoo awr.out<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> select * from
table(sys.dbms_workload_repository.awr_report_text(1778878021,1,6108,6109));<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OUTPUT<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">--------------------------------------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">WORKLOAD REPOSITORY report for<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">DB Name<span style="mso-spacerun: yes;"> </span>DB
Id<span style="mso-spacerun: yes;"> </span>Instance<span style="mso-spacerun: yes;"> </span>Inst Num Startup Time<span style="mso-spacerun: yes;"> </span>Release<span style="mso-spacerun: yes;">
</span>RAC<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">------------ ----------- ------------ --------
--------------- ----------- ---<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ORCL<span style="mso-spacerun: yes;">
</span>1778878021 ORCL1<span style="mso-spacerun: yes;"> </span>1
11-Jul-18 14:24 11.2.0.4.0<span style="mso-spacerun: yes;"> </span>YES<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Host Name<span style="mso-spacerun: yes;">
</span>Platform<span style="mso-spacerun: yes;">
</span>CPUs Cores Sockets Memory(GB)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">---------------- -------------------------------- ---- -----
------- ----------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">server01<span style="mso-spacerun: yes;"> </span>Linux
x86 64-bit<span style="mso-spacerun: yes;"> </span>16<span style="mso-spacerun: yes;"> </span>8<span style="mso-spacerun: yes;">
</span>2<span style="mso-spacerun: yes;"> </span>62.90<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>Snap
Id<span style="mso-spacerun: yes;"> </span>Snap Time<span style="mso-spacerun: yes;"> </span>Sessions Curs/Sess Instances<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>---------
------------------- -------- --------- ---------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Begin Snap:<span style="mso-spacerun: yes;"> </span>6108
24-Jul-18 03:00:59<span style="mso-spacerun: yes;"> </span>55<span style="mso-spacerun: yes;"> </span>1.6<span style="mso-spacerun: yes;"> </span>1<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>End Snap:<span style="mso-spacerun: yes;"> </span>6109 24-Jul-18 04:00:01<span style="mso-spacerun: yes;"> </span>57<span style="mso-spacerun: yes;">
</span>1.6<span style="mso-spacerun: yes;"> </span>1<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>Elapsed:<span style="mso-spacerun: yes;"> </span>59.04 (mins)<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>DB Time:<span style="mso-spacerun: yes;"> </span>0.20 (mins)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Load Profile<span style="mso-spacerun: yes;"> </span>Per Second<span style="mso-spacerun: yes;"> </span>Per Transaction<span style="mso-spacerun: yes;"> </span>Per Exec<span style="mso-spacerun: yes;">
</span>Per Call<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">~~~~~~~~~~~~~~~<span style="mso-spacerun: yes;">
</span>---------------<span style="mso-spacerun: yes;"> </span>---------------
--------- ---------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>DB Time(s):<span style="mso-spacerun: yes;"> </span>0.0<span style="mso-spacerun: yes;"> </span>0.3<span style="mso-spacerun: yes;"> </span>0.00<span style="mso-spacerun: yes;">
</span>0.00<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>DB
CPU(s):<span style="mso-spacerun: yes;"> </span>0.0<span style="mso-spacerun: yes;"> </span>0.3<span style="mso-spacerun: yes;"> </span>0.00<span style="mso-spacerun: yes;">
</span>0.00<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>Redo size
(bytes):<span style="mso-spacerun: yes;"> </span>640.8<span style="mso-spacerun: yes;"> </span>52,787.0<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>Logical read
(blocks):<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>14.0<span style="mso-spacerun: yes;"> </span>1,151.3<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>Block
changes:<span style="mso-spacerun: yes;"> </span>1.3<span style="mso-spacerun: yes;"> </span>106.5<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>Physical read
(blocks):<span style="mso-spacerun: yes;"> </span>0.0<span style="mso-spacerun: yes;"> </span>1.8<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Physical write (blocks):<span style="mso-spacerun: yes;"> </span>0.2<span style="mso-spacerun: yes;"> </span>19.8<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>Read IO
requests:<span style="mso-spacerun: yes;"> </span>0.0<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>1.8<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>Write IO
requests:<span style="mso-spacerun: yes;"> </span>0.2<span style="mso-spacerun: yes;"> </span>14.5<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>Read IO
(MB):<span style="mso-spacerun: yes;"> </span>0.0<span style="mso-spacerun: yes;"> </span>0.0<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>Write IO
(MB):<span style="mso-spacerun: yes;"> </span>0.0<span style="mso-spacerun: yes;"> </span>0.2<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>RAC GC blocks
received:<span style="mso-spacerun: yes;"> </span>0.0<span style="mso-spacerun: yes;"> </span>0.1<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>RAC GC blocks
served:<span style="mso-spacerun: yes;"> </span>0.0<span style="mso-spacerun: yes;"> </span>0.1<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>User
calls:<span style="mso-spacerun: yes;"> </span>1.3<span style="mso-spacerun: yes;"> </span>102.8<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>Parses
(SQL):<span style="mso-spacerun: yes;"> </span>1.1<span style="mso-spacerun: yes;"> </span>90.0<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>Hard parses
(SQL):<span style="mso-spacerun: yes;"> </span>0.0<span style="mso-spacerun: yes;"> </span>2.4<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>SQL Work Area
(MB):<span style="mso-spacerun: yes;"> </span>0.1<span style="mso-spacerun: yes;"> </span>6.5<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;">
</span>Logons:<span style="mso-spacerun: yes;"> </span>0.1<span style="mso-spacerun: yes;"> </span>4.4</span><o:p></o:p></div>
<br />
<br />
>>>>>>>>>>>>>>>>> continúa >>>>>>>>>>>>>>>>><br />
<br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">Espero les resulte de utilidad.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-24575790079074350552018-07-17T15:34:00.000-07:002018-07-17T15:35:35.567-07:00Oracle Critical Patch Update Advisory - Julio 2018<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjohuj_fEemYEkuJyCEeW735xde71u25nVIHcJSyeH2QVYvarhDp6ulazvWn-wfYiSmPXtpKoHboyCDGhrWiUhZW_BkNeryK6GNLDqwwyh1PUsDj1Q7gHKqsl8-YtIkycx_ikQm772bcHc/s1600/oracle_patch_update-680x400.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjohuj_fEemYEkuJyCEeW735xde71u25nVIHcJSyeH2QVYvarhDp6ulazvWn-wfYiSmPXtpKoHboyCDGhrWiUhZW_BkNeryK6GNLDqwwyh1PUsDj1Q7gHKqsl8-YtIkycx_ikQm772bcHc/s1600/oracle_patch_update-680x400.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="400" data-original-width="680" height="117" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjohuj_fEemYEkuJyCEeW735xde71u25nVIHcJSyeH2QVYvarhDp6ulazvWn-wfYiSmPXtpKoHboyCDGhrWiUhZW_BkNeryK6GNLDqwwyh1PUsDj1Q7gHKqsl8-YtIkycx_ikQm772bcHc/s200/oracle_patch_update-680x400.jpg" width="200" /></a></div>
<div class="MsoNormal">
<b style="color: #333333; font-family: arial, helvetica, sans-serif; font-size: 13.5px;">Julio 17, 2018</b><br />
<b style="color: #333333; font-family: arial, helvetica, sans-serif; font-size: 13.5px;"><br /></b></div>
<div class="MsoNormal">
<span style="color: #333333;"><span style="font-family: "arial" , "helvetica" , sans-serif;">The Critical Patch
Update for July 2018 was released on July 17th, 2018.<br />
Oracle strongly recommends applying the patches as soon as possible.<br />
<br />
If you are new to this process, please review Oracle's Security Fixing Policies
and the Critical Patch Update Advisory. After reviewing these resources, if you
are unable to determine if you require a software update, or how to apply it,
please contact Oracle Support. <br />
<br />
The Critical Patch Update Advisory is the starting point for relevant
information. <br />
It includes the list of products affected, pointers to obtain the patches, a
summary of the security vulnerabilities for each product suite, and links to
other important documents. Supported products that are not listed in the
"Affected Products and Components" section of the advisory do not
require new patches to be applied.<br />
<br />
Also, it is essential to review the Critical Patch Update supporting
documentation referenced in the Advisory before applying patches, as this is
where you can find important pertinent information.<br />
Critical Patch Update Advisories are available at the following location:</span></span></div>
<a name='more'></a><span style="font-family: "arial" , "helvetica" , sans-serif;">Oracle Technology Network: <a href="http://app.response.oracle-mail.com/e/er?elq_mid=117781&sh=0822252608071826132326152208082613230912293029070305&cmid=SPPT160711P00036C0002&s=1973398186&lid=303940&elqTrackId=ae643305bf5e4b43a07d04c28f1c859e&elq=d615510f31da412080ef43d499209b03&elqaid=117781&elqat=1" target="_blank">http://www.oracle.com/SecurityAlerts</a><br />
<br />
The Critical Patch Update Advisory for July 2018 is available at the following
location:<br />
<br />
Oracle Technology Network: <a href="http://app.response.oracle-mail.com/e/er?elq_mid=117781&sh=0822252608071826132326152208082613230912293029070305&cmid=SPPT160711P00036C0002&s=1973398186&lid=303939&elqTrackId=362fd4aa258c47b197a2ec96d29aa793&elq=d615510f31da412080ef43d499209b03&elqaid=117781&elqat=1" target="_blank">http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html</a><br />
<br />
Important information can also be found at: <a href="http://app.response.oracle-mail.com/e/er?elq_mid=117781&sh=0822252608071826132326152208082613230912293029070305&cmid=SPPT160711P00036C0002&s=1973398186&lid=217630&elqTrackId=aeffccd371014b578260be65c664b144&elq=d615510f31da412080ef43d499209b03&elqaid=117781&elqat=1" target="_blank">https://blogs.oracle.com/security/</a><br />
<br />
Oracle's Security Fixing Policies are available at the following location:<br />
<br />
<a href="http://app.response.oracle-mail.com/e/er?elq_mid=117781&sh=0822252608071826132326152208082613230912293029070305&cmid=SPPT160711P00036C0002&s=1973398186&lid=172133&elqTrackId=832f7d400a6a476a90867ba5ab82debe&elq=d615510f31da412080ef43d499209b03&elqaid=117781&elqat=1" target="_blank">http://www.oracle.com/support/assurance/vulnerability-remediation/security-fixing.html</a><br />
<br />
The next four dates for Critical Patch Updates are: <o:p></o:p></span><br />
<ul type="disc">
<li class="MsoNormal" style="color: #333333; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "arial" , "helvetica" , sans-serif;">October 16, 2018<o:p></o:p></span></li>
<li class="MsoNormal" style="color: #333333; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "arial" , "helvetica" , sans-serif;">January 15, 2019<o:p></o:p></span></li>
<li class="MsoNormal" style="color: #333333; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "arial" , "helvetica" , sans-serif;">April 16, 2019<o:p></o:p></span></li>
<li class="MsoNormal" style="color: #333333; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-family: "arial" , "helvetica" , sans-serif;">July 16, 2019</span><span style="font-family: "arial" , sans-serif; font-size: 9pt;"><o:p></o:p></span></li>
</ul>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html">Oracle Critical Patch Update Advisory - April 2018</a></span><br />
<br />Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-56112588528808582772018-07-09T06:56:00.000-07:002018-07-24T10:44:48.391-07:00ODC (Oracle Developer Community) Tour 2018 - Argentina<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="background-color: white; font-family: "Benton Sans", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Helvetica, Tahoma, Arial, sans-serif; font-size: 15px; letter-spacing: 0.5px; padding: 0px;">
<span style="color: #222222; font-family: arial, helvetica, sans-serif; letter-spacing: normal; text-align: justify;">El próximo 9 de Agosto llega a la Argentina (Buenos Aires) la primera edición del </span><span style="font-family: arial, helvetica, sans-serif;">ODC (Oracle Developer Community) Tour</span><span style="color: #222222; font-family: arial, helvetica, sans-serif; letter-spacing: normal; text-align: justify;">, que no es más ni menos que la evolución renovada del clásico </span><span style="font-family: arial, helvetica, sans-serif;">OTN Tour, el cual desde hace ya varios años se viene realizando en nuestro país, organizado por </span><a href="http://aroug.org/" style="font-family: arial, helvetica, sans-serif;">AROUG (Grupo de usuarios Oracle de Argentina)</a><span style="font-family: arial, helvetica, sans-serif;">. Como siempre, vas a encontrar los mejores especialistas del mundo en las diversas tecnologías Oracle:</span></div>
<div style="background-color: white; letter-spacing: 0.5px; padding: 0px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="padding-top: 0px;">Bases de datos, M</span>iddleware,Security, Integration, Big Data, BI & Analytics, Developer tools (Java, APEX, PL/Sql, Microservices, Chatbots), Devops (Containers, etc), Open Source, Applications, etc.</span></div>
<div style="background-color: white; letter-spacing: 0.5px; padding: 0px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="background-color: white; letter-spacing: 0.5px; padding: 0px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">En esta oportunidad el evento se realizará en:</span></div>
<div style="background-color: white; padding: 0px;">
<span style="letter-spacing: 0.5px;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><b>Fundación UADE, Lima 775, C1073AAO CABA</b></span></span></div>
<a name='more'></a><br />
<div style="background-color: white; padding: 0px;">
<div class="separator" style="clear: both; text-align: center;">
<span style="background-color: transparent; font-family: "arial"; font-size: 20pt; margin-left: 1em; margin-right: 1em; vertical-align: baseline; white-space: pre-wrap;"><img src="https://lh4.googleusercontent.com/4ZBrQwQD0qdjPYKqkTW2pA1tnEbidHoglJrioXruZvCw8secIK4Ae1xd2b0PaXs_VdU6zLQPoZOMW_-FosEWDBpm50TZbPe7Yd-BumdmVQZMNotVpfMW7QWCezO7wcR_adQO4E8T" style="border: none; transform: rotate(0rad);" /></span></div>
<span id="docs-internal-guid-3a1b4a6f-7f4d-d74e-c57d-6176e698afea"></span></div>
<div style="background-color: white; font-family: "Benton Sans", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Helvetica, Tahoma, Arial, sans-serif; font-size: 15px; letter-spacing: 0.5px; padding: 0px;">
<br /></div>
<div style="background-color: white; letter-spacing: 0.5px; padding: 10px 0px 0px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Desde <u>6 de Julio</u>, ya se encuentra abierta la inscripción y puedes realizarla desde este <a href="https://www.eventbrite.com.ar/e/odc-tour-buenos-aires-tickets-47308474922">link</a> </span></div>
<div style="background-color: white; letter-spacing: 0.5px; padding: 10px 0px 0px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Agenda y Speakers:</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-left: 18pt; margin-top: 3pt;">
</div>
<ul>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="font-family: "arial" , "helvetica" , sans-serif;">Daniel Bozzo</span><span style="font-family: "arial" , "helvetica" , sans-serif;">lo (Apex)</span></span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">José Manuel Preda (Apex)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Alexis Lopez (Dev Java)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Connor MacDonald (Dev PLSQL)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Edelweiss Kammermann (Analytics/BI)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Gerald Venzl (DevOps/Dev PLSQL)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Nelson Calero (DevOps)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Rolando Carrasco (Dev Java)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Jim Czuprynski (Analytics/BI)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Marc Sewtz (Apex)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Gustavo Gonzalez (DevOps)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Hector Vieyra (DBA)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Byron Motta (DBA)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Pablo Sainz Albanez (DBA)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Cris Pedregal (DBA)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Facundo Ezequiel Grande (DBA)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Rita Nuñez (DBA)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Michel Schildmeijer (Analytics/BI)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Cesar Advíncula Ormeño (Analytics/BI)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Hillmer Chona (Dev Java)</span></li>
<li><span style="font-family: "arial" , "helvetica" , sans-serif;">Lisandro Fernigrini (Dev PLSQL)</span></li>
</ul>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-61945752830271254542018-06-29T14:15:00.004-07:002018-06-29T14:20:30.497-07:00Como verificar, habilitar y deshabilitar paralelismo SQL a nivel sesión<span style="font-family: "arial" , "helvetica" , sans-serif;">Para saber si está habilitada o no la ejecución de sentencias
SQL con paralelismo en nuestra sesión,</span><span style="font-family: "arial" , "helvetica" , sans-serif;">
</span><span style="font-family: "arial" , "helvetica" , sans-serif;">podemos consultar la vista v$session. Con sentencias SQL me refiero a operaciones
DDL, DML o consultas (queries). Necesitamos como mínimo tener privilegios de
<i>select_catalog_role</i> o SELECT sobre la vista para poder hacerlo.</span><br />
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Los campos que nos muestran la información necesaria son:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><b>PDML_ENABLED y <span style="mso-spacerun: yes;"> </span>PDML_STATUS:</b> Indican si las operaciones DML en
paralelo esta habilitadas o no (ENABLE/DISABLE). Por defecto están
deshabilitadas (DISABLED).<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><b>PDDL_STATUS:</b> Indica si está habilitado o no (ENABLE/DISABLE)
<span style="mso-spacerun: yes;"> </span>el paralelismo para sentencias DDL. Por
defecto está habilitado (ENABLED).<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><b>PQ_STATUS</b>: Indica si el “parallel query” está habilitado o deshabilitado
(ENABLE/DISABLE). <span style="mso-spacerun: yes;"> </span>Por defecto está habilitado
(ENABLED)<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Veamos un ejemplo de como consultar la vista:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> select PDML_ENABLED, PDML_STATUS, PDDL_STATUS,
PQ_STATUS <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>from
v$session where sid = (select sid from v$mystat where rownum = 1);<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PDML_ENABLED PDML_STATUS PDDL_STATUS PQ_STATUS<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">------------ ----------- ----------- ---------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">NO
DISABLED ENABLED ENABLED</span></div>
<a name='more'></a><br />
<div class="MsoNormal">
<o:p><span style="font-family: "arial" , "helvetica" , sans-serif;"> </span></o:p><span style="font-family: "arial" , "helvetica" , sans-serif;">Si queremos habilitar o deshabilitar alguna de las opciones,
podemos hacerlo a nivel sesión con <i>“alter session”</i></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">En el siguiente ejemplo habilitamos parallel DML que por
default viene deshabilitado:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> alter session enable parallel dml;<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Session altered</span><span style="font-family: "arial" , "helvetica" , sans-serif;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Si verificamos nuevamente:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> select PDML_ENABLED, PDML_STATUS, PDDL_STATUS,
PQ_STATUS<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> f</span>rom
v$session where sid = (select sid from v$mystat where rownum = 1);<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PDML_ENABLED PDML_STATUS PDDL_STATUS PQ_STATUS<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">------------ ----------- ----------- ---------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><b>YES
ENABLED</b> ENABLED ENABLED </span><span style="font-family: "arial" , "helvetica" , sans-serif;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Vemos que PDML_ENABLED está en YES y PDML_STATUS en
ENABLED.<span style="mso-spacerun: yes;"> </span>Ahora todo el paralelismo está
habilitado (DDL, DML, query).<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Si queremos <span style="mso-spacerun: yes;"> </span>deshabilitar alguna <span style="mso-spacerun: yes;"> </span>o todas las opciones:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><u>Deshabilitar “Parallel DML”</u><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> alter session disable parallel dml;<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Session altered.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> select PDML_ENABLED, PDML_STATUS, PDDL_STATUS,
PQ_STATUS<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>from
v$session where sid = (select sid from v$mystat where rownum = 1);<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PDML_ENABLED PDML_STATUS PDDL_STATUS PQ_STATUS<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">------------ ----------- ----------- ---------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><b>NO<span style="mso-spacerun: yes;">
</span>DISABLED</b><span style="mso-spacerun: yes;"> </span>ENABLED<span style="mso-spacerun: yes;"> </span>ENABLED<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><u>Deshabilitar “Parallel DDL”</u><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> alter session disable parallel ddl;<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Session altered.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> select PDML_ENABLED, PDML_STATUS, PDDL_STATUS,
PQ_STATUS<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>from
v$session where sid = (select sid from v$mystat where rownum = 1);<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PDML_ENABLED PDML_STATUS PDDL_STATUS PQ_STATUS<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">------------ ----------- ----------- ---------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">NO
DISABLED <b>DISABLED</b> ENABLED</span><span style="font-family: "arial" , "helvetica" , sans-serif;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><u>Deshabilitar “Parallel Query”</u><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> alter session disable parallel query;<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Session altered.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> select PDML_ENABLED, PDML_STATUS, PDDL_STATUS,
PQ_STATUS<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><span style="mso-spacerun: yes;"> </span>from
v$session where sid = (select sid from v$mystat where rownum = 1);<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PDML_ENABLED PDML_STATUS PDDL_STATUS PQ_STATUS<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">------------ ----------- ----------- ---------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">NO DISABLED DISABLED
<b>DISABLED</b></span><o:p></o:p></div>
<br />Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0tag:blogger.com,1999:blog-3963062433478755247.post-47616201256777291482018-06-28T15:21:00.001-07:002018-06-28T15:22:59.057-07:00Restaurando versiones previas de estadísticas (optimizer statistics)<span style="font-family: arial, helvetica, sans-serif;">En ciertos casos, es probable que luego de una actualización
de estadísticas (en una o varias tablas y/o índices), el plan ejecución para
ciertas consultas puede llegar a variar, ocasionando una posible degradación de
la performance. Si bien está claro que las estadísticas “frescas” deberían a
ayudar al optimizador (CBO) a seleccionar el mejor plan de ejecución posible, no
siempre las cosas funciona de esta manera y por el contrario el rendimiento puede
llegar a verse afectado. Si esta situación ocurre en un ambiente productivo, es probable que no
tengamos mucho tiempo para analizar las causas
y determinar una posible solución.</span><br />
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Una buena opción para intentar <span style="mso-spacerun: yes;"> </span>revertir el problema de manera rápida, es
restaurar las estadísticas a valores previos. <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Para esto, a partir de la versión 10g de Oracle Database,
cuando nuevas estadísticas son tomadas en un objeto, los valores de la estadísticas
anteriores son conservadas para que en el caso de ser necesario puedan ser
restaurados. <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Por defecto, el tiempo de retención de 31 días. Esto
significa que serán conservadas todas las estadísticas tomadas durante ese
periodo.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Podemos verificarlo con la siguiente consulta:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> select DBMS_STATS.GET_STATS_HISTORY_RETENTION from
dual;<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">GET_STATS_HISTORY_RETENTION<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">---------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">
31</span><span style="font-family: "arial" , "helvetica" , sans-serif;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Si queremos modificar este tiempo de retención, podemos hacerlo
ejecutando el siguiente procedimiento:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span class="kmcontent"><span style="font-family: inherit;"><span style="color: black;">SQL> execute
DBMS_STATS.ALTER_STATS_HISTORY_RETENTION (XXXX)</span>;</span></span></div>
<div class="MsoNormal">
<span class="kmcontent"><span style="color: black;"><o:p><span style="font-family: "arial" , "helvetica" , sans-serif;"></span></o:p></span></span></div>
<a name='more'></a><br />
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span class="kmcontent"><span style="color: black;">XXXX es la
cantidad de días de retención. Cuando modificamos este valor a un rango mayor,
debemos contemplar que se sobrecarga el almacenamiento sobre el tablespace
SYSAUX, y es conveniente monitorearlo adecuadamente para que no se quede sin
espacio.</span></span><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Podemos verificar la cantidad de días disponibles con la
siguiente consulta:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> select DBMS_STATS.GET_STATS_HISTORY_AVAILABILITY
from dual;<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">GET_STATS_HISTORY_AVAILABILITY<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">-------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">25/05/18 22:03:48,581990000 -04:00</span><span style="font-family: "arial" , "helvetica" , sans-serif;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Aquí vemos que la fecha más antigua retenida es <span style="mso-spacerun: yes;"> </span>del 25/05/2018.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Para una tabla en particular (por ejemplo T1) podemos
ejecutar esta otra consulta:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> select TABLE_NAME, STATS_UPDATE_TIME from
dba_tab_stats_history where table_name = 'HELP';<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">TABLE_NAME<span style="mso-spacerun: yes;"> </span>STATS_UPDATE_TIME<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">------------------------------
-------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">T1
13/06/18 03:00:51,635660 -04:00</span><span style="font-family: "arial" , "helvetica" , sans-serif;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Vemos que la fecha más antigua para esta table es 13/06/18, si
intentamos restaurar a una fecha anterior (por ejemplo 60 días atrás) <span style="mso-spacerun: yes;"> </span>recibiremos el error: ORA-20006: Unable to
restore statistics , statistics history not available<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> execute DBMS_STATS.RESTORE_TABLE_STATS ('SD','T1',sysdate-60);<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">begin DBMS_STATS.RESTORE_TABLE_STATS
('SYSTEM','HELP',sysdate-60); end;<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ORA-20006: Unable to restore statistics , statistics history
not available<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ORA-06512: en "SYS.DBMS_STATS", línea 28286<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ORA-06512: en "SYS.DBMS_STATS", línea 28305<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">ORA-06512: en línea 1</span><span style="font-family: "arial" , "helvetica" , sans-serif;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Para cambiar el tiempo de retención simplemente debemos ejecutamos
el siguiente procedimiento del package DBMS_STATS:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> execute DBMS_STATS.ALTER_STATS_HISTORY_RETENTION
(60);<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">PL/SQL procedure successfully completed</span><span style="font-family: "arial" , "helvetica" , sans-serif;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">En este caso lo estamos aumentando a 60 dias.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Si volvemos a comprobar:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> select DBMS_STATS.GET_STATS_HISTORY_RETENTION from
dual;<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">GET_STATS_HISTORY_RETENTION<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">---------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">
60</span><span style="font-family: "arial" , "helvetica" , sans-serif;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Si bien el periodo de retención es ahora de 60 dias, las estadísticas
más antiguas siguen siendo de la misma fecha ya que no se han corridas nuevas.
Con las nuevas ejecuciones se seguirán acumulando entonces hasta llegar a 60
dias, llegado a ese límite se comenzaran a depurar las más antiguas que excedan
ese rango.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL> select DBMS_STATS.GET_STATS_HISTORY_AVAILABILITY
from dual;<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">GET_STATS_HISTORY_AVAILABILITY<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">-------------------------------------------------<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">25/05/18 22:03:48,581990000 -04:00<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Anteriormente vimos como restaurar estadísticas, existen
varias opciones de acuerdo al nivel (base de datos, esquema, objeto) y tipos de
objetos.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Aquí algunos ejemplos:<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: inherit;">execute DBMS_STATS.RESTORE_TABLE_STATS ('owner','table',date)<br />
execute
DBMS_STATS.RESTORE_DATABASE_STATS(date)<br />
execute
DBMS_STATS.RESTORE_DICTIONARY_STATS(date)<br />
execute
DBMS_STATS.RESTORE_FIXED_OBJECTS_STATS(date)<br />
execute
DBMS_STATS.RESTORE_SCHEMA_STATS('owner’, date)<br />
execute
DBMS_STATS.RESTORE_SYSTEM_STATS(date)</span><span style="font-family: "arial" , "helvetica" , sans-serif;"><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Siempre debemos indicar la fecha a la cual deseamos
restaurar las estadísticas.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Espero les resulte de utilidad.<o:p></o:p></span></div>
<br />Sebastián D'Alessandrohttp://www.blogger.com/profile/07048484026087995881noreply@blogger.com0