oracle数据字典详解
(word完整版)OracleEBS中文数据字典

CURRENCY_CODE
FND_ID_FLEX_STRUCTURES
ID_FLEX_NUM
CHART_OF_ACCOUNTS_ID
GL_CODE_COMBINATIONS
CODE_COMBINATION_ID
CUM_TRANS_CODE_COMBINATION_ID
GL_CODE_COMBINATIONS
PROJECT_TO_DATE_ADB
NUMBER
Y
BEGIN_BALANCE_DR
NUMBER
Y
期初借方余额(原币)
BEGIN_BALANCE_CR
NUMBER
Y
期初贷方余额(原币)
PERIOD_NET_DR_BEQ
NUMBER
Y
本期借方余额(本位币)
PERIOD_NET_CR_BEQ
NUMBER
NET_INCOME_CODE_COMBINATION_ID
GL_CODE_COMBINATIONS
CODE_COMBINATION_ID
ROUNDING_CODE_COMBINATION_ID
GL_DAILY_CONVERSION_TYPES
CONVERSION_TYPE
DAILY_TRANSLATION_RATE_TYPE
GL_PERIOD_SETS
PERIOD_SET_NAME
PERIOD_SET_NAME
GL_PERIOD_TYPES
PERIOD_TYPE
ACCOUNTED_PERIOD_TYPE
GL_TRANSACTION_CALENDAR
TRANSACTION_CALENDAR_ID
TRANSACTION_CALENDAR_ID
DataDictionary(数据字典)

DataDictionary(数据字典)前⾔在创建数据库的同时,Oracle也会创建⼀些其他的Objects/Structures,包括:1.Data Dictionary(数据字典)2.Performance tables(动态性能表)3.PL/SQL packages(PL/SQL程序包)4.数据库时间触发器⼀.Data Dictionary数据字典是Oracle 数据库最重要的部分之⼀,它是⼀组只读表和视图,提供有关其相关数据库的信息(这些信息相对稳定)。
1.数据字典的组成(1).基表<Base tables>(核⼼,但⼀般我们不和他打交道) 【1】作⽤:存储数据库的说明(description)。
基表是存储有关数据库的信息的底层表。
基表是在任何Oracle 数据库中⾸先创建的对象。
在使⽤CREATE DATABASE 创建数据库时,只要Oracle 服务器运⾏sql.bsq 脚本,就会⾃动创建这些对象。
只有Oracle 服务器才能对这些基表执⾏写⼊操作。
⽤户很少直接访问基表,因为其中的数据⼤多数都是以隐含格式存储的。
【2】“基表”在使⽤Create Database时候创建,这时Oracle调⽤了admin/sql.bsq脚本进⾏创建。
(2).数据字典视图<Data Dictionary views> 【1】简化“基表”信息。
数据字典视图是基表的汇总,可以更有效地显⽰基表信息。
【2】“数据字典视图”是在运⾏CREATE DATABASE命令之后使⽤catalog.sql脚本创建的。
2.数据字典存储以下内容(1).逻辑(logical)和物理(physical)数据库结构数据库内所有⽅案对象的定义,这些对象包括表、视图、索引、簇、同义词、序列、过程、函数、程序包、触发器等等。
(2).对象的定义(definition)和空间分配(space allocation)已为⽅案对象分配的空间量以及它们当前使⽤的空间量。
oracle 数据库解析字段与解析内容详解

oracle 数据库解析字段与解析内容详解文章标题:深度解析Oracle数据库中的字段解析与内容详解在Oracle数据库中,字段解析和内容详解是数据库设计和优化中极为重要的部分。
本文将从简单到复杂地分析这一主题,并通过多个方面全面评估,以帮助读者更深入地理解这一概念。
一、字段解析的概念和作用在数据库中,字段解析是指对于各种数据类型的字段进行分析和解释。
不同的数据类型有不同的解析方式,而正确的字段解析能够帮助数据库管理员和开发人员更好地理解和利用数据。
Oracle数据库中常见的字段类型包括数值型、字符型、日期型等,它们的解析方法会对数据的存储、查找和计算产生影响。
1. 数值型字段解析数值型字段的解析主要涉及数据的精度和范围,以及相关的计算规则和函数。
对于整型和浮点型数据,需要考虑到数据的取值范围和小数位数,以及在应用中可能出现的四舍五入或溢出问题。
2. 字符型字段解析字符型字段的解析涉及到字符编码、长度限制、字符集规则等方面。
在处理多语言和特殊字符时,正确的解析能够保证数据的完整性和可读性,同时也对数据的存储和索引产生影响。
3. 日期型字段解析日期型字段的解析需要考虑到日期格式、时区、日期运算等方面。
在数据分析和报表生成中,正确解析日期字段能够保证数据的一致性和准确性。
二、内容详解的重要性和实践方法除了字段解析外,内容详解也是数据库设计和优化中不可或缺的部分。
内容详解是对数据内容进行深入的分析和理解,包括数据的来源、意义、关联等方面。
通过内容详解,可以更好地发现数据的价值和潜在问题,为决策和业务分析提供支持。
1. 数据来源和质量在进行内容详解时,需要了解数据的来源,包括数据的采集、清洗、转换等过程。
同时也需要评估数据的质量,包括数据的完整性、一致性、准确性等方面。
2. 数据关联和分析内容详解还涉及到数据之间的关联和分析,包括数据的连接、聚合、过滤等操作。
通过内容详解,可以更好地理解数据之间的关系,为业务分析和决策提供支持。
Oracle数据字典

Oracle数据字典数据字典是Oracle数据库的核心组件,它是由一系列对于用户而言是只读的基础表和视图组成,它保存了关于数据库本身以及其中存储的所有对象的基本信息。
可以认为数据字典记录了数据库实例自身的重要信息。
对数据字典的管理和维护由Oracle系统负责,任何数据库用户都无法对数据字典中的内容进行修改,但是数据库用户可以查看数据字典中的内容。
为了方便用户查看数据字典中的信息,数据字典中的信息也是通过表和视图的形式组织起来的,数据字典和视图都保存在SYSTEM表空间中。
数据字典中的信息实际上中保存在基本表中的,并且只有Oracle系统才有权读取和写入基础表。
基础表中存储的信息通常是经过加密处理的。
视图是一种虚拟表,它本身并不包含数据,其中的数据是经过处理后基本表中的数据。
数据字典中视图的作用是将表中各种信息进行分类,以方便用户获取其中的数据。
大多数情况下,用户可以通过数据字典视图来获取与数据库相关的信息,而不需要访问数据字典表。
在Oracle实例运行期间,需要从数据字典表中读取信息,用于判断用户要访问的对象是否存在等信息。
同时,Oracle还不断地向数据字典表中写入数据,以反映用户对数据库、以及数据库中保存的各对象所做的修改。
例如,用户创建了一个表,这时系统将在数据字典中记录该表的结构信息、表在存储信息等。
对于数据库用户而言,数据字典中的视图好一本关于当前Oracle数据库的参考手册,可以通过SELECT语句查询。
数据库用户由于权限不同,所能访问的数据字典视图的数量和类型也不同。
用户所使用数据字典视图大致可以分为三类,并且各种类型的视图以不同名称的前缀表示。
这三类数据字典视图的介绍如下:●USER视图USER视图就是以USER_字符为名称前缀的数据字典视图。
每个数据库用户都有一组属于自己的视图,在USER视图中包含了属于该用户的所有对象的信息。
●ALL视图ALL视图就是以ALL_字符为名称前缀的数据字视图。
Oracle数据字典

8. 如果利用VB提供的开发工具,则能创造丰富多彩的界面。进一步的 学习可参考有关VB数据库编程方面的书籍。
PPT文档演模板
Oracle数据字典
5. 利用Microsoft Excell访问Oracle 数据表
1. 进入Microsoft Excell 2. 建立数据源
点击:
[数据] [获取外部数据] [新建查询] 在“选择数据源”窗口中,选择〈新数据源〉,[确定],并依次进行下列输入
5.结束Oracle ODBC 测试
PPT文档演模板
Oracle数据字典
4. 通过Visual Basic访问Oracle数据表
n 设置好ODBC数据源以后,就可以利用Visual Basic 提供的数据管理 器来访问数据库了。步骤如下:
1.启动 Visual Basic 2.选择:
[外接程序] [可视化数据管理器] 3.弹出数据库管理器(VisData)的主窗口 4.选择: [文件] [打开数据库] ODBC
Oracle数据字典
PPT文档演模板
2020/11/3
Oracle数据字典
1. Oracle数据字典
n 数据字典(data dictionary)是存储在数据库中的所有对象信息的知识 库。
n Oracle RDBMS使用数据字典获取对象信息和安全信息,而用户和DBA用它 来查阅数据库信息。
PPT文档演模板
2.出现测试窗口 选择Connect连接,从[机器数据源]选择欲测试的数据名称。
PPT文档演模板
Oracle数据字典
3. Oracle ODBC 测试…
3. 进行Oracle联结 输入: 用户名称: scott 密码:tiger 服务器:Oracle10
Oraclehint详解

Oraclehint详解转⾃:⼀、提⽰(Hint)概述1为什么引⼊Hint?Hint是Oracle数据库中很有特⾊的⼀个功能,是很多DBA优化中经常采⽤的⼀个⼿段。
那为什么Oracle会考虑引⼊优化器呢?基于代价的优化器是很聪明的,在绝⼤多数情况下它会选择正确的优化器,减轻DBA的负担。
但有时它也聪明反被聪明误,选择了很差的执⾏计划,使某个语句的执⾏变得奇慢⽆⽐。
此时就需要DBA进⾏⼈为的⼲预,告诉优化器使⽤指定的存取路径或连接类型⽣成执⾏计划,从⽽使语句⾼效地运⾏。
Hint就是Oracle提供的⼀种机制,⽤来告诉优化器按照告诉它的⽅式⽣成执⾏计划。
2不要过分依赖Hint当遇到SQL执⾏计划不好的情况,应优先考虑统计信息等问题,⽽不是直接加Hint了事。
如果统计信息⽆误,应该考虑物理结构是否合理,即没有合适的索引。
只有在最后仍然不能SQL按优化的执⾏计划执⾏时,才考虑Hint。
毕竟使⽤Hint,需要应⽤系统修改代码,Hint只能解决⼀条SQL的问题,并且由于数据分布的变化或其他原因(如索引更名)等,会导致SQL再次出现性能问题。
3Hint的弊端Hint是⽐较"暴⼒"的⼀种解决⽅式,不是很优雅。
需要开发⼈员⼿⼯修改代码。
Hint不会去适应新的变化。
⽐如数据结构、数据规模发⽣了重⼤变化,但使⽤Hint的语句是感知变化并产⽣更优的执⾏计划。
Hint随着数据库版本的变化,可能会有⼀些差异、甚⾄废弃的情况。
此时,语句本⾝是⽆感知的,必须⼈⼯测试并修正。
4Hint与注释关系提⽰是Oracle为了不破坏和其他数据库引擎之间对SQL语句的兼容性⽽提供的⼀种扩展功能。
Oracle决定把提⽰作为⼀种特殊的注释来添加。
它的特殊性表现在提⽰必须紧跟着DELETE、INSERT、UPDATE或MERGE关键字。
换句话说,提⽰不能像普通注释那样在SQL语句中随处添加。
且在注释分隔符之后的第⼀个字符必须是加号。
甲骨文深圳研发部oracle培训教材--Oracle9i_DBA_基础

常用数据字典视图
查询对象信息 tab,obj,dba_tables,dba_objects 查询数据库、实例的信息 v$database,v$instance 查询用户信息 dba_users、all_users 查询用户权限 dba_role_privs、dba_sys_privs 查询数据库的结构信息(表空间、数据文件、日志文件) dba_tablespaces、dba_data_files、v$logfile
归档重做日志文件
归档重做日志文件(Archive Log Files)也叫离线日志 文件。它是在线重做日志文件的拷贝。当数据库处于 ARCHIVELOG状态时,归档进程将拷贝已写满的(Filled)重 做日志文件到另一路径。归档日志文件主要用做数据库的恢 复。
数据库缺省被创建为NOARCHIVELOG模式 ORACLE建议数据库模式为ARCHIVELOG模式 归档模式的优点: 数据库在发生故障时,可以恢复到故障点(而不是备份点) 允许在线备份数据库
关闭数据库 使用操作系统的命令将现存的控制文件拷贝到不同的地方 编辑数据库初始化文件(initSID.ora)中的CONTROL_FILES 参数添加新 的控制文件名和位置。 4. 重新启动数据库 1. 2. 3.
删除控制文件
删除控制文件 用户可以从数据库中删除控制文件例如如果控制文件的位 置不合适或控制文件破坏时用户可能希望这样做。记住在任何 时候数据库建议至少有两个控制文件。
数据字典
数据字典的分类: 根据它们的前缀,数据字典可以分为如下类别: DBA_:这种视图提供数据库中所有对象的信息,有个owner列 如,dba_tables,dba_indexes ALL_:这种视图提供数据库中当前用户可以访问的对象的信息 如,all_tables,all_indexes USER_:这种视图提供用户拥有的对象信息 如,user_tables,user_indexes V$:这种视图又叫动态性能视图,因为它们为随着数据库的打 开和使用连续更新,而且它们的内容也和运行有关。 如,v$database,v$instance
oracle的dba_tab_columns语句用例

DBA_TAB_COLUMNS 是Oracle 数据库中的一个数据字典视图,它描述了数据库中所有表的列信息。
这个视图对于数据库管理员(DBA)来说非常有用,因为它提供了关于列名、数据类型、是否可以为NULL、列的默认值等详细信息。
以下是一些使用DBA_TAB_COLUMNS 视图的示例查询:查询指定表的列信息如果你想查询某个特定表(例如EMPLOYEES)的所有列信息,你可以使用以下SQL 语句:sqlSELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, NULLABLEFROM DBA_TAB_COLUMNSWHERE TABLE_NAME = 'EMPLOYEES'ORDER BY COLUMN_ID;注意:TABLE_NAME 通常是大写的,除非在创建表时使用了双引号指定了大小写。
2. 查询某个用户所有表的列数如果你想查询某个用户(例如HR)所有表的列数,你可以使用以下SQL 语句:sqlSELECT TABLE_NAME, COUNT(*) AS NUM_COLUMNSFROM DBA_TAB_COLUMNSWHERE OWNER = 'HR'GROUP BY TABLE_NAMEORDER BY TABLE_NAME;查询所有没有默认值的列如果你想查询某个用户所有没有默认值的列,你可以使用以下SQL 语句:sqlSELECT TABLE_NAME, COLUMN_NAMEFROM DBA_TAB_COLUMNSWHERE OWNER = 'HR' AND DATA_DEFAULT IS NULLORDER BY TABLE_NAME, COLUMN_ID;查询所有VARCHAR2 类型的列如果你想查询数据库中所有VARCHAR2 类型的列,你可以使用以下SQL 语句:sqlSELECT TABLE_NAME, COLUMN_NAME, DATA_LENGTHFROM DBA_TAB_COLUMNSWHERE DATA_TYPE = 'VARCHAR2'ORDER BY TABLE_NAME, COLUMN_ID;注意:在执行这些查询之前,确保你有足够的权限访问DBA_TAB_COLUMNS 视图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学习笔记:oracle数据字典详解---本文为TTT学习笔记,首先介绍数据字典及查看方法,然后分类总结各类数据字典的表和视图。
然后列出一些附例。
数据字典系统表,保存在system表空间中。
由表和视图组成,由服务器在安装数据库时自动创建,用户不可以直接修改数据库字典,在执行DDL 语句时,oracle会自动修改。
记录一些表和视图(只读的),新建的表不要和这空间建在一起(9i以前的版本新用户建的表默认表空间为system,注意修改)--查询数据字典:select * from dictionary--数据字典导出方法:conn / as sysdbaspool onspool c:\dic.txtselect * from dictionaryspool off主要四部分:1,内部RDBMS表:x$……2,数据字典表:……$3,动态性能视图:gv$……,v$……4,数据字典视图:user_……,all_……,dba_……数据库启动时,动态创建x$,在X$基础上创建GV$,在GV$基础上创建V$X$表-->GV$(视图)--->V$(视图)+++一,内部RDBMS表x$……,例如:x$kvit,x$bh,x$ksmsp,x$ksppi和x$ksppcv核心部分,用于跟踪内部数据库信息,维持DB的正常运行。
是加密命名的,不允许sysdba以外的用户直接访问,显示授权不被允许。
最好不要修改.x$kvit=Kernel Layer Performance Layer V Information tables Transitory Instance parameter 数据库启动时,动态创建x$……+++二,数据字典表……$,如tab$,obj$,ts$……--用来存储表、索引、约束以及其他数据库结构的信息。
--创建数据库时通过脚本sql.bsq来创建,脚本:$oracle_home/rdbms/admin/sql.bsq+++三,动态性能视图gv$……,v$……,如V$parameter--记录了DB运行时信息和统计数据,大部分动态性能视图被实时更新以反映DB当前状态。
--数据库创建时建立的。
--只有sysdba可以直接访问。
--查看表v$fixed_view_definition(***),可以查看GV$和V$视图的创建语句。
(oracle提供一些特殊视图,用来记录其他视图的创建方式,v$fixed_view_definition就是其中之一)--select view_definition from v$fixed_view_definition where view_name='V$FIXED_TABLE';--gv$……=Global V$,在X$……基础上创建,是为了满足OPS环境(多个实例)的需要面产生的,可以返回多个实例的信息。
V$……,在GV$……基础上创建,只返回当前实例的信息。
定义语句都带有:where inst_id=USERENV('Instance')--GV$和V$之后,oracle建立了GV_$和V_$视图,又为这些视图建立了公用同义词。
由脚本catalog.sql 实现的,脚本:$oracle_home/rdbms/admin/catalog.sqlcreate or replace view v_$process as select * from v$process;create or replace public synonym v$process for v_$process;create or replace view gv_$process as select * from gv$process;create or replace public synonym gv$process for gv_$process;-->可以看出:V$(视图)-->V_$(视图)-->V$(公用同义词)GV$(视图)-->GV_$(视图)-->GV$(公用同义词)这样做的目的:通过V_$和GV_$,oracle把V$视图和GV视图和普通用户隔离开来。
(oracle允许V_$视图权限可以授权给其他用户,但不允许任何对于V$视图的直接授权。
)所以,在非Sys用户下,我们访问的都是同义词,而不是V$视图或GV视图。
--oracle访问数据顺序:view-->同义词。
+++四,数据库字典视图--是在X$表和数据字典表之上建立的视图。
--创建数据库时由脚本catalog.sql创建。
脚本:$oracle_home/rdbms/admin/catalog.sql--按前缀不同,作用范围的分为三类:1、以user开头的数据字典:包含当前用户所拥有的相关对象信息。
--能够查到对象的所有者是当前用户的所有对象select table_name from user_tables; (scott) 52、以all开头的数据字典:包含当前用户有权限访问的所有对象的信息。
--能够查到所有当前用户有权限访问的对象select table_name from all_tables; (scott) 963、以dba开头的数据字典:包含数据库所有相关对象的信息。
--只能是有dba权限的用户查询,能查到数据库中所有对象select table_name from dba_tables (sys system)+++附:比较user,all,dba数据字典视图各数据字典表数量比较表Dictionary与V$fixed_table比较通过V$parameter视图来追踪一下数据库的架构oracle如何通过同义词定位对象(10046事件)+++比较user,all,dba数据字典视图---可以查看脚本catalog.sql中的定义:+++--USER_TABLEScreate or replace view USER_TABLES(TABLE_NAME, TABLESPACE_NAME, CLUSTER_NAME, IOT_NAME, STATUS,PCT_FREE, PCT_USED,INI_TRANS, MAX_TRANS,INITIAL_EXTENT, NEXT_EXTENT,MIN_EXTENTS, MAX_EXTENTS, PCT_INCREASE,FREELISTS, FREELIST_GROUPS, LOGGING,BACKED_UP, NUM_ROWS, BLOCKS, EMPTY_BLOCKS,AVG_SPACE, CHAIN_CNT, AVG_ROW_LEN,AVG_SPACE_FREELIST_BLOCKS, NUM_FREELIST_BLOCKS,DEGREE, INSTANCES, CACHE, TABLE_LOCK,SAMPLE_SIZE, LAST_ANALYZED, PARTITIONED,IOT_TYPE, TEMPORARY, SECONDARY, NESTED,BUFFER_POOL, ROW_MOVEMENT,GLOBAL_STATS, USER_STATS, DURATION, SKIP_CORRUPT, MONITORING,CLUSTER_OWNER, DEPENDENCIES, COMPRESSION, DROPPED)asselect , decode(bitand(t.property, 2151678048), 0, , null),decode(bitand(t.property, 1024), 0, null, ),decode((bitand(t.property, 512)+bitand(t.flags, 536870912)),0, null, ),decode(bitand(t.trigflag, 1073741824), 1073741824, 'UNUSABLE', 'VALID'),decode(bitand(t.property, 32+64), 0, mod(t.pctfree$, 100), 64, 0, null),decode(bitand(ts.flags, 32), 32, to_number(NULL),decode(bitand(t.property, 32+64), 0, t.pctused$, 64, 0, null)), decode(bitand(t.property, 32), 0, t.initrans, null),decode(bitand(t.property, 32), 0, t.maxtrans, null),s.iniexts * ts.blocksize,decode(bitand(ts.flags, 3), 1, to_number(NULL),s.extsize * ts.blocksize),s.minexts, s.maxexts,decode(bitand(ts.flags, 3), 1, to_number(NULL),s.extpct), decode(bitand(ts.flags, 32), 32, to_number(NULL),decode(bitand(o.flags, 2), 2, 1, decode(s.lists, 0, 1, s.lists))), decode(bitand(ts.flags, 32), 32, to_number(NULL),decode(bitand(o.flags, 2), 2, 1, decode(s.groups, 0, 1, s.groups))), decode(bitand(t.property, 32+64), 0,decode(bitand(t.flags, 32), 0, 'YES', 'NO'), null), decode(bitand(t.flags,1), 0, 'Y', 1, 'N', '?'),t.rowcnt,decode(bitand(t.property, 64), 0, t.blkcnt, null),decode(bitand(t.property, 64), 0, t.empcnt, null),decode(bitand(t.property, 64), 0, t.avgspc, null),t.chncnt, t.avgrln, t.avgspc_flb,decode(bitand(t.property, 64), 0, t.flbcnt, null),lpad(decode(t.degree, 32767, 'DEFAULT', nvl(t.degree,1)),10),lpad(decode(t.instances, 32767, 'DEFAULT', nvl(t.instances,1)),10),lpad(decode(bitand(t.flags, 8), 8, 'Y', 'N'),5),decode(bitand(t.flags, 6), 0, 'ENABLED', 'DISABLED'),t.samplesize, t.analyzetime,decode(bitand(t.property, 32), 32, 'YES', 'NO'),decode(bitand(t.property, 64), 64, 'IOT',decode(bitand(t.property, 512), 512, 'IOT_OVERFLOW',decode(bitand(t.flags, 536870912), 536870912, 'IOT_MAPPING', null))),decode(bitand(o.flags, 2), 0, 'N', 2, 'Y', 'N'),decode(bitand(o.flags, 16), 0, 'N', 16, 'Y', 'N'),decode(bitand(t.property, 8192), 8192, 'YES',decode(bitand(t.property, 1), 0, 'NO', 'YES')),decode(bitand(o.flags, 2), 2, 'DEFAULT',decode(s.cachehint, 0, 'DEFAULT', 1, 'KEEP', 2, 'RECYCLE', NULL)),decode(bitand(t.flags, 131072), 131072, 'ENABLED', 'DISABLED'),decode(bitand(t.flags, 512), 0, 'NO', 'YES'),decode(bitand(t.flags, 256), 0, 'NO', 'YES'),decode(bitand(o.flags, 2), 0, NULL,decode(bitand(t.property, 8388608), 8388608,'SYS$SESSION', 'SYS$TRANSACTION')),decode(bitand(t.flags, 1024), 1024, 'ENABLED', 'DISABLED'),decode(bitand(o.flags, 2), 2, 'NO',decode(bitand(t.property, 2147483648), 2147483648, 'NO',decode(ksppcv.ksppstvl, 'TRUE', 'YES', 'NO'))),decode(bitand(t.property, 1024), 0, null, ),decode(bitand(t.flags, 8388608), 8388608, 'ENABLED', 'DISABLED'),decode(bitand(t.property, 32), 32, null,decode(bitand(s.spare1, 2048), 2048, 'ENABLED','DISABLED')),decode(bitand(o.flags, 128), 128, 'YES', 'NO')from sys.ts$ ts, sys.seg$ s, sys.obj$ co, sys.tab$ t, sys.obj$ o,sys.obj$ cx, er$ cu, x$ksppcv ksppcv, x$ksppi ksppi where o.owner# = userenv('SCHEMAID')and o.obj# = t.obj#and bitand(t.property, 1) = 0and bitand(o.flags, 128) = 0and t.bobj# = co.obj# (+)and t.ts# = ts.ts#and t.file# = s.file# (+)and t.block# = s.block# (+)and t.ts# = s.ts# (+)and t.dataobj# = cx.obj# (+)and cx.owner# = er# (+)and ksppi.indx = ksppcv.indxand ksppi.ksppinm = '_dml_monitoring_enabled'--可以看到限制条件:where o.owner# = userenv('SCHEMAID')+++--USER_ALL_TABLEScreate or replace view USER_ALL_TABLES(TABLE_NAME, TABLESPACE_NAME, CLUSTER_NAME, IOT_NAME, STATUS, PCT_FREE, PCT_USED,INI_TRANS, MAX_TRANS,INITIAL_EXTENT, NEXT_EXTENT,MIN_EXTENTS, MAX_EXTENTS, PCT_INCREASE,FREELISTS, FREELIST_GROUPS, LOGGING,BACKED_UP, NUM_ROWS, BLOCKS, EMPTY_BLOCKS,AVG_SPACE, CHAIN_CNT, AVG_ROW_LEN,AVG_SPACE_FREELIST_BLOCKS, NUM_FREELIST_BLOCKS,DEGREE, INSTANCES, CACHE, TABLE_LOCK,SAMPLE_SIZE, LAST_ANALYZED, PARTITIONED,IOT_TYPE, OBJECT_ID_TYPE,TABLE_TYPE_OWNER, TABLE_TYPE, TEMPORARY, SECONDARY, NESTED,BUFFER_POOL, ROW_MOVEMENT,GLOBAL_STATS, USER_STATS, DURATION, SKIP_CORRUPT, MONITORING,CLUSTER_OWNER, DEPENDENCIES, COMPRESSION, DROPPED)asselect TABLE_NAME, TABLESPACE_NAME, CLUSTER_NAME, IOT_NAME, STATUS, PCT_FREE, PCT_USED,INI_TRANS, MAX_TRANS,INITIAL_EXTENT, NEXT_EXTENT,MIN_EXTENTS, MAX_EXTENTS, PCT_INCREASE,FREELISTS, FREELIST_GROUPS, LOGGING,BACKED_UP, NUM_ROWS, BLOCKS, EMPTY_BLOCKS,AVG_SPACE, CHAIN_CNT, AVG_ROW_LEN,AVG_SPACE_FREELIST_BLOCKS, NUM_FREELIST_BLOCKS,DEGREE, INSTANCES, CACHE, TABLE_LOCK,SAMPLE_SIZE, LAST_ANALYZED, PARTITIONED,IOT_TYPE,NULL, NULL, NULL, TEMPORARY, SECONDARY, NESTED,BUFFER_POOL, ROW_MOVEMENT,GLOBAL_STATS, USER_STATS, DURATION, SKIP_CORRUPT, MONITORING,CLUSTER_OWNER, DEPENDENCIES, COMPRESSION, DROPPEDfrom user_tablesunion allselect TABLE_NAME, TABLESPACE_NAME, CLUSTER_NAME, IOT_NAME, STATUS, PCT_FREE, PCT_USED,INI_TRANS, MAX_TRANS,INITIAL_EXTENT, NEXT_EXTENT,MIN_EXTENTS, MAX_EXTENTS, PCT_INCREASE,FREELISTS, FREELIST_GROUPS, LOGGING,BACKED_UP, NUM_ROWS, BLOCKS, EMPTY_BLOCKS,AVG_SPACE, CHAIN_CNT, AVG_ROW_LEN,AVG_SPACE_FREELIST_BLOCKS, NUM_FREELIST_BLOCKS,DEGREE, INSTANCES, CACHE, TABLE_LOCK,SAMPLE_SIZE, LAST_ANALYZED, PARTITIONED,IOT_TYPE, OBJECT_ID_TYPE,TABLE_TYPE_OWNER, TABLE_TYPE, TEMPORARY, SECONDARY, NESTED,BUFFER_POOL, ROW_MOVEMENT,GLOBAL_STATS, USER_STATS, DURATION, SKIP_CORRUPT, MONITORING,CLUSTER_OWNER, DEPENDENCIES, COMPRESSION, DROPPEDfrom user_object_tables--扩展了关于用户有权限访问的对象信息,所以user_tables是all_tables的子集。