Parámetros de inicialización
Autonomous Database configura los parámetros de inicialización de base de datos de forma automática al aprovisionar una base de datos. No es necesario definir ningún parámetro de inicialización para empezar a utilizar el servicio. Sin embargo, puede modificar algunos parámetros si es necesario.
Lista de parámetros de inicialización que se pueden modificar
APPROX_FOR_AGGREGATION APPROX_FOR_COUNT_DISTINCT APPROX_FOR_PERCENTILE BLANK_TRIMMING (Allowed only with ALTER SYSTEM) CLIENT_PREFETCH_ROWS (see CLIENT_PREFETCH_ROWS CONSTRAINTS (Allowed only with ALTER SESSION) CONTAINER (Allowed only with ALTER SESSION) CONTAINER_DATA CURRENT_SCHEMA (Allowed only with ALTER SESSION) CURSOR_INVALIDATION (Allowed only with ALTER SESSION) CURSOR_SHARING DDL_LOCK_TIMEOUT DEFAULT_COLLATION (Allowed only with ALTER SESSION) DEFAULT_CREDENTIAL (Allowed only with ALTER SESSION) EDITION (Allowed only with ALTER SESSION) FIXED_DATE (Allowed only with ALTER SYSTEM) IGNORE_SESSION_SET_PARAM_ERRORS ISOLATION_LEVEL (Allowed only with ALTER SESSION) JOB_QUEUE_PROCESSES (Allowed only with ALTER SYSTEM) LDAP_DIRECTORY_ACCESS LOAD_WITHOUT_COMPILE MAX_IDLE_TIME (Allowed only with ALTER SYSTEM) MAX_STRING_SIZE (See Data Types for details) NLS_CALENDAR NLS_COMP NLS_CURRENCY NLS_DATE_FORMAT NLS_DATE_LANGUAGE NLS_DUAL_CURRENCY NLS_ISO_CURRENCY NLS_LANGUAGE NLS_LENGTH_SEMANTICS NLS_NCHAR_CONV_EXCP NLS_NUMERIC_CHARACTERS NLS_SORT NLS_TERRITORY NLS_TIME_FORMAT NLS_TIME_TZ_FORMAT NLS_TIMESTAMP_FORMAT NLS_TIMESTAMP_TZ_FORMAT OPTIMIZER_CAPTURE_SQL_QUARANTINE OPTIMIZER_IGNORE_HINTS OPTIMIZER_IGNORE_PARALLEL_HINTS OPTIMIZER_MODE OPTIMIZER_REAL_TIME_STATISTICS OPTIMIZER_USE_SQL_QUARANTINE PLSCOPE_SETTINGS PLSQL_CCFLAGS PLSQL_DEBUG PLSQL_OPTIMIZE_LEVEL PLSQL_WARNINGS QUERY_REWRITE_INTEGRITY READ_ONLY (Allowed only with ALTER SESSION) RECYCLE_BIN REMOTE_DEPENDENCIES_MODE RESULT_CACHE_INTEGRITY (See RESULT_CACHE_INTEGRITY) RESULT_CACHE_MODE (See RESULT_CACHE_MODE) SESSION_EXIT_ON_PACKAGE_STATE_ERROR (Allowed only with ALTER SYSTEM) See SESSION_EXIT_ON_PACKAGE_STATE_ERROR SKIP_UNUSABLE_INEDEXES SQL_TRACE (Allowed only with ALTER SESSION) See Perform SQL Tracing on Autonomous Database for details SQL_TRANSLATION_PROFILE (Allowed only with ALTER SESSION) STATISTICS_LEVEL (Allowed only with ALTER SESSION) SYSDATE_AT_DBTIMEZONE (See SYSDATE_AT_DBTIMEZONE Select a Time Zone for SYSDATE on Autonomous Database) TIMEZONE (Allowed only with ALTER SESSION)
Para obtener más información sobre los parámetros de inicialización, consulte Oracle Database Reference. Para obtener más información sobre TIME_ZONE
, consulte Oracle Database SQL Language Reference.
Para obtener más información sobre OPTIMIZER_IGNORE_HINTS
y OPTIMIZER_IGNORE_PARALLEL_HINTS
, consulte Gestión de estadísticas del optimizador en Autonomous Database.
- SESSION_EXIT_ON_PACKAGE_STATE_ERROR
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
habilita o deshabilita la gestión especial de paquetes PL/SQL con estado que se ejecutan en una sesión. - SYSDATE_AT_DBTIMEZONE Seleccione una zona horaria para SYSDATE en Autonomous Database
SYSDATE_AT_DBTIMEZONE
permite un manejo especial en una sesión para el valor de fecha y hora devuelto en las llamadas aSYSDATE
ySYSTIMESTAMP
. - CLIENT_PREFETCH_ROWS
Defina el parámetroCLIENT_PREFETCH_ROWS
para permitir a los clientes reducir el número de recorridos redondos necesarios al recuperar filas de un juego de resultados de consulta. - JOB_QUEUE_PROCESSES
Defina el parámetroJOB_QUEUE_PROCESSES
para especificar el número máximo de trabajadores de trabajo que se pueden crear para ejecutar trabajos de Oracle Scheduler (DBMS_SCHEDULER
). - RESULT_CACHE_INTEGRITY
Defina el parámetroRESULT_CACHE_INTEGRITY
para especificar si la caché de resultados considera las consultas que utilizan construcciones posiblemente no deterministas como candidatas para el almacenamiento en caché de resultados. - RESULT_CACHE_MODE
Defina el parámetroRESULT_CACHE_MODE
para especificar qué consultas se pueden seleccionar para almacenar juegos de resultados en la caché de resultados. Solo los planes de ejecución de consultas con el operador de caché de resultados intentarán leer o escribir en la caché de resultados.
Tema principal: Notas para usuarios que migran desde otras bases de datos Oracle
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
habilita o deshabilita la gestión especial de paquetes PL/SQL con estado que se ejecutan en una sesión.
Propiedad | Descripción |
---|---|
Tipo de Parámetro | Booleano |
Valor por defecto | FALSE |
Modificable | ALTER SYSTEM |
Rango de valores | TRUE | FALSE |
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
especifica la gestión de un paquete PL/SQL con estado que se ejecuta en una sesión. Cuando se modifica un paquete de este tipo, como durante el mantenimiento planificado de los objetos proporcionados por Oracle, las sesiones que tienen una instancia activa del paquete reciben el siguiente error cuando intentan ejecutar el paquete:
ORA-4068 existing state of package has been discarded
Sin embargo, es posible que el código de aplicación que reciba el error ORA-4068
no esté equipado para manejar este error con su lógica de reintentos.
La definición de SESSION_EXIT_ON_PACKAGE_STATE_ERROR
en TRUE
proporciona una gestión diferente para este caso. Cuando el valor de SESSION_EXIT_ON_PACKAGE_STATE_ERROR
es TRUE
, en lugar de solo emitir el error ORA-4068
cuando se descarta el estado del paquete, la sesión se cierra inmediatamente. Esto puede ser útil porque muchas aplicaciones pueden gestionar la terminación de sesión restableciendo de forma automática y transparente la conexión.
Tema principal: Parámetros de inicialización
SYSDATE_AT_DBTIMEZONE Seleccione una zona horaria para SYSDATE en Autonomous Database
SYSDATE_AT_DBTIMEZONE
permite un manejo especial en una sesión para el valor de fecha y hora devuelto en las llamadas a SYSDATE
y SYSTIMESTAMP
.
Según el valor de SYSDATE_AT_DBTIMEZONE
, puede ver la fecha y la hora según la zona horaria por defecto de Autonomous Database, la hora universal coordinada (UTC) o la zona horaria definida en la base de datos.
Propiedad | Descripción |
---|---|
Tipo de Parámetro | Booleano |
Valor por defecto | FALSE |
Modificable | ALTER SESSION , ALTER SYSTEM |
Rango de valores | TRUE | FALSE |
Zona horaria por defecto de Autonomous Database
La zona horaria por defecto de Autonomous Database es la hora universal coordinada (UTC) y, por defecto, las llamadas a SYSDATE
y SYSTIMESTAMP
devuelven la fecha y la hora en UTC.
Para cambiar la zona horaria de la base de datos, puede ejecutar la siguiente sentencia. En este ejemplo, se define la zona horaria de la base de datos como UTC-5
.
ALTER DATABASE SET TIME_ZONE='-05:00';
Para que se apliquen los cambios, debe reiniciar la instancia de Autonomous Database.
Después de definir la zona horaria de la base de datos, por defecto SYSDATE
y SYSTIMESTAMP
siguen devolviendo la fecha y la hora en formato UTC (el valor de SYSDATE_AT_DBTIMEZONE
es FALSE
por defecto). Si define SYSDATE_AT_DBTIMEZONE
en TRUE
en una sesión, SYSDATE
y SYSTIMESTAMP
devuelven la zona horaria de la base de datos.
Consulte Configuración de la zona horaria de la base de datos para obtener más información sobre el uso de la cláusula SET TIME_ZONE
con ALTER DATABASE
.
Uso de SYSDATE_AT_DBTIMEZONE en una sesión
Cuando el valor de SYSDATE_AT_DBTIMEZONE
es FALSE
en una sesión, las llamadas a SYSDATE
y SYSTIMESTAMP
devuelven valores basados en la zona horaria por defecto de Autonomous Database, hora universal coordinada (UTC).
Cuando el valor de SYSDATE_AT_DBTIMEZONE
es TRUE
en una sesión, las llamadas a SYSDATE
o SYSTIMESTAMP
devuelven la fecha y la hora según la zona horaria de la base de datos.
La definición de
SYSDATE_AT_DBTIMEZONE
en TRUE
solo afecta al uso de SYSDATE
y SYSTIMESTAMP
como operadores en SQL de aplicación (por ejemplo, en consultas, operaciones DML y CTAS). Al utilizar este parámetro, se recomienda que la zona horaria del cliente/sesión coincida con la zona horaria de la base de datos.
Ejemplo
En el siguiente ejemplo, se devuelven fechas y horas para dos zonas horarias diferentes, según el valor del parámetro SYSDATE_AT_DBTIMEZONE
:
SQL> SELECT DBTIMEZONE FROM DUAL;
DBTIMEZONE
_____________
-05:00
SQL> ALTER SESSION SET SYSDATE_AT_DBTIMEZONE=FALSE;
Session altered.
SQL> SELECT SYSTIMESTAMP FROM DUAL;
SYSTIMESTAMP
______________________________________
27-JAN-22 06.59.45.708082000 PM GMT
SQL> ALTER SESSION SET SYSDATE_AT_DBTIMEZONE=TRUE;
Session altered.
SQL> SELECT SYSTIMESTAMP FROM DUAL;
SYSTIMESTAMP
_________________________________________
27-JAN-22 02.14.47.578946000 PM -05:00
Cuando se ejecuta una consulta SYSDATE
o SYSTIMESTAMP
en la hoja de trabajo de SQL de Database Actions, el valor de fecha y hora que se devuelve es UTC (cuando el parámetro SYSDATE_AT_DBTIMEZONE
se define en TRUE
o FALSE
). Para obtener la zona horaria de la base de datos al trabajar en Database Actions, utilice TO_CHAR()
de la siguiente forma:
SQL> SELECT TO_CHAR(SYSTIMESTAMP,'YYYY-MM-DD"T"HH24:MI:SS TZH":"TZM') FROM DUAL;
TO_CHAR(SYSTIMESTAMP,'YYYY-MM-DD"T"HH24:MI:SSTZH":"TZM')
___________________________________________________________
2022-01-27T14:15:00 -05:00
Tema principal: Parámetros de inicialización
CLIENT_PREFETCH_ROWS
CLIENT_PREFETCH_ROWS
para permitir a los clientes reducir el número de recorridos redondos necesarios al recuperar filas de un juego de resultados de consulta.
CLIENT_PREFETCH_ROWS
especifica el número de filas que el controlador de cliente de Oracle debe recuperar previamente, sin realizar ningún cambio en la aplicación cliente. El controlador de cliente almacena en buffer las filas recuperadas previamente después de cada ejecución de consulta correcta y para cada solicitud de recuperación posterior enviada a la base de datos.
Este parámetro solo se aplica a los clientes que utilizan Oracle Call Interface (OCI) para conectarse a la base de datos.
Este parámetro solo se aplica a Oracle Instant Client/Oracle Database Client 19.17 (o posterior) y 21.8 (o posterior) para todas las plataformas.
Propiedad | Descripción |
---|---|
Tipo de Parámetro | Entero |
Sintaxis | CLIENT_PREFETCH_ROWS = integer |
Valor por defecto | 0 (solo se aplica la configuración del cliente)
|
Modificable | ALTER SYSTEM , ALTER SESSION |
Rango de valores | De 0 a UB4MAXVAL (4294967295 )
|
Básico | No |
El parámetro CLIENT_PREFETCH_ROWS
se puede definir con ALTER SESSION
o ALTER SYSTEM
. Si el valor del parámetro cambia mediante ALTER SESSION
, el nuevo valor entra en vigor para esa sesión específica en las siguientes recuperaciones de juegos de resultados. Si el valor del parámetro cambia mediante ALTER SYSTEM
, el nuevo valor se aplica a las sentencias que se ejecutan en conexiones creadas después del comando ALTER SYSTEM
.
Por ejemplo, si CLIENT_PREFETCH_ROWS
se define en 100 y una aplicación cliente solicita recuperar 10 filas, se devuelve un total de 110 filas al controlador de cliente. Las primeras 10 filas de las 110 filas se proporcionan a la aplicación y el controlador de cliente almacena internamente en buffer las 100 filas restantes. Las siguientes 10 filas se recuperan de la aplicación cliente, cada una con 10 filas por iteración de recuperación se puede satisfacer a partir de las 100 filas que el controlador de cliente almacena en buffer internamente. Este proceso reduce el número de recorridos en red necesarios hacia y desde la base de datos. En este ejemplo, en la 11a recuperación, se produce un nuevo recorrido de ida y vuelta de red y la base de datos devuelve el siguiente lote de 110 filas, siempre que el juego de resultados no se haya agotado y el ciclo se repita.
Notas para definir CLIENT_PREFETCH_ROWS
:
-
Cuando
CLIENT_PREFETCH_ROWS
se define en un valor distinto de cero, su valor tiene prioridad sobre el valorOCI_ATTR_PREFETCH_ROWS
por defecto para el recuento de filas de recuperación previa. -
Si el valor
OCI_ATTR_PREFETCH_ROWS
se define en un valor no por defecto, el valorCLIENT_PREFETCH_ROWS
se ignora para el recuento de filas de recuperación previa. -
Uso de
CLIENT_PREFETCH_ROWS
conOCIAttrSet()
:OCI_ATTR_PREFETCH_ROWS
define el número de filas de nivel superior que se van a recuperar previamente. El valor predeterminado es 1 fila. Sin embargo, si se defineCLIENT_PREFETCH_ROWS
, el número de filas de nivel superior que se van a recuperar previamente viene determinado por la siguiente prioridad:-
Si define el atributo
OCI_ATTR_PREFETCH_ROWS
mediante la funciónOCIAttrSet()
ooraaccess.xml
como valor '1', el valorCLIENT_PREFETCH_ROWS
del parámetro de inicialización de la base de datos tiene prioridad y determina el número de filas de nivel superior que se van a recuperar previamente. -
Si define el atributo
OCI_ATTR_PREFETCH_ROWS
mediante la funciónOCIAttrSet()
ooraaccess.xml
como valor 'x' distinto de 1, se recuperará previamente el número de filas de nivel superior 'x' y se ignorará el parámetro de inicialización de la base de datosCLIENT_PREFETCH_ROWS
. -
Si no define un valor
OCI_ATTR_PREFETCH_ROWS
medianteOCIAttrSet()
ooraaccess.xml
, el valorCLIENT_PREFETCH_ROWS
del parámetro de inicialización de la base de datos tiene prioridad y determina el número de filas de nivel superior que se van a recuperar previamente.
-
-
Uso de
CLIENT_PREFETCH_ROWS
conOCIAttrGet()
:La función
OCIAttrGet()
devuelve el juego de valores de fila de recuperación previa efectiva deOCI_ATTR_PREFETCH_ROWS
,oraaccess.xml
y el parámetro de inicialización de la base de datosCLIENT_PREFETCH_ROWS
. Si se define el valorOCI_ATTR_PREFETCH_MEMORY
, puede que el valor devuelto porOCIAttrGet()
no sea el valor de filas de recuperación previa final y que esté restringido al número máximo de filas permitido por el valor de memoria especificado por el atributoOCI_ATTR_PREFETCH_MEMORY
.
Consulte también:
-
Oracle Call Interface Developer's Guide para obtener más información sobre la recuperación de resultados y la configuración del recuento de recuperación previa.
Tema principal: Parámetros de inicialización
JOB_QUEUE_PROCESSES
JOB_QUEUE_PROCESSES
para especificar el número máximo de trabajadores de trabajos que se pueden crear para ejecutar trabajos de Oracle Scheduler (DBMS_SCHEDULER
).
Si se define el valor en 0, se desactivan los trabajos del planificador no proporcionados por Oracle.
Propiedad | Descripción |
---|---|
Tipo de Parámetro | Entero |
Sintaxis | JOB_QUEUE_PROCESSES = integer |
Valor por defecto |
El valor por defecto depende del recuento de ECPU (recuento de OCPU si la base de datos utiliza OCPU) y la configuración de la escala automática de ECPU (escala automática de OCPU si la base de datos utiliza OCPU). Consulte la tabla a continuación para ver información detallada. |
Modificable | ALTER SYSTEM |
Rango de valores |
Valor mínimo: El valor máximo depende del recuento de ECPU (recuento de OCPU si la base de datos utiliza OCPU) y la configuración de la escala automática de ECPU (escala automática de OCPU si la base de datos utiliza OCPU), como se muestra en la siguiente tabla. |
Los valores por defecto y máximos para JOB_QUEUE_PROCESSES
varían en función del modelo informático que utilice. Consulte Modelos de recursos informáticos en Autonomous Database para obtener más información.
Modelo informático | Valor por defecto y máximo con la escala automática desactivada | Valor por defecto y máximo con la escala automática activada |
---|---|---|
ECPU | 7,5 x recuento de ECPU | 22,5 x recuento de ECPU |
OCPU | 30 x recuento de OCPU | 90 x recuento de OCPU |
El coordinador de trabajos de Oracle Scheduler y los trabajadores del trabajo están controlados por el parámetro JOB_QUEUE_PROCESSES
. El programador ajusta automáticamente el número real de trabajadores de trabajos creados para los trabajos de Oracle Scheduler en función de varios factores, incluidos los recursos disponibles, la configuración del gestor de recursos y los trabajos en ejecución.
El valor por defecto para JOB_QUEUE_PROCESSES
ofrece un compromiso entre la calidad del servicio para las aplicaciones y el uso razonable de los recursos del sistema. Sin embargo, es posible que el valor por defecto no se adapte a todos los entornos.
Al definir el valor de JOB_QUEUE_PROCESSES
en 0, se desactivan los trabajos del planificador no proporcionados por Oracle. Cuando JOB_QUEUE_PROCESSES
está definido en 0
, no se desactivan los trabajos internos para los usuarios proporcionados por Oracle (los trabajos relacionados con el servicio ejecutados por los usuarios proporcionados por Oracle siguen programados).
Los usuarios proporcionados por Oracle son usuarios marcados como ORACLE_MAINTAINED
con el valor Y
. Los usuarios no proporcionados por Oracle son usuarios marcados como ORACLE_MAINTAINED
con el valor N
.
Consulte ALL_USERS para obtener más información.
Tema principal: Parámetros de inicialización
RESULT_CACHE_INTEGRITY
Defina el parámetro RESULT_CACHE_INTEGRITY
para especificar si la caché de resultados considera las consultas que utilizan construcciones posiblemente no deterministas como candidatas para el almacenamiento en caché de resultados.
Propiedad | Descripción |
---|---|
Tipo de Parámetro | Cadena |
Sintaxis | RESULT_CACHE_INTEGRITY = { ENFORCED | TRUSTED } |
Valor por defecto |
Para Autonomous Database, el valor por defecto es: |
Modificable | ALTER SYSTEM |
Valores
-
ENFORCED
: independientemente de la configuración deRESULT_CACHE_MODE
o de las indicaciones especificadas, solo las construcciones deterministas son elegibles para el almacenamiento en caché de resultados. Por ejemplo, las consultas que utilizan funciones PL/SQL que no se declaran como deterministas nunca se almacenan en caché (a menos que las funciones se declaren como deterministas, los resultados de la consulta con dichas funciones no se almacenarán en caché). -
TRUSTED
: la base de datos respeta el valor deRESULT_CACHE_MODE
y las indicaciones especificadas y considerará las consultas que utilicen construcciones posiblemente no deterministas como candidatos para el almacenamiento en caché de resultados. Por ejemplo, las consultas que utilizan funciones PL/SQL que no se declaran como deterministas se pueden almacenar en caché. Sin embargo, tenga en cuenta que los resultados que se sabe que no son deterministas no se almacenan en caché (por ejemplo,SYSDATE
o construcciones que implicanSYSDATE
).
Tema principal: Parámetros de inicialización
RESULT_CACHE_MODE
Defina el parámetro RESULT_CACHE_MODE
para especificar qué consultas se pueden seleccionar para almacenar juegos de resultados en la caché de resultados. Solo los planes de ejecución de consultas con el operador de caché de resultados intentarán leer o escribir en la caché de resultados.
Propiedad | Descripción |
---|---|
Tipo de Parámetro | Cadena |
Sintaxis | RESULT_CACHE_MODE = { MANUAL | MANUAL_TEMP | FORCE | FORCE_TEMP } |
Valor por defecto |
Para Autonomous Database con el tipo de carga de trabajo definido en Data Warehouse: Para los tipos de carga de trabajo Procesamiento de transacciones, JSON o APEX: |
Modificable | ALTER SESSION , ALTER SYSTEM |
Consulte RESULT_CACHE_MODE para obtener más información.
- Uso de Indicaciones de Caché de Resultados SQL
Utilice indicaciones de caché de resultados en el nivel de aplicación para controlar el comportamiento de caché. Las indicaciones de la caché de resultados SQL tienen prioridad sobre el modo de caché de resultados y las anotaciones de la tabla de caché de resultados.
Tema principal: Parámetros de inicialización
Uso de Indicaciones de Caché de Resultados SQL
Utilizar indicaciones de caché de resultados a nivel de aplicación para controlar el comportamiento de caché. Las indicaciones de la caché de resultados SQL tienen prioridad sobre el modo de caché de resultados y las anotaciones de la tabla de caché de resultados.
Puede utilizar indicaciones de caché de resultados SQL de las siguientes formas:
-
Uso de la Indicación
RESULT_CACHE
-
Uso de la Indicación
NO_RESULT_CACHE
-
Uso de la Indicación
RESULT_CACHE
en Vistas
Uso de la Indicación RESULT_CACHE
Cuando el modo de caché de resultados es MANUAL
, la indicación /*+ RESULT_CACHE */
indica a la base de datos que almacene en caché los resultados de un bloque de consultas y que utilice los resultados en caché en futuras ejecuciones.
Consulte Uso de la Indicación RESULT_CACHE para obtener más información.
Uso de la Indicación NO_RESULT_CACHE
La indicación /*+ NO_RESULT_CACHE */
indica a la base de datos que no almacene en caché los resultados en las cachés de resultados del servidor o del cliente.
Consulte Uso de la Indicación NO_RESULT_CACHE para obtener más información.
Uso de la Indicación RESULT_CACHE
en Vistas
La indicación RESULT_CACHE
solo se aplica al bloque de consulta en el que se especifica la indicación. Si la indicación se especifica sólo en una vista, sólo se almacenan en caché estos resultados.
Consulte Uso de la Indicación RESULT_CACHE en Vistas para obtener más información.
Tema principal: RESULT_CACHE_MODE