пятница, 6 сентября 2013 г.

Check tablespace size usage

Rewritten version from Top DBA Shell Scripts for Monitoring the Database based on MAXBYTES of each file within tablespace:
  1. SELECT F.TABLESPACE_NAME,
  2. TO_CHAR ((T.ALLOCATED_SPACE - F.FREE_SPACE),'999,999') "USED (MB)",
  3. TO_CHAR (T.TOTAL_SPACE, '999,999') "TOTAL (MB)",
  4. TO_CHAR (T.TOTAL_SPACE - (T.ALLOCATED_SPACE - F.FREE_SPACE), '999,999') "FREE (MB)",
  5. TO_CHAR ((ROUND (((T.TOTAL_SPACE - (T.ALLOCATED_SPACE - F.FREE_SPACE))/T.TOTAL_SPACE)*100)),'999')||' %' PER_FREE
  6. FROM (
  7. SELECT TABLESPACE_NAME,
  8. ROUND (SUM (BLOCKS*(SELECT VALUE/1024
  9. FROM V$PARAMETER
  10. WHERE NAME = 'db_block_size')/1024)
  11. ) FREE_SPACE
  12. FROM DBA_FREE_SPACE
  13. GROUP BY TABLESPACE_NAME
  14. ) F,
  15. (
  16. SELECT TABLESPACE_NAME,
  17. ROUND(SUM (MAXBYTES/1048576)) TOTAL_SPACE,
  18. ROUND (SUM (BYTES/1048576)) ALLOCATED_SPACE
  19. FROM DBA_DATA_FILES
  20. GROUP BY TABLESPACE_NAME
  21. ) T
  22. WHERE F.TABLESPACE_NAME = T.TABLESPACE_NAME
  23. --AND ROUND (((T.TOTAL_SPACE - (T.ALLOCATED_SPACE - F.FREE_SPACE))/T.TOTAL_SPACE)*100) < 10;

Restore archivelog from backup by logseq/scn

See details in RMAN effective use
  1. set archivelog destination to '/disk1/oracle/temp_restore';
  2. #restore archivelog from scn=460779 until scn =506141
  3. restore archivelog from logseq 1 until logseq 10;