Oracle 中的一些重要V$ 动态性能视图,系统视图和表

v$database:数据库的信息,如数据库名,创建时间等。

v$instance 实例信息,如实例名,启动时间。

v$parameter 参数信息,select * from v$parameter where name like ‘%name‘  ----> show parameter name(sqlplus中执行)

v$process 运行的进程的信息,如PID,SPID,以及进程的名字,如SMON,PMON在UNIX的进程名称,在windows中会看到类似ORACLE.EXE (PMON)这样的线程名字.

v$mystat 本session的SID号等信息..知道了SID后可以通过查询session相关的信息.

v$session 连接到数据库的session相关的信息,如机器名,客户端程序名称,PID(UNIX)等.

如通过 select distinct(sid) from v$mystat;得到SID后,

可以得到这个session的相关信息,如为这个session服务的后台进程的地址(PADDR) select * from v$session where sid=157

得到PADDR后可以得到后台进程的信息:select * from v$process where addr = ‘3424E3BC‘

v$controlfile 控制文件的位置信息,可以在nomount阶段查看,但没有数据.数据库在mount后这个视图才有数据.

v$controlfile_record_section控制文件里的配置信息.

v$datafile 数据文件的位置信息,数据库在mount后这个视图才能被查看.数据库打开是检查里面的CHECKPOINT_CHANGE#(从控制文件得来)是否和v$datafile_header的一致.

v$datafile_header 数据文件头信息.是从数据文件头读取的,在做恢复的时候每当一个归档日志应用之后,CHECKPOINT_CHANGE#都可以看到变化.

select dbms_flashback.get_system_change_number from dual

v$logfile 日志文件的位置信息,数据库在mount后这个视图才能被查看.

V$INSTANCE_RECOVERY:实例恢复时和重做日志有关的信息,FAST_START_MTTR_TARGET:实例恢复的时间限制,oracle将这个时间换算成

redo blocks数量,当log buffer中未写入log file的redo block数量超过这个值,就会触发增量检查点。

(这和数据库加载文件的顺序有关系,数据库startup nomount时根据参数文件加载控制文件,startup mount后,根据控制文件加载数据文件和日志文件)

v$log: 日志的的信息,比如当前用的是那一个日志组。

v$sga_dynamic_components SGA各个内存块的信息,如java
池的大小,共享池的大小,数据缓冲区(在10G中是根据数据块的大小有不同的缓冲区的,如DEFAULT 2K buffer
cache放数据块是2k的,DEFAULT 4K buffer cache放数据块是4k的)

v$pwfile_users 数据库中具有sysdba,sysoper权限的用户。

v$rollstat 回退段信息,USN回退段的编号,XACTS活动的事务数量。回退段可以从dba_rollback_segs 查看。

v$transaction 活动事务信息,如对应的回退段(XIDUSN)是哪一个等。

v$sql:执行过的SQL语句。

v$lock:那些session占用了什么样的锁,在申请什么样的锁,该session是否阻塞了别的session。

v$locked_object哪些对象被锁住了。

v$session_wait  查看session等待信息:select * from v$session_wait where wait_class != ‘Idle‘看目前还在等待的session,如被阻塞的session。

v$session_wait_history:session等待的历史信息,只保存离目前最近的10条记录。

v$active_session_history:活动session(等待的或者在使用CPU)的历史信息,每一秒统计一次信息。每隔一小时会记录到磁盘,从dba_hist_active_sess_history可以看到。执行db_1\RDBMS\ADMIN\ashrpt.sql可以生成报告。

v$statistics_level:那些advisor被打开了以及advisor做统计时候从那些view取统计信息.

v$sga_dynamic_components:SGA各个模块的动态统计信息.

v$log在线日志的信息,那一组是正在使用的,开始使用时候的SCN.

v$archived_log 归档日志的信息,从那个SCN开始到那个SCN结束归档到了那一个文件.

v$backup 那个表空间处于热备份模式.alter tablespace xx begin backup的时候会把对应的SCN记录下来.

v$statname 数据库动态都统计那些信息,有信息名称和ID,一般和v$sesstat联合使用.

v$sesstat 一些动态统计信息的值,如user commits,opened cursors current,redo size等等,

select  name,value from v$sesstat,v$statname

where v$statname.STATISTIC#=v$sesstat.STATISTIC#  and v$statname.name like ‘%redo size%‘ and SID=115

和falshback相关的

v$flashback_database_logfile flashback的日志文件相关的信息,Oldest_flashback_scn / Oldest_flashback_time : 这两列用来记录可以恢复到最早的时点 .

v$flashback_database_log:日志使用的情况

v$flashback_database_stat: flashback统计信息.

上面三个视图在alter database flashback on才有数据.

flashback_transaction_query

v$nls_valid_values 可以用的语言,国家和编码设置,alter session set nls_language=american;

v$parameter_valid_values 可以设置的参数值

v$sga:sga内存的信息,select sum(value)/1024/1024 from v$sga通常=sga_max_size或者sga_target

v$sga_dynamic_free_memory:sga未分配的内存。

v$bh DB buffer里缓存的数据块信息。

设置客户端编码

NLS_LANG=AMERICAN_AMERICA.ZHS16GBK,三部分,AMERICAN语言,提示信息,AMERICA国家影响日期格式,ZHS16GBK编码。

查看服务器编码 select name,value$ from props$ where name =‘NLS_CHARACTERSET‘;

『以dba_和v$开头的通常都是视图。dba_开头的里面的信息通常是静态的,信息在文件中(但是并不代表里面的信息不变化)。v$开头的信息通常是动态的,来自控制文件和内存中的信息』

dba_data_files(v$datafile )数据文件信息,里面不包括临时表空间对应的文件的信息,,dba_tablespaces(v$tablespace)表空间信息,dba_tables表信息, dba_segments段信息,dba_extents区信息。

dba_segments:那些段保存到了那个表空间,占用了多大空间等.

select * from dba_segments where segment_name=‘TEST‘

select * from dba_segments where tablespace_name=‘USERS‘

select * from dba_segments where owner=‘YORKER‘

dba_users
用户信息,如默认表空间。dba_roles:系统里定义的角色,如DBA(注意与sysdba的区别),CONNECT等。和用户相关的还有一个视图dba_profiles:数据库中定义的profile信息,profile是指登录尝试次数,密码过期时间限制等,该用户可以有多少个session,空闲多久可以把该用户断掉,可以在create
user时候指定。

dba_sys_privs :什么样的用户或者角色授予了什么样的系统权限。

dba_tab_privs看什么样的用户或者角色授予了什么样的对象权限。

dba_role_privs,用户或者角色被授予了什么样的角色。通过角色授予的权限要重新登录才能起作用。

权限传递:系统权限被收回,传递的权限不收回,对象权限被收回,传递的权限也收回。

dba_constraints 约束的信息. 表级约束Primary(P),Foreign key(R),Unique(U),Check. 
列级约束Not null(可以认为是check约束的一种,在dba_constraints
的constraint_type和check约束相同,都为‘C‘).还有对于NOT NULL的ALTER
TABLE语句建立约束与其他四种(alter table tb add constraints...)是不同的:ALTER TABLE tb
MODIFY col_name
NOT NULL.

dba_priv_audit_opts:数据库打开了那些权限审计. aduit create session;. aduit create session whenever not successful;

dba_obj_audit_opts:数据库打开了那些对象审计.audit select  on tb[by session/access].

dba_stmt_audit_opts:数据库打开的语句审计 audit table by userA

dba_audit_trail审计的信息视图,一部分信息正是从表aud$的审计信息查询出来的,表aud$只能以sysdba权限看.

dba_fga_audit_trail 保存的是通过dbms_fga.add_policy 创建的细粒度审计的审计信息.

dba_common_audit_trail保存的是创建的标准和细粒度审计的类型信息.

dba_rollback_segs 数据库回退段的信息。

dba_hist_wr_control awr(auto workload
repository)生成数据库负载信息的控制信息,保留时间,统计频率。 dbms_workload_repository
.modify_snapshot_settings(retention=>1440,interval=>30)修改控制。

dba_hist_snapshot:数据库运行snapshot的历史信息,根据dba_hist_wr_control的控制信息自动生成,可以通过dbms_workload_repository .create_snapshot生成。

利用db_1\RDBMS\ADMIN\awrrpt.sql可以生成数据库运行报告。db_1\RDBMS\ADMIN\awrrpt.sql\addmrpt.sql可以生成与之对应的诊断建议报告。

dbms_workload_repository.create_baseline可以选择某从某个snapshot到另外一个之间(这段时间DB运行良好)创建baseline来做为以后数据库运行信息的比较基准.

dba_hist_baseline保存的snapshot基准信息.

dba_thresholds 发生警告的上限值.如表空间用了多少报警.后台进程MMON会监视这些信息.

dba_outstanding_alerts 最近10条警告信息. dba_alert_history 警告的历史信息.

表:

system_privilege_map,系统权限信息,如经常用到的sysdba和sysoper都是系统权限。还有像CREATE
TABLESPACE,DROP TABLESPACE等,要注意的是drop table不是系统权限,drop any
table是系统权限。UNLIMITED TABLESPACE权限不能授予给角色,也就意味着DBA角色的用户也需要单独额外授予UNLIMITED
TABLESPAC权限。

数据库的这些视图,表定义可以在下面的视图中查到:

select * from dict

select * from dict_columns

select * from v$fixed_table

select * from v$fixed_view_definition

SELECT ‘*TABLE: ‘ || TABLE_NAME, COMMENTS

FROM ALL_TAB_COMMENTS

WHERE OWNER = ‘SYS‘

AND TABLE_NAME = ‘USER_SYNONYMS‘

UNION

SELECT ‘COL: ‘ || COLUMN_NAME, COMMENTS

FROM ALL_COL_COMMENTS

WHERE OWNER = ‘SYS‘

AND TABLE_NAME = ‘USER_SYNONYMS‘ ;

原文地址:https://www.cnblogs.com/hftian/p/9197612.html

时间: 2024-08-03 00:20:21

Oracle 中的一些重要V$ 动态性能视图,系统视图和表的相关文章

[转]ORACLE中Like与Instr模糊查询性能大比拼

instr(title,'手册')>0  相当于  title like '%手册%' instr(title,'手册')=1  相当于  title like '手册%' instr(title,'手册')=0  相当于  title not like '%手册%' t表中将近有1100万数据,很多时候,我们要进行字符串匹配,在SQL语句中,我们通常使用like来达到我们搜索的目标.但经过实际测试发现,like的效率与instr函数差别相当大.下面是一些测试结果: SQL> set timi

oracle中创建一个用户,只能查看指定的视图,如何授权

1.create user A identified by Apassword,创建用户,用户名是A,密码是Apassword2.grant connect to A --授予connect权限3.grant select on test to A --给指定用户的表或者视图授予select(只读)权限,其中test是表名 注意:1.如果是以普通用户(jtg1)身份登录,并创建的用户,查询时要 select * from jtg1.test才能查询出来 2.以管理员身份登录的创建的用户,应该前面

Oracle_高级功能(7) 数据字典视图和动态性能视图

oracle数据字典 1.概念数据字典是oracle数据库用来存储数据库结构信息的地方.数据字典是用来描述数据库数据的组织方式的,由表和视图组成.数据字典基表是在任何 Oracle 数据库中创建的第一批对象.所有数据库的数据字典表和视图都存储在SYSTEM表空间中.由于当数据库打开时,SYSTEM 表空间始终处于联机状态 ,所以当数据库打开时,数据字典总是可用的.Oracle数据库的SYS用户,拥有数据字典中的所有基表和用户可访问视图.数据字典基表中的数据,对于Oracle 数据库发挥正常功能是

Oracle中的临时表

Oracle中的临时表 在Oracle中,临时表是"静态"的,它与普通的数据表一样只需要一次创建,其结构从创建到删除的整个期间都是有效的.相对于其他类型的表,临时表只有在用户实际向表中添加数据时,才会为其分配空间,并且分配的空间来自临时表空间.这就避免了与永久对象的数据争用存储空间. 创建临时表的语法如下: CREATE GLOBAL TEMPORARY TABLE table_name( column_name data_type,[column_name data_type,...

用oracle中的系统用户无法登陆问题解决方案

在使用oracle中的sql plus功能时, 会出现系统用户无法登陆 因为SYS是数据库之外的超级管理员,在输入密码时,输入 密码 as sysdba 就可以;

Oracle中分区表中表空间属性

Oracle中的分区表是Oracle中的一个很好的特性,可以把大表划分成多个小表,从而提高对于该大表的SQL执行效率,而各个分区对应用又是透明的. 分区表中的每个分区有独立的存储特性,包括表空间.PCT_FREE等.那分区表中的各分区表空间之间有什么关系?新建的分区会创建在哪个表空间中呢?对应的local分区索引又会使用哪个表空间呢?下面使用一个例子来解释上面的这些问题. 创建测试分区表: [email protected]>create table t (id number,name varc

oracle中动态SQL使用详细介绍

Oracle编译PL/SQL程序块分为两个种:通常静态SQL采用前一种编译方式,而动态SQL采用后一种编译方式,需要了解的朋友可以参考下 1.静态SQLSQL与动态SQL Oracle编译PL/SQL程序块分为两个种:其一为前期联编(early binding),即SQL语句在程序编译期间就已经确定,大多数的编译情况属于这种类型:另外一种是后期联编(late binding),即SQL语句只有在运行阶段才能建立,例如当查询条件为用户输入时,那么Oracle的SQL引擎就无法在编译期对该程序语句进

oracle 报警日志、动态性能视图及数据字典

1.查看报警日志 /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log 实时日志:tail -f  /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log 跟踪文件 ADR 2.动态性能视图(v$) 保存在内存中 用来访问 实例 内存结构的不断变化的状态的信息(控制文件+实例) session data wait events memory allocations Runni

Oracle动态性能表-V$SESSION_WAIT,V$SESSION_EVENT

(1)-V$SESSION_WAIT 这是一个寻找性能瓶颈的关键视图.它提供了任何情况下session在数据库中当前正在等待什么(如果session当前什么也没在做,则显示它最后的等待事件).当系统存在性能问题时,本视图可以做为一个起点指明探寻问题的方向. V$SESSION_WAIT中,每一个连接到实例的session都对应一条记录. V$SESSION_WAIT中的常用列 l         SID: session标识 l         EVENT: session当前等待的事件,或者最