{"id":1032,"date":"2024-06-30T12:39:15","date_gmt":"2024-06-30T15:39:15","guid":{"rendered":"https:\/\/www.fernandosimon.com\/blog\/?p=1032"},"modified":"2024-06-30T12:39:15","modified_gmt":"2024-06-30T15:39:15","slug":"23ai-additional-details-flashback-logs-parameters","status":"publish","type":"post","link":"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/","title":{"rendered":"23ai, additional details for DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST"},"content":{"rendered":"<p style=\"text-align: justify;\">In my <a href=\"https:\/\/www.fernandosimon.com\/blog\/23ai-new-flashback-logs-parameters\/\" target=\"_blank\" rel=\"noopener\">previous post<\/a>, I talked about why use the new parameters DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST for Oracle 23ai. I spoke about how to configure them and the benefits. Here you will find additional details about these two parameters and what they change for internal views and the restore points.<\/p>\n<p style=\"text-align: justify;\"><!--more Click here to read more...--><\/p>\n<h1><a href=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/06\/Attention-Details.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1033 size-medium\" src=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/06\/Attention-Details-300x284.jpg\" alt=\"\" width=\"300\" height=\"284\" srcset=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/06\/Attention-Details-300x284.jpg 300w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/06\/Attention-Details-768x727.jpg 768w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/06\/Attention-Details-624x591.jpg 624w, https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/06\/Attention-Details.jpg 834w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h1>\n<h1 style=\"text-align: justify;\">Restore Points<\/h1>\n<p style=\"text-align: justify;\">If you already used the fast recovery area, you will notice that when it becomes full the database freezes until you clean it. Sometimes when you use restore points you easily reach the point when you have a lot of flashback logs that can\u2019t be deleted. The famous \u201c<em><span data-preserver-spaces=\"true\">db_recovery_file_dest_size of 2147483648 bytes is 100.00% used<\/span><\/em><span data-preserver-spaces=\"true\">\u201d in alertlog<\/span>.<\/p>\n<p style=\"text-align: justify;\">For the scenario below, I already set the two parameters, DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST. And the size for DB_FLASHBACK_LOG_DEST_SIZE is 1GB. Below you can see that I created a guarantee restore point for the PDB and executed some inserts:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">SQL&gt; alter system set db_flashback_log_dest_size = 1G scope = both sid = '*';\r\n\r\nSystem altered.\r\n\r\nSQL&gt; \r\nCREATE RESTORE POINT restp_flsize FOR PLUGGABLE DATABASE pdbdc1 GUARANTEE FLASHBACK DATABASE;\r\n\r\nRestore point created.\r\n\r\nSQL&gt; alter session set container = PDBDC1;\r\n\r\nSession altered.\r\n\r\nSQL&gt; \r\nSQL&gt; insert \/*+ append *\/ into t1\r\n\u2026\r\n\u2026\r\n 23  ;\r\n\r\n1600000 rows created.\r\n\r\nSQL&gt; \r\nSQL&gt; insert \/*+ append *\/ into t1\r\n\u2026\r\n\u2026\r\n 23  ;\r\n\r\n1600000 rows created.\r\n\r\nSQL&gt;<\/pre>\n<p style=\"text-align: justify;\"><span data-preserver-spaces=\"true\">While running several of these inserts, the flashback log was filled we can see this <\/span><strong><span data-preserver-spaces=\"true\">new friendly message<\/span><\/strong><span data-preserver-spaces=\"true\"> at alertlog (<em>The database may hang soon due to guaranteed restore points<\/em>):<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">--ATTENTION--\r\nThe database may hang soon due to guaranteed restore points.\r\n2024-06-16T22:23:55.841970+02:00\r\nThread 1 advanced to log sequence 73 (LGWR switch),  current SCN: 2421137\r\n  Current log# 1 seq# 73 mem# 0: \/opt\/oracle\/oradata\/FREE\/redo01.log\r\n2024-06-16T22:23:59.872047+02:00\r\nARC2 (PID:12053): Archived Log entry 72 added for B-1171730502.T-1.S-72 LOS:0x000000000024d26e NXS:0x000000000024f191 NAB:400567 ID 0x560e8f84 LAD:1 [krse.c:4872]<\/pre>\n<p style=\"text-align: justify;\">And if we continue the database will freeze because the space is exhausted (<em>Recovery Writer (RVWR) is hung until more space is available in Flashback destination)<\/em>:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">2024-06-16T22:27:48.764841+02:00\r\nThread 1 advanced to log sequence 76 (LGWR switch),  current SCN: 2432519\r\n  Current log# 1 seq# 76 mem# 0: \/opt\/oracle\/oradata\/FREE\/redo01.log\r\n2024-06-16T22:27:52.505980+02:00\r\nARC1 (PID:12051): Archived Log entry 75 added for B-1171730502.T-1.S-75 LOS:0x0000000000250a32 NXS:0x0000000000251e07 NAB:400563 ID 0x560e8f84 LAD:1 [krse.c:4872]\r\n2024-06-16T22:27:55.276963+02:00\r\n--ATTENTION--\r\nRecovery Writer (RVWR) is hung until more space is available in Flashback destination.\r\nUnable to allocate flashback log of 6400 blocks from Flashback destination of size 1073741824 bytes.\r\n\u2026\r\n\u2026\r\n2024-06-16T22:28:56.582626+02:00\r\n--ATTENTION--\r\nRecovery Writer (RVWR) is hung until more space is available in Flashback destination.\r\nUnable to allocate flashback log of 6400 blocks from Flashback destination of size 1073741824 bytes.\r\n2024-06-16T22:29:56.837691+02:00\r\n--ATTENTION--\r\nRecovery Writer (RVWR) is hung until more space is available in Flashback destination.\r\nUnable to allocate flashback log of 6400 blocks from Flashback destination of size 1073741824 bytes.\r\n2024-06-16T22:30:57.208698+02:00\r\n--ATTENTION--\r\nRecovery Writer (RVWR) is hung until more space is available in Flashback destination.\r\nUnable to allocate flashback log of 6400 blocks from Flashback destination of size 1073741824 bytes.\r\n2024-06-16T22:31:58.381068+02:00\r\n--ATTENTION--\r\nRecovery Writer (RVWR) is hung until more space is available in Flashback destination.\r\nUnable to allocate flashback log of 6400 blocks from Flashback destination of size 1073741824 bytes.\r\n2024-06-16T22:32:59.518920+02:00\r\n--ATTENTION--\r\nRecovery Writer (RVWR) is hung until more space is available in Flashback destination.\r\nUnable to allocate flashback log of 6400 blocks from Flashback destination of size 1073741824 bytes.\r\n2024-06-16T22:33:28.784126+02:00<\/pre>\n<p style=\"text-align: justify;\">This was caused because I have the restore point. It is a soft limit by the parameter and caused as well because there is one restore point active. The options to solve are adding more space (if possible), removing the restore point, or changing the value of parameterDB_FLASHBACK_LOG_DEST_SIZE.<\/p>\n<h1 style=\"text-align: justify;\"><span data-preserver-spaces=\"true\">New view v$flashback_log_dest<\/span><\/h1>\n<p style=\"text-align: justify;\"><span data-preserver-spaces=\"true\">Another interesting point is about the <\/span><strong><span data-preserver-spaces=\"true\">v$recovery_area_usage<\/span><\/strong><span data-preserver-spaces=\"true\">. Now, when using the dedicated parameters we need to use another view, the <\/span><strong><span data-preserver-spaces=\"true\">v$flashback_log_dest<\/span><\/strong><span data-preserver-spaces=\"true\">. As you see below, the information about the flashback logs are over another view:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">SQL&gt; Select file_type, percent_space_used as used_pct, percent_space_reclaimable as reclaimable_pct, number_of_files as numfl from v$recovery_area_usage order by USED_PCT;\r\n\r\nFILE_TYPE                 USED_PCT RECLAIMABLE_PCT      NUMFL\r\n----------------------- ---------- --------------- ----------\r\nCONTROL FILE                     0               0          0\r\nREDO LOG                         0               0          0\r\nARCHIVED LOG                     0               0          0\r\nAUXILIARY DATAFILE COPY          0               0          0\r\nIMAGE COPY                       0               0          0\r\nFOREIGN ARCHIVED LOG             0               0          0\r\nBACKUP PIECE                   .18               0          1\r\nFLASHBACK LOG                 9.77               0          5\r\n\r\n8 rows selected.\r\n\r\nSQL&gt;\r\n\u2026\r\n--After set the new parameters\r\n\u2026\r\nSQL&gt; Select file_type, percent_space_used as used_pct, percent_space_reclaimable as reclaimable_pct, number_of_files as numfl from v$recovery_area_usage order by USED_PCT;\r\n\r\nFILE_TYPE                 USED_PCT RECLAIMABLE_PCT      NUMFL\r\n----------------------- ---------- --------------- ----------\r\nCONTROL FILE                     0               0          0\r\nREDO LOG                         0               0          0\r\nARCHIVED LOG                     0               0          0\r\nAUXILIARY DATAFILE COPY          0               0          0\r\nIMAGE COPY                       0               0          0\r\nFOREIGN ARCHIVED LOG             0               0          0\r\nBACKUP PIECE                   .18               0          1\r\n\r\n7 rows selected.\r\n\r\nSQL&gt; select NAME, SPACE_LIMIT, SPACE_USED, NUMBER_OF_FILES, CON_ID from V$FLASHBACK_LOG_DEST;\r\n\r\nNAME                                     SPACE_LIMIT SPACE_USED NUMBER_OF_FILES     CON_ID\r\n---------------------------------------- ----------- ---------- --------------- ----------\r\n\/opt\/oracle\/oradata\/FREE\/flashlog         1073741824  419430400               2          0\r\n\r\nSQL&gt;<\/pre>\n<p style=\"text-align: justify;\">So, when using the new parameters, the <strong>information about the flashback log moves from v$recovery_area_usage to v$flashback_log_dest<\/strong>.<\/p>\n<h1 style=\"text-align: justify;\">Flashback ON and OFF<\/h1>\n<p style=\"text-align: justify;\">The next one is when you want to move between using the fast recovery area and the new DB_FLASHBACK_LOG_DEST to have a dedicated path for flashback logs. In this case, you need, first, to disable the flashback mode of the database. This is needed to clean the old flashback logs from the system:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">[oracle@o23fdc21 ~]$ mkdir \/opt\/oracle\/oradata\/FREE\/recovery\r\n[oracle@o23fdc21 ~]$ sqlplus \/ as sysdba\r\n\r\nSQL*Plus: Release 23.0.0.0.0 - Production on Sat Jun 15 18:11:06 2024\r\nVersion 23.4.0.24.05\r\n\r\nCopyright (c) 1982, 2024, Oracle.  All rights reserved.\r\n\r\n\r\nConnected to:\r\nOracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free\r\nVersion 23.4.0.24.05\r\n\r\nSQL&gt; alter system set db_recovery_file_dest_size = 2G scope = spfile sid = '*';\r\n\r\nSystem altered.\r\n\r\nSQL&gt; alter system set db_recovery_file_dest='\/opt\/oracle\/oradata\/FREE\/recovery' scope = spfile sid = '*';\r\n\r\nSystem altered.\r\n\r\nSQL&gt; shutdown immediate;\r\nDatabase closed.\r\nDatabase dismounted.\r\nORACLE instance shut down.\r\nSQL&gt; startup mount;\r\nORACLE instance started.\r\n\r\nTotal System Global Area 1603726344 bytes\r\nFixed Size                  5360648 bytes\r\nVariable Size             419430400 bytes\r\nDatabase Buffers         1174405120 bytes\r\nRedo Buffers                4530176 bytes\r\nDatabase mounted.\r\nSQL&gt; alter database archivelog;\r\n\r\nDatabase altered.\r\n\r\nSQL&gt; alter database flashback on;\r\n\r\nDatabase altered.\r\n\r\nSQL&gt; alter database open;\r\n\r\nDatabase altered.\r\n\r\nSQL&gt;  archive log list;\r\nDatabase log mode              Archive Mode\r\nAutomatic archival             Enabled\r\nArchive destination            USE_DB_RECOVERY_FILE_DEST\r\nOldest online log sequence     1\r\nNext log sequence to archive   1\r\nCurrent log sequence           1\r\nSQL&gt; show parameter dest_size\r\n\r\nNAME                                 TYPE        VALUE\r\n------------------------------------ ----------- ------------------------------\r\ndb_flashback_log_dest_size           big integer 0\r\ndb_recovery_file_dest_size           big integer 2G\r\nSQL&gt;\r\nSQL&gt; alter session set container = PDBDC1;\r\n\r\nSession altered.\r\n\r\nSQL&gt; -- GENERATE SOME DATA LOAD TO CREATE FLASHBACK LOGS at FAST RECOVERY AREA\r\nSQL&gt; exit\r\nDisconnected from Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free\r\nVersion 23.4.0.24.05\r\n[oracle@o23fdc11 ~]$\r\n[oracle@o23fdc11 ~]$ mkdir \/opt\/oracle\/oradata\/FREE\/flashlog\r\n[oracle@o23fdc11 ~]$ sqlplus \/ as sysdba\r\n\r\nSQL*Plus: Release 23.0.0.0.0 - Production on Sun Jun 16 21:44:36 2024\r\nVersion 23.4.0.24.05\r\n\r\nCopyright (c) 1982, 2024, Oracle.  All rights reserved.\r\n\r\n\r\nConnected to:\r\nOracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free\r\nVersion 23.4.0.24.05\r\n\r\nSQL&gt; alter system set db_flashback_log_dest = '\/opt\/oracle\/oradata\/FREE\/flashlog' scope = spfile sid = '*';\r\n\r\nSystem altered.\r\n\r\nSQL&gt; alter system set db_flashback_log_dest_size = 2G scope = spfile sid = '*';\r\n\r\nSystem altered.\r\n\r\nSQL&gt; shutdown immediate;\r\nDatabase closed.\r\nDatabase dismounted.\r\nORACLE instance shut down.\r\nSQL&gt;\r\n\r\n\r\nSQL&gt;\r\nSQL&gt;\r\nSQL&gt; startup;\r\nORACLE instance started.\r\n\r\nTotal System Global Area 1603726344 bytes\r\nFixed Size                  5360648 bytes\r\nVariable Size             553648128 bytes\r\nDatabase Buffers         1040187392 bytes\r\nRedo Buffers                4530176 bytes\r\nDatabase mounted.\r\nORA-38760: This database instance failed to turn on flashback database\r\nHelp: https:\/\/docs.oracle.com\/error-help\/db\/ora-38760\/\r\n\r\n\r\nSQL&gt;<\/pre>\n<p style=\"text-align: justify;\">So, above you can see that I set the Fast Recovery Area first, and enabled the flashback mode. After, I generated some load to create archivelogs and flashback logs. To finish, I created the new directory and tried to move to the new path, but it failed. And in the alertlog you will see ORA-38896:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">Successful mount of redo thread 1, with mount id 1443903902\r\n2024-06-16T21:47:10.136457+02:00\r\nErrors in file \/opt\/oracle\/diag\/rdbms\/free\/FREE\/trace\/FREE_ora_12036.trc:\r\nORA-38896: can not specify DB_FLASHBACK_LOG_DEST in INIT.ORA file after flashback database has been enabled without it\r\n2024-06-16T21:47:10.136567+02:00\r\nDatabase mounted in Exclusive Mode\r\nLost write protection mode set to \"auto\"\r\nCompleted: ALTER DATABASE   MOUNT\r\nALTER DATABASE OPEN\r\n2024-06-16T21:47:10.241081+02:00\r\nErrors in file \/opt\/oracle\/diag\/rdbms\/free\/FREE\/trace\/FREE_ora_12036.trc:\r\nORA-38760: This database instance failed to turn on flashback database\r\nORA-38760 signalled during: ALTER DATABASE OPEN...<\/pre>\n<p style=\"text-align: justify;\">It is not needed to stop the database before making the change. You just need to put the flashback mode off, move to the new path, and later enable flashback mode again:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">SQL&gt; archive log list\r\nDatabase log mode              Archive Mode\r\nAutomatic archival             Enabled\r\nArchive destination            USE_DB_RECOVERY_FILE_DEST\r\nOldest online log sequence     261\r\nNext log sequence to archive   261\r\nCurrent log sequence           260\r\nSQL&gt;\r\nSQL&gt; select LOG_MODE, FLASHBACK_ON from v$database;\r\n\r\nLOG_MODE     FLASHBACK_ON\r\n------------ ------------------\r\nARCHIVELOG   YES\r\n\r\nSQL&gt;\r\nSQL&gt; set linesize 255\r\nSQL&gt; col name format a70\r\nSQL&gt; SELECT log# as lognum , name, bytes\/1024\/1024 as size_mb from v$flashback_database_logfile order by first_time;\r\n\r\n    LOGNUM NAME                                                                      SIZE_MB\r\n---------- ---------------------------------------------------------------------- ----------\r\n         1 \/opt\/oracle\/oradata\/FREE\/recovery\/FREE\/flashback\/o1_mf_m82q1rwd_.flb          200\r\n         2 \/opt\/oracle\/oradata\/FREE\/recovery\/FREE\/flashback\/o1_mf_m82q1w0g_.flb          200\r\n\r\nSQL&gt;\r\nSQL&gt; show parameter flashback\r\n\r\nNAME                                 TYPE        VALUE\r\n------------------------------------ ----------- ------------------------------\r\ndb_flashback_log_dest                string\r\ndb_flashback_log_dest_size           big integer 0\r\ndb_flashback_retention_target        integer     1440\r\nSQL&gt;\r\nSQL&gt; alter system set db_flashback_log_dest_size=1G scope = both;\r\n\r\nSystem altered.\r\n\r\nSQL&gt; alter system set db_flashback_log_dest='\/opt\/oracle\/oradata\/FREE\/flashlog' scope = both;\r\nalter system set db_flashback_log_dest='\/opt\/oracle\/oradata\/FREE\/flashlog' scope = both\r\n*\r\nERROR at line 1:\r\nORA-02097: parameter cannot be modified because specified value is invalid\r\nORA-38895: can not set DB_FLASHBACK_LOG_DEST dynamically after flashback database is on\r\nHelp: https:\/\/docs.oracle.com\/error-help\/db\/ora-02097\/\r\n\r\n\r\nSQL&gt; alter database flashback off;\r\n\r\nDatabase altered.\r\n\r\nSQL&gt; alter system set db_flashback_log_dest='\/opt\/oracle\/oradata\/FREE\/flashlog' scope = both;\r\n\r\nSystem altered.\r\n\r\nSQL&gt; alter database flashback on;\r\n\r\nDatabase altered.\r\n\r\nSQL&gt; SELECT log# as lognum , name, bytes\/1024\/1024 as size_mb from v$flashback_database_logfile order by first_time;\r\n\r\n    LOGNUM NAME                                                                      SIZE_MB\r\n---------- ---------------------------------------------------------------------- ----------\r\n         1 \/opt\/oracle\/oradata\/FREE\/flashlog\/FREE\/flashback\/o1_mf_m82qkqm9_.flb          200\r\n         2 \/opt\/oracle\/oradata\/FREE\/flashlog\/FREE\/flashback\/o1_mf_m82qkt6h_.flb          200\r\n\r\nSQL&gt;<\/pre>\n<h1 style=\"text-align: justify;\">Cleaning the parameters<\/h1>\n<p style=\"text-align: justify;\">If, after you set the parameters, you want to clean the configuration or come back to Fast Recovery Area you need to plan for a bounce to remove the config. The point is that setting the DB_FLASHBACK_LOG_DEST_SIZE does not allow to remove it, even with flashback mode off:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">SQL&gt; select LOG_MODE, FLASHBACK_ON from v$database;\r\n\r\nLOG_MODE     FLASHBACK_ON\r\n------------ ------------------\r\nARCHIVELOG   YES\r\n\r\nSQL&gt; show parameter flashback\r\n\r\nNAME                                 TYPE        VALUE\r\n------------------------------------ ----------- ------------------------------\r\ndb_flashback_log_dest                string\r\ndb_flashback_log_dest_size           big integer 0\r\ndb_flashback_retention_target        integer     1440\r\nSQL&gt; alter system set db_flashback_log_dest_size=1G scope = both;\r\n\r\nSystem altered.\r\n\r\nSQL&gt; alter system set db_flashback_log_dest='\/opt\/oracle\/oradata\/FREE\/flashlog' scope = both;\r\n\r\nSystem altered.\r\n\r\nSQL&gt; alter database flashback off;\r\n\r\nDatabase altered.\r\n\r\nSQL&gt; alter system reset db_flashback_log_dest scope = both;\r\n\r\nSystem altered.\r\n\r\nSQL&gt; alter system reset db_flashback_log_dest_size scope = both;\r\nalter system reset db_flashback_log_dest_size scope = both\r\n*\r\nERROR at line 1:\r\nORA-02097: parameter cannot be modified because specified value is invalid\r\nORA-38893: Parameter DB_FLASHBACK_LOG_DEST_SIZE is out of range (1 - 18446744073709551614)\r\nHelp: https:\/\/docs.oracle.com\/error-help\/db\/ora-02097\/\r\n\r\n\r\nSQL&gt; alter system set db_flashback_log_dest_size = 0 scope = both;\r\nalter system set db_flashback_log_dest_size = 0 scope = both\r\n*\r\nERROR at line 1:\r\nORA-02097: parameter cannot be modified because specified value is invalid\r\nORA-38893: Parameter DB_FLASHBACK_LOG_DEST_SIZE is out of range (1 - 18446744073709551614)\r\nHelp: https:\/\/docs.oracle.com\/error-help\/db\/ora-02097\/\r\n\r\n\r\nSQL&gt; show parameter flashback\r\n\r\nNAME                                 TYPE        VALUE\r\n------------------------------------ ----------- ------------------------------\r\ndb_flashback_log_dest                string\r\ndb_flashback_log_dest_size           big integer 1G\r\ndb_flashback_retention_target        integer     1440\r\nSQL&gt;\r\nSQL&gt; alter system reset db_flashback_log_dest_size scope = spfile;\r\n\r\nSystem altered.\r\n\r\nSQL&gt;\r\nSQL&gt; startup;\r\nORACLE instance started.\r\n\r\nTotal System Global Area 1603726344 bytes\r\nFixed Size                  5360648 bytes\r\nVariable Size             939524096 bytes\r\nDatabase Buffers          654311424 bytes\r\nRedo Buffers                4530176 bytes\r\nDatabase mounted.\r\nDatabase opened.\r\nSQL&gt;<\/pre>\n<p style=\"text-align: justify;\">Above you can see that I set the parameters, and tried to remove it. Even disabling the flashback mode I couldn\u2019t remove the DB_FLASHBACK_LOG_DEST_SIZE (reset or equal to 0). Just after reset at spfile was accepted.<\/p>\n<p style=\"text-align: justify;\">This is not a real issue because you can have the parameter set, even if your flashback logs go to the Fast Recovery Area. The path is more important than the size (as a limiting\/constraint parameter) when disabling it:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\">SQL&gt; show parameter flashback\r\n\r\nNAME                                 TYPE        VALUE\r\n------------------------------------ ----------- ------------------------------\r\ndb_flashback_log_dest                string      \/opt\/oracle\/oradata\/FREE\/flash\r\n                                                 log\r\ndb_flashback_log_dest_size           big integer 1G\r\ndb_flashback_retention_target        integer     1440\r\nSQL&gt; select LOG_MODE, FLASHBACK_ON from v$database;\r\n\r\nLOG_MODE     FLASHBACK_ON\r\n------------ ------------------\r\nARCHIVELOG   YES\r\n\r\nSQL&gt; alter database flashback off;\r\n\r\nDatabase altered.\r\n\r\nSQL&gt; SELECT log# as lognum , name, bytes\/1024\/1024 as size_mb from v$flashback_database_logfile order by first_time;\r\n\r\nno rows selected\r\n\r\nSQL&gt; alter system reset db_flashback_log_dest scope = both;\r\n\r\nSystem altered.\r\n\r\nSQL&gt; show parameter flashback\r\n\r\nNAME                                 TYPE        VALUE\r\n------------------------------------ ----------- ------------------------------\r\ndb_flashback_log_dest                string\r\ndb_flashback_log_dest_size           big integer 1G\r\ndb_flashback_retention_target        integer     1440\r\nSQL&gt; select LOG_MODE, FLASHBACK_ON from v$database;\r\n\r\nLOG_MODE     FLASHBACK_ON\r\n------------ ------------------\r\nARCHIVELOG   NO\r\n\r\nSQL&gt; alter database flashback on;\r\n\r\nDatabase altered.\r\n\r\nSQL&gt; SELECT log# as lognum , name, bytes\/1024\/1024 as size_mb from v$flashback_database_logfile order by first_time;\r\n\r\n    LOGNUM NAME                                                                      SIZE_MB\r\n---------- ---------------------------------------------------------------------- ----------\r\n         1 \/opt\/oracle\/oradata\/FREE\/recovery\/FREE\/flashback\/o1_mf_m82rpc4d_.flb          200\r\n         2 \/opt\/oracle\/oradata\/FREE\/recovery\/FREE\/flashback\/o1_mf_m82rph9w_.flb          200\r\n\r\nSQL&gt; archive log list;\r\nDatabase log mode              Archive Mode\r\nAutomatic archival             Enabled\r\nArchive destination            USE_DB_RECOVERY_FILE_DEST\r\nOldest online log sequence     261\r\nNext log sequence to archive   261\r\nCurrent log sequence           260\r\nSQL&gt; show parameter DB_RECOVERY_FILE_DEST\r\n\r\nNAME                                 TYPE        VALUE\r\n------------------------------------ ----------- ------------------------------\r\ndb_recovery_file_dest                string      \/opt\/oracle\/oradata\/FREE\/recov\r\n                                                 ery\r\ndb_recovery_file_dest_size           big integer 10G\r\nSQL&gt;<\/pre>\n<p style=\"text-align: justify;\">Different than the first example, above you can see that I was using the parameter, disabled the flashback mode, reset the parameter DB_FLASHBACK_LOG_DEST to clean it, and enabled flashback mode again. You can see that the flashback mode was redirected to the Fast Recovery Area. But please do not forget to clean the parameter DB_FLASHBACK_LOG_DEST_SIZE to return it to the default value.<\/p>\n<p style=\"text-align: justify;\">&nbsp;<\/p>\n<p style=\"text-align: justify;\"><strong>Disclaimer<\/strong>: \u201c<em>The postings on this site are my own and don\u2019t necessarily represent my actual employer positions, strategies, or opinions. The information here was edited to be useful for general purposes, specific data and identifications were removed to allow reach the generic audience and to be useful for the community. Post protected by copyright<\/em>\u201d&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In my previous post, I talked about why use the new parameters DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST for Oracle 23ai. I spoke about how to configure them and the benefits. Here you will find additional details about these two parameters and what they change for internal views and the restore points.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[179,29,5],"tags":[180,66,182,65],"class_list":["post-1032","post","type-post","status-publish","format-standard","hentry","category-23ai","category-database","category-oracle","tag-23ai","tag-database","tag-flashback-logs","tag-oracle"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>23ai, additional details for DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST - Fernando Simon<\/title>\n<meta name=\"description\" content=\"Check additional details when setting the Oracle 23ai and the new parameters DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"23ai, additional details for DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST - Fernando Simon\" \/>\n<meta property=\"og:description\" content=\"Check additional details when setting the Oracle 23ai and the new parameters DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/\" \/>\n<meta property=\"og:site_name\" content=\"Fernando Simon\" \/>\n<meta property=\"article:published_time\" content=\"2024-06-30T15:39:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/06\/Attention-Details-300x284.jpg\" \/>\n<meta name=\"author\" content=\"Simon\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Simon\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/\"},\"author\":{\"name\":\"Simon\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\"},\"headline\":\"23ai, additional details for DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST\",\"datePublished\":\"2024-06-30T15:39:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/\"},\"wordCount\":767,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/06\/Attention-Details-300x284.jpg\",\"keywords\":[\"23ai\",\"Database\",\"flashback logs\",\"Oracle\"],\"articleSection\":[\"23ai\",\"Database\",\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/\",\"url\":\"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/\",\"name\":\"23ai, additional details for DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST - Fernando Simon\",\"isPartOf\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/06\/Attention-Details-300x284.jpg\",\"datePublished\":\"2024-06-30T15:39:15+00:00\",\"author\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\"},\"description\":\"Check additional details when setting the Oracle 23ai and the new parameters DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/#primaryimage\",\"url\":\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/06\/Attention-Details.jpg\",\"contentUrl\":\"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/06\/Attention-Details.jpg\",\"width\":834,\"height\":790},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.fernandosimon.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"23ai, additional details for DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#website\",\"url\":\"https:\/\/www.fernandosimon.com\/blog\/\",\"name\":\"Fernando Simon\",\"description\":\"Have you hugged your backup today?\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.fernandosimon.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9\",\"name\":\"Simon\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g\",\"caption\":\"Simon\"},\"sameAs\":[\"http:\/\/www.fernandosimon.com\"],\"url\":\"https:\/\/www.fernandosimon.com\/blog\/author\/simon\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"23ai, additional details for DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST - Fernando Simon","description":"Check additional details when setting the Oracle 23ai and the new parameters DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/","og_locale":"en_US","og_type":"article","og_title":"23ai, additional details for DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST - Fernando Simon","og_description":"Check additional details when setting the Oracle 23ai and the new parameters DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST.","og_url":"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/","og_site_name":"Fernando Simon","article_published_time":"2024-06-30T15:39:15+00:00","og_image":[{"url":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/06\/Attention-Details-300x284.jpg","type":"","width":"","height":""}],"author":"Simon","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Simon","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/#article","isPartOf":{"@id":"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/"},"author":{"name":"Simon","@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9"},"headline":"23ai, additional details for DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST","datePublished":"2024-06-30T15:39:15+00:00","mainEntityOfPage":{"@id":"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/"},"wordCount":767,"commentCount":0,"image":{"@id":"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/#primaryimage"},"thumbnailUrl":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/06\/Attention-Details-300x284.jpg","keywords":["23ai","Database","flashback logs","Oracle"],"articleSection":["23ai","Database","Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/","url":"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/","name":"23ai, additional details for DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST - Fernando Simon","isPartOf":{"@id":"https:\/\/www.fernandosimon.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/#primaryimage"},"image":{"@id":"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/#primaryimage"},"thumbnailUrl":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/06\/Attention-Details-300x284.jpg","datePublished":"2024-06-30T15:39:15+00:00","author":{"@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9"},"description":"Check additional details when setting the Oracle 23ai and the new parameters DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST.","breadcrumb":{"@id":"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/#primaryimage","url":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/06\/Attention-Details.jpg","contentUrl":"https:\/\/www.fernandosimon.com\/blog\/wp-content\/uploads\/2024\/06\/Attention-Details.jpg","width":834,"height":790},{"@type":"BreadcrumbList","@id":"https:\/\/www.fernandosimon.com\/blog\/23ai-additional-details-flashback-logs-parameters\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.fernandosimon.com\/blog\/"},{"@type":"ListItem","position":2,"name":"23ai, additional details for DB_FLASHBACK_LOG_DEST_SIZE and DB_FLASHBACK_LOG_DEST"}]},{"@type":"WebSite","@id":"https:\/\/www.fernandosimon.com\/blog\/#website","url":"https:\/\/www.fernandosimon.com\/blog\/","name":"Fernando Simon","description":"Have you hugged your backup today?","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.fernandosimon.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/386da956604bca0d5be5dd52210c1dd9","name":"Simon","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fernandosimon.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a3dbc48de62fffb1829befb4a588d789ec6dc5e05977afabb3407a5f37a16482?s=96&d=mm&r=g","caption":"Simon"},"sameAs":["http:\/\/www.fernandosimon.com"],"url":"https:\/\/www.fernandosimon.com\/blog\/author\/simon\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5ofTp-gE","_links":{"self":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts\/1032","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/comments?post=1032"}],"version-history":[{"count":0,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/posts\/1032\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/media?parent=1032"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/categories?post=1032"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandosimon.com\/blog\/wp-json\/wp\/v2\/tags?post=1032"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}