Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esecuzione di attività di database comuni per le istanze database Oracle
Di seguito, viene descritto come eseguire determinate attività DBA comuni relative ai database nelle istanze database Amazon RDS che eseguono Oracle. Per offrire un'esperienza di servizio gestito, Amazon RDS non fornisce accesso shell alle istanze database. Amazon RDS limita anche l'accesso ad alcune procedure di sistema e tabelle che richiedono privilegi avanzati.
Argomenti
- Modifica del nome globale di un database
- Creazione e dimensionamento di spazi tabelle
- Impostazione dello spazio di tabella predefinito
- Impostazione dello spazio di tabella temporaneo predefinito
- Creazione di un spazio di tabella temporaneo nell'archivio dell'istanza
- Aggiunta di un file temporaneo all'archivio dell'istanza in una replica di lettura
- Rilascio di file temporanei in una replica di lettura
- Checkpoint di un database
- Impostazione del ripristino distribuito
- Impostazione del fuso orario del database
- Lavorare con le tabelle esterne Oracle
- Generazione di report sulle prestazioni con AWR (Automatic Workload Repository)
- Modifica dei collegamenti di database per l'utilizzo con le istanze database in un VPC
- Impostazione dell'edizione predefinita per un'istanza database
- Abilitazione dell'audit per la tabella SYS.AUD$
- Disabilitazione dell'audit per la tabella SYS.AUD$
- Pulizia di compilazioni dell'indice online interrotte
- Ignorare blocchi corrotti
- Ridimensionamento di spazi di tabella, file di dati e file temporanei
- Eliminazione del cestino riciclaggio
- Impostazione dei valori di default visualizzati per la redazione completa
Modifica del nome globale di un database
Puoi usare la procedura in Amazon RDS per modificare il nome globale di un database rdsadmin.rdsadmin_util.rename_global_name
. La procedura rename_global_name
include i seguenti parametri.
Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
varchar2 |
— |
Sì |
Il nuovo nome globale per il database. |
Il database deve essere aperto affinché la modifica del nome abbia luogo. Per ulteriori informazioni sulla modifica del nome globale di un database, consulta ALTER DATABASE
L'esempio seguente modifica il nome globale del database in new_global_name
.
EXEC rdsadmin.rdsadmin_util.rename_global_name(p_new_global_name => '
new_global_name
');
Creazione e dimensionamento di spazi tabelle
Amazon RDS supporta Oracle Managed Files (OMF) solo per i file di dati, i file di log e i file di controllo. Quando crei file di dati e file di log, non puoi specificare i nomi fisici dei file.
Per impostazione predefinita, se non si specifica una dimensione del file di dati, gli spazi di tabella vengono creati con il valore predefinito di AUTOEXTEND ON
e nessuna dimensione massima. Nell'esempio seguente, lo spazio di tabella users1
è estensibile automaticamente.
CREATE TABLESPACE
users1
;
A causa di queste impostazioni predefinite, gli spazi tabelle possono aumentare e occupare tutto lo storage allocato. Consigliamo di specificare una dimensione massima appropriata per spazi tabelle permanenti e temporanei e che monitori attentamente l'utilizzo di spazio.
L'esempio seguente crea uno spazio tabella denominato users2
con una dimensione iniziale di 1 gigabyte. Poiché la dimensione di un file di dati è specificata, ma AUTOEXTEND ON
non è specificato, lo spazio di tabella non è estensibile automaticamente.
CREATE TABLESPACE
users2
DATAFILE SIZE1G
;
L'esempio seguente crea uno spazio tabella denominato users3
con una dimensione iniziale di 1 gigabyte, estensibile automaticamente e una dimensione massima di 10 gigabyte:
CREATE TABLESPACE
users3
DATAFILE SIZE1G
AUTOEXTEND ON MAXSIZE10G
;
L'esempio seguente crea uno spazio tabella temporaneo denominato temp01
.
CREATE TEMPORARY TABLESPACE
temp01
;
Puoi ridimensionare uno spazio tabella di file di grandi dimensioni utilizzando ALTER TABLESPACE
. Puoi specificare le dimensioni in kilobyte (K), megabyte (M), gigabyte (G), o terabyte (T). L'esempio seguente ridimensiona uno spazio tabella di un file di grandi dimensioni denominato users_bf
a 200 MB.
ALTER TABLESPACE
users_bf
RESIZE200M
;
L'esempio seguente aggiunge un file di dati aggiuntivo a uno spazio tabella di un file di piccole dimensioni denominato users_sf
.
ALTER TABLESPACE
users_sf
ADD DATAFILE SIZE100000M
AUTOEXTEND ON NEXT250m
MAXSIZEUNLIMITED
;
Impostazione dello spazio di tabella predefinito
Puoi usare la procedura in Amazon RDS per impostare lo spazio di tabella predefinito rdsadmin.rdsadmin_util.alter_default_tablespace
. La procedura alter_default_tablespace
include i seguenti parametri.
Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
varchar |
— |
Sì |
Il nome dello spazio tabella predefinito. |
L'esempio seguente imposta lo spazio tabella predefinito su users2
:
EXEC rdsadmin.rdsadmin_util.alter_default_tablespace(tablespace_name => '
users2
');
Impostazione dello spazio di tabella temporaneo predefinito
Puoi usare la procedura in Amazon RDS per impostare lo spazio di tabella temporaneo predefinito rdsadmin.rdsadmin_util.alter_default_temp_tablespace
. La procedura alter_default_temp_tablespace
include i seguenti parametri.
Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
varchar |
— |
Sì |
Il nome dello spazio tabella predefinito temporaneo. |
L'esempio seguente imposta lo spazio tabella predefinito temporaneo su temp01
.
EXEC rdsadmin.rdsadmin_util.alter_default_temp_tablespace(tablespace_name => '
temp01
');
Creazione di un spazio di tabella temporaneo nell'archivio dell'istanza
Per creare uno spazio di tabella temporaneo nell'archivio dell'istanza, utilizza la procedura Amazon RDS rdsadmin.rdsadmin_util.create_inst_store_tmp_tblspace
. La procedura create_inst_store_tmp_tblspace
include i seguenti parametri.
Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
varchar |
— |
Sì |
Il nome dello spazio di tabella temporaneo. |
L'esempio seguente crea lo spazio di tabella temporaneo temp01
nell'archivio dell'istanza.
EXEC rdsadmin.rdsadmin_util.create_inst_store_tmp_tblspace(p_tablespace_name => '
temp01
');
Importante
Durante l'esecuzione di rdsadmin_util.create_inst_store_tmp_tblspace
, lo spazio di tabella temporaneo appena creato non viene impostato automaticamente come spazio di tabella temporaneo predefinito. Per impostarlo come predefinito, consulta Impostazione dello spazio di tabella temporaneo predefinito.
Per ulteriori informazioni, consulta Archiviazione di dati temporanei in un archivio dell'istanza RDS per Oracle.
Aggiunta di un file temporaneo all'archivio dell'istanza in una replica di lettura
Quando si crea uno spazio di tabella temporaneo in un'istanza database primaria, la replica di lettura non crea i file temporanei. Supponi che nella replica di lettura esista uno spazio di tabella temporaneo vuoto per uno dei seguenti motivi:
-
Hai eliminato un file temporaneo dallo spazio di tabella temporaneo nella replica di lettura. Per ulteriori informazioni, consulta Rilascio di file temporanei in una replica di lettura.
-
Hai creato un nuovo spazio di tabella temporaneo nell'istanza database primaria. In questo caso, RDS per Oracle sincronizza i metadati con la replica di lettura.
Puoi aggiungere un file temporaneo allo spazio di tabella temporaneo vuoto e archiviare il file temporaneo nell'archivio dell'istanza. Per creare un file temporaneo nell'archivio dell'istanza, utilizza la procedura Amazon RDS rdsadmin.rdsadmin_util.add_inst_store_tempfile
. Puoi utilizzare questa procedura solo in una replica di lettura. La procedura include i seguenti parametri.
Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
varchar |
— |
Sì |
Il nome dello spazio di tabella temporaneo nella replica di lettura. |
Nell'esempio seguente, lo spazio di tabella temporaneo vuoto temp01
è presente nella replica di lettura. Esegui il comando seguente per creare un file temporaneo per la tabella e archiviarlo nell'archivio dell'istanza.
EXEC rdsadmin.rdsadmin_util.add_inst_store_tempfile(p_tablespace_name => '
temp01
');
Per ulteriori informazioni, consulta Archiviazione di dati temporanei in un archivio dell'istanza RDS per Oracle.
Rilascio di file temporanei in una replica di lettura
Non è possibile rilasciare uno spazio di tabella temporaneo esistente in una replica di lettura. Puoi modificare l'archivio dei file temporanei in una replica di lettura da Amazon EBS nell'archivio dell'istanza o dall'archivio dell'istanza ad Amazon EBS. Per raggiungere questi obiettivi, effettua le seguenti operazioni:
-
Rilascia i file temporanei correnti nello spazio di tabella temporaneo nella replica di lettura.
-
Crea nuovi file temporanei in un altro archivio.
Per rilasciare i file temporanei, utilizza la procedura Amazon RDS rdsadmin.rdsadmin_util. drop_replica_tempfiles
. Puoi utilizzare questa procedura solo nelle repliche di lettura. La procedura drop_replica_tempfiles
include i seguenti parametri.
Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
varchar |
— |
Sì |
Il nome dello spazio di tabella temporaneo nella replica di lettura. |
Supponi che uno spazio di tabella temporaneo denominata temp01
si trovi nell'archivio dell'istanza della replica di lettura. Rilascia tutti i file temporanei in questo spazio di tabella eseguendo il comando seguente.
EXEC rdsadmin.rdsadmin_util.drop_replica_tempfiles(p_tablespace_name => '
temp01
');
Per ulteriori informazioni, consulta Archiviazione di dati temporanei in un archivio dell'istanza RDS per Oracle.
Checkpoint di un database
Puoi usare la procedura in Amazon RDS per eseguire il checkpoint del database rdsadmin.rdsadmin_util.checkpoint
. La procedura checkpoint
non ha parametri.
L'esempio seguente esegue il checkpoint del database.
EXEC rdsadmin.rdsadmin_util.checkpoint;
Impostazione del ripristino distribuito
Puoi usare le procedure rdsadmin.rdsadmin_util.enable_distr_recovery
e disable_distr_recovery
in Amazon RDS per impostare il ripristino distribuito. Le procedure non hanno parametri.
L'esempio seguente abilita il ripristino distribuito.
EXEC rdsadmin.rdsadmin_util.enable_distr_recovery;
L'esempio seguente disabilita il ripristino distribuito.
EXEC rdsadmin.rdsadmin_util.disable_distr_recovery;
Impostazione del fuso orario del database
È possibile impostare il fuso orario del database Amazon RDS Oracle nei modi seguenti:
-
L'opzione
Timezone
L'opzione
Timezone
modifica il fuso orario a livello di host e interessa tutte le colonne e valori data comeSYSDATE
. Per ulteriori informazioni, consulta Fuso orario Oracle. -
La procedura Amazon RDS
rdsadmin.rdsadmin_util.alter_db_time_zone
La procedura
alter_db_time_zone
modifica il fuso orario solo per certi tipi di dati e non modificaSYSDATE
. Ci sono limitazioni aggiuntive per l'impostazione del fuso orario elencato nella Documentazione di Oracle.
Nota
È inoltre possibile impostare il fuso orario predefinito per Oracle Scheduler. Per ulteriori informazioni, consulta Impostazione del fuso orario per i job di Oracle Scheduler.
La procedura alter_db_time_zone
include i seguenti parametri.
Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
varchar2 |
— |
Sì |
Il nuovo fuso orario come regione denominata o un offset assoluto da Coordinated Universal Time (UTC). Gli offset validi sono compresi tra -12.00 e +14.00. |
Il seguente esempio imposta il fuso orario su UTC più tre ore.
EXEC rdsadmin.rdsadmin_util.alter_db_time_zone(p_new_tz => '
+3:00
');
L'esempio seguente imposta il fuso orario sul fuso orario della regione Africa/Algeri.
EXEC rdsadmin.rdsadmin_util.alter_db_time_zone(p_new_tz => '
Africa/Algiers
');
Dopo aver modificato il fuso orario utilizzando la procedura alter_db_time_zone
, devi riavviare l'istanza database per rendere effettive le modifiche. Per ulteriori informazioni, consulta Riavvio di un'istanza database. Per informazioni sull'aggiornamento dei fusi orari, consulta Considerazioni sul fuso orario.
Lavorare con le tabelle esterne Oracle
Le Tabelle esterne Oracle sono tabelle con dati che non si trovano nel database. Invece, i dati si trovano nei file esterni ai quali il database può accedere. Utilizzando le tabelle esterne, puoi accedere ai dati senza caricarli nel database. Per ulteriori informazioni sulle tabelle esterne, consulta Gestione delle tabelle esterne
Con Amazon RDS, puoi archiviare i file della tabella esterna negli oggetti della directory. Puoi creare un oggetto di directory o puoi utilizzare uno predefinito nel database Oracle, ad esempio la directory DATA_PUMP_DIR. Per informazioni sulla creazione di oggetti di directory, consulta Creazione ed eliminazione di directory nello spazio di archiviazione dati principale. Puoi eseguire query sulla visualizzazione ALL_DIRECTORIES per elencare gli oggetti di directory per l'istanza database Amazon RDS Oracle.
Nota
Gli oggetti directory puntano allo spazio principale dello storage dei dati (volume Amazon EBS) utilizzato dall'istanza. Lo spazio usato—insieme a file di dati, log delle modifiche, audit, traccia e altri file— fa parte dello storage allocato.
Puoi spostare un file di dati esterno da un database Oracle a un altro utilizzando il pacchetto DBMS_FILE_TRANSFER
Dopo aver spostato il file dei dati esterno puoi crearci una tabella esterna. L'esempio seguente crea una tabella esterna che utilizza il file emp_xt_file1.txt
nella directory USER_DIR1.
CREATE TABLE emp_xt ( emp_id NUMBER, first_name VARCHAR2(50), last_name VARCHAR2(50), user_name VARCHAR2(20) ) ORGANIZATION EXTERNAL ( TYPE ORACLE_LOADER DEFAULT DIRECTORY USER_DIR1 ACCESS PARAMETERS ( RECORDS DELIMITED BY NEWLINE FIELDS TERMINATED BY ',' MISSING FIELD VALUES ARE NULL (emp_id,first_name,last_name,user_name) ) LOCATION ('emp_xt_file1.txt') ) PARALLEL REJECT LIMIT UNLIMITED;
Immaginiamo che desideri spostare i dati che si trovano nell'istanza database Amazon RDS Oracle nel file di dati esterno. In questo caso, puoi popolare il file di dati esterno creando una tabella esterna e selezionando i dati dalla tabella nel database. Ad esempio, la seguente istruzione SQL crea la tabella esterna orders_xt
eseguendo la query sulla tabella orders
nel database.
CREATE TABLE orders_xt ORGANIZATION EXTERNAL ( TYPE ORACLE_DATAPUMP DEFAULT DIRECTORY DATA_PUMP_DIR LOCATION ('orders_xt.dmp') ) AS SELECT * FROM orders;
In questo esempio, i dati sono popolati nel file orders_xt.dmp
nella directory DATA_PUMP_DIR.
Generazione di report sulle prestazioni con AWR (Automatic Workload Repository)
Per raccogliere i dati sulle prestazioni e generare report, Oracle consiglia AWR (Automatic Workload Repository). AWR richiede Oracle Database Enterprise Edition e una licenza per i pacchetti di diagnostica e ottimizzazione. Per abilitare AWR, impostare il parametro di inizializzazione CONTROL_MANAGEMENT_PACK_ACCESS
su DIAGNOSTIC
o DIAGNOSTIC+TUNING
.
Utilizzo di report AWR in RDS
Per generare report AWR, puoi eseguire script quali awrrpt.sql
. Questi script vengono installati nel server host del database. In Amazon RDS non è possibile accedere direttamente all'host. Tuttavia, puoi ottenere copie di script SQL da un'altra installazione di Oracle Database.
Puoi inoltre utilizzare AWR eseguendo procedure nel pacchetto PL/SQL SYS.DBMS_WORKLOAD_REPOSITORY
. Puoi utilizzare questo pacchetto per gestire baseline e snapshot, nonché visualizzare report ASH e AWR. Ad esempio, per generare un report AWR in formato di testo, esegui la procedura DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT
. Tuttavia, non puoi raggiungere questi report AWR da AWS Management Console.
Quando utilizzi AWR, ti consigliamo di utilizzare le procedure rdsadmin.rdsadmin_diagnostic_util
. Puoi utilizzare queste procedure per generare quanto segue:
-
Report AWR
-
Report ASH (Active Session History)
-
Report ADDM (Automatic Database Diagnostic Monitor)
-
File di dump di Export di Oracle Data Pump di dati AWR
Le procedure rdsadmin_diagnostic_util
salvano i report nel file system dell'istanza database. Puoi accedere a questi report dalla console. Puoi inoltre accedere ai report utilizzando le procedure rdsadmin.rds_file_util
e accedere ai report copiati in Simple Storage Service (Amazon S3) mediante l'opzione Integrazione S3. Per ulteriori informazioni, consulta Lettura dei file in una directory di istanze database e Integrazione Amazon S3.
Puoi utilizzare le procedure rdsadmin_diagnostic_util
nelle seguente per versioni del motore database Amazon RDS for Oracle:
-
Tutte le versioni di Oracle Database 21c
-
19.0.0.0.ru-2020-04.rur-2020-04.r1 e versioni successive di Oracle Database 19c
Per un blog che spiega come utilizzare i report diagnostici in uno scenario di replica, consulta il post relativo alla generazione di report AWR per le repliche di lettura di Amazon RDS per Oracle
Parametri comuni per il pacchetto di utilità di diagnostica
In genere i seguenti parametri vengono utilizzati durante la gestione di AWR e ADDM con il pacchetto rdsadmin_diagnostic_util
.
Parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
|
— |
Sì |
ID dello snapshot iniziale. |
|
|
— |
Sì |
ID dello snapshot finale. |
|
|
|
No |
La directory in cui scrivere il report o esportare il file. Se si specifica una directory non predefinita, l'utente che esegue le procedure |
|
|
— |
No |
Una stringa che può essere utilizzata per distinguere tra i backup per indicare lo scopo o l'utilizzo dei backup, ad esempio Puoi specificare fino a 30 caratteri. I caratteri validi sono: I tag non devono essere univoci, quindi più backup possono avere lo stesso tag. Se non specifichi un tag, RMAN assegna automaticamente un tag di default utilizzando il formato Il parametro
|
|
|
|
No |
Il formato del report. I valori validi sono |
|
|
— |
No |
Un identificatore di database (DBID) valido visualizzato nella vista |
In genere i seguenti parametri vengono utilizzati durante la gestione di ASH con il pacchetto rdsadmin_diagnostic_util.
Parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
|
— |
Sì |
L'ora di inizio dell'analisi ASH. |
|
|
— |
Sì |
L'ora di fine dell'analisi ASH. |
|
|
|
No |
La durata degli slot (in secondi) utilizzati nella sezione "Attività superiore" del report ASH. Se questo parametro non è specificato, l'intervallo di tempo tra |
|
|
Null |
No |
L'ID della sessione |
|
|
Null |
No |
L'ID SQL. |
|
|
Null |
No |
Il nome della classe di attesa. |
|
|
Null |
No |
L'hash del nome del servizio. |
|
|
Null |
No |
Il nome del modulo. |
|
|
Null |
No |
Il nome dell'operazione. |
|
|
Null |
No |
L'ID specifico dell'applicazione della sessione del database. |
|
|
Null |
No |
Il punto di ingresso PL/SQL. |
Generazione di un report AWR
Per generare un report AWR, utilizza la procedura rdsadmin.rdsadmin_diagnostic_util.awr_report
.
Nell'esempio seguente viene generato un report AWR per l'intervallo di snapshot da 101 a 106. Il file di testo di output è denominato awrrpt_101_106.txt
. Puoi accedere a questo report da AWS Management Console.
EXEC rdsadmin.rdsadmin_diagnostic_util.awr_report(101,106,'TEXT');
Nell'esempio seguente viene generato un report HTML per l'intervallo di snapshot da 63 a 65. Il file HTML di output è denominato awrrpt_63_65.html
. La procedura scrive il report nella directory di database non predefinita denominata AWR_RPT_DUMP
.
EXEC rdsadmin.rdsadmin_diagnostic_util.awr_report(63,65,'HTML','AWR_RPT_DUMP');
Estrazione di dati AWR in un file di dump
Per estrarre i dati AWR in un file di dump, utilizza la procedura rdsadmin.rdsadmin_diagnostic_util.awr_extract
.
Nell'esempio seguente viene estratto l'intervallo di snapshot da 101 a 106. Il file di dump di output è denominato awrextract_101_106.dmp
. Puoi accedere a questo file tramite la console.
EXEC rdsadmin.rdsadmin_diagnostic_util.awr_extract(101,106);
Nell'esempio seguente viene estratto l'intervallo di snapshot da 63 a 65. Il file di dump di output è denominato awrextract_63_65.dmp
. Il file viene archiviato nella directory di database non predefinita denominata AWR_RPT_DUMP
.
EXEC rdsadmin.rdsadmin_diagnostic_util.awr_extract(63,65,'AWR_RPT_DUMP');
Generazione di un report ADDM
Per generare un report ADDM, utilizza la procedura rdsadmin.rdsadmin_diagnostic_util.addm_report
.
Nell'esempio seguente viene generato un report ADDM per l'intervallo di snapshot da 101 a 106. Il file di testo di output è denominato addmrpt_101_106.txt
. È possibile accedere al report tramite la console.
EXEC rdsadmin.rdsadmin_diagnostic_util.addm_report(101,106);
Nell'esempio seguente viene generato un report ADDM per l'intervallo di snapshot da 63 a 65. Il file di testo di output è denominato addmrpt_63_65.txt
. Il file viene archiviato nella directory di database non predefinita denominata ADDM_RPT_DUMP
.
EXEC rdsadmin.rdsadmin_diagnostic_util.addm_report(63,65,'ADDM_RPT_DUMP');
Generazione di un report ASH
Per generare un report ASH, utilizza la procedura rdsadmin.rdsadmin_diagnostic_util.ash_report
.
Nell'esempio seguente viene generato un report ASH che include i dati da 14 minuti fa fino all'ora corrente. Il nome del file di output utilizza il formato ashrpt
, dove begin_time
end_time
.txt
e begin_time
utilizzano il formato end_time
YYYYMMDDHH24MISS
. Puoi accedere al file tramite la console.
BEGIN rdsadmin.rdsadmin_diagnostic_util.ash_report( begin_time => SYSDATE-14/1440, end_time => SYSDATE, report_type => 'TEXT'); END; /
Nell'esempio seguente viene generato un report ASH che include i dati dal 18 novembre 2019 alle 18.07 fino al 18 novembre 2019 alle 18.15. Il nome del report HTML di output è ashrpt_20190918180700_20190918181500.html
. Il file viene archiviato nella directory di database non predefinita denominata AWR_RPT_DUMP
.
BEGIN rdsadmin.rdsadmin_diagnostic_util.ash_report( begin_time => TO_DATE('2019-09-18 18:07:00', 'YYYY-MM-DD HH24:MI:SS'), end_time => TO_DATE('2019-09-18 18:15:00', 'YYYY-MM-DD HH24:MI:SS'), report_type => 'html', dump_directory => 'AWR_RPT_DUMP'); END; /
Accesso ai report AWR dalla console o da CLI
Per accedere ai report AWR o esportare file di dump, puoi usare o. AWS Management Console AWS CLI Per ulteriori informazioni, consulta Download di un file di log di database.
Modifica dei collegamenti di database per l'utilizzo con le istanze database in un VPC
Per utilizzare i collegamenti di database Oracle con le istanze database Amazon RDS nello stesso Virtual Private Cloud (VPC) o VPC in peering, le due istanze database devono avere un instradamento valido tra loro. Verifica l'instradamento valido tra le istanze database utilizzando le tabelle di routing VPC e la lista di controllo accessi della rete (ACL).
Il gruppo di sicurezza di ogni istanza database deve permettere l'ingresso e l'uscita dall'altra istanza database. Le regole in entrata e in uscita possono riferirsi ai gruppi di sicurezza dallo stesso VPC o da un VPC in peering. Per ulteriori informazioni, consulta Aggiornamento dei gruppi di sicurezza a gruppi di sicurezza VPC in peering di riferimento.
Se hai configurato un server DNS personalizzato utilizzando il set opzioni DHCP nel VPC, il server DNS personalizzato deve essere in grado di risolvere il nome del target del collegamento di database. Per ulteriori informazioni, consulta Impostazione di un server DNS personalizzato.
Per ulteriori informazioni sull'utilizzo di collegamenti di database con Oracle Data Pump, consulta Importazione utilizzando Oracle Data Pump.
Impostazione dell'edizione predefinita per un'istanza database
Puoi ridefinire gli oggetti di database in un ambiente privato che si chiama edizione. Puoi utilizzare una ridefinizione basata sull'edizione per aggiornare gli oggetti di database dell'applicazione con tempo di inattività minimo.
Puoi impostare l'edizione predefinita di un'istanza database Oracle Amazon RDS usando la procedura in Amazon RDS rdsadmin.rdsadmin_util.alter_default_edition
.
L'esempio seguente imposta l'edizione predefinita per l'istanza database Oracle Amazon RDS su RELEASE_V1
.
EXEC rdsadmin.rdsadmin_util.alter_default_edition('RELEASE_V1');
L'esempio seguente imposta l'edizione predefinita per l'istanza database Amazon RDS Oracle a quella predefinita di Oracle.
EXEC rdsadmin.rdsadmin_util.alter_default_edition('ORA$BASE');
Per ulteriori informazioni sulla ridefinizione Oracle basata sull'edizione, consulta le Informazioni sulla edizione e sulla ridefinizione basata sull'edizione
Abilitazione dell'audit per la tabella SYS.AUD$
Puoi utilizzare la procedura SYS.AUD$
in Amazon RDS per abilitare l'audit sulla tabella di trail dell'audit del database rdsadmin.rdsadmin_master_util.audit_all_sys_aud_table
. L'unica proprietà dell'audit supportata è ALL
. Non è possibile sottoporre o non sottoporre ad audit singole istruzioni o operazioni.
L'abilitazione dell'audit è supportata per le istanze database Oracle che eseguono le seguenti versioni:
-
Oracle Database 21c (21.0.0)
-
Oracle Database 19c (19.0.0)
La procedura audit_all_sys_aud_table
include i seguenti parametri.
Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
booleano |
true |
No |
Impostato su |
La seguente query restituisce l'attuale configurazione dell'audit di SYS.AUD$
per un database.
SELECT * FROM DBA_OBJ_AUDIT_OPTS WHERE OWNER='SYS' AND OBJECT_NAME='AUD$';
I seguenti comandi abilitano l'audit di ALL
su SYS.AUD$
BY ACCESS
.
EXEC rdsadmin.rdsadmin_master_util.audit_all_sys_aud_table; EXEC rdsadmin.rdsadmin_master_util.audit_all_sys_aud_table(p_by_access => true);
Il seguente comando abilita l'audit di ALL
su SYS.AUD$
BY SESSION
.
EXEC rdsadmin.rdsadmin_master_util.audit_all_sys_aud_table(p_by_access => false);
Per ulteriori informazioni, consulta la sezione relativa all'AUDIT (Audit tradizionale)
Disabilitazione dell'audit per la tabella SYS.AUD$
Puoi utilizzare la procedura SYS.AUD$
in Amazon RDS per disabilitare l'audit sulla tabella di trail dell'audit del database rdsadmin.rdsadmin_master_util.noaudit_all_sys_aud_table
. Questa procedura non richiede parametri.
La seguente query restituisce l'attuale configurazione dell'audit di SYS.AUD$
per un database:
SELECT * FROM DBA_OBJ_AUDIT_OPTS WHERE OWNER='SYS' AND OBJECT_NAME='AUD$';
Il seguente comando disabilita l'audit di ALL
su SYS.AUD$
.
EXEC rdsadmin.rdsadmin_master_util.noaudit_all_sys_aud_table;
Per ulteriori informazioni, consulta la sezione relativa a NOAUDIT (Audit tradizionale)
Pulizia di compilazioni dell'indice online interrotte
Per pulire compilazioni dell'indice online non riuscite, utilizza la procedura Amazon RDS rdsadmin.rdsadmin_dbms_repair.online_index_clean
.
La procedura online_index_clean
include i seguenti parametri.
Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
binary_integer |
|
No |
L'ID oggetto dell'indice. In genere, puoi utilizzare l'ID oggetto dal testo dell'errore ORA-08104. |
|
binary_integer |
|
No |
Specifica Specifica |
L'esempio seguente pulisce una compilazione di indice online non riuscita:
declare is_clean boolean; begin is_clean := rdsadmin.rdsadmin_dbms_repair.online_index_clean( object_id => 1234567890, wait_for_lock => rdsadmin.rdsadmin_dbms_repair.lock_nowait ); end; /
Per ulteriori informazioni, consulta ONLINE_INDEX_CLEAN Function
Ignorare blocchi corrotti
Per ignorare blocchi corrotti durante le scansioni di indici e tabelle, utilizza il pacchetto rdsadmin.rdsadmin_dbms_repair
.
Le seguenti procedure eseguono il wrapping della funzionalità della procedura sys.dbms_repair.admin_table
e non accettano parametri:
-
rdsadmin.rdsadmin_dbms_repair.create_repair_table
-
rdsadmin.rdsadmin_dbms_repair.create_orphan_keys_table
-
rdsadmin.rdsadmin_dbms_repair.drop_repair_table
-
rdsadmin.rdsadmin_dbms_repair.drop_orphan_keys_table
-
rdsadmin.rdsadmin_dbms_repair.purge_repair_table
-
rdsadmin.rdsadmin_dbms_repair.purge_orphan_keys_table
Le seguenti procedure accettano gli stessi parametri delle loro controparti nel pacchetto DBMS_REPAIR
per database Oracle:
-
rdsadmin.rdsadmin_dbms_repair.check_object
-
rdsadmin.rdsadmin_dbms_repair.dump_orphan_keys
-
rdsadmin.rdsadmin_dbms_repair.fix_corrupt_blocks
-
rdsadmin.rdsadmin_dbms_repair.rebuild_freelists
-
rdsadmin.rdsadmin_dbms_repair.segment_fix_status
-
rdsadmin.rdsadmin_dbms_repair.skip_corrupt_blocks
Per ulteriori informazioni sulla gestione del danneggiamento del database, vedere DBMS_REPAIR
Esempio Risposta a blocchi danneggiati
Questo esempio mostra il flusso di lavoro di base per rispondere ai blocchi danneggiati. I passaggi dipenderanno dalla posizione e dalla natura del danneggiamento del blocco.
Importante
Prima di tentare di riparare i blocchi danneggiati, esaminare attentamente la documentazione di DBMS_REPAIR
Per saltare i blocchi danneggiati durante le scansioni di indice e tabella
-
Esegui le procedure seguenti per creare tabelle di riparazione se non esistono già.
EXEC rdsadmin.rdsadmin_dbms_repair.create_repair_table; EXEC rdsadmin.rdsadmin_dbms_repair.create_orphan_keys_table;
-
Esegui le procedura seguenti per verificare l'esistenza di record e cancellarli se appropriato.
SELECT COUNT(*) FROM SYS.REPAIR_TABLE; SELECT COUNT(*) FROM SYS.ORPHAN_KEY_TABLE; SELECT COUNT(*) FROM SYS.DBA_REPAIR_TABLE; SELECT COUNT(*) FROM SYS.DBA_ORPHAN_KEY_TABLE; EXEC rdsadmin.rdsadmin_dbms_repair.purge_repair_table; EXEC rdsadmin.rdsadmin_dbms_repair.purge_orphan_keys_table;
-
Esegui la procedura seguente per verificare la presenza di blocchi corrotti.
SET SERVEROUTPUT ON DECLARE v_num_corrupt INT; BEGIN v_num_corrupt := 0; rdsadmin.rdsadmin_dbms_repair.check_object ( schema_name => '&corruptionOwner', object_name => '&corruptionTable', corrupt_count => v_num_corrupt ); dbms_output.put_line('number corrupt: '||to_char(v_num_corrupt)); END; / COL CORRUPT_DESCRIPTION FORMAT a30 COL REPAIR_DESCRIPTION FORMAT a30 SELECT OBJECT_NAME, BLOCK_ID, CORRUPT_TYPE, MARKED_CORRUPT, CORRUPT_DESCRIPTION, REPAIR_DESCRIPTION FROM SYS.REPAIR_TABLE; SELECT SKIP_CORRUPT FROM DBA_TABLES WHERE OWNER = '&corruptionOwner' AND TABLE_NAME = '&corruptionTable';
-
Esegui la procedura
skip_corrupt_blocks
per abilitare o disabilitare l'omissione della corruzione per le tabelle interessate. A seconda della situazione, potrebbe essere necessario estrarre i dati in una nuova tabella e quindi eliminare la tabella contenente il blocco danneggiato.Esegui la procedura seguente per ignorare la corruzione per le tabelle interessate.
begin rdsadmin.rdsadmin_dbms_repair.skip_corrupt_blocks ( schema_name => '&corruptionOwner', object_name => '&corruptionTable', object_type => rdsadmin.rdsadmin_dbms_repair.table_object, flags => rdsadmin.rdsadmin_dbms_repair.skip_flag); end; / select skip_corrupt from dba_tables where owner = '&corruptionOwner' and table_name = '&corruptionTable';
Esegui la procedura seguente per non ignorare la corruzione.
begin rdsadmin.rdsadmin_dbms_repair.skip_corrupt_blocks ( schema_name => '&corruptionOwner', object_name => '&corruptionTable', object_type => rdsadmin.rdsadmin_dbms_repair.table_object, flags => rdsadmin.rdsadmin_dbms_repair.noskip_flag); end; / select skip_corrupt from dba_tables where owner = '&corruptionOwner' and table_name = '&corruptionTable';
-
Dopo aver completato tutti i lavori di riparazione, eseguire le procedure seguenti per eliminare le tabelle di ripristino.
EXEC rdsadmin.rdsadmin_dbms_repair.drop_repair_table; EXEC rdsadmin.rdsadmin_dbms_repair.drop_orphan_keys_table;
Ridimensionamento di spazi di tabella, file di dati e file temporanei
Come impostazione predefinita, gli spazi tabelle Oracle sono creati con l'estensione automatica attivata e nessuna dimensione massima. A causa delle impostazioni predefinite, gli spazi tabella possono a volte diventare troppo grandi. Consigliamo di specificare una dimensione massima appropriata per spazi tabelle permanenti e temporanei e che monitori attentamente l'utilizzo di spazio.
Ridimensionamento degli spazi di tabella permanenti
Per ridimensionare uno spazio di tabella permanente in un'istanza database RDS per Oracle, utilizza una delle seguenti procedure Amazon RDS:
-
rdsadmin.rdsadmin_util.resize_datafile
-
rdsadmin.rdsadmin_util.autoextend_datafile
La procedura resize_datafile
include i seguenti parametri.
Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
numero |
— |
Sì |
L'identificatore del file di dati da ridimensionare. |
|
varchar2 |
— |
Sì |
Le dimensioni del file di dati. Specifica le dimensioni in byte (impostazione predefinita), kilobyte (K), megabyte (M) o gigabyte (G). |
La procedura autoextend_datafile
include i seguenti parametri.
Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
numero |
— |
Sì |
L'identificatore del file di dati da ridimensionare. |
|
varchar2 |
— |
Sì |
Lo stato della funzionalità di estensione automatica. Specifica |
|
varchar2 |
— |
No |
Le dimensioni del successivo incremento del file di dati. Specifica le dimensioni in byte (impostazione predefinita), kilobyte (K), megabyte (M) o gigabyte (G). |
|
varchar2 |
— |
No |
Lo spazio massimo su disco consentito per l'estensione automatica. Specifica le dimensioni in byte (impostazione predefinita), kilobyte (K), megabyte (M) o gigabyte (G). È possibile specificare |
L'esempio seguente ridimensiona il file di dati da 4 a 500 MB.
EXEC rdsadmin.rdsadmin_util.resize_datafile(4,'500M');
L'esempio seguente disattiva l'estensione automatica per il file di dati 4. Attiva l'estensione automatica per il file di dati 5, con un incremento di 128 MB e nessuna dimensione massima.
EXEC rdsadmin.rdsadmin_util.autoextend_datafile(4,'OFF'); EXEC rdsadmin.rdsadmin_util.autoextend_datafile(5,'ON','128M','UNLIMITED');
Ridimensionamento degli spazi di tabella temporanei
Per ridimensionare uno spazio di tabella temporaneo in un'istanza database RDS per Oracle, inclusa una replica di lettura, utilizza una delle seguenti procedure Amazon RDS:
-
rdsadmin.rdsadmin_util.resize_temp_tablespace
-
rdsadmin.rdsadmin_util.resize_tempfile
-
rdsadmin.rdsadmin_util.autoextend_tempfile
La procedura resize_temp_tablespace
include i seguenti parametri.
Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
varchar2 |
— |
Sì |
Il nome dello spazio tabella temporaneo da ridimensionare. |
|
varchar2 |
— |
Sì |
La dimensione dello spazio di tabella. Specifica le dimensioni in byte (impostazione predefinita), kilobyte (K), megabyte (M) o gigabyte (G). |
La procedura resize_tempfile
include i seguenti parametri.
Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
numero |
— |
Sì |
L'identificatore del file temporaneo da ridimensionare. |
|
varchar2 |
— |
Sì |
Le dimensioni del file temporaneo. Specifica le dimensioni in byte (impostazione predefinita), kilobyte (K), megabyte (M) o gigabyte (G). |
La procedura autoextend_tempfile
include i seguenti parametri.
Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
numero |
— |
Sì |
L'identificatore del file temporaneo da ridimensionare. |
|
varchar2 |
— |
Sì |
Lo stato della funzionalità di estensione automatica. Specifica |
|
varchar2 |
— |
No |
Le dimensioni del successivo incremento del file temporaneo. Specifica le dimensioni in byte (impostazione predefinita), kilobyte (K), megabyte (M) o gigabyte (G). |
|
varchar2 |
— |
No |
Lo spazio massimo su disco consentito per l'estensione automatica. Specifica le dimensioni in byte (impostazione predefinita), kilobyte (K), megabyte (M) o gigabyte (G). È possibile specificare |
I seguenti esempi ridimensionano uno spazio di tabella temporaneo denominato TEMP
alla dimensione di 4 GB.
EXEC rdsadmin.rdsadmin_util.resize_temp_tablespace('TEMP','4G');
EXEC rdsadmin.rdsadmin_util.resize_temp_tablespace('TEMP','4096000000');
Il seguente esempio ridimensiona uno spazio tabella temporaneo basato sul file temporaneo con l'identificatore file 1
alla dimensione di 2 MB.
EXEC rdsadmin.rdsadmin_util.resize_tempfile(1,'2M');
L'esempio seguente disattiva l'estensione automatica per il file temporaneo 1. Imposta la dimensione massima dell'estensione automatica del file temporaneo da 2 a 10 GB, con un incremento di 100 MB.
EXEC rdsadmin.rdsadmin_util.autoextend_tempfile(1,'OFF'); EXEC rdsadmin.rdsadmin_util.autoextend_tempfile(2,'ON','100M','10G');
Per maggiori informazioni sulle repliche di lettura per le istanze database Oracle, consulta Utilizzo di repliche di lettura per Amazon RDS per Oracle.
Eliminazione del cestino riciclaggio
Quando si rilascia una tabella, il database Oracle non rimuove immediatamente lo spazio di storage. Il database rinomina la tabella inserendola insieme agli eventuali oggetti associati in un cestino riciclaggio. L'eliminazione del cestino riciclaggio rimuove questi elementi e rilascia il relativo spazio di storage.
Per rimuovere l'intero cestino riciclaggio, utilizza la procedura Amazon RDS rdsadmin.rdsadmin_util.purge_dba_recyclebin
. Tuttavia, questa procedura non può eliminare dal cestino riciclaggio gli oggetti SYS
e RDSADMIN
. Se è necessario eliminare questi oggetti, contatta AWS
Support.
Nell'esempio seguente viene eliminato l'intero cestino riciclaggio.
EXEC rdsadmin.rdsadmin_util.purge_dba_recyclebin;
Impostazione dei valori di default visualizzati per la redazione completa
Per modificare i valori di default visualizzati per la redazione completa sull'istanza Oracle Amazon RDS, utilizza la procedura rdsadmin.rdsadmin_util.dbms_redact_upd_full_rdct_val
di Amazon RDS. Tenere presente che viene creata una policy di redazione con il pacchetto PL/SQL DBMS_REDACT
, come spiegato nella documentazione del database Oracle. La procedura dbms_redact_upd_full_rdct_val
specifica i caratteri da visualizzare per i diversi tipi di dati influenzati da una policy esistente.
La procedura dbms_redact_upd_full_rdct_val
include i seguenti parametri.
Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
number |
Null |
No |
Modifica il valore di default per le colonne del tipo di dati |
|
binary_float |
Null |
No |
Modifica il valore di default per le colonne del tipo di dati |
|
binary_double |
Null |
No |
Modifica il valore di default per le colonne del tipo di dati |
|
char |
Null |
No |
Modifica il valore di default per le colonne del tipo di dati |
|
varchar2 |
Null |
No |
Modifica il valore di default per le colonne del tipo di dati |
|
nchar |
Null |
No |
Modifica il valore di default per le colonne del tipo di dati |
|
nvarchar2 |
Null |
No |
Modifica il valore di default per le colonne del tipo di dati |
|
data |
Null |
No |
Modifica il valore di default per le colonne del tipo di dati |
|
timestamp |
Null |
No |
Modifica il valore di default per le colonne del tipo di dati |
|
timestamp with time zone |
Null |
No |
Modifica il valore di default per le colonne del tipo di dati |
|
blob |
Null |
No |
Modifica il valore di default per le colonne del tipo di dati |
|
clob |
Null |
No |
Modifica il valore di default per le colonne del tipo di dati |
|
nclob |
Null |
No |
Modifica il valore di default per le colonne del tipo di dati |
L'esempio seguente modifica il valore di default redatto in * per il tipo di dati CHAR
:
EXEC rdsadmin.rdsadmin_util.dbms_redact_upd_full_rdct_val(p_char_val => '*');
L'esempio seguente modifica i valori di default redatti per i tipi di dati NUMBER
, DATE
e CHAR
:
BEGIN rdsadmin.rdsadmin_util.dbms_redact_upd_full_rdct_val( p_number_val=>1, p_date_val=>to_date('1900-01-01','YYYY-MM-DD'), p_varchar_val=>'X'); END; /
Dopo aver modificato i valori di default per la redazione completa con la procedura dbms_redact_upd_full_rdct_val
, riavvia l'istanza database per rendere effettiva la modifica. Per ulteriori informazioni, consulta Riavvio di un'istanza database.