[20190324]奇怪的GV$FILESPACE_USAGE视图.txt

--//发现GV$FILESPACE_USAGE定义很奇怪,做一个记录.

1.环境:
SCOTT@book> @ ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

--//GV$FILESPACE_USAGE的定义如下:
SCOTT@book> select VIEW_NAME,VIEW_DEFINITION c100  from V$FIXED_VIEW_DEFINITION  where view_name=‘GV$FILESPACE_USAGE‘;
VIEW_NAME                      C100
------------------------------ ----------------------------------------------------------------------------------------------------
GV$FILESPACE_USAGE             SELECT inst_id, KTTEFINFOTSN, KTTEFINFOFNO, KTTEFINFOUSP,          KTTEFINFOSIZE, KTTEFINFOMSIZE, KT
                               TEFINFOSCNB,          KTTEFINFOSCNW, KTTEFINFOFLAG          FROM   X$KTTEFINFO
--//整理如下:
SELECT inst_id
      ,KTTEFINFOTSN
      ,KTTEFINFOFNO
      ,KTTEFINFOUSP
      ,KTTEFINFOSIZE
      ,KTTEFINFOMSIZE
      ,KTTEFINFOSCNB
      ,KTTEFINFOSCNW
      ,KTTEFINFOFLAG
  FROM X$KTTEFINFO;

2.增加数据文件:
ALTER TABLESPACE UNDOTBS1
  ADD DATAFILE ‘/mnt/ramdisk/book/undotbs02.dbf‘
  SIZE 16M
  AUTOEXTEND OFF;

SCOTT@book> SELECT file#,ts#,rfile#,name,blocks,bytes FROM v$datafile;
FILE# TS# RFILE# NAME                             BLOCKS        BYTES
----- --- ------ -------------------------------- ------ ------------
    1   0      1 /mnt/ramdisk/book/system01.dbf    97280    796917760
    2   1      2 /mnt/ramdisk/book/sysaux01.dbf   120320    985661440
    3   2      3 /mnt/ramdisk/book/undotbs01.dbf  110720    907018240
    4   4      4 /mnt/ramdisk/book/users01.dbf     16384    134217728
    5   6      5 /mnt/ramdisk/book/example01.dbf   44320    363069440
    6   7      6 /mnt/ramdisk/book/tea01.dbf        5120     41943040
    7   2      7 /mnt/ramdisk/book/undotbs02.dbf    2048     16777216
7 rows selected.

SCOTT@book> select * from GV$FILESPACE_USAGE;
INST_ID TABLESPACE_ID         RFNO ALLOCATED_SPACE    FILE_SIZE FILE_MAXSIZE CHANGESCN_BASE CHANGESCN_WRAP FLAG
------- ------------- ------------ --------------- ------------ ------------ -------------- -------------- ----
      1             0            1           96112        97280      4194302      395636096              3    2
      1             1            2          107392       120320      4194302      395638024              3    2
      1             2            1            2936       110720       664925      395639290              3    6
      1             3            1             256        52992        52992      395639290              3    6
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      1             4            4            1904        16384      4194302      395637154              3    2
      1             6            5           39704        44320      4194302      395636096              3    2
      1             7            6             128         5120      4194302      395636096              3    2
7 rows selected.

--//RFNO根本没有7.视乎表示的含义与rfile#不同.奇怪?视乎相同的表空间RFNO一样.
--//TABLESPACE_ID到底表示什么.乱.

--//GV$FILESPACE_USAGE.FILE_SIZE应该与datafile.BLOCKS一致,但是看下划线这行应该对应/mnt/ramdisk/book/undotbs02.dbf
--//但是大小对不上很奇怪,单位是块不是字节,这个视图很奇怪,不建议使用.
--//视乎flga=6表示undo表空间的数据文件.

--//再增加数据文件看看:
ALTER TABLESPACE UNDOTBS1
  ADD DATAFILE ‘/mnt/ramdisk/book/undotbs03.dbf‘
  SIZE 16M
  AUTOEXTEND OFF;

SCOTT@book> select * from GV$FILESPACE_USAGE;
INST_ID TABLESPACE_ID RFNO ALLOCATED_SPACE    FILE_SIZE FILE_MAXSIZE CHANGESCN_BASE CHANGESCN_WRAP FLAG
------- ------------- ---- --------------- ------------ ------------ -------------- -------------- ----
      1             0    1           96112        97280      4194302      395636096              3    2
      1             1    2          107392       120320      4194302      395640371              3    2
      1             2    1            2560       112768       664919      395643160              3    6
      1             3    1             256        52992        52992      395643160              3    6
      1             4    4            1904        16384      4194302      395637154              3    2
      1             6    5           39704        44320      4194302      395636096              3    2
      1             7    6             128         5120      4194302      395636096              3    2
7 rows selected.
--//还是7条记录

SCOTT@book> SELECT file#,ts#,rfile#,name,blocks,bytes FROM v$datafile;
FILE# TS# RFILE# NAME                             BLOCKS        BYTES
----- --- ------ -------------------------------- ------ ------------
    1   0      1 /mnt/ramdisk/book/system01.dbf    97280    796917760
    2   1      2 /mnt/ramdisk/book/sysaux01.dbf   120320    985661440
    3   2      3 /mnt/ramdisk/book/undotbs01.dbf  110720    907018240
    4   4      4 /mnt/ramdisk/book/users01.dbf     16384    134217728
    5   6      5 /mnt/ramdisk/book/example01.dbf   44320    363069440
    6   7      6 /mnt/ramdisk/book/tea01.dbf        5120     41943040
    7   2      7 /mnt/ramdisk/book/undotbs02.dbf    2048     16777216
    8   2      8 /mnt/ramdisk/book/undotbs03.dbf    2048     16777216
8 rows selected.
--//重启数据库看看:
SYS@book> shutdown immediate ;
Database closed.
Database dismounted.
ORACLE instance shut down.

SYS@book> startup
ORACLE instance started.
Total System Global Area  643084288 bytes
Fixed Size                  2255872 bytes
Variable Size             205521920 bytes
Database Buffers          427819008 bytes
Redo Buffers                7487488 bytes
Database mounted.
Database opened.

SYS@book> select * from GV$FILESPACE_USAGE;
     INST_ID TABLESPACE_ID         RFNO ALLOCATED_SPACE    FILE_SIZE FILE_MAXSIZE CHANGESCN_BASE CHANGESCN_WRAP         FLAG
------------ ------------- ------------ --------------- ------------ ------------ -------------- -------------- ------------
           1             0            1           96112        97280      4194302      395645171              3            2
           1             1            2          107392       120320      4194302      395645171              3            2
           1             2            1            2720       114816       664914      395645171              3            6
           1             3            1             128        52992        52992      395645171              3            6
           1             4            4            1904        16384      4194302      395645171              3            2
           1             6            5           39704        44320      4194302      395645171              3            2
           1             7            6             128         5120      4194302      395645171              3            2
7 rows selected.
--//依旧是7行.

3.再看看看CHANGESCN_WRAP:
--//CHANGESCN_WRAP有表示什么?表示scn的wrap吗?我查询生产系统如下:
set linesize 200
select * from GV$FILESPACE_USAGE where rownum<=10;
   INST_ID TABLESPACE_ID       RFNO ALLOCATED_SPACE  FILE_SIZE FILE_MAXSIZE CHANGESCN_BASE CHANGESCN_WRAP       FLAG
---------- ------------- ---------- --------------- ---------- ------------ -------------- -------------- ----------
         1             0          1           96000      96000      4194302     2895231817              3          2
         1             0         29            9848     512000       512000     1524748330              6          2
         1             1          2           66560      66560      4194302     1658426615              6          2
         1             1         28          412112     512000       512000     1682050392              6          2
         1             2          1           85232    5760000     10948604     1682775853              6          6
         1             3          1          107520    4194176      4194302     1682775853              6          6
         1             4          4          473656    2439840      4194302     1459217743              6          2
         1             5          1           17456    5760000     10948604     1682654360              6          6
         1             6          6         1541808    1622016      4194302     1608398721              6          2
         1             7          7         4194303    4194303      4194303     1190175374              5          2
--//CHANGESCN_WRAP有6,3,5,表示什么??

总结:
--//总之这个视图很奇怪,不建议使用,视乎在查询undo表空间上有问题,细节我探究了.

原文地址:https://www.cnblogs.com/lfree/p/10592101.html

时间: 2024-11-05 22:39:53

[20190324]奇怪的GV$FILESPACE_USAGE视图.txt的相关文章

[20181007]12cR2 Using SQL Patch 2.txt

--//12cR2 已经把sql打补丁集成进入dbms_sqldiag,不是11g的 DBMS_SQLDIAG_INTERNAL.I_CREATE_PATCH .做一个记录.--//以前的链接:http://blog.itpub.net/267265/viewspace-751900/=>[20121231]给sql打补丁.txt --//想看看打补丁的提示写入那张表.奇怪没有地方显示hint_text信息. 1.环境:[email protected]> @ ver1PORT_STRING 

Android视图绘制流程完全解析,带你一步步深入了解View(二)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/16330267 在上一篇文章中,我带着大家一起剖析了一下LayoutInflater的工作原理,可以算是对View进行深入了解的第一步吧.那么本篇文章中,我们将继续对View进行深入探究,看一看它的绘制流程到底是什么样的.如果你还没有看过我的上一篇文章,可以先去阅读 Android LayoutInflater原理分析,带你一步步深入了解View(一) . 相 信每个Android

(转)Android视图绘制流程完全解析,带你一步步深入了解View(二)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/16330267 在上一篇文章中,我带着大家一起剖析了一下LayoutInflater的工作原理,可以算是对View进行深入了解的第一步吧.那么本篇文章中,我们将继续对View进行深入探究,看一看它的绘制流程到底是什么样的.如果你还没有看过我的上一篇文章,可以先去阅读 Android LayoutInflater原理分析,带你一步步深入了解View(一) . 相信每个Android程

[转] 使用SQL脚本查看表空间使用率和使用dba_tablespace_usage_metrics视图的区别

传统的SQL脚本查看表空间使用率,使用的关键视DBA_DATA_FILE和DBA_FREE_SPACE.Oracle 11g引入了DBA_TABLESPACE_USAGE_METRICS视图.事实上,Oracle 10g中就已经引入了该视图,可以使用,但在10g官方文档中查不到,11g官方文档对该视图作了说明. Oracle 11g 官方文档中对DBA_TABLESPACE_USAGE_METRICS视图的说明: DBA_TABLESPACE_USAGE_METRICS describes ta

Android--自定义控件(二)

View的绘制流程 Android中的任何一个布局.任何一个控件其实都是直接或间接继承自View的 每一个视图的绘制过程都必须经历三个最主要的阶段,即onMeasure().onLayout()和onDraw() 一. onMeasure() measure是测量的意思,那么onMeasure()方法顾名思义就是用于测量视图的大小的.View系统的绘制流程会从ViewRoot的performTraversals()方法中开始,在其内部调用View的measure()方法.measure()方法接

LayoutInflater(二)

每一个视图的绘制过程都必须经历三个最主要的阶段,即onMeasure().onLayout()和onDraw(),下面我们逐个对这三个阶段展开进行探讨. 一. onMeasure() measure是测量的意思,那么onMeasure()方法顾名思义就是用于测量视图的大小的.View系统的绘制流程会从ViewRoot的performTraversals()方法中开始,在其内部调用View的measure()方法.measure()方法接收两个参数,widthMeasureSpec和heightM

Django Book

The Django Book 2.0--中文版 第一章:介绍Django 本书所讲的是Django:一个可以使Web开发工作愉快并且高效的Web开发框架. 使用Django,使你能够以最小的代价构建和维护高质量的Web应用. 从好的方面来看,Web 开发激动人心且富于创造性:从另一面来看,它却是份繁琐而令人生厌的工作. 通过减少重复的代码,Django 使你能够专注于 Web 应用上有 趣的关键性的东西. 为了达到这个目标,Django 提供了通用Web开发模式的高度抽象,提供了频繁进行的编程

Android 深入了解View(二)

相信每个Android程序员都知道,我们每天的开发工作当中都在不停地跟View打交道,Android中的任何一个布局.任何一个控件其实都是直接或间接继承自View的,如TextView.Button.ImageView.ListView等.这些控件虽然是Android系统本身就提供好的,我们只需要拿过来使用就可以了,但你知道它们是怎样被绘制到屏幕上的吗?多知道一些总是没有坏处的,那么我们赶快进入到本篇文章的正题内容吧. 要知道,任何一个视图都不可能凭空突然出现在屏幕上,它们都是要经过非常科学的绘

android 自定义view 前的基础知识

本篇文章是自己自学自定义view前的准备,具体参考资料来自 Android LayoutInflater原理分析,带你一步步深入了解View(一) Android视图绘制流程完全解析,带你一步步深入了解View(二) Android视图状态及重绘流程分析,带你一步步深入了解View(三) Android自定义View的实现方法,带你一步步深入了解View(四) 这位大哥的系列博文,相当于自己看这些的一个思考吧. 一.首先学layoutInflater. 相信接触Android久一点的朋友对于La