Gestisci fuso orario
Il campo Fuso orario nella console e nell'API consente di avviare le risorse del sistema DB con un fuso orario diverso da UTC (impostazione predefinita).
Il fuso orario specificato quando si crea il sistema di database si applica all'host e a Oracle Grid Infrastructure (se il sistema dispone di Grid Infrastructure) e controlla il fuso orario dei file di log del database. Il fuso orario del database stesso non è interessato. Tuttavia, il fuso orario del database interessa solo il tipo di dati timestamp. È possibile modificare il fuso orario del database manualmente, ma Oracle consiglia di mantenerlo come UTC (impostazione predefinita) per evitare la conversione dei dati e migliorare le prestazioni quando i dati vengono trasferiti tra i database. Questa configurazione è particolarmente importante per i database distribuiti, la replica e le operazioni di esportazione e importazione.
Sebbene UTC sia il fuso orario consigliato da utilizzare, avere un fuso orario comune per i client del database e gli host delle applicazioni può semplificare la gestione e la risoluzione dei problemi per l'amministratore del database.
Nota: i fusi orari vengono utilizzati in gran parte a scopo di visualizzazione o per gestire l'input dell'utente. La modifica del fuso orario non modifica l'ora nell'orologio di sistema.
Opzioni fuso orario
Sia che si utilizzi la console o l'API, le opzioni di fuso orario tra cui è possibile effettuare la selezione sono rappresentate nel formato dell'area denominata, ad esempio America/Los_Angeles. La console consente di selezionare UTC, il fuso orario rilevato nel browser (se il browser supporta il rilevamento del fuso orario) o un fuso orario alternativo.
Per specificare un fuso orario alternativo (l'opzione Seleziona un altro fuso orario), selezionare prima un valore nel campo Area o paese per limitare l'elenco dei fusi orari tra cui effettuare la selezione nel campo Fuso orario. Nell'esempio America/Los_Angeles, America è l'area temporale e Los_Angeles è il fuso orario. Le opzioni che vedete in questi due campi sono approssimativamente correlate ai fusi orari supportati sia nella classe Java.util.TimeZone che nel sistema operativo Linux. Se non viene visualizzato il fuso orario desiderato, provare a selezionare "Varie" nel campo Area e paese.
Suggerimento: se si utilizza l'API e si desidera visualizzare un elenco dei fusi orari supportati, è possibile esaminare le opzioni relative ai fusi orari nella console. Queste opzioni vengono visualizzate nella pagina Crea sistema DB quando vengono visualizzate le opzioni avanzate dopo aver selezionato una forma di sistema DB.
Visualizza il fuso orario corrente
Per visualizzare le informazioni sul fuso orario, effettuare le operazioni riportate di seguito.
-
Accedere all'host come utente Grid.
Esempio:
[opc@rc ~]$ sudo su - grid -
Utilizzare il seguente comando per visualizzare il fuso orario.
timedatectlEsempio:
[grid@rc ~]$ timedatectl Local time: Thu 2023-03-16 08:00:25 UTC Universal time: Thu 2023-03-16 08:00:25 UTC RTC time: Thu 2023-03-16 08:00:21 Time zone: UTC (UTC, +0000) NTP enabled: yes NTP synchronized: no RTC in local TZ: no DST active: n/aIl sistema si trova attualmente nel fuso orario UTC.
-
Accedere al database.
Esempio:
[grid@rc ~]$ sqlplus / as sysdba SQL*Plus: Release 21.0.0.0.0 - Production on Thu Mar 16 08:00:33 2023 Version 21.9.0.0.0 Copyright (c) 1982, 2022, Oracle. All rights reserved. Connected to: Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 -Production Version 21.9.0.0.0 -
È possibile visualizzare l'ora corrente del database utilizzando il comando seguente.
sysdateEsempio:
SQL> select to_char(sysdate,'DD-MON-YYYY HH24:MI:SS') from dual; TO_CHAR(SYSDATE,'DD- -------------------- 16-MAR-2023 08:00:40 -
Uscita.
Modificare il fuso orario del sistema DB
Eseguire i passi riportati di seguito per impostare il fuso orario del sistema DB.
-
Eseguire il login all'host come utente root.
Esempio:
[opc@rc ~]$ sudo su - -
Identificare il valore di fuso orario (TZ) corretto da impostare utilizzando il comando seguente. Ad esempio, se si desidera identificare il valore TZ corretto per il fuso orario orientale degli Stati Uniti (EST/EDT), è possibile utilizzare il comando
tzselecte scegliere Americhe/Stati Uniti/EST.tzselectEsempio:
[root@rc ~]# tzselect Please identify a location so that time zone rules can be set correctly. Please select a continent or ocean. 1) Africa 2) Americas 3) Antarctica 4) Arctic Ocean 5) Asia 6) Atlantic Ocean 7) Australia 8) Europe 9) Indian Ocean 10) Pacific Ocean 11) none - I want to specify the time zone using the Posix TZ format. #? 2 Please select a country. 1) Anguilla 19) Dominican Republic 37) Peru 2) Antigua & Barbuda 20) Ecuador 38) Puerto Rico 3) Argentina 21) El Salvador 39) St Barthelemy 4) Aruba 22) French Guiana 40) St Kitts & Nevis 5) Bahamas 23) Greenland 41) St Lucia 6) Barbados 24) Grenada 42) St Maarten (Dutch) 7) Belize 25) Guadeloupe 43) St Martin (French) 8) Bolivia 26) Guatemala 44) St Pierre & Miquelon 9) Brazil 27) Guyana 45) St Vincent 10) Canada 28) Haiti 46) Suriname 11) Caribbean NL 29) Honduras 47) Trinidad & Tobago 12) Cayman Islands 30) Jamaica 48) Turks & Caicos Is 13) Chile 31) Martinique 49) United States 14) Colombia 32) Mexico 50) Uruguay 15) Costa Rica 33) Montserrat 51) Venezuela 16) Cuba 34) Nicaragua 52) Virgin Islands (UK) 17) Curaçao 35) Panama 53) Virgin Islands (US) 18) Dominica 36) Paraguay #? 49 Please select one of the following time zone regions. 1) Eastern (most areas) 16) Central - ND (Morton rural) 2) Eastern - MI (most areas) 17) Central - ND (Mercer) 3) Eastern - KY (Louisville area) 18) Mountain (most areas) 4) Eastern - KY (Wayne) 19) Mountain - ID (south); OR (east) 5) Eastern - IN (most areas) 20) MST - Arizona (except Navajo) 6) Eastern - IN (Da, Du, K, Mn) 21) Pacific 7) Eastern - IN (Pulaski) 22) Alaska (most areas) 8) Eastern - IN (Crawford) 23) Alaska - Juneau area 9) Eastern - IN (Pike) 24) Alaska - Sitka area 10) Eastern - IN (Switzerland) 25) Alaska - Annette Island 11) Central (most areas) 26) Alaska - Yakutat 12) Central - IN (Perry) 27) Alaska (west) 13) Central - IN (Starke) 28) Aleutian Islands 14) Central - MI (Wisconsin border) 29) Hawaii 15) Central - ND (Oliver) #? 1 The following information has been given: United States Eastern (most areas) Therefore TZ='America/New_York' will be used. Local time is now: Thu Mar 16 04:01:39 EDT 2023. Universal Time is now: Thu Mar 16 08:01:39 UTC 2023. Is the above information OK? 1) Yes 2) No #? 1 You can make this change permanent for yourself by appending the line TZ='America/New_York'; export TZ to the file '.profile' in your home directory; then log out and log in again. Here is that TZ value again, this time on standard output so that you can use the /bin/tzselect command in shell scripts: America/New_York [root@rc ~]#Dal comando
tzselect, il valore TZ è stato identificato comeAmerica/New_Yorkper il fuso orario EDT. -
Aggiornare il comando seguente per impostare il nuovo fuso orario.
timedatectl set-timezone <new_time_zone>Esempio:
[root@rc ~]# timedatectl set-timezone America/New_York -
Verificare se il fuso orario è stato aggiornato utilizzando il comando seguente.
timedatectlEsempio:
[root@rc ~]# timedatectl Local time: Thu 2023-03-16 04:02:15 EDT Universal time: Thu 2023-03-16 08:02:15 UTC RTC time: Thu 2023-03-16 08:02:10 Time zone: America/New_York (EDT, -0400) NTP enabled: yes NTP synchronized: no RTC in local TZ: no DST active: yes Last DST change: DST began at Sun 2023-03-12 01:59:59 EST Sun 2023-03-12 03:00:00 EDT Next DST change: DST ends (the clock jumps one hour backwards) at Sun 2023-11-05 01:59:59 EDT Sun 2023-11-05 01:00:00 ESTSi noti che il sistema si trova ora nel fuso orario America/New_York (EDT).
-
Uscita.
Modificare il fuso orario dell'host sui sistemi DB che utilizzano Grid Infrastructure
Il fuso orario di Oracle Grid Infrastructure determina il fuso orario dei file di log del database.
Eseguire i passi riportati di seguito per aggiornare le informazioni sul fuso orario dell'host dei sistemi DB che utilizzano Grid Infrastructure per la gestione dello storage.
Nota:
- I passi da 1 a 10 devono essere eseguiti su tutti i nodi di un cluster RAC.
- I passi da 11 a 15 possono essere eseguiti su qualsiasi nodo in un cluster RAC.
- Questa procedura non si applica ai sistemi DB con provisioning rapido che utilizzano Logical Volume Manager anziché Grid Infrastructure per la gestione dello storage.
-
Accedere all'host come utente
grid.Esempio:
[opc@rc ~]$ sudo su - grid -
Identificare il valore di fuso orario (TZ) corretto da impostare utilizzando il comando seguente. Ad esempio, se si desidera identificare il valore TZ corretto per il fuso orario US Pacific (PST/PDT), è possibile utilizzare il comando
tzselecte scegliere Americhe/Stati Uniti/Pacifico.tzselectEsempio:
[grid@rc ~]$ tzselect Please identify a location so that time zone rules can be set correctly. Please select a continent or ocean. 1) Africa 2) Americas 3) Antarctica 4) Arctic Ocean 5) Asia 6) Atlantic Ocean 7) Australia 8) Europe 9) Indian Ocean 10) Pacific Ocean 11) none - I want to specify the time zone using the Posix TZ format. #? 2 Please select a country. 1) Anguilla 19) Dominican Republic 37) Peru 2) Antigua & Barbuda 20) Ecuador 38) Puerto Rico 3) Argentina 21) El Salvador 39) St Barthelemy 4) Aruba 22) French Guiana 40) St Kitts & Nevis 5) Bahamas 23) Greenland 41) St Lucia 6) Barbados 24) Grenada 42) St Maarten (Dutch) 7) Belize 25) Guadeloupe 43) St Martin (French) 8) Bolivia 26) Guatemala 44) St Pierre & Miquelon 9) Brazil 27) Guyana 45) St Vincent 10) Canada 28) Haiti 46) Suriname 11) Caribbean NL 29) Honduras 47) Trinidad & Tobago 12) Cayman Islands 30) Jamaica 48) Turks & Caicos Is 13) Chile 31) Martinique 49) United States 14) Colombia 32) Mexico 50) Uruguay 15) Costa Rica 33) Montserrat 51) Venezuela 16) Cuba 34) Nicaragua 52) Virgin Islands (UK) 17) Curaçao 35) Panama 53) Virgin Islands (US) 18) Dominica 36) Paraguay #? 49 Please select one of the following time zone regions. 1) Eastern (most areas) 16) Central - ND (Morton rural) 2) Eastern - MI (most areas) 17) Central - ND (Mercer) 3) Eastern - KY (Louisville area) 18) Mountain (most areas) 4) Eastern - KY (Wayne) 19) Mountain - ID (south); OR (east) 5) Eastern - IN (most areas) 20) MST - Arizona (except Navajo) 6) Eastern - IN (Da, Du, K, Mn) 21) Pacific 7) Eastern - IN (Pulaski) 22) Alaska (most areas) 8) Eastern - IN (Crawford) 23) Alaska - Juneau area 9) Eastern - IN (Pike) 24) Alaska - Sitka area 10) Eastern - IN (Switzerland) 25) Alaska - Annette Island 11) Central (most areas) 26) Alaska - Yakutat 12) Central - IN (Perry) 27) Alaska (west) 13) Central - IN (Starke) 28) Aleutian Islands 14) Central - MI (Wisconsin border) 29) Hawaii 15) Central - ND (Oliver) #? 21 The following information has been given: United States Pacific Therefore TZ='America/Los_Angeles' will be used. Local time is now: Thu Mar 16 01:08:57 PDT 2023. Universal Time is now: Thu Mar 16 08:08:57 UTC 2023. Is the above information OK? 1) Yes 2) No #? 1 You can make this change permanent for yourself by appending the line TZ='America/Los_Angeles'; export TZ to the file '.profile' in your home directory; then log out and log in again. Here is that TZ value again, this time on standard output so that you can use the /bin/tzselect command in shell scripts: America/Los_Angeles [grid@rc ~]$Dal comando
tzselect, il valore TZ è stato identificato comeAmerica/Los_Angelesper il fuso orario PDT. -
Eseguire il comando seguente per ottenere il nome host.
hostnameEsempio:
[grid@rc ~]$ hostname rc -
Eseguire il comando seguente per ottenere il nome del database.
srvctl config database -vEsempio:
[grid@rc ~]$ srvctl config database -v SMDB0316_iad1cx /u01/app/oracle/product/21.0.0.0/dbhome_1 21.0.0.0.0 -
Eseguire il logout come utente Grid e connettersi come utente root.
Esempio:
[grid@rc ~]$ exit logout [opc@rc ~]$ sudo su - -
Passare alla seguente directory.
cd $GRID_HOME/crs/installEsempio:
[root@rc ~]# cd /u01/app/21.0.0.0/grid/crs/install/ -
Modificare il contenuto del fuso orario del file seguente. Salvare e chiudere il file dopo averlo modificato.
vim s_crsconfig_<hostname>_env.txtEsempio:
[root@rc install]# vim s_crsconfig_rc_env.txt -
Verificare se la voce TZ nel file è aggiornata.
cat s_crsconfig_<hostname>_env.txtEsempio:
[root@rc install]# cat s_crsconfig_rc_env.txt ######################################################################### #This file can be used to set values for the NLS_LANG and TZ environment #variables and to set resource limits for Oracle Clusterware and #Database processes. #1. The NLS_LANG environment variable determines the language and # characterset used for messages. For example, a new value can be # configured by setting NLS_LANG=JAPANESE_JAPAN.UTF8 #2. The Time zone setting can be changed by setting the TZ entry to # the appropriate time zone name. For example, TZ=America/New_York #3. Resource limits for stack size, open files and number of processes # can be specified by modifying the appropriate entries. # #Do not modify this file except as documented above or under the #direction of Oracle Support Services. ######################################################################### TZ=America/Los_Angeles NLS_LANG=AMERICAN_AMERICA.AL32UTF8 CRS_LIMIT_STACK=2048 CRS_LIMIT_OPENFILE=65536 CRS_LIMIT_NPROC=65536 TNS_ADMIN= [root@rc install]# -
Impostare il nuovo fuso orario utilizzando il comando seguente.
timedatectl set-timezone <new_time_zone>Esempio:
[root@rc install]# timedatectl set-timezone America/Los_AngelesNota:
- I passi da 1 a 9 devono essere eseguiti su tutti i nodi di un cluster RAC.
- I passi da 10 a 15 possono essere eseguiti su qualsiasi nodo in un cluster RAC.
-
Passare alla seguente directory.
cd $GRID_HOME/binEsempio:
[root@rc install]# cd /u01/app/21.0.0.0/grid/bin/ -
Modificare il valore del fuso orario a livello di database nel fuso orario desiderato utilizzando il comando seguente.
srvctl setenv database -d <database_name> -t "TZ=<new_time_zone>"Esempio:
[root@rc bin]# ./srvctl setenv database -d SMDB0316_iad1cx -t "TZ=America/Los_Angeles" -
Verificare il set di valori del fuso orario utilizzando il comando seguente.
srvctl getenv database -d <database_name>Esempio:
[root@rc bin]# ./srvctl getenv database -d SMDB0316_iad1cx SMDB0316_iad1cx: TZ=America/Los_Angeles -
Arrestare lo stack CRS su tutti i nodi di calcolo.
crsctl stop clusterEsempio:
[root@rc bin]# ./crsctl stop cluster CRS-2673: Attempting to stop 'ora.crsd' on 'rc' . . . CRS-2673: Attempting to stop 'ora.cssd' on 'rc' CRS-2677: Stop of 'ora.cssd' on 'rc' succeeded [root@rc bin]# -
Avviare lo stack CRS su tutti i nodi di calcolo.
crsctl start clusterEsempio:
[root@rc bin]# ./crsctl start cluster CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rc' . . . CRS-2672: Attempting to start 'ora.crsd' on 'rc' CRS-2676: Start of 'ora.crsd' on 'rc' succeeded [root@rcbin]# -
Verificare se il fuso orario è stato aggiornato utilizzando il comando seguente.
timedatectlEsempio:
[root@rc bin]# timedatectl Local time: Thu 2023-03-16 01:19:15 PDT Universal time: Thu 2023-03-16 08:19:15 UTC RTC time: Thu 2023-03-16 08:19:10 Time zone: America/Los_Angeles (PDT, -0700) NTP enabled: yes NTP synchronized: no RTC in local TZ: no DST active: yes Last DST change: DST began at Sun 2023-03-12 01:59:59 PST Sun 2023-03-12 03:00:00 PDT Next DST change: DST ends (the clock jumps one hour backwards) at Sun 2023-11-05 01:59:59 PDT Sun 2023-11-05 01:00:00 PSTSi noti che il sistema si trova ora nel fuso orario America/Los_Angeles (PDT).