热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

v$开头的就一定是视图吗?

动态性能视图oracle内存在运行中时刻都在变化,这些变化的数据寄存于动态性能表(内存表,固定表)中,随着数据库启动而建立,随数据库运行而增加内容,动态性能表也过于复杂,oracle在此基础之上又建立了视图和同义词,用于DBA判断系统的性能状态信息这类

动态性能视图 oracle内存在运行中时刻都在变化,这些变化的数据寄存于动态性能表(内存表,固定表)中,随着数据库启动而建立,随数据库运行而增加内容,动态性能表也过于复杂,oracle在此基础之上又建立了视图和同义词,用于DBA判断系统的性能状态信息 这类

动态性能视图

oracle内存在运行中时刻都在变化,这些变化的数据寄存于动态性能表(内存表,固定表)中,随着数据库启动而建立,随数据库运行而增加内容,动态性能表也过于复杂,oracle在此基础之上又建立了视图和同义词,用于DBA判断系统的性能状态信息

这类视图和同义词我们称之为动态性能视图,它存储的是时刻改变的数据

select * from v$FIXED_TABLE

在oracle数据库中还维护与数据实例的操作和性能相关的动态数据集。这些动态性能视图建立在通过数据库服务器内的内存结构构建的虚拟表基础上。也就是说,它们不是驻留在数据库中的常规表。因此,其中的某些视图可以在装载或打开数据库之前显示数据。

动态性能视图包括关于以下内容的信息:

· 会话 · 文件状态 · 作业和任务的进度 · · 备份状态 ·内存使用和分配 ·系统和会话参数 ·SQL 执行 ·统计信息和度量

注:DICT 和 DICT_COLUMNS 视图也包含这些动态性能视图的名称。

某些动态视图包含的数据不一定适用于实例或数据库的所有状态。例如,如果刚刚启动一个实例,但未装载数据库,则可以通过查询v$BGPROCESS 查看正在运行的后台进程的列表。但不能通过查询v$DATAFILE查看数据库数据文件的状态,因为要由进行装载的数据库读取控制文件后才能找出数据库关联的数据文件。

· 这些视图由SYS用户拥有。

· 不同时间可以使用不同视图:

---- 实例已启动

---- 数据库已装载

---- 数据库已打开

· 通过查询V$FIXED_TABLE 可查看所有视图名称

· 这些视图通常又称为“v$视图”

· 由于数据是动态的,因此这些视图不保证读取一致性

\

v$开头的就一定是视图吗?<喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjwvcD4KPHA+otkg0tRWJFBBUkFNRVRFUiDOqsD9o6yy6b+00rvPwtXiuPbK0828tcS7+bHtysfKssO0o6zO0sPHwPvTw2RibXNfbWV0YWRhdGEuZ2V0X2RkbCgpo6zTw8v8u/HIoVYkUEFSQU1FVEVSILXEtqjS5aOsxMfDtNDo0qrWqrXAViRQQVJBTUVURVIgtcTA4NDNvLAgb3duZXIgo6zO0sPH08PI58/Cw/zB7rLp0a+1w7W9wODQzbywb3duZXKhozwvcD4KPHA+U1lTQE9SQ0wmZ3Q7Q09MIE9CSkVDVF9OQU1FIEZPUiBBMjA8YnI+ClNZU0BPUkNMJmd0O0NPTCBPQkpFQ1RfVFlQRSBGT1IgQTIwPGJyPgpTWVNAT1JDTCZndDtDT0wgT1dORVIgRk9SIEEyMDxicj4KU1lTQE9SQ0wmZ3Q7c2VsZWN0IG9iamVjdF9uYW1lLG9iamVjdF90eXBlLG93bmVyIGZyb20gYWxsX29iamVjdHMgd2hlcmUgb2JqZWN0X25hbWU9dXBwZXIo"v$parameter');


OBJECT_NAME OBJECT_TYPE OWNER
-------------------- -------------------- --------------------
V$PARAMETER SYNONYM PUBLIC


SYS@ORCL>select dbms_metadata.get_ddl(upper('SYNONYM'),upper('V$PARAMETER'),upper('PUBLIC')) from dual;


DBMS_METADATA.GET_DDL(UPPER('S
--------------------------------------------------------------------------------


CREATE OR REPLACE PUBLIC SYNONYM "V$PARAMETER" FOR "SYS"."V_$PARAMETER"

② 通过这一步我们会发现 V$PARAMETER 其实是V_$PARAMETER 的同义词,

SYS@ORCL>select object_name,object_type,owner from all_objects where object_name=upper('v_$parameter');


OBJECT_NAME OBJECT_TYPE OWNER
-------------------- -------------------- --------------------
V_$PARAMETER VIEW SYS


SYS@ORCL>select dbms_metadata.get_ddl (upper('VIEW'),upper('V_$PARAMETER'),upper('SYS')) from dual;



DBMS_METADATA.GET_DDL(UPPER('V
--------------------------------------------------------------------------------


CREATE OR REPLACE FORCE VIEW "SYS"."V_$PARAMETER" ("NUM", "NAME", "TYPE", "VA

......

......from v$parameter

③ 此时就懵了,怎么又回到了 v$parameter 了,如果我们再次get_ddl ,那么就又回到了第一步了,那一定是不对的。我们看一下v_$parameter 是一个视图,那么v$parameter 也有可能是一个固定视图,我们在固定视图定义视图中查询一下。

SYS@ORCL>select view_definition from v$fixed_view_definition where view_name=upper('v$parameter');


VIEW_DEFINITION
--------------------------------------------------------------------------------
select NUM , NAME , TYPE , VALUE , DISPLAY_VALUE, ISDEFAULT , ISSES_MODIFIABLE
, ISSYS_MODIFIABLE , ISINSTANCE_MODIFIABLE, ISMODIFIED , ISADJUSTED , ISDEPRECAT
ED, DESCRIPTION, UPDATE_COMMENT, HASH from GV$PARAMETER where inst_id = USERENV
('Instance')


④ 果然是固定视图,这个固定视图也是根据固定视图所定义的,我们再次查看 GV$parameter 这个固定视图。

SYS@ORCL>select view_definition from v$fixed_view_definition where view_name=upper('gv$parameter');


VIEW_DEFINITION
--------------------------------------------------------------------------------
select x.inst_id,x.indx&#43;1,ksppinm,ksppity,ksppstvl, ksppstdvl, ksppstdf, decode
(bitand(ksppiflg/256,1),1,'TRUE','FALSE'), decode(bitand(ksppiflg/65536,3),1,'I
MMEDIATE',2,'DEFERRED', 3,'IMMEDIATE','FALSE'),
decode(bitand(ksppiflg,4),4,'FALSE', decod
e(bitand(ksppiflg/65536,3), 0, 'FALSE', 'TRUE')), decode(bitand(ksppstvf,7),
1,'MODIFIED',4,'SYSTEM_MOD','FALSE'), decode(bitand(ksppstvf,2),2,'TRUE','FALSE
'), decode(bitand(ksppilrmflg/64, 1), 1, 'TRUE', 'FALSE'), ksppdesc, ksppstcmn
t, ksppihash from x$ksppi x, x$ksppcv y where (x.indx = y.indx) and ((translat
e(ksppinm,'_','#') not like '##%') and ((translate(ksppinm,'_','#') not like
'#%') or (ksppstdf = 'FALSE') or (bitand(ksppstvf,5) > 0)))




SYS@ORCL>

⑤ 看到 GV$PARAMETER 的基表,终于知道动态性能视图的来龙去脉了。

总结:

-- 在非sys 用户下查看的动态性能视图均为同义词

-- “动态性能视图” 的出处:

X$开头 oracle 的基表 ----> gv$ 开头的 固定视图 -----> v$ 开头的固定视图 ----> v_$ 开头的视图 -----> v$开头的同义词


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • MyBatis错题分析解析及注意事项
    本文对MyBatis的错题进行了分析和解析,同时介绍了使用MyBatis时需要注意的一些事项,如resultMap的使用、SqlSession和SqlSessionFactory的获取方式、动态SQL中的else元素和when元素的使用、resource属性和url属性的配置方式、typeAliases的使用方法等。同时还指出了在属性名与查询字段名不一致时需要使用resultMap进行结果映射,而不能使用resultType。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
author-avatar
手机用户2602911885
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有