Parametri di inizializzazione
Autonomous Database configura automaticamente i parametri di inizializzazione del database quando si esegue il provisioning di un database. Non è necessario impostare parametri di inizializzazione per iniziare a utilizzare il servizio. Tuttavia, è possibile modificare alcuni parametri, se necessario.
Parametri di inizializzazione modificabili
La tabella seguente mostra i parametri di inizializzazione modificabili solo con ALTER SESSION
.
Modificabile solo con ALTER SESSION | Ulteriori informazioni |
---|---|
CONSTRAINTS |
|
CONTAINER |
|
CURRENT_SCHEMA |
|
CURSOR_INVALIDATION |
CURSOR_INVALIDATION |
DEFAULT_COLLATION |
|
DEFAULT_CREDENTIAL |
|
EDITION |
|
ISOLATION_LEVEL |
|
JSON_BEHAVIOR |
Questo parametro è applicabile solo a Oracle Database 23ai. Per ulteriori informazioni, vedere JSON_BEHAVIOR. |
JSON_EXPRESSION_CHECK |
JSON_EXPRESSION_CHECK |
OPTIMIZER_SESSION_TYPE |
|
OPTIMIZER_USE_INVISIBLE_INDEXES |
|
READ_ONLY |
|
SQL_TRACE |
Per i dettagli, vedere Esegui SQL Tracing su Autonomous Database |
|
|
SQL_TRANSPILER |
Questo parametro è applicabile solo a Oracle Database 23ai. Per ulteriori informazioni, vedere SQL_TRANSPILER. |
STATISTICS_LEVEL |
STATISTICS_LEVEL |
TIME_ZONE |
Per ulteriori informazioni su |
XML_PARAMS |
Questo parametro è applicabile solo a Oracle Database 23ai. Per ulteriori informazioni, vedere XML_PARAMS. |
La tabella seguente mostra i parametri di inizializzazione modificabili solo con ALTER SYSTEM
.
Modificabile solo con ALTER SYSTEM | Ulteriori informazioni |
---|---|
BLANK_TRIMMING |
BLANK_TRIMMING |
FIXED_DATE |
FIXED_DATE |
JOB_QUEUE_PROCESSES |
JOB_QUEUE_PROCESSES |
LOCKDOWN_ERRORS |
Per informazioni dettagliate, vedere LOCKDOWN_ERRORS |
MAX_IDLE_BLOCKER_TIME |
MAX_IDLE_BLOCKER_TIME Con un valore superiore a 5, il parametro agisce come se fosse impostato su 5 |
MAX_IDLE_TIME |
MAX_IDLE_TIME Per impostazione predefinita, |
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
|
La tabella seguente mostra i parametri di inizializzazione modificabili con ALTER SESSION
o ALTER SYSTEM
.
Modificabile con ALTER SESSION o ALTER SYSTEM | Ulteriori informazioni |
---|---|
APPROX_FOR_AGGREGATION |
APPROX_FOR_AGGREGATION |
APPROX_FOR_COUNT_DISTINCT |
APPROX_FOR_COUNT_DISTINCT |
APPROX_FOR_PERCENTILE |
APPROX_FOR_PERCENTILE |
CLIENT_PREFETCH_ROWS |
Vedere CLIENT_PREFETCH_ROWS |
CONTAINER_DATA |
CONTAINER_DATA |
CURSOR_SHARING |
CURSOR_SHARING |
DDL_LOCK_TIMEOUT |
DDL_LOCK_TIMEOUT |
GROUP_BY_POSITION |
|
GROUP_BY_POSITION_ENABLED |
Questo parametro è applicabile solo a Oracle Database 23ai. Per ulteriori informazioni, vedere GROUP_BY_POSITION_ENABLED |
HEAT_MAP |
HEAT_MAP |
IGNORE_SESSION_SET_PARAM_ERRORS |
IGNORE_SESSION_SET_PARAM_ERRORS |
LDAP_DIRECTORY_ACCESS |
LDAP_DIRECTORY_ACCESS |
LOAD_WITHOUT_COMPILE |
|
MAX_STRING_SIZE
|
Per i dettagli, vedere Tipi di dati. |
NLS_CALENDAR
|
NLS_CALENDAR |
NLS_COMP |
NLS_COMP |
NLS_CURRENCY
|
NLS_CURRENCY |
NLS_DATE_FORMAT |
NLS_DATE_FORMAT |
NLS_DATE_LANGUAGE
|
NLS_DATE_LANGUAGE |
NLS_DUAL_CURRENCY
|
NLS_DUAL_CURRENCY |
NLS_ISO_CURRENCY
|
NLS_ISO_CURRENCY |
NLS_LANGUAGE
|
NLS_LANGUAGE |
NLS_LENGTH_SEMANTICS |
NLS_LENGTH_SEMANTICS |
NLS_NCHAR_CONV_EXCP
|
NLS_NCHAR_CONV_EXCP |
NLS_NUMERIC_CHARACTERS
|
NLS_NUMERIC_CHARACTERS |
NLS_SORT |
NLS_SORT |
NLS_TERRITORY |
NLS_TERRITORY |
NLS_TIME_FORMAT |
|
NLS_TIME_TZ_FORMAT
|
|
NLS_TIMESTAMP_FORMAT |
NLS_TIMESTAMP_FORMAT |
NLS_TIMESTAMP_TZ_FORMAT |
NLS_TIMESTAMP_TZ_FORMAT |
OPTIMIZER_CAPTURE_SQL_QUARANTINE
|
OPTIMIZER_CAPTURE_SQL_QUARANTINE |
OPTIMIZER_IGNORE_HINTS
|
Per ulteriori informazioni su |
OPTIMIZER_IGNORE_PARALLEL_HINTS |
Per ulteriori informazioni su |
OPTIMIZER_MODE |
OPTIMIZER_MODE |
OPTIMIZER_REAL_TIME_STATISTICS
|
OPTIMIZER_REAL_TIME_STATISTICS |
OPTIMIZER_USE_SQL_QUARANTINE |
OPTIMIZER_USE_SQL_QUARANTINE |
PLSCOPE_SETTINGS |
PLSCOPE_SETTINGS |
PLSQL_CCFLAGS |
PLSQL_CCFLAGS |
PLSQL_DEBUG |
PLSQL_DEBUG |
PLSQL_IMPLICIT_CONVERSION_BOOL |
Questo parametro è applicabile solo a Oracle Database 23ai. Vedere PLSQL_IMPLICIT_CONVERSION_BOOL |
PLSQL_OPTIMIZE_LEVEL |
PLSQL_OPTIMIZE_LEVEL |
PLSQL_WARNINGS |
PLSQL_WARNINGS |
QUERY_REWRITE_INTEGRITY |
QUERY_REWRITE_INTEGRITY |
RECYCLEBIN
|
CESTINO |
REMOTE_DEPENDENCIES_MODE |
REMOTE_DEPENDENCIES_MODE |
RESULT_CACHE_INTEGRITY |
Vedere RESULT_CACHE_INTEGRITY |
RESULT_CACHE_MODE |
Vedere RESULT_CACHE_MODE |
SKIP_UNUSABLE_INEDEXES |
|
SQL_HISTORY_ENABLED |
Questo parametro è disponibile a partire da Oracle Database 23ai. Per ulteriori informazioni, vedere SQL_HISTORY_ENABLED. |
SYSDATE_AT_DBTIMEZONE |
Vedere SYSDATE_AT_DBTIMEZONE Selezionare un fuso orario per SYSDATE su Autonomous Database |
XML_CLIENT_SIDE_DECODING |
Vedere XML_CLIENT_SIDE_DECODING |
Per ulteriori informazioni sui parametri di inizializzazione, vedere Oracle Database Reference.
- SESSION_EXIT_ON_PACKAGE_STATE_ERROR
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
abilita o disabilita la gestione speciale per i package PL/SQL con conservazione dello stato in esecuzione in una sessione. - SYSDATE_AT_DBTIMEZONE Selezionare un fuso orario per SYSDATE su Autonomous Database
SYSDATE_AT_DBTIMEZONE
consente la gestione speciale in una sessione per il valore di data e ora restituito nelle chiamate aSYSDATE
eSYSTIMESTAMP
. - CLIENT_PREFETCH_ROWS
Impostare il parametroCLIENT_PREFETCH_ROWS
per consentire ai client di ridurre il numero di roundtrip richiesti durante il recupero delle righe di un set di risultati della query. - JOB_QUEUE_PROCESSES
Impostare il parametroJOB_QUEUE_PROCESSES
per specificare il numero massimo di job worker che è possibile creare per eseguire i job di Oracle Scheduler (DBMS_SCHEDULER
). - LOCKDOWN_ERRORS
Impostare il parametroLOCKDOWN_ERRORS
per controllare se gli errori del profilo di lockdown di Autonomous Database vengono generati o ignorati. - RESULT_CACHE_INTEGRITY
Impostare il parametroRESULT_CACHE_INTEGRITY
per specificare se la cache dei risultati considera le query utilizzando possibili costrutti non deterministici come candidati per l'inserimento dei risultati nella cache. - RESULT_CACHE_MODE
Impostare il parametroRESULT_CACHE_MODE
per specificare le query idonee a memorizzare i set di risultati nella cache dei risultati. Solo i piani di esecuzione delle query con l'operatore della cache dei risultati tenteranno di leggere o scrivere nella cache dei risultati.
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
abilita o disabilita la gestione speciale per i package PL/SQL con conservazione dello stato in esecuzione in una sessione.
Property | Descrizione |
---|---|
Tipo di parametro | Boolean |
Valore predefinito | FALSE |
Modificabile | ALTER SYSTEM |
Intervallo di valore | TRUE | FALSE |
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
specifica la gestione di un package PL/SQL con conservazione dello stato in esecuzione in una sessione. Quando un package viene modificato, ad esempio durante la manutenzione pianificata per gli oggetti forniti da Oracle, le sessioni che dispongono di un'istanza attiva del package ricevono il seguente errore quando tentano di eseguire il package:
ORA-4068 existing state of package has been discarded
Tuttavia, il codice dell'applicazione che riceve l'errore ORA-4068
potrebbe non essere in grado di gestire questo errore con la logica dei nuovi tentativi.
L'impostazione di SESSION_EXIT_ON_PACKAGE_STATE_ERROR
su TRUE
fornisce una gestione diversa per questo caso. Quando SESSION_EXIT_ON_PACKAGE_STATE_ERROR
è TRUE
, invece di generare l'errore ORA-4068
quando lo stato del pacchetto viene eliminato, la sessione esce immediatamente. Questo può essere vantaggioso perché molte applicazioni sono in grado di gestire l'interruzione della sessione ristabilendo automaticamente e in modo trasparente la connessione.
Argomento padre: Parametri di inizializzazione
SYSDATE_AT_DBTIMEZONE Selezionare un fuso orario per SYSDATE su Autonomous Database
SYSDATE_AT_DBTIMEZONE
consente la gestione speciale in una sessione per il valore di data e ora restituito nelle chiamate a SYSDATE
e SYSTIMESTAMP
.
A seconda del valore di SYSDATE_AT_DBTIMEZONE
, viene visualizzata la data e l'ora in base al fuso orario predefinito di Autonomous Database, all'ora UTC (Coordinated Universal Time) o in base al fuso orario impostato nel database.
Property | Descrizione |
---|---|
Tipo di parametro | Boolean |
Valore predefinito | FALSE |
Modificabile | ALTER SESSION , ALTER SYSTEM |
Intervallo di valore | TRUE | FALSE |
Fuso orario predefinito di Autonomous Database
Il fuso orario predefinito di Autonomous Database è UTC (Coordinated Universal Time) e per impostazione predefinita le chiamate verso SYSDATE
e SYSTIMESTAMP
restituiscono la data e l'ora in UTC.
Per modificare il fuso orario del database, è possibile eseguire l'istruzione seguente.
Questo esempio imposta il fuso orario del database su UTC-5
.
ALTER DATABASE SET TIME_ZONE='-05:00';
In questo esempio viene impostato il fuso orario del database per la costa orientale degli Stati Uniti: America/New_York
e l'ora viene regolata automaticamente agli switch DST:
ALTER DATABASE SET TIME_ZONE='America/New_York';
Per rendere effettiva la modifica, è necessario riavviare l'istanza di Autonomous Database.
Dopo aver impostato il fuso orario del database, per impostazione predefinita SYSDATE
e SYSTIMESTAMP
continuano a restituire la data e l'ora in UTC (SYSDATE_AT_DBTIMEZONE
è FALSE
per impostazione predefinita). Se si imposta SYSDATE_AT_DBTIMEZONE
su TRUE
in una sessione, SYSDATE
e SYSTIMESTAMP
restituiscono il fuso orario del database.
Per ulteriori informazioni sull'uso della clausola SET TIME_ZONE
con ALTER DATABASE
, vedere Impostazione del fuso orario del database in Oracle Database 19c o Oracle Database 23ai.
Uso di SYSDATE_AT_DBTIMEZONE in una sessione
Quando SYSDATE_AT_DBTIMEZONE
è FALSE
in una sessione, le chiamate a SYSDATE
e SYSTIMESTAMP
restituiscono valori basati sul fuso orario predefinito di Autonomous Database, UTC (Coordinated Universal Time).
Quando SYSDATE_AT_DBTIMEZONE
è TRUE
in una sessione, le chiamate a SYSDATE
o SYSTIMESTAMP
restituiscono la data e l'ora in base al fuso orario del database.
L'impostazione di
SYSDATE_AT_DBTIMEZONE
su TRUE
influisce solo sull'uso di SYSDATE
e SYSTIMESTAMP
come operatori nelle istruzioni SQL dell'applicazione (ad esempio, nelle query, nelle operazioni DML e CTAS). Quando si utilizza questo parametro, si consiglia che il fuso orario client/sessione corrisponda al fuso orario del database.
Esempio
Nell'esempio seguente vengono restituite date e ore per due fusi orari diversi, in base al valore del parametro 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
Quando una query SYSDATE
o SYSTIMESTAMP
viene eseguita nel foglio di lavoro SQL di Database Actions, il valore di data e ora restituito si trova in UTC (quando il parametro SYSDATE_AT_DBTIMEZONE
è impostato su TRUE
o FALSE
). Per ottenere il fuso orario del database quando si utilizza Database Actions, utilizzare TO_CHAR()
come indicato di seguito.
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
Argomento padre: Parametri di inizializzazione
CLIENT_PREFETCH_ROWS
CLIENT_PREFETCH_ROWS
per consentire ai client di ridurre il numero di roundtrip richiesti durante il recupero delle righe di un set di risultati della query.
CLIENT_PREFETCH_ROWS
specifica il numero di righe che devono essere preimpostate dal driver client Oracle, senza apportare modifiche all'applicazione client. Il driver client esegue il buffer delle righe preimpostate dopo ogni esecuzione della query riuscita e per ogni successiva richiesta di recupero inviata al database.
Questo parametro si applica solo ai client che utilizzano Oracle Call Interface (OCI) per connettersi al database.
Questo parametro si applica solo a Oracle Instant Client/Oracle Database Client 19.17 (o versione successiva) e 21.8 (o versione successiva) per tutte le piattaforme.
Property | Descrizione |
---|---|
Tipo di parametro | Numero intero |
Sintassi | CLIENT_PREFETCH_ROWS = integer |
Valore predefinito | 0 (si applicano solo le impostazioni lato client)
|
Modificabile | ALTER SYSTEM , ALTER SESSION |
Intervallo di valore | Da 0 a UB4MAXVAL (4294967295 )
|
Base | N |
Il parametro CLIENT_PREFETCH_ROWS
può essere impostato con ALTER SESSION
o ALTER SYSTEM
. Se il valore del parametro cambia utilizzando ALTER SESSION
, il nuovo valore diventa effettivo per la sessione specifica nei successivi recuperi dei risultati. Se il valore del parametro viene modificato utilizzando ALTER SYSTEM
, il nuovo valore diventa effettivo per le istruzioni eseguite sulle connessioni create dopo il comando ALTER SYSTEM
.
Ad esempio, se CLIENT_PREFETCH_ROWS
è impostato su 100 e un'applicazione client chiede di recuperare 10 righe, il driver client restituirà un totale di 110 righe. Le prime 10 righe delle 110 righe vengono assegnate all'applicazione e il driver client esegue il buffer interno delle restanti 100 righe. Le successive 10 righe recuperate dall'applicazione client, ciascuna con 10 righe per iterazione di recupero, possono essere evase dalle 100 righe inserite nel buffer interno dal driver client. Questo processo riduce il numero di roundtrip di rete richiesti da e verso il database. In questo esempio, all'11° richiamo, si verifica un nuovo roundtrip di rete e il database restituisce il batch successivo di 110 righe, purché il set di risultati non sia esaurito e il ciclo si ripeta.
Note per l'impostazione di CLIENT_PREFETCH_ROWS
:
-
Se
CLIENT_PREFETCH_ROWS
è impostato su un valore diverso da zero, il relativo valore ha la precedenza sul valoreOCI_ATTR_PREFETCH_ROWS
predefinito per il conteggio delle righe di recupero preliminare. -
Se il valore
OCI_ATTR_PREFETCH_ROWS
è impostato su un valore non predefinito, il valoreCLIENT_PREFETCH_ROWS
viene ignorato per il conteggio delle righe di recupero preliminare. -
Utilizzo di
CLIENT_PREFETCH_ROWS
conOCIAttrSet()
:OCI_ATTR_PREFETCH_ROWS
imposta il numero di righe di livello superiore da preimpostare. Il valore predefinito è 1 riga. Tuttavia, seCLIENT_PREFETCH_ROWS
è impostato, il numero di righe di livello superiore da preimpostare è determinato dalla precedenza seguente:-
Se si imposta l'attributo
OCI_ATTR_PREFETCH_ROWS
utilizzando la funzioneOCIAttrSet()
ooraaccess.xml
come valore '1', il valore del parametro di inizializzazione del databaseCLIENT_PREFETCH_ROWS
ha la precedenza e determina il numero di righe di livello superiore da preimpostare. -
Se si imposta l'attributo
OCI_ATTR_PREFETCH_ROWS
utilizzando la funzioneOCIAttrSet()
ooraaccess.xml
come valore 'x' diverso da 1, il numero di righe di primo livello 'x' verrà preimpostato e il parametro di inizializzazione del databaseCLIENT_PREFETCH_ROWS
verrà ignorato. -
Se non si imposta un valore
OCI_ATTR_PREFETCH_ROWS
utilizzandoOCIAttrSet()
ooraaccess.xml
, il valore del parametro di inizializzazione del databaseCLIENT_PREFETCH_ROWS
ha la precedenza e determina il numero di righe di livello superiore da preimpostare.
-
-
Utilizzo di
CLIENT_PREFETCH_ROWS
conOCIAttrGet()
:La funzione
OCIAttrGet()
restituisce il valore effettivo della riga di recupero preliminare impostato daOCI_ATTR_PREFETCH_ROWS
,oraaccess.xml
e il parametro di inizializzazione del databaseCLIENT_PREFETCH_ROWS
. Se il valoreOCI_ATTR_PREFETCH_MEMORY
è impostato, il valore restituito daOCIAttrGet()
potrebbe non essere il valore finale delle righe di recupero preliminare e potrebbe essere limitato al numero massimo di righe consentito dal valore di memoria specificato dall'attributoOCI_ATTR_PREFETCH_MEMORY
.
Vedere anche:
-
Oracle Call Interface Developer's Guide per ulteriori informazioni sul recupero dei risultati e sull'impostazione del conteggio dei prelievi.
Argomento padre: Parametri di inizializzazione
JOB_QUEUE_PROCESSES
JOB_QUEUE_PROCESSES
per specificare il numero massimo di job worker che è possibile creare per eseguire i job di Oracle Scheduler (DBMS_SCHEDULER
).
L'impostazione del valore su 0 disabilita i processi Scheduler non forniti da Oracle.
Property | Descrizione |
---|---|
Tipo di parametro | Numero intero |
Sintassi | JOB_QUEUE_PROCESSES = integer |
Valore predefinito |
Il valore predefinito dipende dal conteggio ECPU (conteggio OCIPU se il database utilizza le OCPU) e dall'impostazione per Scalabilità automatica ECPU (Scalabilità automatica OCI se il database utilizza le OCPU). Per informazioni dettagliate, fare riferimento alla tabella riportata di seguito. |
Modificabile | ALTER SYSTEM |
Intervallo di valore |
Valore minimo: Il valore massimo dipende dal conteggio ECPU (conteggio OCIPU se il database utilizza le OCPU) e dall'impostazione per Scalabilità automatica ECPU (Scalabilità automatica OCI se il database utilizza le OCPU, come mostrato nella tabella riportata di seguito. |
I valori predefiniti e massimi per JOB_QUEUE_PROCESSES
variano a seconda del modello di computazione utilizzato. Per ulteriori informazioni, vedere Modelli di computazione in Autonomous Database.
Modello di calcolo | Valore predefinito e massimo con scala automatica disabilitata | Valore predefinito e massimo con scala automatica abilitata |
---|---|---|
ECPU | 7,5 x conteggio ECPU | 22,5 x conteggio ECPU |
OCPU | 30 x conteggio OCPU | 90 x conteggio OCPU |
Il coordinatore job e i job worker di Oracle Scheduler sono controllati dal parametro JOB_QUEUE_PROCESSES
. Il numero effettivo di job worker creati per i job di Oracle Scheduler viene ottimizzato automaticamente dallo scheduler in base a diversi fattori, tra cui le risorse disponibili, le impostazioni di Resource Manager e i job attualmente in esecuzione.
Il valore predefinito per JOB_QUEUE_PROCESSES
garantisce una compromissione della qualità del servizio per le applicazioni e un uso ragionevole delle risorse di sistema. Tuttavia, è possibile che il valore predefinito non sia adatto a tutti gli ambienti.
Se si imposta il valore JOB_QUEUE_PROCESSES
su 0, i processi Scheduler non forniti da Oracle verranno disabilitati. Se JOB_QUEUE_PROCESSES
è impostato su 0
, non disabilita alcun job interno per gli utenti forniti da Oracle (i job correlati al servizio eseguiti dagli utenti forniti da Oracle continuano ad essere pianificati).
Gli utenti forniti da Oracle sono utenti contrassegnati come ORACLE_MAINTAINED
con valore Y
. Gli utenti non forniti da Oracle sono utenti contrassegnati come ORACLE_MAINTAINED
con valore N
.
Per ulteriori informazioni, vedere ALL_USERS.
Argomento padre: Parametri di inizializzazione
LOCKDOWN_ERRORS
Impostare il parametro LOCKDOWN_ERRORS
per controllare se gli errori del profilo di lockdown di Autonomous Database vengono generati o ignorati.
Autonomous Database utilizza profili di blocco per limitare determinate funzionalità e funzioni del database. Per impostazione predefinita, il database genera un errore ogni volta che si tenta di eseguire un comando SQL limitato dal profilo di blocco di Autonomous Database. Il parametro LOCKDOWN_ERRORS
consente di eliminare gli errori del profilo di blocco. Inoltre, quando LOCKDOWN_ERRORS
è impostato sul valore IGNORE
, quando si ignora un errore il database registra i dettagli relativi all'istruzione SQL, all'utente e all'indicatore orario del comando.
Prima di impostare il valore di questo parametro su
IGNORE
, valutare attentamente gli script esistenti. Se si imposta il valore su IGNORE
, tutti gli script esistenti utilizzati non genereranno più errori di blocco.
È possibile utilizzare la vista DBA_LOCKDOWN_ERRORS
per ottenere informazioni sugli errori dei profili di blocco. Per ulteriori informazioni, vedere Visualizzazione errori di blocco.
Property | Descrizione |
---|---|
Tipo di parametro | Stringa |
Sintassi | LOCKDOWN_ERRORS = IGNORE | RAISE |
Valore predefinito |
Il valore predefinito è |
Modificabile | ALTER SYSTEM |
Valori validi |
|
Argomento padre: Parametri di inizializzazione
RESULT_CACHE_INTEGRITY
Impostare il parametro RESULT_CACHE_INTEGRITY
per specificare se la cache dei risultati considera le query utilizzando possibili costrutti non deterministici come candidati per l'inserimento dei risultati nella cache.
Property | Descrizione |
---|---|
Tipo di parametro | Stringa |
Sintassi | RESULT_CACHE_INTEGRITY = { ENFORCED | TRUSTED } |
Valore predefinito |
Per Autonomous Database, il valore predefinito è: |
Modificabile | ALTER SYSTEM |
Valori
-
ENFORCED
: indipendentemente dall'impostazione diRESULT_CACHE_MODE
o dai suggerimenti specificati, solo i costrutti deterministici possono essere inseriti nella cache dei risultati. Ad esempio, le query che utilizzano funzioni PL/SQL non dichiarate come deterministiche non vengono mai inserite nella cache (a meno che le funzioni non vengano dichiarate come deterministiche, i risultati della query con tali funzioni non verranno inseriti nella cache). -
TRUSTED
: il database rispetta l'impostazione diRESULT_CACHE_MODE
e i suggerimenti specificati e prenderà in considerazione le query utilizzando costrutti possibilmente non deterministici come candidati per l'inserimento dei risultati nella cache. Ad esempio, è possibile inserire nella cache le query che utilizzano funzioni PL/SQL non dichiarate come deterministiche. Si noti, tuttavia, che i risultati notoriamente non deterministici non vengono inseriti nella cache (ad esempioSYSDATE
o costrutti che coinvolgonoSYSDATE
).
Argomento padre: Parametri di inizializzazione
RESULT_CACHE_MODE
Impostare il parametro RESULT_CACHE_MODE
per specificare le query idonee a memorizzare i set di risultati nella cache dei risultati. Solo i piani di esecuzione delle query con l'operatore della cache dei risultati tenteranno di leggere o scrivere nella cache dei risultati.
Property | Descrizione |
---|---|
Tipo di parametro | Stringa |
Sintassi | RESULT_CACHE_MODE = { MANUAL | MANUAL_TEMP | FORCE | FORCE_TEMP } |
Valore predefinito |
Per Autonomous Database con tipo di carico di lavoro impostato su Data Warehouse: Per i tipi di carico di lavoro Transaction Processing, JSON o APEX: |
Modificabile | ALTER SESSION , ALTER SYSTEM |
Per ulteriori informazioni, vedere RESULT_CACHE_MODE.
- Utilizzo dei suggerimenti SQL Result Cache
Utilizzare i suggerimenti della cache dei risultati a livello di applicazione per controllare il funzionamento della cache. I suggerimenti della cache dei risultati SQL hanno la precedenza sulla modalità cache dei risultati e sulle annotazioni della tabella cache dei risultati.
Argomento padre: Parametri di inizializzazione
Uso dei suggerimenti della cache dei risultati SQL
Utilizzare i suggerimenti della cache dei risultati a livello di applicazione per controllare il funzionamento della cache. I suggerimenti della cache dei risultati SQL hanno la precedenza sulla modalità cache dei risultati e sulle annotazioni della tabella cache dei risultati.
È possibile utilizzare i suggerimenti della cache dei risultati SQL nei modi riportati di seguito.
-
Utilizzo del suggerimento
RESULT_CACHE
-
Utilizzo del suggerimento
NO_RESULT_CACHE
-
Utilizzo del suggerimento
RESULT_CACHE
nelle viste
Utilizzo del suggerimento RESULT_CACHE
Quando la modalità cache dei risultati è MANUAL
, il suggerimento /*+ RESULT_CACHE */
indica al database di inserire nella cache i risultati di un blocco di query e di utilizzare i risultati inseriti nella cache nelle esecuzioni future.
Per ulteriori informazioni, vedere Utilizzo del suggerimento RESULT_CACHE e RESULT_CACHE.
Utilizzo del suggerimento NO_RESULT_CACHE
Il suggerimento /*+ NO_RESULT_CACHE */
indica al database di non inserire nella cache i risultati nelle cache dei risultati del server o del client.
Per ulteriori informazioni, vedere Uso del suggerimento NO_RESULT_CACHE e RESULT_CACHE.
Utilizzo del suggerimento RESULT_CACHE
nelle viste
Il suggerimento RESULT_CACHE
si applica solo al blocco di query in cui viene specificato il suggerimento. Se il suggerimento viene specificato solo in una vista, vengono inseriti nella cache solo i risultati.
Per ulteriori informazioni, vedere Utilizzo del suggerimento RESULT_CACHE nelle viste e Suggerimento RESULT_CACHE.
Argomento padre: RESULT_CACHE_MODE