有没有一种方法可以检查Oracle中以前的表中是否存在数据?
使用闪回选项,我们可以检查像as of timestamp sysdate - x这样的数据(其中x是我们想要查看过去数据的时间)
但我想知道Oracle提供了什么函数或实用程序,这样我们就可以知道在过去的一周或其他什么地方,表中是否存在某个特定的数据。
发布于 2017-09-29 04:27:11
有时闪存恢复区(FRA)已满,Oracle DBA想要了解它的用途、大小和占用者列表(归档、RMAN备份或映像副本、闪回日志)。
兼容性: Oracle 12c、11g、10g
-- Utilisation (MB) du FRA
set lines 100
col name format a60
select
name,
floor(space_limit / 1024 / 1024) "Size MB",
ceil(space_used / 1024 / 1024) "Used MB"
from v$recovery_file_dest;
-- FRA Occupants
SELECT * FROM V$FLASH_RECOVERY_AREA_USAGE;
-- Location and size of the FRA
show parameter db_recovery_file_dest
-- Size, used, Reclaimable
SELECT
ROUND((A.SPACE_LIMIT / 1024 / 1024 / 1024), 2) AS FLASH_IN_GB,
ROUND((A.SPACE_USED / 1024 / 1024 / 1024), 2) AS FLASH_USED_IN_GB,
ROUND((A.SPACE_RECLAIMABLE / 1024 / 1024 / 1024), 2) AS FLASH_RECLAIMABLE_GB,
SUM(B.PERCENT_SPACE_USED) AS PERCENT_OF_SPACE_USED
FROM
V$RECOVERY_FILE_DEST A,
V$FLASH_RECOVERY_AREA_USAGE B
GROUP BY
SPACE_LIMIT,
SPACE_USED ,
SPACE_RECLAIMABLE ;
-- After that you can resize the FRA with:
-- ALTER SYSTEM SET db_recovery_file_dest_size=xxG;
-- Or change the FRA to a new location (new archives will be created to this new location):
-- ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='/u....';以下语句将闪回时间从默认值一天更改为两天:
SQL> alter system set db_flashback_retention_target = 2880;
https://stackoverflow.com/questions/46477628
复制相似问题